{{- /*gotype: go.mau.fi/mautrix-telegram/pkg/gotd/gen.structDef*/ -}} {{ define "getset" }}{{ $s := . }} {{- range $f := $s.Fields }}{{ if ne ($f.Type) ("bin.Fields") }} {{ if $f.Conditional }} // Set{{ $f.Name }} sets value of {{ $f.Name }} conditional field. func ({{ $s.Receiver }} *{{ $s.Name }}) Set{{ $f.Name }}(value {{ template "print_type" $f }}) { {{- if $f.ConditionalBool }} if value { {{ $s.Receiver }}.{{ $f.ConditionalField }}.Set({{ $f.ConditionalIndex }}) {{ $s.Receiver }}.{{ $f.Name }} = true } else { {{ $s.Receiver }}.{{ $f.ConditionalField }}.Unset({{ $f.ConditionalIndex }}) {{ $s.Receiver }}.{{ $f.Name }} = false } {{- else }} {{ $s.Receiver }}.{{ $f.ConditionalField }}.Set({{ $f.ConditionalIndex }}) {{ $s.Receiver }}.{{ $f.Name }} = value {{- end }} } {{- end }} // Get{{ $f.Name }} returns value of {{ $f.Name }} {{ if $f.Conditional }} {{- if not ($f.ConditionalBool) }}conditional field and // boolean which is true if field was set. {{- else }}conditional field. {{- end }} {{- else }}field. {{- end }} func ({{ $s.Receiver }} *{{ $s.Name }}) {{ template "getter_func_type" $f }} { if {{ $s.Receiver }} == nil { return } {{- if $f.Conditional }}{{ if not ($f.ConditionalBool) }} if !{{ $s.Receiver }}.{{ $f.ConditionalField }}.Has({{ $f.ConditionalIndex }}) { return value, false } return {{ $s.Receiver }}.{{ $f.Name }}, true {{- else }} return {{ $s.Receiver }}.{{ $f.ConditionalField }}.Has({{ $f.ConditionalIndex }}) {{- end }} {{- else }} return {{ $s.Receiver }}.{{ $f.Name }} {{- end }} } {{- end }}{{- end }} {{ end }}