MCPcopy Create free account
hub / github.com/Restream/reindexer / EncodeRaw

Method EncodeRaw

cjson/encoder.go:958–974  ·  view source on GitHub ↗
(src any, wrser *Serializer)

Source from the content-addressed store, hash-verified

956}
957
958func (enc *Encoder) EncodeRaw(src any, wrser *Serializer) error {
959
960 v := reflect.ValueOf(src)
961 enc.state.lock.Lock()
962 defer enc.state.lock.Unlock()
963 enc.tmUpdated = false
964
965 enc.tagsMatcher = &enc.state.tagsMatcher
966 err := enc.encodeValue(v, wrser, mkFieldInfo(v, 0, reflect.StructField{}), &enc.state.ctagsWCache)
967 if err != nil {
968 return err
969 }
970 if enc.tmUpdated {
971 enc.state.tagsMatcher = *enc.tagsMatcher
972 }
973 return nil
974}

Calls 4

encodeValueMethod · 0.95
mkFieldInfoFunction · 0.85
LockMethod · 0.45
UnlockMethod · 0.45