MCPcopy Create free account
hub / github.com/tendermint/tendermint / encodeReflectMap

Function encodeReflectMap

libs/json/encoder.go:153–182  ·  view source on GitHub ↗
(w io.Writer, rv reflect.Value)

Source from the content-addressed store, hash-verified

151}
152
153func encodeReflectMap(w io.Writer, rv reflect.Value) error {
154 if rv.Type().Key().Kind() != reflect.String {
155 return errors.New("map key must be string")
156 }
157
158 // nil maps are not emitted as nil, to retain Amino compatibility.
159
160 if err := writeStr(w, "{"); err != nil {
161 return err
162 }
163 writeComma := false
164 for _, keyrv := range rv.MapKeys() {
165 if writeComma {
166 if err := writeStr(w, ","); err != nil {
167 return err
168 }
169 }
170 if err := encodeStdlib(w, keyrv.Interface()); err != nil {
171 return err
172 }
173 if err := writeStr(w, ":"); err != nil {
174 return err
175 }
176 if err := encodeReflect(w, rv.MapIndex(keyrv)); err != nil {
177 return err
178 }
179 writeComma = true
180 }
181 return writeStr(w, "}")
182}
183
184func encodeReflectStruct(w io.Writer, rv reflect.Value) error {
185 sInfo := makeStructInfo(rv.Type())

Callers 1

encodeReflectFunction · 0.85

Calls 5

writeStrFunction · 0.85
encodeStdlibFunction · 0.85
encodeReflectFunction · 0.85
TypeMethod · 0.65
KeyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…