7a04f298d2
- 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
31 lines
1.1 KiB
Cheetah
31 lines
1.1 KiB
Cheetah
{{ define "zero_derive" }}{{ $s := . }}
|
|
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.structDef*/ -}}
|
|
func ({{ $s.Receiver }} *{{ $s.Name }}) Zero() bool {
|
|
if {{ $s.Receiver }} == nil {
|
|
return true
|
|
}
|
|
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.fieldDef*/ -}}
|
|
{{- range $f := $s.Fields }}{{- if ne ($f.Name) ($f.ConditionalField) }}
|
|
if !({{ $s.Receiver }}.{{template "compare_zero" $f}}) {
|
|
return false
|
|
}
|
|
{{- end }}{{- end }}
|
|
|
|
return true
|
|
}
|
|
{{- end -}}
|
|
|
|
{{ define "compare_zero" }}
|
|
{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.fieldDef*/ -}}
|
|
{{- .Name -}}
|
|
{{- if or (.Slice) (.DoubleSlice) -}} == nil
|
|
{{- else if eq (.Type) ("bin.Int128") -}} == bin.Int128{}
|
|
{{- else if eq (.Type) ("bin.Int256") -}} == bin.Int256{}
|
|
{{- else if or (hasPrefix (.Type) ("int")) (hasPrefix (.Type) ("float")) }} == 0
|
|
{{- else if eq (.Type) ("string") -}} == ""
|
|
{{- else if eq (.Type) ("bool") -}} == false
|
|
{{- else if eq (.Type) ("bin.Object") }} == nil
|
|
{{- else if hasSuffix (.Type) ("Class") }} == nil
|
|
{{- else -}}.Zero()
|
|
{{- end -}}{{- end }}
|