@tabnas/parser 0.2.0 → 0.3.1
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/dist/error.js +5 -0
- package/dist/error.js.map +1 -1
- package/dist/lexer.d.ts +6 -3
- package/dist/lexer.js +189 -89
- package/dist/lexer.js.map +1 -1
- package/dist/merge.d.ts +3 -0
- package/dist/merge.js +482 -0
- package/dist/merge.js.map +1 -0
- package/dist/parser.d.ts +1 -0
- package/dist/parser.js +35 -6
- package/dist/parser.js.map +1 -1
- package/dist/rules.d.ts +10 -3
- package/dist/rules.js +121 -52
- package/dist/rules.js.map +1 -1
- package/dist/tabnas.d.ts +1 -0
- package/dist/tabnas.js +49 -51
- package/dist/tabnas.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +1 -0
- package/dist/types.js.map +1 -1
- package/dist/utility.js +80 -1
- package/dist/utility.js.map +1 -1
- package/dist-test/json-plugin.js +202 -0
- package/dist-test/json-plugin.js.map +1 -0
- package/dist-test/tsconfig.tsbuildinfo +1 -0
- package/package.json +5 -4
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2013-2026 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.json = void 0;
|
|
5
|
+
exports.registerJsonGrammar = registerJsonGrammar;
|
|
6
|
+
const defprop = Object.defineProperty;
|
|
7
|
+
// Attach a hidden marker property to a node — used when info.map /
|
|
8
|
+
// info.list mode is on so callers can introspect implicit/explicit
|
|
9
|
+
// container origins. JSON parsing ignores marker properties.
|
|
10
|
+
function mark(node, marker, data) {
|
|
11
|
+
if (node != null && typeof node === 'object') {
|
|
12
|
+
defprop(node, marker, { value: data, writable: true });
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
// JSON-only options. Restrictive enough to mirror JSON.parse.
|
|
16
|
+
const JSON_OPTIONS = {
|
|
17
|
+
text: { lex: false },
|
|
18
|
+
number: {
|
|
19
|
+
hex: false,
|
|
20
|
+
oct: false,
|
|
21
|
+
bin: false,
|
|
22
|
+
sep: null,
|
|
23
|
+
exclude: /^00+/,
|
|
24
|
+
},
|
|
25
|
+
string: {
|
|
26
|
+
chars: '"',
|
|
27
|
+
multiChars: '',
|
|
28
|
+
allowUnknown: false,
|
|
29
|
+
escape: { v: null },
|
|
30
|
+
},
|
|
31
|
+
comment: { lex: false },
|
|
32
|
+
map: { extend: false },
|
|
33
|
+
lex: { empty: false },
|
|
34
|
+
rule: { finish: false, include: 'json' },
|
|
35
|
+
result: { fail: [undefined, NaN] },
|
|
36
|
+
tokenSet: { KEY: ['#ST', null, null, null] },
|
|
37
|
+
};
|
|
38
|
+
// Install the pure JSON rule set (val / map / list / pair / elem) on
|
|
39
|
+
// the given Tabnas instance. Exposed so other grammar plugins can layer
|
|
40
|
+
// its extensions on top without re-declaring the JSON core.
|
|
41
|
+
function registerJsonGrammar(tn) {
|
|
42
|
+
const {
|
|
43
|
+
// Complex tokens
|
|
44
|
+
TX, // Text (unquoted character sequence)
|
|
45
|
+
ST, // String (quoted character sequence)
|
|
46
|
+
} = tn.token;
|
|
47
|
+
tn.grammar({
|
|
48
|
+
ref: {
|
|
49
|
+
'@finish': (_rule, ctx) => {
|
|
50
|
+
if (!ctx.cfg.rule.finish) {
|
|
51
|
+
ctx.t0.err = 'end_of_source';
|
|
52
|
+
return ctx.t0;
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
},
|
|
56
|
+
// Get key string value from first matching token of `Open` state.
|
|
57
|
+
'@pairkey': (r) => {
|
|
58
|
+
const key_token = r.o0;
|
|
59
|
+
const key = ST === key_token.tin || TX === key_token.tin
|
|
60
|
+
? key_token.val
|
|
61
|
+
: key_token.src;
|
|
62
|
+
r.u.key = key;
|
|
63
|
+
},
|
|
64
|
+
'@val-bo': (rule) => (rule.node = undefined),
|
|
65
|
+
'@val-bc': (r, ctx) => {
|
|
66
|
+
// val can be undefined when there is no value at all (eg. empty
|
|
67
|
+
// string, thus no matched opening token).
|
|
68
|
+
r.node =
|
|
69
|
+
undefined === r.node
|
|
70
|
+
? undefined === r.child.node
|
|
71
|
+
? 0 === r.os
|
|
72
|
+
? undefined
|
|
73
|
+
: (() => {
|
|
74
|
+
let val = r.o0.resolveVal(r, ctx);
|
|
75
|
+
if (ctx.cfg.info.text &&
|
|
76
|
+
typeof val === 'string' &&
|
|
77
|
+
(r.o0.tin === ctx.cfg.t.ST ||
|
|
78
|
+
r.o0.tin === ctx.cfg.t.TX)) {
|
|
79
|
+
const quote = r.o0.tin === ctx.cfg.t.ST && r.o0.src.length > 0
|
|
80
|
+
? r.o0.src[0]
|
|
81
|
+
: '';
|
|
82
|
+
const sv = new String(val);
|
|
83
|
+
mark(sv, ctx.cfg.info.marker, { quote });
|
|
84
|
+
val = sv;
|
|
85
|
+
}
|
|
86
|
+
return val;
|
|
87
|
+
})()
|
|
88
|
+
: r.child.node
|
|
89
|
+
: r.node;
|
|
90
|
+
},
|
|
91
|
+
'@map-bo': (r, ctx) => {
|
|
92
|
+
r.node = Object.create(null);
|
|
93
|
+
if (ctx.cfg.info.map) {
|
|
94
|
+
mark(r.node, ctx.cfg.info.marker, { implicit: false, meta: {} });
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
'@list-bo': (r, ctx) => {
|
|
98
|
+
r.node = [];
|
|
99
|
+
if (ctx.cfg.info.list) {
|
|
100
|
+
mark(r.node, ctx.cfg.info.marker, { implicit: false, meta: {} });
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
'@pair-bc': (r, ctx) => {
|
|
104
|
+
if (r.u.pair) {
|
|
105
|
+
if (ctx.cfg.info.map && r.u.key === ctx.cfg.info.marker) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
r.u.prev = r.node[r.u.key];
|
|
109
|
+
r.node[r.u.key] = r.child.node;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
'@elem-bc': (r) => {
|
|
113
|
+
if (true !== r.u.done && undefined !== r.child.node) {
|
|
114
|
+
r.node.push(r.child.node);
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
rule: {
|
|
119
|
+
val: {
|
|
120
|
+
// Opening token alternates.
|
|
121
|
+
open: [
|
|
122
|
+
// A map: `{ ...`
|
|
123
|
+
{ s: '#OB', p: 'map', b: 1, g: 'map,json' },
|
|
124
|
+
// A list: `[ ...`
|
|
125
|
+
{ s: '#OS', p: 'list', b: 1, g: 'list,json' },
|
|
126
|
+
// A plain value: `x` `"x"` `1` `true` ....
|
|
127
|
+
{ s: '#VAL', g: 'val,json' },
|
|
128
|
+
],
|
|
129
|
+
// Closing token alternates.
|
|
130
|
+
close: [
|
|
131
|
+
// End of input.
|
|
132
|
+
{ s: '#ZZ', g: 'end,json' },
|
|
133
|
+
// There's more JSON.
|
|
134
|
+
{ b: 1, g: 'more,json' },
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
map: {
|
|
138
|
+
open: [
|
|
139
|
+
// An empty map: {}.
|
|
140
|
+
{ s: '#OB #CB', b: 1, n: { pk: 0 }, g: 'map,json' },
|
|
141
|
+
// Start matching map key-value pairs: a:1.
|
|
142
|
+
// Reset counter n.pk as new map (for extensions).
|
|
143
|
+
{ s: '#OB', p: 'pair', n: { pk: 0 }, g: 'map,json,pair' },
|
|
144
|
+
],
|
|
145
|
+
close: [
|
|
146
|
+
// End of map.
|
|
147
|
+
{ s: '#CB', g: 'end,json' },
|
|
148
|
+
],
|
|
149
|
+
},
|
|
150
|
+
list: {
|
|
151
|
+
open: [
|
|
152
|
+
// An empty list: [].
|
|
153
|
+
{ s: '#OS #CS', b: 1, g: 'list,json' },
|
|
154
|
+
// Start matching list elements: 1,2.
|
|
155
|
+
{ s: '#OS', p: 'elem', g: 'list,elem,json' },
|
|
156
|
+
],
|
|
157
|
+
close: [
|
|
158
|
+
// End of list.
|
|
159
|
+
{ s: '#CS', g: 'end,json' },
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
// sets key:val on node
|
|
163
|
+
pair: {
|
|
164
|
+
open: [
|
|
165
|
+
// Match key-colon start of pair.
|
|
166
|
+
{
|
|
167
|
+
s: '#KEY #CL',
|
|
168
|
+
p: 'val',
|
|
169
|
+
u: { pair: true },
|
|
170
|
+
a: '@pairkey',
|
|
171
|
+
g: 'map,pair,key,json',
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
close: [
|
|
175
|
+
// Comma means a new pair at same pair-key level.
|
|
176
|
+
{ s: '#CA', r: 'pair', g: 'map,pair,json' },
|
|
177
|
+
// End of map.
|
|
178
|
+
{ s: '#CB', b: 1, g: 'map,pair,json' },
|
|
179
|
+
],
|
|
180
|
+
},
|
|
181
|
+
// push onto node
|
|
182
|
+
elem: {
|
|
183
|
+
open: [
|
|
184
|
+
// List elements are values.
|
|
185
|
+
{ p: 'val', g: 'list,elem,val,json' },
|
|
186
|
+
],
|
|
187
|
+
close: [
|
|
188
|
+
// Next element.
|
|
189
|
+
{ s: '#CA', r: 'elem', g: 'list,elem,json' },
|
|
190
|
+
// End of list.
|
|
191
|
+
{ s: '#CS', b: 1, g: 'list,elem,json' },
|
|
192
|
+
],
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const json = function json(tn, _options) {
|
|
198
|
+
tn.options(JSON_OPTIONS);
|
|
199
|
+
registerJsonGrammar(tn);
|
|
200
|
+
};
|
|
201
|
+
exports.json = json;
|
|
202
|
+
//# sourceMappingURL=json-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-plugin.js","sourceRoot":"","sources":["../test/json-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"root":["../test/json-plugin.ts"],"version":"6.0.3"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tabnas/parser",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"main": "dist/tabnas.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"types": "dist/tabnas.d.ts",
|
|
@@ -37,8 +37,9 @@
|
|
|
37
37
|
},
|
|
38
38
|
"license": "MIT",
|
|
39
39
|
"files": [
|
|
40
|
+
"LICENSE",
|
|
40
41
|
"dist",
|
|
41
|
-
"
|
|
42
|
+
"dist-test"
|
|
42
43
|
],
|
|
43
44
|
"exports": {
|
|
44
45
|
".": "./dist/tabnas.js",
|
|
@@ -48,8 +49,8 @@
|
|
|
48
49
|
"./builtins": "./dist/builtins.js"
|
|
49
50
|
},
|
|
50
51
|
"devDependencies": {
|
|
51
|
-
"@tabnas/debug": "
|
|
52
|
-
"@tabnas/railroad": "
|
|
52
|
+
"@tabnas/debug": "*",
|
|
53
|
+
"@tabnas/railroad": "*",
|
|
53
54
|
"@types/node": "25.6.0",
|
|
54
55
|
"typescript": "6.0.3"
|
|
55
56
|
},
|