// Code generated by ogen, DO NOT EDIT. package gen import ( "github.com/go-faster/errors" "github.com/ogen-go/ogen/conv" "github.com/ogen-go/ogen/uri" "github.com/ogen-go/ogen/validate" ) // EncodeURI encodes MetadataInQueryParameter as URI form. func (s MetadataInQueryParameter) EncodeURI(e uri.Encoder) error { for k, elem := range s { if err := e.EncodeField(k, func(e uri.Encoder) error { return e.EncodeValue(conv.StringToString(elem)) }); err != nil { return errors.Wrapf(err, "encode field %q", k) } } return nil } // DecodeURI decodes MetadataInQueryParameter from URI form. func (s *MetadataInQueryParameter) DecodeURI(d uri.Decoder) error { if s == nil { return errors.New("invalid: unable to decode MetadataInQueryParameter to nil") } m := s.init() var propertiesCount int if err := d.DecodeFields(func(k string, d uri.Decoder) error { propertiesCount++ var elem string if err := func() error { val, err := d.DecodeValue() if err != nil { return err } c, err := conv.ToString(val) if err != nil { return err } elem = c return nil }(); err != nil { return errors.Wrapf(err, "decode field %q", k) } m[string(k)] = elem return nil }); err != nil { return errors.Wrap(err, "decode MetadataInQueryParameter") } // Validate properties count. if err := (validate.Object{ MinProperties: 0, MinPropertiesSet: false, MaxProperties: 1, MaxPropertiesSet: true, }).ValidateProperties(propertiesCount); err != nil { return errors.Wrap(err, "object") } return nil }