@tabnas/json 0.5.18 → 0.5.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/json.d.ts +1 -1
- package/dist/json.js +8 -1
- package/dist/json.js.map +1 -1
- package/package.json +1 -1
- package/src/json.ts +8 -1
package/README.md
CHANGED
|
@@ -76,6 +76,12 @@ const p = make({ info: { map: true, list: true } })
|
|
|
76
76
|
p.parse('{"a":[1,2]}')
|
|
77
77
|
```
|
|
78
78
|
|
|
79
|
+
A parser from `make()` also reads a source from a reader with
|
|
80
|
+
`parseReader`: an object whose `read(buf)` writes bytes into a
|
|
81
|
+
`Uint8Array`, as Node's `fs.readSync(fd, buf)` does. It holds a window of
|
|
82
|
+
the text as it parses, never the whole document, and gives what `parse`
|
|
83
|
+
gives for the same text.
|
|
84
|
+
|
|
79
85
|
`VERSION` is exported as the package version string, always equal to
|
|
80
86
|
`package.json`.
|
|
81
87
|
|
package/dist/json.d.ts
CHANGED
package/dist/json.js
CHANGED
|
@@ -29,7 +29,7 @@ Object.defineProperty(exports, "JsonError", { enumerable: true, get: function ()
|
|
|
29
29
|
// VERSION is this package's version. It MUST equal package.json "version":
|
|
30
30
|
// the release orchestrator rewrites both, and test/version.test.js fails the
|
|
31
31
|
// build if they drift. Mirrors `const VERSION` in go/json.go.
|
|
32
|
-
exports.VERSION = '0.5.
|
|
32
|
+
exports.VERSION = '0.5.20';
|
|
33
33
|
// JSON-only lexer/parser options. Restrictive enough to mirror
|
|
34
34
|
// JSON.parse: double-quoted strings only, plain decimal numbers, quoted
|
|
35
35
|
// keys only, no comments, no trailing-comma map extension, no empty
|
|
@@ -208,6 +208,13 @@ exports.json = json;
|
|
|
208
208
|
// after the grammar exists, mirroring the Go `Make`.
|
|
209
209
|
function make(opts) {
|
|
210
210
|
const tn = new parser_1.Tabnas({ plugins: [exports.json] });
|
|
211
|
+
// Every token of this grammar is the engine's own matchers', and its one
|
|
212
|
+
// check, `number.exclude`, reads no further than a number's text, so a
|
|
213
|
+
// parse from a reader (`tn.parseReader`, admin ADR-30) may hold a window
|
|
214
|
+
// of the source rather than all of it. The option is set here, on the
|
|
215
|
+
// parser this package makes whole, and not in the `json` plugin, which
|
|
216
|
+
// other grammars install beneath matchers of their own.
|
|
217
|
+
tn.options({ lex: { window: true } });
|
|
211
218
|
if (opts) {
|
|
212
219
|
tn.options(opts);
|
|
213
220
|
}
|
package/dist/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/json.ts
CHANGED
|
@@ -23,7 +23,7 @@ import { Tabnas, TabnasError, type Plugin } from '@tabnas/parser'
|
|
|
23
23
|
// VERSION is this package's version. It MUST equal package.json "version":
|
|
24
24
|
// the release orchestrator rewrites both, and test/version.test.js fails the
|
|
25
25
|
// build if they drift. Mirrors `const VERSION` in go/json.go.
|
|
26
|
-
export const VERSION = '0.5.
|
|
26
|
+
export const VERSION = '0.5.20'
|
|
27
27
|
|
|
28
28
|
// JSON-only lexer/parser options. Restrictive enough to mirror
|
|
29
29
|
// JSON.parse: double-quoted strings only, plain decimal numbers, quoted
|
|
@@ -240,6 +240,13 @@ export const json: Plugin = function json(tn: Tabnas, _options?: any) {
|
|
|
240
240
|
// after the grammar exists, mirroring the Go `Make`.
|
|
241
241
|
export function make(opts?: Record<string, any>): Tabnas {
|
|
242
242
|
const tn = new Tabnas({ plugins: [json] })
|
|
243
|
+
// Every token of this grammar is the engine's own matchers', and its one
|
|
244
|
+
// check, `number.exclude`, reads no further than a number's text, so a
|
|
245
|
+
// parse from a reader (`tn.parseReader`, admin ADR-30) may hold a window
|
|
246
|
+
// of the source rather than all of it. The option is set here, on the
|
|
247
|
+
// parser this package makes whole, and not in the `json` plugin, which
|
|
248
|
+
// other grammars install beneath matchers of their own.
|
|
249
|
+
tn.options({ lex: { window: true } })
|
|
243
250
|
if (opts) {
|
|
244
251
|
tn.options(opts)
|
|
245
252
|
}
|