31 lines
784 B
Plaintext
31 lines
784 B
Plaintext
func (s {{.Node.Name}}) {{.Field.Name|title}}() (string, error) {
|
|
{{template "_checktag" . -}}
|
|
p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
|
|
{{with .Default -}}
|
|
return p.TextDefault({{printf "%q" .}}), err
|
|
{{- else -}}
|
|
return p.Text(), err
|
|
{{- end}}
|
|
}
|
|
|
|
{{template "_hasfield" .}}
|
|
|
|
func (s {{.Node.Name}}) {{.Field.Name|title}}Bytes() ([]byte, error) {
|
|
p, err := s.Struct.Ptr({{.Field.Slot.Offset}})
|
|
{{with .Default -}}
|
|
return p.TextBytesDefault({{printf "%q" .}}), err
|
|
{{- else -}}
|
|
return p.TextBytes(), err
|
|
{{- end}}
|
|
}
|
|
|
|
func (s {{.Node.Name}}) Set{{.Field.Name|title}}(v string) error {
|
|
{{template "_settag" . -}}
|
|
{{if .Default -}}
|
|
return s.Struct.SetNewText({{.Field.Slot.Offset}}, v)
|
|
{{- else -}}
|
|
return s.Struct.SetText({{.Field.Slot.Offset}}, v)
|
|
{{- end}}
|
|
}
|
|
|