68 lines
1.5 KiB
Go
68 lines
1.5 KiB
Go
// 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
|
|
}
|