@tabnas/json 0.5.6 → 0.5.8

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  # @tabnas/json
2
2
 
3
3
  A standard JSON parser (RFC 8259 / ECMA-404) for TypeScript and
4
- JavaScript — the standard-JSON **grammar plugin** for the
4
+ JavaScript: the standard-JSON **grammar plugin** for the
5
5
  [`tabnas`](https://github.com/tabnas/parser) parsing engine.
6
6
 
7
7
  Available for [TypeScript/JavaScript](#install) and [Go](../go/).
@@ -36,12 +36,13 @@ parse('"hello"') // => "hello"
36
36
 
37
37
  Full [Diátaxis](https://diataxis.fr) docs:
38
38
 
39
- - [`doc/tutorial.md`](doc/tutorial.md) — learn it step by step.
40
- - [`doc/guide.md`](doc/guide.md) — task-focused recipes.
41
- - [`doc/reference.md`](doc/reference.md) — the exact API and CLI surface.
42
- - [`doc/concepts.md`](doc/concepts.md) — how it works and why.
39
+ - [`doc/tutorial.md`](doc/tutorial.md). Learn it step by step.
40
+ - [`doc/guide.md`](doc/guide.md). Task-focused recipes.
41
+ - [`doc/reference.md`](doc/reference.md). The exact API and CLI surface.
42
+ - [`doc/concepts.md`](doc/concepts.md). How it works and why.
43
43
 
44
- The Go port has the [equivalent docs](../go/doc/).
44
+ The Go port has the [equivalent docs](../go/doc/), and so does the Rust
45
+ port in [`../rs/doc/`](../rs/doc/).
45
46
 
46
47
  ## Use it as a plugin
47
48
 
@@ -62,9 +63,9 @@ options, for plugins that want to build on the JSON rule set.
62
63
 
63
64
  ## Reuse and options
64
65
 
65
- `parse` reuses a single lazily-created instance, so you don't pay to
66
+ `parse` reuses a single lazily created instance, so you don't pay to
66
67
  rebuild the grammar on every call. To customize, build your own instance
67
- with `make(opts?)` — extra options (e.g. the `info` metadata options) are
68
+ with `make(opts?)`; extra options (for example the `info` metadata options) are
68
69
  applied on top of the strict JSON config:
69
70
 
70
71
  ```ts
@@ -90,17 +91,16 @@ Exactly standard JSON:
90
91
  - `true`, `false`, `null`
91
92
  - insignificant whitespace: space, tab, line feed, carriage return
92
93
 
93
- It **rejects** everything outside that grammar — comments, trailing
94
+ It **rejects** everything outside that grammar: comments, trailing
94
95
  commas, unquoted keys, single-quoted or backtick strings, multiline
95
96
  strings, implicit objects/arrays, hex/octal/binary numbers, leading
96
97
  zeros, a leading `+`, a bare `.5` or trailing `1.`, and empty input.
97
98
  This matches the platform `JSON.parse`.
98
99
 
99
100
  Parsed objects use a **null prototype** (`Object.create(null)`): this is
100
- deliberate and prototype-pollution-safe — a `"__proto__"` key becomes a
101
+ deliberate and prototype-pollution-safe: a `"__proto__"` key becomes a
101
102
  normal own property rather than mutating the prototype. The only visible
102
- difference from `JSON.parse` is the missing `Object.prototype` (so e.g.
103
- `obj.hasOwnProperty` is `undefined`; use `Object.hasOwn(obj, k)`).
103
+ difference from `JSON.parse` is the missing `Object.prototype` (so for example `obj.hasOwnProperty` is `undefined`; use `Object.hasOwn(obj, k)`).
104
104
 
105
105
  ## Extending the grammar
106
106
 
package/dist/json.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { Tabnas, TabnasError, type Plugin } from '@tabnas/parser';
2
- export declare const VERSION = "0.5.6";
3
- export declare function registerJsonGrammar(tn: Tabnas): void;
2
+ export declare const VERSION = "0.5.8";
3
+ export interface JsonGrammarOptions {
4
+ chainOff?: boolean;
5
+ }
6
+ export declare function registerJsonGrammar(tn: Tabnas, opts?: JsonGrammarOptions): void;
4
7
  export declare const json: Plugin;
5
8
  export declare function make(opts?: Record<string, any>): Tabnas;
6
9
  export declare function parse(src: string): any;
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.6';
32
+ exports.VERSION = '0.5.8';
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
@@ -72,7 +72,13 @@ const JSON_OPTIONS = {
72
72
  // given engine instance. Exposed separately from the options so other
73
73
  // grammar plugins can layer their extensions on top without re-declaring
74
74
  // the JSON core. This is jsonic's "Plain JSON" grammar.
75
- function registerJsonGrammar(tn) {
75
+ function registerJsonGrammar(tn, opts) {
76
+ // Spread onto the two `elem` close alts. Nothing is emitted unless
77
+ // asked for, and an absent `k` is the engine default: the walk runs.
78
+ // Called per alt so each gets its OWN object, as the two literals it
79
+ // replaces did: alt config is the engine's to read, and two alts
80
+ // sharing one object would make that an assumption rather than a fact.
81
+ const pushChain = () => opts?.chainOff ? { k: { push$: { chain: false } } } : {};
76
82
  tn.grammar({
77
83
  // The schema version of the native-value builtins this grammar binds
78
84
  // to (object/array/reset/key/setval/push/value).
@@ -173,10 +179,15 @@ function registerJsonGrammar(tn) {
173
179
  { p: 'val', g: 'list,elem,val,json' },
174
180
  ],
175
181
  close: [
176
- // Next element. @push$ appends the element.
177
- { s: '#CA', r: 'elem', a: '@push$', g: 'list,elem,comma,json' },
182
+ // Next element. @push$ appends the element. `r: 'elem'`
183
+ // REPLACES this rule, so the rule it displaces keeps its own
184
+ // view of the list -- which is why `chainOff` is a claim only
185
+ // the assembled grammar can make. See JsonGrammarOptions.
186
+ { s: '#CA', r: 'elem', a: '@push$',
187
+ ...pushChain(), g: 'list,elem,comma,json' },
178
188
  // End of list.
179
- { s: '#CS', b: 1, a: '@push$', g: 'list,elem,close,json' },
189
+ { s: '#CS', b: 1, a: '@push$',
190
+ ...pushChain(), g: 'list,elem,close,json' },
180
191
  ],
181
192
  },
182
193
  },
@@ -186,7 +197,10 @@ function registerJsonGrammar(tn) {
186
197
  // the JSON grammar. `use` this on a bare engine, or pass it to `make`.
187
198
  const json = function json(tn, _options) {
188
199
  tn.options(JSON_OPTIONS);
189
- registerJsonGrammar(tn);
200
+ // The complete parser: these rules are the whole grammar, and none of
201
+ // them reads a replaced rule. That is what makes `chainOff` true here
202
+ // and false in the rules-only installer above.
203
+ registerJsonGrammar(tn, { chainOff: true });
190
204
  };
191
205
  exports.json = json;
192
206
  // Create a standard-JSON parser instance: a tabnas engine with the json
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tabnas/json",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "main": "dist/json.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/json.d.ts",