in go/showcase/pkg/showcase/part1/user_login.go [72:87]
func (l *LoginType) UnmarshalJSON(b []byte) error {
var s string
if err := json.Unmarshal(b, &s); err != nil {
return err
}
s = strings.ToUpper(s)
if login, ok := toId[s]; !ok {
return fmt.Errorf("unknown login type %s", s)
} else {
*l = login
}
return nil
}