MCPcopy Create free account
hub / github.com/auxten/postgresql-parser / DecodeJSON

Function DecodeJSON

pkg/util/json/encode.go:189–210  ·  view source on GitHub ↗

DecodeJSON decodes a value encoded with EncodeJSON.

(b []byte)

Source from the content-addressed store, hash-verified

187
188// DecodeJSON decodes a value encoded with EncodeJSON.
189func DecodeJSON(b []byte) ([]byte, JSON, error) {
190 b, containerHeader, err := encoding.DecodeUint32Ascending(b)
191 if err != nil {
192 return b, nil, err
193 }
194 switch containerHeader & containerHeaderTypeMask {
195 case scalarContainerTag:
196 var entry jEntry
197 var err error
198 b, entry, err = decodeJEntry(b, 0)
199 if err != nil {
200 return b, nil, err
201 }
202 return decodeJSONValue(entry, b)
203 case arrayContainerTag:
204 return decodeJSONArray(containerHeader, b)
205 case objectContainerTag:
206 return decodeJSONObject(containerHeader, b)
207 }
208 return b, nil, errors.AssertionFailedf(
209 "error decoding JSON value, header: %x", errors.Safe(containerHeader))
210}
211
212// FromEncoding returns a JSON value which is lazily decoded.
213func FromEncoding(b []byte) (JSON, error) {

Callers 2

decodeMethod · 0.85
decodeJSONValueFunction · 0.85

Calls 5

DecodeUint32AscendingFunction · 0.92
decodeJEntryFunction · 0.85
decodeJSONValueFunction · 0.85
decodeJSONArrayFunction · 0.85
decodeJSONObjectFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…