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

Method encode

document/cbor/encode.go:53–74  ·  view source on GitHub ↗
(rv reflect.Value, tag serde.Tag)

Source from the content-addressed store, hash-verified

51}
52
53func (e *encoder) encode(rv reflect.Value, tag serde.Tag) (cbor.Value, error) {
54 if serde.IsZeroValue(rv) {
55 if tag.OmitEmpty {
56 return nil, nil
57 }
58 return e.encodeZeroValue(rv)
59 }
60
61 rv = serde.ValueElem(rv)
62 switch rv.Kind() {
63 case reflect.Struct:
64 return e.encodeStruct(rv)
65 case reflect.Map:
66 return e.encodeMap(rv)
67 case reflect.Slice, reflect.Array:
68 return e.encodeSlice(rv)
69 case reflect.Invalid, reflect.Chan, reflect.Func, reflect.UnsafePointer:
70 return nil, nil
71 default:
72 return e.encodeScalar(rv)
73 }
74}
75
76func (e *encoder) encodeZeroValue(rv reflect.Value) (cbor.Value, error) {
77 switch rv.Kind() {

Callers 4

EncodeMethod · 0.95
encodeStructMethod · 0.95
encodeMapMethod · 0.95
encodeSliceMethod · 0.95

Calls 7

encodeZeroValueMethod · 0.95
encodeStructMethod · 0.95
encodeMapMethod · 0.95
encodeSliceMethod · 0.95
encodeScalarMethod · 0.95
IsZeroValueFunction · 0.92
ValueElemFunction · 0.92

Tested by

no test coverage detected