aontu 0.3.0 → 0.4.0
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/lib/lang.js +19 -11
- package/dist/lib/lang.js.map +1 -1
- package/lib/lang.ts +25 -14
- package/package.json +10 -10
package/dist/lib/lang.js
CHANGED
|
@@ -109,10 +109,10 @@ let AontuJsonic = function aontu(jsonic) {
|
|
|
109
109
|
// let orig_bc: any = rs.def.bc
|
|
110
110
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
111
111
|
// let out = orig_bc.call(this, rule, ctx)
|
|
112
|
-
rs.bc(
|
|
112
|
+
rs.bc((r, ctx) => {
|
|
113
113
|
let valnode = r.node;
|
|
114
114
|
let valtype = typeof valnode;
|
|
115
|
-
// console.log('VAL RULE',
|
|
115
|
+
// console.log('VAL RULE', valtype, r.use, r.node)
|
|
116
116
|
if ('string' === valtype) {
|
|
117
117
|
valnode = addpath(new val_1.StringVal(r.node), r.keep.path);
|
|
118
118
|
}
|
|
@@ -142,7 +142,7 @@ let AontuJsonic = function aontu(jsonic) {
|
|
|
142
142
|
// let orig_bc = rs.def.bc
|
|
143
143
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
144
144
|
// let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
|
|
145
|
-
rs.bc(
|
|
145
|
+
rs.bc((r) => {
|
|
146
146
|
// console.log('MAP RULE', rule.use, rule.node)
|
|
147
147
|
r.node = addpath(new val_1.MapVal(r.node), r.keep.path);
|
|
148
148
|
// return out
|
|
@@ -154,7 +154,7 @@ let AontuJsonic = function aontu(jsonic) {
|
|
|
154
154
|
// let orig_bc = rs.def.bc
|
|
155
155
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
156
156
|
// let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
|
|
157
|
-
rs.bc(
|
|
157
|
+
rs.bc((r) => {
|
|
158
158
|
r.node = addpath(new val_1.ListVal(r.node), r.keep.path);
|
|
159
159
|
// return out
|
|
160
160
|
return undefined;
|
|
@@ -162,15 +162,9 @@ let AontuJsonic = function aontu(jsonic) {
|
|
|
162
162
|
return rs;
|
|
163
163
|
});
|
|
164
164
|
jsonic.rule('pair', (rs) => {
|
|
165
|
-
// let orig_bc: any = rs.def.bc
|
|
166
165
|
rs
|
|
167
166
|
.open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
|
|
168
|
-
|
|
169
|
-
// orig_bc(...rest)
|
|
170
|
-
.bc(false, (rule) => {
|
|
171
|
-
// let rule = rest[0]
|
|
172
|
-
// console.log('PAIR RULE', rule.use, rule.node,
|
|
173
|
-
// rule.parent.name, rule.parent.use)
|
|
167
|
+
.bc((rule) => {
|
|
174
168
|
// TRAVERSE PARENTS TO GET PATH
|
|
175
169
|
if (rule.use.spread) {
|
|
176
170
|
rule.node[val_1.MapVal.SPREAD] =
|
|
@@ -181,6 +175,20 @@ let AontuJsonic = function aontu(jsonic) {
|
|
|
181
175
|
});
|
|
182
176
|
return rs;
|
|
183
177
|
});
|
|
178
|
+
jsonic.rule('elem', (rs) => {
|
|
179
|
+
rs
|
|
180
|
+
.open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
|
|
181
|
+
.bc((rule) => {
|
|
182
|
+
// TRAVERSE PARENTS TO GET PATH
|
|
183
|
+
if (rule.use.spread) {
|
|
184
|
+
rule.node[val_1.ListVal.SPREAD] =
|
|
185
|
+
(rule.node[val_1.ListVal.SPREAD] || { o: rule.o0.src, v: [] });
|
|
186
|
+
rule.node[val_1.ListVal.SPREAD].v.push(rule.child.node);
|
|
187
|
+
}
|
|
188
|
+
return undefined;
|
|
189
|
+
});
|
|
190
|
+
return rs;
|
|
191
|
+
});
|
|
184
192
|
};
|
|
185
193
|
const includeFileResolver = (0, file_1.makeFileResolver)((spec) => {
|
|
186
194
|
return 'string' === typeof spec ? spec : spec === null || spec === void 0 ? void 0 : spec.peg;
|
package/dist/lib/lang.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../lib/lang.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,qDAM4B;AAE5B,qDAE4B;AAE5B,iEAE+C;AAE/C,uCAGqB;AAErB,uCAEqB;AAQrB,+BAgBc;AAGd,MAAM,IAAI;IAOR,YAAY,GAAQ;QANpB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,CAAC,CAAC,CAAA;QAChB,QAAG,GAAW,EAAE,CAAA;QAKd,iEAAiE;QACjE,gCAAgC;QAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IACpB,CAAC;;
|
|
1
|
+
{"version":3,"file":"lang.js","sourceRoot":"","sources":["../../lib/lang.ts"],"names":[],"mappings":"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"}
|
package/lib/lang.ts
CHANGED
|
@@ -187,12 +187,12 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
|
|
|
187
187
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
188
188
|
// let out = orig_bc.call(this, rule, ctx)
|
|
189
189
|
|
|
190
|
-
rs.bc(
|
|
190
|
+
rs.bc((r: Rule, ctx: Context) => {
|
|
191
191
|
|
|
192
192
|
let valnode: Val = r.node
|
|
193
193
|
let valtype = typeof valnode
|
|
194
194
|
|
|
195
|
-
// console.log('VAL RULE',
|
|
195
|
+
// console.log('VAL RULE', valtype, r.use, r.node)
|
|
196
196
|
|
|
197
197
|
if ('string' === valtype) {
|
|
198
198
|
valnode = addpath(new StringVal(r.node), r.keep.path)
|
|
@@ -232,7 +232,7 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
|
|
|
232
232
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
233
233
|
// let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
|
|
234
234
|
|
|
235
|
-
rs.bc(
|
|
235
|
+
rs.bc((r: Rule) => {
|
|
236
236
|
|
|
237
237
|
// console.log('MAP RULE', rule.use, rule.node)
|
|
238
238
|
r.node = addpath(new MapVal(r.node), r.keep.path)
|
|
@@ -250,7 +250,7 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
|
|
|
250
250
|
// rs.def.bc = function(rule: Rule, ctx: Context) {
|
|
251
251
|
// let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
|
|
252
252
|
|
|
253
|
-
rs.bc(
|
|
253
|
+
rs.bc((r: Rule) => {
|
|
254
254
|
r.node = addpath(new ListVal(r.node), r.keep.path)
|
|
255
255
|
|
|
256
256
|
// return out
|
|
@@ -263,19 +263,10 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
|
|
|
263
263
|
|
|
264
264
|
|
|
265
265
|
jsonic.rule('pair', (rs: RuleSpec) => {
|
|
266
|
-
// let orig_bc: any = rs.def.bc
|
|
267
266
|
rs
|
|
268
267
|
.open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
|
|
269
268
|
|
|
270
|
-
|
|
271
|
-
// orig_bc(...rest)
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
.bc(false, (rule: Rule) => {
|
|
275
|
-
// let rule = rest[0]
|
|
276
|
-
// console.log('PAIR RULE', rule.use, rule.node,
|
|
277
|
-
// rule.parent.name, rule.parent.use)
|
|
278
|
-
|
|
269
|
+
.bc((rule: Rule) => {
|
|
279
270
|
// TRAVERSE PARENTS TO GET PATH
|
|
280
271
|
|
|
281
272
|
if (rule.use.spread) {
|
|
@@ -290,6 +281,26 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
|
|
|
290
281
|
return rs
|
|
291
282
|
})
|
|
292
283
|
|
|
284
|
+
|
|
285
|
+
jsonic.rule('elem', (rs: RuleSpec) => {
|
|
286
|
+
rs
|
|
287
|
+
.open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
|
|
288
|
+
|
|
289
|
+
.bc((rule: Rule) => {
|
|
290
|
+
// TRAVERSE PARENTS TO GET PATH
|
|
291
|
+
|
|
292
|
+
if (rule.use.spread) {
|
|
293
|
+
rule.node[ListVal.SPREAD] =
|
|
294
|
+
(rule.node[ListVal.SPREAD] || { o: rule.o0.src, v: [] })
|
|
295
|
+
rule.node[ListVal.SPREAD].v.push(rule.child.node)
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
return undefined
|
|
299
|
+
})
|
|
300
|
+
|
|
301
|
+
return rs
|
|
302
|
+
})
|
|
303
|
+
|
|
293
304
|
}
|
|
294
305
|
|
|
295
306
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aontu",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"main": "dist/aontu.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"browser": "dist/aontu.min.js",
|
|
@@ -39,12 +39,12 @@
|
|
|
39
39
|
"LICENSE"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@jsonic/directive": "^0.
|
|
43
|
-
"@jsonic/expr": "^0.
|
|
44
|
-
"@jsonic/jsonic-next": "2.
|
|
45
|
-
"@jsonic/multisource": "0.
|
|
46
|
-
"@jsonic/path": "^0.
|
|
47
|
-
"@types/node": "^18.0.
|
|
42
|
+
"@jsonic/directive": "^0.8.0",
|
|
43
|
+
"@jsonic/expr": "^0.5.0",
|
|
44
|
+
"@jsonic/jsonic-next": "^2.3.0",
|
|
45
|
+
"@jsonic/multisource": "^0.7.0",
|
|
46
|
+
"@jsonic/path": "^0.2.0",
|
|
47
|
+
"@types/node": "^18.0.3"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"@hapi/code": "^9.0.1",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"hapi-lab-shim": "0.0.2",
|
|
55
55
|
"lab-transform-typescript": "^3.0.1",
|
|
56
56
|
"prettier": "^2.7.1",
|
|
57
|
-
"serve": "^
|
|
58
|
-
"tinyify": "^3.
|
|
59
|
-
"typescript": "^4.7.
|
|
57
|
+
"serve": "^14.0.0",
|
|
58
|
+
"tinyify": "^3.1.0",
|
|
59
|
+
"typescript": "^4.7.4"
|
|
60
60
|
}
|
|
61
61
|
}
|