enum.go 380 B

123456789101112131415
  1. package goshared
  2. const enumTpl = `
  3. {{ $f := .Field }}{{ $r := .Rules }}
  4. {{ template "const" . }}
  5. {{ template "in" . }}
  6. {{ if $r.GetDefinedOnly }}
  7. if _, ok := {{ (typ $f).Element }}_name[int32({{ accessor . }})]; !ok {
  8. err := {{ err . "value must be one of the defined enum values" }}
  9. if !all { return err }
  10. errors = append(errors, err)
  11. }
  12. {{ end }}
  13. `