MCPcopy Create free account
hub / github.com/aws/smithy-go / encodeZeroValue

Method encodeZeroValue

document/json/encoder.go:110–135  ·  view source on GitHub ↗
(vp valueProvider, rv reflect.Value)

Source from the content-addressed store, hash-verified

108}
109
110func (e *Encoder) encodeZeroValue(vp valueProvider, rv reflect.Value) error {
111 switch rv.Kind() {
112 case reflect.Invalid:
113 vp.GetValue().Null()
114 case reflect.Array:
115 vp.GetValue().Array().Close()
116 case reflect.Map, reflect.Slice:
117 vp.GetValue().Null()
118 case reflect.String:
119 vp.GetValue().String("")
120 case reflect.Bool:
121 vp.GetValue().Boolean(false)
122 case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
123 vp.GetValue().Long(0)
124 case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
125 vp.GetValue().ULong(0)
126 case reflect.Float32, reflect.Float64:
127 vp.GetValue().Double(0)
128 case reflect.Interface, reflect.Ptr:
129 vp.GetValue().Null()
130 default:
131 return &document.InvalidMarshalError{Message: fmt.Sprintf("unknown value type: %s", rv.String())}
132 }
133
134 return nil
135}
136
137func (e *Encoder) encodeStruct(vp valueProvider, rv reflect.Value) error {
138 if rv.CanInterface() && document.IsNoSerde(rv.Interface()) {

Callers 1

encodeMethod · 0.95

Calls 9

NullMethod · 0.80
ULongMethod · 0.80
GetValueMethod · 0.65
StringMethod · 0.65
CloseMethod · 0.45
ArrayMethod · 0.45
BooleanMethod · 0.45
LongMethod · 0.45
DoubleMethod · 0.45

Tested by

no test coverage detected