Files
payouts/internal/service/yookassa/gen/oas_uri_gen.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
}