func (f *defaultFormats) Parse(name, data string) (interface{}, error) { nme := f.normalizeName(name) for _, v := range f.data { if v.Name == nme { nw := reflect.New(v.Type).Interface() if dec, ok := nw.(encoding.TextUnmarshaler); ok { if err := dec.UnmarshalText([]byte(data)); err != nil { return nil, err } return nw, nil } return nil, errors.InvalidTypeName(name) } } return nil, errors.InvalidTypeName(name) }
// FormatOf validates if a string matches a format in the format registry func FormatOf(path, in, format, data string, registry strfmt.Registry) *errors.Validation { if registry == nil { registry = strfmt.Default } if ok := registry.ContainsName(format); !ok { return errors.InvalidTypeName(format) } if ok := registry.Validates(format, data); !ok { return errors.InvalidType(path, in, format, data) } return nil }