aontu 0.33.0 → 0.34.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.
Files changed (55) hide show
  1. package/dist/lang.js +4 -5
  2. package/dist/lang.js.map +1 -1
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/dist/unify.js +2 -1
  5. package/dist/unify.js.map +1 -1
  6. package/dist/val/BagVal.d.ts +3 -1
  7. package/dist/val/BagVal.js +22 -5
  8. package/dist/val/BagVal.js.map +1 -1
  9. package/dist/val/ConjunctVal.d.ts +1 -0
  10. package/dist/val/ConjunctVal.js +1 -0
  11. package/dist/val/ConjunctVal.js.map +1 -1
  12. package/dist/val/DisjunctVal.d.ts +1 -0
  13. package/dist/val/DisjunctVal.js +1 -0
  14. package/dist/val/DisjunctVal.js.map +1 -1
  15. package/dist/val/ExpectVal.d.ts +15 -0
  16. package/dist/val/ExpectVal.js +43 -0
  17. package/dist/val/ExpectVal.js.map +1 -0
  18. package/dist/val/FuncBaseVal.d.ts +1 -0
  19. package/dist/val/FuncBaseVal.js +1 -0
  20. package/dist/val/FuncBaseVal.js.map +1 -1
  21. package/dist/val/ListVal.js +0 -5
  22. package/dist/val/ListVal.js.map +1 -1
  23. package/dist/val/MapVal.js +9 -8
  24. package/dist/val/MapVal.js.map +1 -1
  25. package/dist/val/NilVal.d.ts +1 -0
  26. package/dist/val/NilVal.js +1 -0
  27. package/dist/val/NilVal.js.map +1 -1
  28. package/dist/val/PlusOpVal.d.ts +1 -1
  29. package/dist/val/PrefVal.d.ts +1 -0
  30. package/dist/val/PrefVal.js +1 -0
  31. package/dist/val/PrefVal.js.map +1 -1
  32. package/dist/val/RefVal.d.ts +1 -0
  33. package/dist/val/RefVal.js +1 -0
  34. package/dist/val/RefVal.js.map +1 -1
  35. package/dist/val/ScalarVal.d.ts +1 -0
  36. package/dist/val/ScalarVal.js +1 -0
  37. package/dist/val/ScalarVal.js.map +1 -1
  38. package/dist/val/Val.d.ts +1 -0
  39. package/dist/val/Val.js +1 -0
  40. package/dist/val/Val.js.map +1 -1
  41. package/package.json +3 -3
  42. package/src/lang.ts +4 -6
  43. package/src/unify.ts +1 -0
  44. package/src/val/BagVal.ts +25 -8
  45. package/src/val/ConjunctVal.ts +1 -0
  46. package/src/val/DisjunctVal.ts +1 -0
  47. package/src/val/ExpectVal.ts +95 -0
  48. package/src/val/FuncBaseVal.ts +1 -0
  49. package/src/val/ListVal.ts +0 -70
  50. package/src/val/MapVal.ts +10 -12
  51. package/src/val/NilVal.ts +1 -0
  52. package/src/val/PrefVal.ts +1 -0
  53. package/src/val/RefVal.ts +1 -0
  54. package/src/val/ScalarVal.ts +3 -0
  55. package/src/val/Val.ts +2 -0
package/src/val/MapVal.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
2
2
 
3
3
 
4
-
5
4
  import type {
6
5
  Val,
7
6
  ValSpec,
@@ -88,7 +87,6 @@ class MapVal extends BagVal {
88
87
  out.optionalKeys = [...this.optionalKeys]
89
88
  out.spread.cj = this.spread.cj
90
89
  out.site = this.site
91
- out.from = this.from
92
90
 
93
91
  if (peer instanceof MapVal) {
94
92
  if (!this.closed && peer.closed) {
@@ -140,10 +138,10 @@ class MapVal extends BagVal {
140
138
  const keyctx = ctx.descend(key)
141
139
 
142
140
  const key_spread_cj = spread_cj.clone(keyctx)
143
- // console.log('MAPVAL-SPREAD', this.id, key, key_spread_cj.id, key_spread_cj.canon, key_spread_cj.done)
144
-
145
141
  const child = this.peg[key]
146
142
 
143
+ // console.log('MAPVAL-SPREAD', this.id, key, child, key_spread_cj.id, key_spread_cj.canon, key_spread_cj.done)
144
+
147
145
  propagateMarks(this, child)
148
146
 
149
147
  out.peg[key] =
@@ -180,7 +178,7 @@ class MapVal extends BagVal {
180
178
  let child = out.peg[peerkey]
181
179
 
182
180
  let oval = out.peg[peerkey] =
183
- undefined === child ? peerchild :
181
+ undefined === child ? this.handleExpectedVal(peerkey, peerchild, this, ctx) :
184
182
  child.isTop && peerchild.done ? peerchild :
185
183
  child.isNil ? child :
186
184
  peerchild.isNil ? peerchild :
@@ -194,8 +192,6 @@ class MapVal extends BagVal {
194
192
  oval = out.peg[peerkey] =
195
193
  unite(key_ctx.clone({ explain: ec(te, 'PSP:' + peerkey) }),
196
194
  oval, key_spread_cj, 'map-peer-spread')
197
-
198
- oval.from = spread_cj
199
195
  }
200
196
 
201
197
  propagateMarks(this, oval)
@@ -220,11 +216,13 @@ class MapVal extends BagVal {
220
216
  }
221
217
  }
222
218
 
223
- if (out.isBag) {
224
- (out as BagVal).from = this.from
225
- }
226
-
227
- // console.log('MAPVAL-OUT', this.id, this.closed, this.canon, 'P=', (peer as any).closed, peer.canon, '->', (out as any).closed, out.canon)
219
+ // console.log(
220
+ // 'MAPVAL-OUT', out.canon,
221
+ // '\n SELF', this,
222
+ // '\n PEER', peer,
223
+ // '\n OUT', out,
224
+ // '\n FROM', (out as any).spread.cj
225
+ // )
228
226
 
229
227
  ctx.explain && explainClose(te, out)
230
228
 
package/src/val/NilVal.ts CHANGED
@@ -21,6 +21,7 @@ import { AontuError } from '../err'
21
21
 
22
22
  class NilVal extends Val {
23
23
  isNil = true
24
+ isGenable = true
24
25
 
25
26
  nil = true
26
27
  why: any
@@ -27,6 +27,7 @@ import { FeatureVal } from './FeatureVal'
27
27
 
28
28
  class PrefVal extends FeatureVal {
29
29
  isPref = true
30
+ isGenable = true
30
31
 
31
32
  superpeg: Val
32
33
  rank: number = 0
package/src/val/RefVal.ts CHANGED
@@ -42,6 +42,7 @@ import { FeatureVal } from './FeatureVal'
42
42
 
43
43
  class RefVal extends FeatureVal {
44
44
  isRef = true
45
+ isGenable = true
45
46
 
46
47
  absolute: boolean = false
47
48
  prefix: boolean = false
@@ -26,7 +26,10 @@ import { ScalarKindVal } from './ScalarKindVal'
26
26
 
27
27
  class ScalarVal extends Val {
28
28
  kind: any
29
+
29
30
  isScalar = true
31
+ isGenable = true
32
+
30
33
  src: string
31
34
 
32
35
  constructor(
package/src/val/Val.ts CHANGED
@@ -89,6 +89,8 @@ abstract class Val {
89
89
  isTypeFunc = false
90
90
  isUpperFunc = false
91
91
 
92
+ isGenable = false
93
+
92
94
  id: number
93
95
  dc: number = 0
94
96
  path: string[] = []