move gotd fork into repo. (#111)

- update to latest telegram layer
- remove some references to fields in tg.Entities that don't exist in
the schema
- originally added here:
https://github.com/beeper/td/commit/820929062a2ba0104397bc01235ab58a9cff780e
  - referenced here
-
https://github.com/mautrix/telegramgo/commit/124f0967ed195b5a380c9bd02e170ada9710dde3
-
https://github.com/mautrix/telegramgo/commit/4205047aab2e0639217148b5d125bfaab668bd8e
This commit is contained in:
Adam Van Ymeren
2025-06-27 20:03:37 -07:00
committed by GitHub
parent 0952df0244
commit 7a04f298d2
19264 changed files with 1539697 additions and 84 deletions
@@ -0,0 +1,56 @@
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.interfaceDef*/ -}}
{{ define "interface_mapping" }}{{ $f := . }}
{{ range $mapping := $f.Mappings -}}
{{- if not ($mapping.Concrete) }}
// {{ $mapping.Name }} represents {{ $mapping.MapperName }} subset of {{ $f.Name }}.
type {{ $mapping.Name }} interface {
{{ template "class_interface_header" $f }}
{{ range $field := index ($f.SharedFields) ($mapping.MapperName) -}}{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.fieldDef*/ -}}
{{- template "print_comment" $field.Comment }}
{{- if $field.Links }}
{{- template "print_links" $field.Links }}
{{- end }}
{{ template "getter_func_type" $field}}
{{ end }}
}
{{- end }}
{{ range $s := $f.Constructors -}}{{- if or (not $mapping.Constructor) (eq ($s.Name) ($mapping.Constructor)) }}
// As{{ $mapping.MapperName }} tries to map {{ $s.Name }} to {{ $mapping.Name }}.
func ({{ $s.Receiver }} *{{ $s.Name }}) {{ template "mapper_func_type" $mapping }} {
{{- if not ($mapping.Concrete) }}
value, ok := ({{ $f.Name }}({{ $s.Receiver }})).({{ $mapping.Name }})
return value, ok
{{- else }}{{- if $mapping.Fields }}
value := new({{ $mapping.Name }})
{{- range $pair := $mapping.Fields -}}
{{- if and ($pair.L.Conditional) (not $pair.L.ConditionalBool) }}
if fieldValue, ok := {{ $s.Receiver }}.Get{{ $pair.L.Name }}(); ok {
{{- if $pair.R.Conditional }}
value.Set{{ $pair.R.Name }}(fieldValue)
{{- else }}
value.{{ $pair.R.Name }} = fieldValue
{{- end }}
}
{{ else }}
{{- if $pair.R.Conditional -}}
value.Set{{ $pair.R.Name }}({{ $s.Receiver }}.Get{{ $pair.L.Name }}())
{{- else }}
value.{{ $pair.R.Name }} = {{ $s.Receiver }}.Get{{ $pair.L.Name }}()
{{- end }}
{{- end }}
{{- end }}
return value
{{- else }}
{{- if eq ($s.Name) ($mapping.Name) }} return {{ $s.Receiver }}, true
{{- else }} return nil, false {{ end }}
{{- end }}{{- end }}
}
{{ end }}{{ end }}
{{ end }}
{{ end }}