bend-kit-json
Search uses release 0.7.0.0 · 140 definitions
Definitions (140)
- type ValNum keeps the number's exact text, so no precision is lost.
- type OpenAn open container: array items so far, object fields so far, or those fields and the key whose value comes next.
- type WWriter ------ Octets being written: the buffer, its size in words, the count so far, and the word being filled.
- def w.roomThe buffer doubles when word k does not fit.
- def w.store
- def w.put
- def w.shrink
- def w.doneStores the last partial word, then copies into the fewest words, as Bytes requires.
- def w.cont
- def w.cp.of
- def w.cpOne code point in UTF-8.
- def w.hex
- def w.new
- def w.of.at
- def w.ofA writer that appends to b.
- def w.text
- def utf8Text, one Char per code point, as UTF-8.
- def digit
- def num.trans
- def num.accepts
- def hexd
- def is_hi
- def is_lo
- def esc.simple
- type Sb
- type Cp
- def pk.if
- def pkByte i, or 256 at the end, which no rule accepts.
- def is_ws
- def plainA string byte that needs no check: ASCII, not a control, quote or backslash.
- def pos.of
- def posThe offset i and its byte.
- def run.cls
- def run.gog bounds the loop; it is the parser's fuel, shared, so no count is built per run.
- def runThe first offset from i whose byte is not ok, and that byte.
- def word.go
- def wordDo the bytes from j spell w?
- def hex4.b.go
- def hex4.bFour hex digits from byte j, or 65536 if one is not a hex digit.
- def cont
- def utf8.nRFC 3629 §4: overlong forms, surrogates, and code points past U+10FFFF are invalid, width 0.
- def utf8.b3
- def utf8.b2
- def utf8.b1
- def utf8.atThe code point whose lead byte b0 is at i.
- def slice.of
- def sliceThe n bytes from start, copied.
- def str.b.done
- def esc.b.lone
- def esc.b.lo.if
- def esc.b.lo
- def esc.b.pairA high surrogate must pair in strict mode; RFC §8.2 mode replaces a lone one.
- def u.class0: not four hex digits; 1: high surrogate; 2: low surrogate; 3: other.
- def esc.b.u.of
- def esc.b.u
- def esc.b.oneThe escape whose backslash is at i.
- def esc.b.cp
- def esc.b.other§7: unescaped chars below U+0020 are not allowed in a string.
- def esc.bA string after its first escape.
- def str.b.close
- def str.b.esc
- def str.b.cp
- def str.b.other
- def str.bA string whose text so far starts at start and has no escape.
- def num.b.fin
- def num.b.stop
- def num.b.if
- def num.b
- def lit.b
- def value.b
- def first.b.endAfter "[" or "{": the closing bracket, or the first item.
- def first.b.open
- def first.b
- def key.b
- def colon.b.top
- def colon.b
- def after.bA finished value joins its container.
- def sep.b.comma
- def sep.b.close
- def sep.bAfter an item: "," or the closing bracket.
- def end.b
- def value.rA run's end (a, i, c) to each step.
- def level.r
- def first.at
- def first.r
- def first.limit
- def key.r
- def colon.r
- def str.r
- def num.r
- def sep.at
- def sep.r
- def end.r
- def w.span.go
- def esc.r.go
- def esc.rThe plain bytes from i to the run's end go onto acc in one loop.
- def num.runStates 3, 5 and 8 take digits until the number's part ends.
- def runbfuel: a step eats a byte, or ends a number, a value, or an opening bracket, so 4 * len + 4 steps are enough.
- def parse.bytesOne JSON text in UTF-8, with RFC §8.2 surrogate replacement and input-sized depth.
- def parse.strict.bytesStrict UTF-8 JSON: reject lone surrogate escapes and more than cap nested arrays/objects, including empty containers.