aontu 0.41.0 → 0.43.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.
Files changed (79) hide show
  1. package/dist/ctx.d.ts +5 -2
  2. package/dist/ctx.js +2 -1
  3. package/dist/ctx.js.map +1 -1
  4. package/dist/lang.d.ts +5 -1
  5. package/dist/lang.js +100 -24
  6. package/dist/lang.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/dist/type.d.ts +5 -0
  9. package/dist/type.js.map +1 -1
  10. package/dist/unify.js +292 -13
  11. package/dist/unify.js.map +1 -1
  12. package/dist/utility.js +6 -2
  13. package/dist/utility.js.map +1 -1
  14. package/dist/val/BagVal.d.ts +0 -3
  15. package/dist/val/BagVal.js +6 -6
  16. package/dist/val/BagVal.js.map +1 -1
  17. package/dist/val/ConjunctVal.d.ts +1 -1
  18. package/dist/val/ConjunctVal.js +137 -14
  19. package/dist/val/ConjunctVal.js.map +1 -1
  20. package/dist/val/CopyFuncVal.js +3 -2
  21. package/dist/val/CopyFuncVal.js.map +1 -1
  22. package/dist/val/DisjunctVal.js +4 -0
  23. package/dist/val/DisjunctVal.js.map +1 -1
  24. package/dist/val/ExpectVal.js +16 -3
  25. package/dist/val/ExpectVal.js.map +1 -1
  26. package/dist/val/JunctionVal.d.ts +1 -0
  27. package/dist/val/JunctionVal.js +6 -1
  28. package/dist/val/JunctionVal.js.map +1 -1
  29. package/dist/val/KeyFuncVal.js +0 -2
  30. package/dist/val/KeyFuncVal.js.map +1 -1
  31. package/dist/val/ListVal.d.ts +1 -0
  32. package/dist/val/ListVal.js +33 -66
  33. package/dist/val/ListVal.js.map +1 -1
  34. package/dist/val/MapVal.d.ts +3 -2
  35. package/dist/val/MapVal.js +67 -95
  36. package/dist/val/MapVal.js.map +1 -1
  37. package/dist/val/MoveFuncVal.d.ts +2 -1
  38. package/dist/val/MoveFuncVal.js +78 -13
  39. package/dist/val/MoveFuncVal.js.map +1 -1
  40. package/dist/val/PathFuncVal.js +25 -4
  41. package/dist/val/PathFuncVal.js.map +1 -1
  42. package/dist/val/{RefVal.d.ts → PathVal.d.ts} +4 -3
  43. package/dist/val/{RefVal.js → PathVal.js} +75 -77
  44. package/dist/val/PathVal.js.map +1 -0
  45. package/dist/val/PlusOpVal.d.ts +1 -1
  46. package/dist/val/PrefVal.js +18 -5
  47. package/dist/val/PrefVal.js.map +1 -1
  48. package/dist/val/SpreadVal.d.ts +20 -0
  49. package/dist/val/SpreadVal.js +194 -0
  50. package/dist/val/SpreadVal.js.map +1 -0
  51. package/dist/val/Val.d.ts +2 -1
  52. package/dist/val/Val.js +7 -8
  53. package/dist/val/Val.js.map +1 -1
  54. package/dist/val/VarVal.js +2 -2
  55. package/dist/val/VarVal.js.map +1 -1
  56. package/package.json +5 -6
  57. package/src/ctx.ts +16 -3
  58. package/src/lang.ts +113 -23
  59. package/src/type.ts +5 -0
  60. package/src/unify.ts +310 -13
  61. package/src/utility.ts +5 -2
  62. package/src/val/BagVal.ts +6 -7
  63. package/src/val/ConjunctVal.ts +131 -13
  64. package/src/val/CopyFuncVal.ts +3 -2
  65. package/src/val/DisjunctVal.ts +6 -0
  66. package/src/val/ExpectVal.ts +18 -4
  67. package/src/val/JunctionVal.ts +5 -1
  68. package/src/val/KeyFuncVal.ts +0 -3
  69. package/src/val/ListVal.ts +38 -88
  70. package/src/val/MapVal.ts +75 -124
  71. package/src/val/MoveFuncVal.ts +79 -14
  72. package/src/val/PathFuncVal.ts +29 -4
  73. package/src/val/PathVal.ts +435 -0
  74. package/src/val/PrefVal.ts +19 -6
  75. package/src/val/{RefVal.ts → RefVal.ts.old} +30 -19
  76. package/src/val/SpreadVal.ts +275 -0
  77. package/src/val/Val.ts +9 -9
  78. package/src/val/VarVal.ts +2 -2
  79. package/dist/val/RefVal.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Val.js","sourceRoot":"","sources":["../../src/val/Val.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Val.js","sourceRoot":"","sources":["../../src/val/Val.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ class VarVal extends FeatureVal_1.FeatureVal {
24
24
  if (this.peg.isVal) {
25
25
  // $.a.b.c - convert path to absolute
26
26
  // if (this.peg instanceof RefVal) {
27
- if (this.peg.isRef) {
27
+ if (this.peg.isPath) {
28
28
  this.peg.absolute = true;
29
29
  nameVal = this.peg;
30
30
  }
@@ -37,7 +37,7 @@ class VarVal extends FeatureVal_1.FeatureVal {
37
37
  nameVal = new StringVal_1.StringVal({ peg: '' + this.peg }, ctx);
38
38
  }
39
39
  // if (!(nameVal instanceof RefVal) && DONE === nameVal.dc) {
40
- if (!(nameVal.isRef) && type_1.DONE === nameVal.dc) {
40
+ if (!(nameVal.isPath) && type_1.DONE === nameVal.dc) {
41
41
  if (nameVal instanceof StringVal_1.StringVal) {
42
42
  let found = ctx.vars[nameVal.peg];
43
43
  if (undefined === found) {
@@ -1 +1 @@
1
- {"version":3,"file":"VarVal.js","sourceRoot":"","sources":["../../src/val/VarVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VarVal.js","sourceRoot":"","sources":["../../src/val/VarVal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aontu",
3
- "version": "0.41.0",
3
+ "version": "0.43.0",
4
4
  "main": "dist/aontu.js",
5
5
  "type": "commonjs",
6
6
  "types": "dist/aontu.d.ts",
@@ -36,11 +36,10 @@
36
36
  "LICENSE"
37
37
  ],
38
38
  "dependencies": {
39
- "@jsonic/directive": "2.1.0",
40
- "@jsonic/expr": "2.1.0",
41
- "@jsonic/multisource": "2.6.0",
42
- "@jsonic/path": "2.0.0",
43
- "jsonic": "2.27.0"
39
+ "@jsonic/expr": "2.2.0",
40
+ "@jsonic/multisource": "2.7.0",
41
+ "@jsonic/path": "2.1.0",
42
+ "jsonic": "2.28.0"
44
43
  },
45
44
  "devDependencies": {
46
45
  "@types/node": "25.6.0",
package/src/ctx.ts CHANGED
@@ -24,7 +24,7 @@ type AontuContextConfig = {
24
24
  fs?: any
25
25
  path?: string[]
26
26
  root?: Val
27
- seen?: Record<string, number>
27
+ seen?: Map<string, number>
28
28
  seenI?: number
29
29
  src?: string
30
30
  srcpath?: string
@@ -41,12 +41,14 @@ class AontuContext {
41
41
  path: string[] // Path to current Val.
42
42
  vc: number // Val counter to create unique val ids.
43
43
  cc: number = -1
44
+ sc: number = 0 // Unresolved spread count
45
+
44
46
  vars: Record<string, Val> = {}
45
47
  src?: string
46
48
  fs?: FST
47
49
 
48
50
  seenI: number
49
- seen: Record<string, number>
51
+ seen: Map<string, number>
50
52
 
51
53
  collect: boolean
52
54
 
@@ -87,6 +89,17 @@ class AontuContext {
87
89
  // cached child is safe to reuse.
88
90
  _childCache?: Map<string, AontuContext>
89
91
 
92
+ // Per-iteration cache for PathVal.find() clone results.
93
+ // Key: "pathId|targetId" — avoids repeated deep-clone + walk for
94
+ // the same (path, resolved-target) pair within one fixpoint pass.
95
+ // Cleared at the start of each iteration (alongside `seen`).
96
+ _refCloneCache?: Map<string, Val>
97
+
98
+ // Per-iteration cache for unite() results when both operands are
99
+ // done. Key: "aId|bId". Cleared per fixpoint iteration.
100
+ _uniteCache?: Map<string, Val>
101
+
102
+
90
103
 
91
104
  constructor(cfg: AontuContextConfig) {
92
105
  this.root = cfg.root
@@ -107,7 +120,7 @@ class AontuContext {
107
120
 
108
121
  this.vars = cfg.vars ?? this.vars
109
122
  this.seenI = cfg.seenI ?? 0
110
- this.seen = cfg.seen ?? {}
123
+ this.seen = cfg.seen ?? new Map()
111
124
 
112
125
  this.srcpath = cfg.srcpath ?? undefined
113
126
 
package/src/lang.ts CHANGED
@@ -25,6 +25,10 @@ import {
25
25
  makeFileResolver
26
26
  } from '@jsonic/multisource/resolver/file'
27
27
 
28
+ import {
29
+ preloadFiles
30
+ } from '@jsonic/multisource'
31
+
28
32
  import {
29
33
  makePkgResolver
30
34
  } from '@jsonic/multisource/resolver/pkg'
@@ -75,7 +79,8 @@ import { NilVal } from './val/NilVal'
75
79
  import { NullVal } from './val/NullVal'
76
80
  import { NumberVal } from './val/NumberVal'
77
81
  import { PrefVal } from './val/PrefVal'
78
- import { RefVal } from './val/RefVal'
82
+ import { PathVal } from './val/PathVal'
83
+ // RefVal replaced by PathVal — see RefVal.ts.old
79
84
  import { StringVal } from './val/StringVal'
80
85
  import { VarVal } from './val/VarVal'
81
86
  import { PlusOpVal } from './val/PlusOpVal'
@@ -91,6 +96,7 @@ import { PrefFuncVal } from './val/PrefFuncVal'
91
96
  import { CloseFuncVal } from './val/CloseFuncVal'
92
97
  import { OpenFuncVal } from './val/OpenFuncVal'
93
98
  import { SuperFuncVal } from './val/SuperFuncVal'
99
+ import { SpreadVal } from './val/SpreadVal'
94
100
 
95
101
 
96
102
  let AontuJsonic: Plugin = function AontuLang(jsonic: Jsonic) {
@@ -110,6 +116,17 @@ let AontuJsonic: Plugin = function AontuLang(jsonic: Jsonic) {
110
116
  }
111
117
 
112
118
 
119
+ // Helper: create a SpreadVal from the raw SPREAD symbol data.
120
+ function makeSpreadVal(rawSpread: any): SpreadVal {
121
+ const constraint = Array.isArray(rawSpread.v)
122
+ ? (rawSpread.v.length > 1
123
+ ? new ConjunctVal({ peg: rawSpread.v })
124
+ : rawSpread.v[0])
125
+ : rawSpread.v
126
+ return new SpreadVal({ peg: constraint })
127
+ }
128
+
129
+
113
130
  jsonic.options({
114
131
  hint: {
115
132
  unknown: `
@@ -223,12 +240,25 @@ help isolate the syntax error.`,
223
240
  addsite(new DisjunctVal({ peg: terms }), r, ctx),
224
241
 
225
242
  'dot-prefix': (r: Rule, ctx: JsonicContext, _op: Op, terms: any) => {
226
- return addsite(new RefVal({ peg: terms, prefix: true }), r, ctx)
243
+ const pv = addsite(new PathVal({ peg: terms, prefix: true }), r, ctx)
244
+ if (ctx.meta.paths) { ctx.meta.paths.push(pv) }
245
+ return pv
227
246
  },
228
247
 
229
248
  'dot-infix': (r: Rule, ctx: JsonicContext, _op: Op, terms: any) => {
230
- // // console.log('DOT-INFIX-OP', terms)
231
- return addsite(new RefVal({ peg: terms }), r, ctx)
249
+ const paths = ctx.meta.paths
250
+ if (paths) {
251
+ // Remove consumed intermediates
252
+ for (const t of terms) {
253
+ if (t instanceof PathVal) {
254
+ const idx = paths.indexOf(t)
255
+ if (idx >= 0) paths.splice(idx, 1)
256
+ }
257
+ }
258
+ }
259
+ const pv = addsite(new PathVal({ peg: terms }), r, ctx)
260
+ if (paths) { paths.push(pv) }
261
+ return pv
232
262
  },
233
263
 
234
264
  'star-prefix': (r: Rule, ctx: JsonicContext, _op: Op, terms: any) =>
@@ -236,7 +266,7 @@ help isolate the syntax error.`,
236
266
 
237
267
  'dollar-prefix': (r: Rule, ctx: JsonicContext, _op: Op, terms: any) => {
238
268
  // $.a.b absolute path
239
- if (terms[0] instanceof RefVal) {
269
+ if (terms[0] instanceof PathVal) {
240
270
  terms[0].absolute = true
241
271
  return terms[0]
242
272
  }
@@ -271,6 +301,9 @@ help isolate the syntax error.`,
271
301
  })
272
302
  }
273
303
  const out = addsite(val, r, ctx)
304
+ if (out.isKeyFunc && ctx.meta.keys) {
305
+ ctx.meta.keys.push(out)
306
+ }
274
307
  return out
275
308
  },
276
309
  }
@@ -281,11 +314,11 @@ help isolate the syntax error.`,
281
314
  op: {
282
315
  // disjunct < conjunct: c & b | a -> (c & b) | a
283
316
  'conjunct': {
284
- infix: true, src: '&', left: 16_000_000, right: 17_000_000
317
+ infix: true, src: '&', left: 16_000_000, right: 17_000_000,
285
318
  },
286
319
 
287
320
  'disjunct': {
288
- infix: true, src: '|', left: 14_000_000, right: 15_000_000
321
+ infix: true, src: '|', left: 14_000_000, right: 15_000_000,
289
322
  },
290
323
 
291
324
  'plus-infix': {
@@ -324,7 +357,6 @@ help isolate the syntax error.`,
324
357
  paren: true,
325
358
  preval: {
326
359
  active: true,
327
- // allow: ['floor'], //Object.keys(funcMap)
328
360
  },
329
361
  osrc: '(',
330
362
  csrc: ')',
@@ -445,26 +477,46 @@ help isolate the syntax error.`,
445
477
  { s: [OPTKEY, QM], p: 'pair', b: 2, g: 'pair,list,val,imp,jsonic,aontu-optional' },
446
478
  ])
447
479
 
480
+
448
481
  .bc((r: Rule, ctx: JsonicContext) => {
449
482
  const optionalKeys = r.u.aontu_optional_keys ?? []
450
483
 
451
484
  let mo = r.node
452
485
 
486
+ // Extract spread constraint before creating MapVal.
487
+ // If a spread exists, wrap: ConjunctVal([MapVal, SpreadVal])
488
+ const rawSpread = (mo as any)[SPREAD]
489
+ if (rawSpread) {
490
+ delete (mo as any)[SPREAD]
491
+ }
492
+
453
493
  // Handle defered conjuncts, e.g. `{x:1 @"foo"}`
454
494
  if (mo.___merge) {
455
495
  let mop = { ...mo }
456
496
  delete mop.___merge
457
497
 
458
- // TODO: needs addpath?
459
498
  let mopv = new MapVal({ peg: mop })
460
499
  mopv.optionalKeys = optionalKeys
461
500
 
462
- r.node =
463
- addsite(new ConjunctVal({ peg: [mopv, ...mo.___merge] }), r, ctx)
501
+ let terms = [mopv, ...mo.___merge]
502
+ if (rawSpread && '&' === rawSpread.o) {
503
+ terms.push(makeSpreadVal(rawSpread))
504
+ }
505
+
506
+ r.node = addsite(new ConjunctVal({ peg: terms }), r, ctx)
464
507
  }
465
508
  else {
466
- r.node = addsite(new MapVal({ peg: mo }), r, ctx)
467
- r.node.optionalKeys = optionalKeys
509
+ let mapVal = new MapVal({ peg: mo })
510
+ mapVal.optionalKeys = optionalKeys
511
+
512
+ if (rawSpread && '&' === rawSpread.o) {
513
+ const spreadVal = makeSpreadVal(rawSpread)
514
+ r.node = addsite(
515
+ new ConjunctVal({ peg: [mapVal, spreadVal] }), r, ctx)
516
+ }
517
+ else {
518
+ r.node = addsite(mapVal, r, ctx)
519
+ }
468
520
  }
469
521
 
470
522
  return undefined
@@ -486,20 +538,39 @@ help isolate the syntax error.`,
486
538
 
487
539
  let ao = r.node
488
540
 
541
+ // Extract spread from list before creating ListVal.
542
+ const rawSpread = (ao as any)[SPREAD]
543
+ if (rawSpread) {
544
+ delete (ao as any)[SPREAD]
545
+ }
546
+
489
547
  if (ao.___merge) {
490
548
  let aop = [...ao]
491
549
  delete (aop as any).___merge
492
550
 
493
- // TODO: needs addpath?
494
551
  let aopv = new ListVal({ peg: aop })
495
552
  aopv.optionalKeys = optionalKeys
496
553
 
554
+ let terms = [aopv, ...ao.___merge]
555
+ if (rawSpread && '&' === rawSpread.o) {
556
+ terms.push(makeSpreadVal(rawSpread))
557
+ }
558
+
497
559
  r.node =
498
- addsite(new ConjunctVal({ peg: [aopv, ...ao.___merge] }), r, ctx)
560
+ addsite(new ConjunctVal({ peg: terms }), r, ctx)
499
561
  }
500
562
  else {
501
- r.node = addsite(new ListVal({ peg: ao }), r, ctx)
502
- r.node.optionalKeys = optionalKeys
563
+ let listVal = new ListVal({ peg: ao })
564
+ listVal.optionalKeys = optionalKeys
565
+
566
+ if (rawSpread && '&' === rawSpread.o) {
567
+ const spreadVal = makeSpreadVal(rawSpread)
568
+ r.node = addsite(
569
+ new ConjunctVal({ peg: [listVal, spreadVal] }), r, ctx)
570
+ }
571
+ else {
572
+ r.node = addsite(listVal, r, ctx)
573
+ }
503
574
  }
504
575
 
505
576
  return undefined
@@ -555,11 +626,13 @@ help isolate the syntax error.`,
555
626
  }
556
627
  ])
557
628
 
558
- // NOTE: manually adjust path - @jsonic/path ignores as not pair:true
629
+ // Spread children inherit the parent path directly.
630
+ // The path gets adjusted correctly when SpreadVal applies
631
+ // the constraint via spreadClone(keyctx).
559
632
  .ao((r) => {
560
633
  if (0 < r.d && r.u.spread) {
561
- r.child.k.path = [...r.k.path, '&']
562
- r.child.k.key = '&'
634
+ r.child.k.path = r.k.path
635
+ r.child.k.key = r.k.key
563
636
  }
564
637
  })
565
638
 
@@ -647,10 +720,18 @@ function makeModelResolver(options: any) {
647
720
  ...(options.resolver?.mem || {})
648
721
  })
649
722
 
650
- // TODO: make this consistent with other resolvers
651
- let fileResolver = makeFileResolver((spec: any) => {
723
+ const pathfinder = (spec: any) => {
652
724
  return 'string' === typeof spec ? spec : spec?.peg
653
- })
725
+ }
726
+
727
+ let preload: { [fullpath: string]: string } | undefined
728
+ if (options.preload) {
729
+ preload = preloadFiles(options.preload)
730
+ }
731
+
732
+ let fileResolver = makeFileResolver(
733
+ preload ? { pathfinder, preload } : pathfinder
734
+ )
654
735
 
655
736
  let pkgResolver = makePkgResolver({
656
737
  require: useRequire,
@@ -699,6 +780,8 @@ class Lang {
699
780
  jsonic: Jsonic
700
781
  opts: AontuOptions
701
782
  idcount: number | undefined
783
+ paths: PathVal[] = []
784
+ keys: KeyFuncVal[] = []
702
785
 
703
786
 
704
787
  constructor(options?: Partial<AontuOptions>) {
@@ -732,9 +815,14 @@ class Lang {
732
815
  // const start = performance.now()
733
816
 
734
817
  // JSONIC-UPDATE - check meta
818
+ this.paths = []
819
+ this.keys = []
820
+
735
821
  let jm: any = {
736
822
  fs: opts?.fs,
737
823
  fileName: opts?.path ?? this.opts.path,
824
+ paths: this.paths,
825
+ keys: this.keys,
738
826
  multisource: {
739
827
  path: opts?.path ?? this.opts.path,
740
828
  deps: (opts && opts.deps) || undefined
@@ -779,5 +867,7 @@ class Lang {
779
867
 
780
868
  export {
781
869
  Lang,
870
+ PathVal,
871
+ KeyFuncVal,
782
872
  Site,
783
873
  }
package/src/type.ts CHANGED
@@ -30,6 +30,11 @@ type AontuOptions = {
30
30
  collect?: boolean // Collect errors into an errs property, rather than throw them.
31
31
  err?: any[]
32
32
  explain?: any[]
33
+ preload?: { // Preload files into memory before parsing.
34
+ folders: string[] // Folders to scan.
35
+ ext?: string[] // Extensions (default: ['.jsonic', '.json']).
36
+ recursive?: boolean // Recurse into subfolders (default: false).
37
+ }
33
38
  }
34
39
 
35
40