MCPcopy Index your code
hub / github.com/segmentio/encoding / parseValue

Method parseValue

json/parse.go:694–723  ·  view source on GitHub ↗
(b []byte)

Source from the content-addressed store, hash-verified

692}
693
694func (d decoder) parseValue(b []byte) ([]byte, []byte, Kind, error) {
695 if len(b) == 0 {
696 return nil, b, Undefined, syntaxError(b, "unexpected end of JSON input")
697 }
698
699 var v []byte
700 var k Kind
701 var err error
702
703 switch b[0] {
704 case '{':
705 v, b, k, err = d.parseObject(b)
706 case '[':
707 v, b, k, err = d.parseArray(b)
708 case '"':
709 v, b, k, err = d.parseString(b)
710 case 'n':
711 v, b, k, err = d.parseNull(b)
712 case 't':
713 v, b, k, err = d.parseTrue(b)
714 case 'f':
715 v, b, k, err = d.parseFalse(b)
716 case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9':
717 v, b, k, err = d.parseNumber(b)
718 default:
719 err = syntaxError(b, "invalid character '%c' looking for beginning of value", b[0])
720 }
721
722 return v, b, k, err
723}
724
725func hasNullPrefix(b []byte) bool {
726 return len(b) >= 4 && string(b[:4]) == "null"

Callers 15

encodeRawMessageMethod · 0.95
encodeJSONMarshalerMethod · 0.95
parseObjectMethod · 0.95
parseArrayMethod · 0.95
decodeFromStringToIntMethod · 0.95
decodeArrayMethod · 0.95
decodeSliceMethod · 0.95
decodeMapMethod · 0.95
decodeMapStringStringMethod · 0.95

Calls 8

parseObjectMethod · 0.95
parseArrayMethod · 0.95
parseStringMethod · 0.95
parseNullMethod · 0.95
parseTrueMethod · 0.95
parseFalseMethod · 0.95
parseNumberMethod · 0.95
syntaxErrorFunction · 0.85

Tested by

no test coverage detected