Skip to content
Snippets Groups Projects
Commit fe763db2 authored by Danis Kirasirov's avatar Danis Kirasirov
Browse files

add params

parent 88a1a483
No related branches found
No related tags found
No related merge requests found
...@@ -293,11 +293,11 @@ func (i *Item) Encode(ctx context.Context, s *schema.Schema) (*Item, error) { ...@@ -293,11 +293,11 @@ func (i *Item) Encode(ctx context.Context, s *schema.Schema) (*Item, error) {
return &res, nil return &res, nil
} }
func (i *Item) Decode(ctx context.Context, s *schema.Schema) (*Item, error) { func (i *Item) Decode(ctx context.Context, s *schema.Schema, opts ...field.EncodeOption) (*Item, error) {
res := *i res := *i
var err error var err error
if i.Data != nil { if i.Data != nil {
res.Data, err = s.Decode(ctx, i.Data) res.Data, err = s.Decode(ctx, i.Data, opts...)
if err != nil { if err != nil {
return nil, err return nil, err
} }
...@@ -309,7 +309,7 @@ func (i *Item) Decode(ctx context.Context, s *schema.Schema) (*Item, error) { ...@@ -309,7 +309,7 @@ func (i *Item) Decode(ctx context.Context, s *schema.Schema) (*Item, error) {
res.Translations[l] = v res.Translations[l] = v
continue continue
} }
dt, err := schema.Decode(ctx, s, v) dt, err := schema.Decode(ctx, s, v, opts...) //nolint:govet // err shadows
if err != nil { if err != nil {
return nil, err return nil, err
} }
......
...@@ -148,16 +148,17 @@ func (s *Schema) Evaluate(ctx context.Context, data map[string]interface{}) (res ...@@ -148,16 +148,17 @@ func (s *Schema) Evaluate(ctx context.Context, data map[string]interface{}) (res
return return
} }
func (s *Schema) Decode(ctx context.Context, v interface{}) (res map[string]interface{}, err error) { func (s *Schema) Decode(ctx context.Context, v interface{}, opt ...field.EncodeOption) (map[string]interface{}, error) {
if err = s.Load(ctx); err != nil { if err := s.Load(ctx); err != nil {
return nil, err return nil, err
} }
if v, err = Decode(ctx, s, v); err != nil { v, err := Decode(ctx, s, v, opt...)
if err != nil {
return nil, err return nil, err
} }
res, _ = v.(map[string]interface{}) res, _ := v.(map[string]interface{})
return return res, err
} }
func (s *Schema) Encode(ctx context.Context, v interface{}) (interface{}, error) { func (s *Schema) Encode(ctx context.Context, v interface{}) (interface{}, error) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment