MCPcopy Create free account
hub / github.com/francoispqt/gojay / decodeBoolNull

Method decodeBoolNull

decode_bool.go:53–97  ·  view source on GitHub ↗
(v **bool)

Source from the content-addressed store, hash-verified

51 return nil
52}
53func (dec *Decoder) decodeBoolNull(v **bool) error {
54 for ; dec.cursor < dec.length || dec.read(); dec.cursor++ {
55 switch dec.data[dec.cursor] {
56 case ' ', '\n', '\t', '\r', ',':
57 continue
58 case 't':
59 dec.cursor++
60 err := dec.assertTrue()
61 if err != nil {
62 return err
63 }
64 if *v == nil {
65 *v = new(bool)
66 }
67 **v = true
68 return nil
69 case 'f':
70 dec.cursor++
71 err := dec.assertFalse()
72 if err != nil {
73 return err
74 }
75 if *v == nil {
76 *v = new(bool)
77 }
78 **v = false
79 return nil
80 case 'n':
81 dec.cursor++
82 err := dec.assertNull()
83 if err != nil {
84 return err
85 }
86 return nil
87 default:
88 dec.err = dec.makeInvalidUnmarshalErr(v)
89 err := dec.skipData()
90 if err != nil {
91 return err
92 }
93 return nil
94 }
95 }
96 return nil
97}
98
99func (dec *Decoder) assertTrue() error {
100 i := 0

Callers 3

BoolNullMethod · 0.95
UnmarshalFunction · 0.95
DecodeMethod · 0.95

Calls 6

readMethod · 0.95
assertTrueMethod · 0.95
assertFalseMethod · 0.95
assertNullMethod · 0.95
skipDataMethod · 0.95

Tested by

no test coverage detected