// Code generated by github.com/fjl/gencodec. DO NOT EDIT. package sliceconv import ( "encoding/json" "errors" ) func (x X) MarshalJSON() ([]byte, error) { type XJSON struct { Slice []replacedInt Named namedSlice2 ByteString []byte NoConv []int NoConvNamed namedSlice } var enc XJSON if x.Slice != nil { enc.Slice = make([]replacedInt, len(x.Slice)) for k, v := range x.Slice { enc.Slice[k] = replacedInt(v) } } if x.Named != nil { enc.Named = make(namedSlice2, len(x.Named)) for k, v := range x.Named { enc.Named[k] = replacedInt(v) } } enc.ByteString = []byte(x.ByteString) enc.NoConv = x.NoConv enc.NoConvNamed = x.NoConvNamed return json.Marshal(&enc) } func (x *X) UnmarshalJSON(input []byte) error { type XJSON struct { Slice []replacedInt Named namedSlice2 ByteString []byte NoConv []int NoConvNamed namedSlice } var dec XJSON if err := json.Unmarshal(input, &dec); err != nil { return err } var x0 X if dec.Slice == nil { return errors.New("missing required field 'slice' for X") } x0.Slice = make([]int, len(dec.Slice)) for k, v := range dec.Slice { x0.Slice[k] = int(v) } if dec.Named == nil { return errors.New("missing required field 'named' for X") } x0.Named = make(namedSlice, len(dec.Named)) for k, v := range dec.Named { x0.Named[k] = int(v) } if dec.ByteString == nil { return errors.New("missing required field 'byteString' for X") } x0.ByteString = string(dec.ByteString) if dec.NoConv == nil { return errors.New("missing required field 'noConv' for X") } x0.NoConv = dec.NoConv if dec.NoConvNamed == nil { return errors.New("missing required field 'noConvNamed' for X") } x0.NoConvNamed = dec.NoConvNamed *x = x0 return nil } func (x X) MarshalYAML() (interface{}, error) { type XYAML struct { Slice []replacedInt Named namedSlice2 ByteString []byte NoConv []int NoConvNamed namedSlice } var enc XYAML if x.Slice != nil { enc.Slice = make([]replacedInt, len(x.Slice)) for k, v := range x.Slice { enc.Slice[k] = replacedInt(v) } } if x.Named != nil { enc.Named = make(namedSlice2, len(x.Named)) for k, v := range x.Named { enc.Named[k] = replacedInt(v) } } enc.ByteString = []byte(x.ByteString) enc.NoConv = x.NoConv enc.NoConvNamed = x.NoConvNamed return &enc, nil } func (x *X) UnmarshalYAML(unmarshal func(interface{}) error) error { type XYAML struct { Slice []replacedInt Named namedSlice2 ByteString []byte NoConv []int NoConvNamed namedSlice } var dec XYAML if err := unmarshal(&dec); err != nil { return err } var x0 X if dec.Slice == nil { return errors.New("missing required field 'slice' for X") } x0.Slice = make([]int, len(dec.Slice)) for k, v := range dec.Slice { x0.Slice[k] = int(v) } if dec.Named == nil { return errors.New("missing required field 'named' for X") } x0.Named = make(namedSlice, len(dec.Named)) for k, v := range dec.Named { x0.Named[k] = int(v) } if dec.ByteString == nil { return errors.New("missing required field 'byteString' for X") } x0.ByteString = string(dec.ByteString) if dec.NoConv == nil { return errors.New("missing required field 'noConv' for X") } x0.NoConv = dec.NoConv if dec.NoConvNamed == nil { return errors.New("missing required field 'noConvNamed' for X") } x0.NoConvNamed = dec.NoConvNamed *x = x0 return nil }