aontu 0.50.1 → 0.52.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 (197) hide show
  1. package/bin/aontu-lsp.js +6 -0
  2. package/bin/aontu.js +7 -0
  3. package/dist/aontu.d.ts +4 -2
  4. package/dist/aontu.js +21 -8
  5. package/dist/aontu.js.map +1 -1
  6. package/dist/cli.d.ts +0 -1
  7. package/dist/cli.js +43 -53
  8. package/dist/cli.js.map +1 -1
  9. package/dist/ctx.js +1 -1
  10. package/dist/ctx.js.map +1 -1
  11. package/dist/err.js +3 -2
  12. package/dist/err.js.map +1 -1
  13. package/dist/exactjson.d.ts +37 -0
  14. package/dist/exactjson.js +228 -0
  15. package/dist/exactjson.js.map +1 -0
  16. package/dist/hints.d.ts +3 -1
  17. package/dist/hints.js +187 -5
  18. package/dist/hints.js.map +1 -1
  19. package/dist/keyorder.d.ts +9 -0
  20. package/dist/keyorder.js +65 -0
  21. package/dist/keyorder.js.map +1 -0
  22. package/dist/lang.js +263 -30
  23. package/dist/lang.js.map +1 -1
  24. package/dist/lsp-server.d.ts +2 -2
  25. package/dist/lsp-server.js +10 -10
  26. package/dist/lsp-server.js.map +1 -1
  27. package/dist/lsp.js +39 -21
  28. package/dist/lsp.js.map +1 -1
  29. package/dist/site.js +1 -1
  30. package/dist/site.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/unify.js +48 -1
  33. package/dist/unify.js.map +1 -1
  34. package/dist/utility.js +3 -8
  35. package/dist/utility.js.map +1 -1
  36. package/dist/val/BagVal.js +9 -6
  37. package/dist/val/BagVal.js.map +1 -1
  38. package/dist/val/BigDecimalVal.d.ts +13 -0
  39. package/dist/val/BigDecimalVal.js +80 -0
  40. package/dist/val/BigDecimalVal.js.map +1 -0
  41. package/dist/val/BigIntegerVal.d.ts +11 -0
  42. package/dist/val/BigIntegerVal.js +75 -0
  43. package/dist/val/BigIntegerVal.js.map +1 -0
  44. package/dist/val/BooleanVal.js +1 -1
  45. package/dist/val/BooleanVal.js.map +1 -1
  46. package/dist/val/CloseFuncVal.js +1 -1
  47. package/dist/val/CloseFuncVal.js.map +1 -1
  48. package/dist/val/ConjunctVal.js +1 -1
  49. package/dist/val/ConjunctVal.js.map +1 -1
  50. package/dist/val/ConstraintVal.d.ts +56 -0
  51. package/dist/val/ConstraintVal.js +407 -0
  52. package/dist/val/ConstraintVal.js.map +1 -0
  53. package/dist/val/CopyFuncVal.js +1 -1
  54. package/dist/val/CopyFuncVal.js.map +1 -1
  55. package/dist/val/Decimal.d.ts +32 -0
  56. package/dist/val/Decimal.js +318 -0
  57. package/dist/val/Decimal.js.map +1 -0
  58. package/dist/val/DisjunctVal.js +1 -29
  59. package/dist/val/DisjunctVal.js.map +1 -1
  60. package/dist/val/ExpectVal.js +1 -1
  61. package/dist/val/ExpectVal.js.map +1 -1
  62. package/dist/val/FeatureVal.js +1 -1
  63. package/dist/val/FeatureVal.js.map +1 -1
  64. package/dist/val/FuncBaseVal.js +1 -1
  65. package/dist/val/FuncBaseVal.js.map +1 -1
  66. package/dist/val/HideFuncVal.js +1 -1
  67. package/dist/val/HideFuncVal.js.map +1 -1
  68. package/dist/val/IntegerVal.d.ts +2 -0
  69. package/dist/val/IntegerVal.js +77 -5
  70. package/dist/val/IntegerVal.js.map +1 -1
  71. package/dist/val/JunctionVal.js +1 -1
  72. package/dist/val/JunctionVal.js.map +1 -1
  73. package/dist/val/KeyFuncVal.d.ts +1 -1
  74. package/dist/val/KeyFuncVal.js +34 -4
  75. package/dist/val/KeyFuncVal.js.map +1 -1
  76. package/dist/val/ListVal.js +7 -7
  77. package/dist/val/ListVal.js.map +1 -1
  78. package/dist/val/LowerFuncVal.js +21 -4
  79. package/dist/val/LowerFuncVal.js.map +1 -1
  80. package/dist/val/MapVal.js +17 -13
  81. package/dist/val/MapVal.js.map +1 -1
  82. package/dist/val/MoveFuncVal.js +26 -9
  83. package/dist/val/MoveFuncVal.js.map +1 -1
  84. package/dist/val/NilVal.d.ts +1 -0
  85. package/dist/val/NilVal.js +10 -3
  86. package/dist/val/NilVal.js.map +1 -1
  87. package/dist/val/NullVal.js +1 -1
  88. package/dist/val/NullVal.js.map +1 -1
  89. package/dist/val/NumberVal.d.ts +1 -0
  90. package/dist/val/NumberVal.js +25 -4
  91. package/dist/val/NumberVal.js.map +1 -1
  92. package/dist/val/OpBaseVal.js +10 -8
  93. package/dist/val/OpBaseVal.js.map +1 -1
  94. package/dist/val/OpenFuncVal.js +1 -1
  95. package/dist/val/OpenFuncVal.js.map +1 -1
  96. package/dist/val/PathFuncVal.js +10 -2
  97. package/dist/val/PathFuncVal.js.map +1 -1
  98. package/dist/val/PlusOpVal.d.ts +3 -1
  99. package/dist/val/PlusOpVal.js +140 -29
  100. package/dist/val/PlusOpVal.js.map +1 -1
  101. package/dist/val/PrefFuncVal.js +1 -1
  102. package/dist/val/PrefFuncVal.js.map +1 -1
  103. package/dist/val/PrefVal.d.ts +2 -0
  104. package/dist/val/PrefVal.js +44 -7
  105. package/dist/val/PrefVal.js.map +1 -1
  106. package/dist/val/RefVal.d.ts +2 -0
  107. package/dist/val/RefVal.js +135 -11
  108. package/dist/val/RefVal.js.map +1 -1
  109. package/dist/val/ScalarKindVal.d.ts +12 -2
  110. package/dist/val/ScalarKindVal.js +108 -13
  111. package/dist/val/ScalarKindVal.js.map +1 -1
  112. package/dist/val/ScalarVal.d.ts +1 -0
  113. package/dist/val/ScalarVal.js +18 -3
  114. package/dist/val/ScalarVal.js.map +1 -1
  115. package/dist/val/StringVal.js +1 -1
  116. package/dist/val/StringVal.js.map +1 -1
  117. package/dist/val/SuperFuncVal.d.ts +1 -1
  118. package/dist/val/SuperFuncVal.js +15 -2
  119. package/dist/val/SuperFuncVal.js.map +1 -1
  120. package/dist/val/TopVal.js +1 -1
  121. package/dist/val/TopVal.js.map +1 -1
  122. package/dist/val/TypeFuncVal.js +1 -1
  123. package/dist/val/TypeFuncVal.js.map +1 -1
  124. package/dist/val/UpperFuncVal.js +21 -4
  125. package/dist/val/UpperFuncVal.js.map +1 -1
  126. package/dist/val/Val.d.ts +1 -1
  127. package/dist/val/Val.js +11 -21
  128. package/dist/val/Val.js.map +1 -1
  129. package/dist/val/VarVal.js +8 -2
  130. package/dist/val/VarVal.js.map +1 -1
  131. package/dist/val/numcmp.d.ts +14 -0
  132. package/dist/val/numcmp.js +134 -0
  133. package/dist/val/numcmp.js.map +1 -0
  134. package/dist/val/numkind.d.ts +6 -0
  135. package/dist/val/numkind.js +224 -0
  136. package/dist/val/numkind.js.map +1 -0
  137. package/dist/val/valutil.d.ts +1 -0
  138. package/dist/val/valutil.js +35 -0
  139. package/dist/val/valutil.js.map +1 -1
  140. package/package.json +7 -5
  141. package/src/aontu.ts +26 -9
  142. package/src/cli.ts +48 -21
  143. package/src/ctx.ts +1 -1
  144. package/src/err.ts +3 -2
  145. package/src/exactjson.ts +254 -0
  146. package/src/hints.ts +213 -4
  147. package/src/keyorder.ts +73 -0
  148. package/src/lang.ts +303 -31
  149. package/src/lsp-server.ts +17 -15
  150. package/src/lsp.ts +37 -14
  151. package/src/site.ts +1 -1
  152. package/src/type.ts +1 -1
  153. package/src/unify.ts +52 -1
  154. package/src/utility.ts +3 -9
  155. package/src/val/BagVal.ts +9 -6
  156. package/src/val/BigDecimalVal.ts +117 -0
  157. package/src/val/BigIntegerVal.ts +110 -0
  158. package/src/val/BooleanVal.ts +1 -1
  159. package/src/val/CloseFuncVal.ts +1 -1
  160. package/src/val/ConjunctVal.ts +1 -1
  161. package/src/val/ConstraintVal.ts +561 -0
  162. package/src/val/CopyFuncVal.ts +1 -1
  163. package/src/val/Decimal.ts +385 -0
  164. package/src/val/DisjunctVal.ts +1 -37
  165. package/src/val/ExpectVal.ts +1 -1
  166. package/src/val/FeatureVal.ts +1 -1
  167. package/src/val/FuncBaseVal.ts +1 -1
  168. package/src/val/HideFuncVal.ts +1 -1
  169. package/src/val/IntegerVal.ts +81 -5
  170. package/src/val/JunctionVal.ts +1 -1
  171. package/src/val/KeyFuncVal.ts +36 -4
  172. package/src/val/ListVal.ts +3 -5
  173. package/src/val/LowerFuncVal.ts +22 -5
  174. package/src/val/MapVal.ts +13 -9
  175. package/src/val/MoveFuncVal.ts +27 -10
  176. package/src/val/NilVal.ts +13 -3
  177. package/src/val/NullVal.ts +1 -1
  178. package/src/val/NumberVal.ts +27 -4
  179. package/src/val/OpBaseVal.ts +10 -10
  180. package/src/val/OpenFuncVal.ts +1 -1
  181. package/src/val/PathFuncVal.ts +10 -2
  182. package/src/val/PlusOpVal.ts +168 -32
  183. package/src/val/PrefFuncVal.ts +1 -1
  184. package/src/val/PrefVal.ts +70 -8
  185. package/src/val/RefVal.ts +143 -11
  186. package/src/val/ScalarKindVal.ts +123 -12
  187. package/src/val/ScalarVal.ts +20 -3
  188. package/src/val/StringVal.ts +1 -1
  189. package/src/val/SuperFuncVal.ts +15 -2
  190. package/src/val/TopVal.ts +1 -1
  191. package/src/val/TypeFuncVal.ts +1 -1
  192. package/src/val/UpperFuncVal.ts +22 -5
  193. package/src/val/Val.ts +13 -8
  194. package/src/val/VarVal.ts +8 -2
  195. package/src/val/numcmp.ts +189 -0
  196. package/src/val/numkind.ts +256 -0
  197. package/src/val/valutil.ts +36 -0
@@ -15,6 +15,8 @@ declare class RefVal extends FeatureVal {
15
15
  append(part: any): void;
16
16
  unify(peer: Val, ctx: AontuContext): Val;
17
17
  find(ctx: AontuContext): Val | undefined;
18
+ detectRefCycle(ctx: AontuContext): boolean;
19
+ plainRefPath(): string[] | undefined;
18
20
  same(peer: Val): boolean;
19
21
  clone(ctx: AontuContext, spec?: ValSpec): Val;
20
22
  get canon(): string;
@@ -13,6 +13,13 @@ const NumberVal_1 = require("./NumberVal");
13
13
  const ConjunctVal_1 = require("./ConjunctVal");
14
14
  const VarVal_1 = require("./VarVal");
15
15
  const FeatureVal_1 = require("./FeatureVal");
16
+ const numkind_1 = require("./numkind");
17
+ const BigIntegerVal_1 = require("./BigIntegerVal");
18
+ const BigDecimalVal_1 = require("./BigDecimalVal");
19
+ // A path segment no spelling can produce, used when append meets a Val
20
+ // class it has no rule for. A key cannot contain a NUL, so this can never
21
+ // match, which turns a silent path-shortening bug into a visible miss.
22
+ const UNSPELLABLE_SEGMENT = '\u0000unspellable';
16
23
  class RefVal extends FeatureVal_1.FeatureVal {
17
24
  constructor(spec, ctx) {
18
25
  super(spec, ctx);
@@ -22,8 +29,9 @@ class RefVal extends FeatureVal_1.FeatureVal {
22
29
  this.absolute = false;
23
30
  this.prefix = false;
24
31
  this.peg = [];
25
- this.absolute = true === this.absolute ? true : // absolute sticks
26
- true === spec.absolute ? true : false;
32
+ // The field initialiser (absolute = false) has just run, so only
33
+ // the spec can carry absoluteness in (RefVal.clone re-passes it).
34
+ this.absolute = true === spec.absolute;
27
35
  this.prefix = true === spec.prefix;
28
36
  for (let pI = 0; pI < spec.peg.length; pI++) {
29
37
  this.append(spec.peg[pI]);
@@ -54,6 +62,21 @@ class RefVal extends FeatureVal_1.FeatureVal {
54
62
  let partvals = part.src.split('.');
55
63
  this.peg.push(...partvals);
56
64
  }
65
+ // THE EXACT LEAVES ARE PATH TEXT LIKE ANY OTHER SPELLING. `0d1` as a
66
+ // segment addresses the key literally spelled `0d1` -- the same key
67
+ // `a:{0d1:7}` creates -- and is NOT the number 1, so it neither
68
+ // indexes a list nor reaches a key spelled `1`.
69
+ //
70
+ // Without these branches the part fell off the end of the chain and
71
+ // was SILENTLY DROPPED, so `$.a.0d0` resolved to `$.a` and handed back
72
+ // the CONTAINER. That is a wrong value, not a miss -- strictly worse
73
+ // than an error -- and it made `$.a.0d0` and `$.a.0d1` denote the same
74
+ // location.
75
+ else if (part instanceof BigIntegerVal_1.BigIntegerVal || part instanceof BigDecimalVal_1.BigDecimalVal) {
76
+ // A bigdecimal splits on its point exactly as a float does, so
77
+ // `$.x.0d1.5` addresses two levels.
78
+ this.peg.push(...part.src.split('.'));
79
+ }
57
80
  else if (part instanceof VarVal_1.VarVal) {
58
81
  partval = part;
59
82
  this.peg.push(partval);
@@ -79,6 +102,15 @@ class RefVal extends FeatureVal_1.FeatureVal {
79
102
  }
80
103
  this.peg.push(...part.peg);
81
104
  }
105
+ // A closed chain, deliberately. Every branch above ends in a push, so
106
+ // an unhandled Val class used to fall through in SILENCE and shorten
107
+ // the path by one segment -- which is how the two exact leaves, added
108
+ // by the number tower, made references resolve to their own container.
109
+ // A segment that cannot be spelled is pushed as one that cannot match,
110
+ // so the reference misses loudly instead of succeeding wrongly.
111
+ else {
112
+ this.peg.push(UNSPELLABLE_SEGMENT);
113
+ }
82
114
  }
83
115
  unify(peer, ctx) {
84
116
  peer = peer ?? (0, top_1.top)();
@@ -89,12 +121,11 @@ class RefVal extends FeatureVal_1.FeatureVal {
89
121
  // TODO: not resolved when all Vals in path are done is an error
90
122
  // as path cannot be found
91
123
  // let resolved: Val | undefined = null == ctx ? this : ctx.find(this)
92
- let found = null == ctx ? this : this.find(ctx);
124
+ let found = this.find(ctx);
125
+ // `?? this` makes resolved non-nullish, so an unresolved reference
126
+ // takes the RefVal arm below rather than a separate null arm.
93
127
  const resolved = found ?? this;
94
- if (null == resolved && this.canon === peer.canon) {
95
- out = this;
96
- }
97
- else if (resolved instanceof RefVal) {
128
+ if (resolved instanceof RefVal) {
98
129
  if (peer.isTop) {
99
130
  out = this;
100
131
  why = 'pt';
@@ -201,7 +232,19 @@ class RefVal extends FeatureVal_1.FeatureVal {
201
232
  // The resolved variable IS a path segment: $seg.r with
202
233
  // seg="x" reads ...x.r (previously the coerced value was
203
234
  // dropped, silently reading the path without it).
204
- parts.push('' + part.peg);
235
+ //
236
+ // Integer kind renders its EXACT digits -- the FOURTH site
237
+ // to get this wrong (see integerDigits and #21). `'' + peg`
238
+ // on a JS number gives the shortest round-tripping form, so
239
+ // a variable bound to 2^60 addressed the key
240
+ // "1152921504606847000" and missed the real one. Go's
241
+ // ref.go dispatches on kind here and was already correct.
242
+ //
243
+ // Every other kind is already right under `'' +`: a bigint
244
+ // and a Decimal stringify to exact digits, and a float must
245
+ // keep JS parity.
246
+ parts.push(part.isInteger ?
247
+ (0, numkind_1.integerDigits)(part.peg) : '' + part.peg);
205
248
  }
206
249
  }
207
250
  }
@@ -223,8 +266,20 @@ class RefVal extends FeatureVal_1.FeatureVal {
223
266
  refpath = refpath
224
267
  .reduce(((a, p) => (p === sep ? a.length = a.length - 1 : a.push(p), a)), []);
225
268
  if (modes.includes('KEY')) {
269
+ // STRINGIFY. A LIST index arrives here as a JS NUMBER (jsonic puts
270
+ // it in the path as one, and lang.ts copies the path wholesale),
271
+ // so `.$KEY` inside a list built a StringVal whose peg was the
272
+ // number 0 -- an ill-formed value, not a design choice: it canoned
273
+ // as a bare 0, generated a JSON number, satisfied `number` and
274
+ // failed `string`. Go stringifies, and key() already agreed with
275
+ // Go, so this port disagreed with itself.
276
+ //
277
+ // Coerced HERE, at the consumption site, rather than by
278
+ // normalising Val.path: the numeric segment originates in jsonic's
279
+ // own r.k.path and every other path consumer (find's descent,
280
+ // key(), the clone/spread machinery) already handles it.
226
281
  let key = this.path[this.path.length - 2];
227
- let sv = new StringVal_1.StringVal({ peg: null == key ? '' : key }, ctx);
282
+ let sv = new StringVal_1.StringVal({ peg: null == key ? '' : '' + key }, ctx);
228
283
  // TODO: other props?
229
284
  sv.dc = type_1.DONE;
230
285
  sv.path = this.path;
@@ -262,8 +317,16 @@ class RefVal extends FeatureVal_1.FeatureVal {
262
317
  }
263
318
  else if (pI === refpath.length) {
264
319
  out = node;
320
+ // A reference landing on another reference may be a PROVEN
321
+ // mutual cycle (a: $.b, b: $.a) -- follow the plain-ref chain
322
+ // and, if it revisits a node, report path_cycle now instead of
323
+ // deferring every pass and dying later as a generic ref error.
324
+ // No proof (chain leaves plain refs, or ends) defers as before.
325
+ if (null != out && out.isRef && this.detectRefCycle(ctx)) {
326
+ out = (0, err_1.makeNilErr)(ctx, 'path_cycle', this);
327
+ }
265
328
  // Types and hidden values are cloned and made concrete
266
- if (null != out) { // && (out.mark.type || out.mark.hide)) {
329
+ else if (null != out) { // && (out.mark.type || out.mark.hide)) {
267
330
  // console.log('FOUND-A', out)
268
331
  if (this.mark.type || this.mark.hide) {
269
332
  out.mark.type = this.mark.type;
@@ -293,6 +356,67 @@ class RefVal extends FeatureVal_1.FeatureVal {
293
356
  // console.log('REF-FIND', ctx.cc, this.id, selfpath, 'PEG=', pegpath, 'RP', pI, refpath.join('.'), descent, 'O=', out?.id, out?.canon, out?.done)
294
357
  return out;
295
358
  }
359
+ // Follow the chain of plain references from this node; true iff the
360
+ // chain revisits a node -- a PROVEN reference cycle, distinct from a
361
+ // merely unresolved reference. Detection is only on the resolution
362
+ // chain revisiting a node, never on syntactic shape: a chain that
363
+ // passes through a variable segment, a conjunct, a function, or any
364
+ // non-ref value yields no proof and the ref defers as before.
365
+ detectRefCycle(ctx) {
366
+ const seen = new Set();
367
+ let cur = this;
368
+ // No hop cap: every iteration either returns or adds a NEW ref to
369
+ // `seen`, and the tree holds finitely many refs, so the chase
370
+ // terminates at the first repetition or the first non-ref — a cap
371
+ // would just make cycles longer than it invisible.
372
+ for (;;) {
373
+ if (seen.has(cur.id)) {
374
+ return true;
375
+ }
376
+ seen.add(cur.id);
377
+ const rp = cur.plainRefPath();
378
+ if (null == rp) {
379
+ return false;
380
+ }
381
+ let node = ctx.root;
382
+ for (let i = 0; i < rp.length && null != node; i++) {
383
+ node = (node.isMap || node.isList) ? node.peg[rp[i]] : undefined;
384
+ }
385
+ if (null == node || !node.isRef) {
386
+ return false;
387
+ }
388
+ cur = node;
389
+ }
390
+ }
391
+ // The resolved absolute path of a reference whose segments are all
392
+ // plain strings; undefined when the ref has variable segments (no
393
+ // cycle proof is attempted for those). Mirrors find's refpath
394
+ // computation for the plain case, including the `.` prefix reduction.
395
+ plainRefPath() {
396
+ const parts = [];
397
+ for (const p of this.peg) {
398
+ if ('string' !== typeof p) {
399
+ return undefined;
400
+ }
401
+ parts.push(p);
402
+ }
403
+ const refpath = this.absolute ? parts :
404
+ this.path.slice(0, -1).concat(parts);
405
+ const reduced = [];
406
+ for (const p of refpath) {
407
+ if ('.' === p) {
408
+ // A parent step off the top of the path proves nothing.
409
+ if (0 === reduced.length) {
410
+ return undefined;
411
+ }
412
+ reduced.length = reduced.length - 1;
413
+ }
414
+ else {
415
+ reduced.push(p);
416
+ }
417
+ }
418
+ return reduced;
419
+ }
296
420
  same(peer) {
297
421
  return null == peer ? false : this.peg === peer.peg;
298
422
  }
@@ -330,6 +454,6 @@ class RefVal extends FeatureVal_1.FeatureVal {
330
454
  this.prefix ? 'prefix' : '',
331
455
  ].filter(p => '' != p).join(',');
332
456
  }
333
- }
457
+ } /* node:coverage ignore next 6 */
334
458
  exports.RefVal = RefVal;
335
459
  //# sourceMappingURL=RefVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RefVal.js","sourceRoot":"","sources":["../../src/val/RefVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAKzD,wCAKmB;AAQnB,kCAEgB;AAIhB,gCAAmC;AACnC,oCAAgC;AAGhC,+BAEc;AAGd,2CAAuC;AACvC,6CAAyC;AACzC,2CAAuC;AACvC,+CAA2C;AAC3C,qCAAiC;AACjC,6CAAyC;AAIzC,MAAM,MAAO,SAAQ,uBAAU;IAQ7B,YACE,IAIC,EACD,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAflB,UAAK,GAAG,IAAI,CAAA;QACZ,cAAS,GAAG,IAAI,CAAA;QAChB,QAAG,GAAG,KAAK,CAAA;QAEX,aAAQ,GAAY,KAAK,CAAA;QACzB,WAAM,GAAY,KAAK,CAAA;QAWrB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QAEb,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB;YAChE,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,MAAM,CAAA;QAElC,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;QAC3B,CAAC;QAED,0CAA0C;IAC5C,CAAC;IAGD,MAAM,CAAC,IAAS;QACd,IAAI,OAAO,CAAA;QAEX,8BAA8B;QAE9B,IAAI,QAAQ,KAAK,OAAO,IAAI,EAAE,CAAC;YAC7B,OAAO,GAAG,IAAI,CAAA;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;aAEI,IAAI,IAAI,YAAY,qBAAS,EAAE,CAAC;YACnC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;aAEI,IAAI,IAAI,YAAY,uBAAU,EAAE,CAAC;YACpC,0BAA0B;YAC1B,OAAO,GAAG,IAAI,CAAC,GAAG,CAAA;YAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QAED,wCAAwC;QACxC,sCAAsC;QACtC,4BAA4B;aACvB,IAAI,IAAI,YAAY,qBAAS,EAAE,CAAC;YACnC,sFAAsF;YACtF,IAAI,QAAQ,GAAa,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5B,CAAC;aAEI,IAAI,IAAI,YAAY,eAAM,EAAE,CAAC;YAChC,OAAO,GAAG,IAAI,CAAA;YACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;aAEI,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;YACtB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACpB,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChB,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;oBACpB,CAAC;yBAEI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBACpB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,IAAI,GAAG,IAAI,IAAI,IAAA,SAAG,GAAE,CAAA;QAEpB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC1E,IAAI,GAAG,GAAQ,IAAI,CAAA;QACnB,IAAI,GAAG,GAAG,IAAI,CAAA;QAEd,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAExB,gEAAgE;YAChE,0BAA0B;YAC1B,sEAAsE;YACtE,IAAI,KAAK,GAAoB,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAEhE,MAAM,QAAQ,GAAG,KAAK,IAAI,IAAI,CAAA;YAE9B,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBAClD,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,QAAQ,YAAY,MAAM,EAAE,CAAC;gBACpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACf,GAAG,GAAG,IAAI,CAAA;oBACV,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;qBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpB,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;oBAC1D,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;gBAED,YAAY;qBACP,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;oBACnC,GAAG,GAAG,IAAI,CAAA;oBACV,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;qBAEI,CAAC;oBACJ,oCAAoC;oBACpC,IAAI,CAAC,EAAE,GAAG,WAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;oBAC/C,GAAG,GAAG,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;oBACjD,GAAG,GAAG,IAAI,CAAA;gBACZ,CAAC;YACH,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;gBACpF,GAAG,GAAG,GAAG,CAAA;YACX,CAAC;YAED,GAAG,CAAC,EAAE,GAAG,WAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,WAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QAC/C,CAAC;QAED,mJAAmJ;QAEnJ,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACrB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,CAAC,GAAiB;QACpB,IAAI,GAAG,GAAoB,SAAS,CAAA;QAEpC,wDAAwD;QACxD,2EAA2E;QAC3E,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjC,YAAY,GAAG,KAAK,CAAA;oBACpB,MAAK;gBACP,CAAC;YACH,CAAC;QACH,CAAC;QACD,+EAA+E;QAC/E,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnE,IAAI,QAAQ,GAAG,IAAI,CAAA;YACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,QAAQ,GAAG,KAAK,CAAC;oBAAC,MAAK;gBAAC,CAAC;YACrD,CAAC;YACD,YAAY,GAAG,QAAQ,CAAA;QACzB,CAAC;QAED,IAAI,OAAO,GAAa,EAAE,CAAA;QAC1B,IAAI,EAAE,GAAG,CAAC,CAAA;QACV,mBAAmB;QAEnB,IAAI,YAAY,EAAE,CAAC;YACjB,wDAAwD;YACxD,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;aACI,CAAC;YAEJ,IAAI,KAAK,GAAa,EAAE,CAAA;YAExB,IAAI,KAAK,GAAa,EAAE,CAAA;YAExB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;gBAC5C,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvB,IAAI,IAAI,YAAY,eAAM,EAAE,CAAC;oBAC3B,IAAI,MAAM,GAAI,IAAe,CAAC,GAAG,CAAA;oBACjC,IAAI,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;oBAExC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,IAAI,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC/B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAClB,CAAC;6BACI,CAAC;4BACJ,sCAAsC;4BACtC,OAAM;wBACR,CAAC;oBACH,CAAC;oBAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;wBACpB,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAClB,CAAC;6BACI,CAAC;4BACJ,sCAAsC;4BACtC,OAAM;wBACR,CAAC;oBACH,CAAC;yBACI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBAC3B,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;4BACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBAClB,CAAC;6BACI,CAAC;4BACJ,sCAAsC;4BACtC,OAAM;wBACR,CAAC;oBACH,CAAC;yBACI,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;wBAC5B,IAAI,GAAI,IAAe,CAAC,KAAK,CAAC,IAAA,SAAG,GAAE,EAAE,GAAG,CAAC,CAAA;wBACzC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,0CAA0C;4BAC1C,OAAM;wBACR,CAAC;6BACI,CAAC;4BACJ,uDAAuD;4BACvD,yDAAyD;4BACzD,kDAAkD;4BAClD,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;wBAC3B,CAAC;oBACH,CAAC;gBACH,CAAC;qBACI,CAAC;oBACJ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,OAAO,GAAG,KAAK,CAAA;YACjB,CAAC;iBACI,CAAC;gBACJ,4BAA4B;gBAC5B,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CACvB,CAAC,EACD,CACE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1B,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC,WAAW;iBACnB,CACF,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjB,CAAC;YAED,IAAI,GAAG,GAAG,GAAG,CAAA;YACb,OAAO,GAAG,OAAO;iBACd,MAAM,CAAC,CAAC,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE,CAClC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAE9D,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;gBACzC,IAAI,EAAE,GAAG,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;gBAE5D,qBAAqB;gBACrB,EAAE,CAAC,EAAE,GAAG,WAAI,CAAA;gBACZ,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;gBAEnB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,IAAI,IAAI,GAAG,GAAG,CAAC,IAAW,CAAA;YAE1B,IAAI,MAAM,GAAG,KAAK,CAAA;YAElB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC;oBACjC,IAAI,IAAI,GAAG,OAAO,CAAC,EAAE,CAAC,CAAA;oBACtB,sCAAsC;oBAEtC,oEAAoE;oBAEpE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;wBACf,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACvB,CAAC;yBACI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;wBACrB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACvB,CAAC;yBACI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACnB,MAAM,GAAG,IAAI,CAAA;wBACb,MAAM;oBACR,CAAC;yBACI,CAAC;wBACJ,MAAM;oBACR,CAAC;oBAED,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;wBACjB,MAAM,GAAG,IAAI,CAAA;wBACb,MAAK;oBACP,CAAC;gBAEH,CAAC;YACH,CAAC;YAED,sEAAsE;YAGtE,IAAI,MAAM,EAAE,CAAC;gBACX,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;YACxC,CAAC;iBACI,IAAI,EAAE,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/B,GAAG,GAAG,IAAI,CAAA;gBAEV,uDAAuD;gBACvD,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,0CAA0C;oBAE3D,8BAA8B;oBAE9B,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACrC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;wBAC9B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;wBAE9B,+DAA+D;wBAC/D,mCAAmC;wBACnC,mCAAmC;wBACnC,eAAe;wBACf,KAAK;oBACP,CAAC;oBAED,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC1B,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;oBACtB,CAAC;oBAED,8BAA8B;oBAE9B,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;oBAEpB,0CAA0C;oBAC1C,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,GAAQ,EAAE,EAAE;wBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;wBACrB,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;wBACrB,OAAO,GAAG,CAAA;oBACZ,CAAC,CAAC,CAAA;oBACF,GAAG;oBAEH,6BAA6B;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,kJAAkJ;QAElJ,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAA;IACrD,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YAC1B,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAY,CAAA;QACb,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,KAAK;QACP,IAAI,GAAG,GACL,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,0BAA0B;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;iBAC5B,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,GAAG,CAAC,GAAiB;QACnB,0DAA0D;QAC1D,IAAI,GAAG,GAAG,IAAA,gBAAU,EAClB,GAAG,EACH,KAAK,EACL,IAAI,EAAE,gDAAgD;QACtD,SAAS,CACV,CAAA;QAED,qCAAqC;QACrC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAE5B,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,UAAU;QACR,OAAO;YACL,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC5B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;CAEF;QAIC,MAAM"}
1
+ {"version":3,"file":"RefVal.js","sourceRoot":"","sources":["../../src/val/RefVal.ts"],"names":[],"mappings":"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"}
@@ -3,14 +3,24 @@ import { AontuContext } from '../ctx';
3
3
  import { FeatureVal } from './FeatureVal';
4
4
  declare class Integer {
5
5
  }
6
+ declare class Float {
7
+ }
8
+ declare class BigInteger {
9
+ }
10
+ declare class BigDecimal {
11
+ }
6
12
  declare class Null {
7
13
  }
8
- type ScalarConstructor = StringConstructor | NumberConstructor | BooleanConstructor | (typeof Integer.constructor);
14
+ declare function kindParent(kind: any): any;
15
+ declare function kindFamily(kind: any): any;
16
+ declare function kindSubsumes(sup: any, sub: any): boolean;
17
+ type ScalarConstructor = StringConstructor | NumberConstructor | BooleanConstructor | (typeof Integer) | (typeof Float) | (typeof BigInteger) | (typeof BigDecimal) | (typeof Null) | (typeof Integer.constructor);
9
18
  declare class ScalarKindVal extends FeatureVal {
10
19
  isScalarKind: boolean;
11
20
  constructor(spec: ValSpec, ctx?: AontuContext);
12
21
  unify(peer: Val, ctx: AontuContext): Val;
13
22
  get canon(): any;
23
+ superior(): Val;
14
24
  same(peer: any): boolean;
15
25
  }
16
- export { Integer, Null, ScalarConstructor, ScalarKindVal, };
26
+ export { BigDecimal, BigInteger, Float, Integer, Null, ScalarConstructor, ScalarKindVal, kindFamily, kindParent, kindSubsumes, };
@@ -1,20 +1,96 @@
1
1
  "use strict";
2
2
  /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ScalarKindVal = exports.Null = exports.Integer = void 0;
4
+ exports.ScalarKindVal = exports.Null = exports.Integer = exports.Float = exports.BigInteger = exports.BigDecimal = void 0;
5
+ exports.kindFamily = kindFamily;
6
+ exports.kindParent = kindParent;
7
+ exports.kindSubsumes = kindSubsumes;
5
8
  const type_1 = require("../type");
6
9
  const utility_1 = require("../utility");
7
10
  const err_1 = require("../err");
8
11
  // import { BaseVal } from './BaseVal'
9
12
  const FeatureVal_1 = require("./FeatureVal");
10
- // A ScalarKind for integers. Number includes floats.
13
+ // Kind markers.
14
+ //
15
+ // A ScalarKindVal's canon is its marker's constructor name, lowercased,
16
+ // so these class names are load-bearing language surface: `Integer` is
17
+ // the keyword `integer`, `Float` is the keyword `float`.
18
+ //
19
+ // The numeric part of the lattice is a pure supertype over disjoint
20
+ // leaves:
21
+ //
22
+ // number (the global Number constructor)
23
+ // |- integer Integer int64-window exact
24
+ // |- float Float IEEE-754 binary64
25
+ // |- biginteger BigInteger exact, opt-in via 0d
26
+ // |- bigdecimal BigDecimal exact, opt-in via 0d
27
+ //
28
+ // The global `Number` constructor is the marker for the SUPERTYPE only:
29
+ // no concrete ScalarVal ever carries it. A binary64 value is FLOAT kind
30
+ // (NumberVal is the binary64 leaf; the class name is historical).
31
+ //
32
+ // A ScalarKindVal for `number` matches a concrete value of any numeric
33
+ // leaf, and meeting it with a leaf yields that leaf. Two distinct leaves
34
+ // are disjoint sets with no common lower bound, so they do not unify.
35
+ // A ScalarKind for the int64-window exact integers.
11
36
  class Integer {
12
37
  }
13
38
  exports.Integer = Integer;
39
+ // A ScalarKind for IEEE-754 binary64 values.
40
+ class Float {
41
+ }
42
+ exports.Float = Float;
43
+ // A ScalarKind for the unbounded exact integers, reached only by a `0d`
44
+ // literal with no fraction and no exponent.
45
+ class BigInteger {
46
+ }
47
+ exports.BigInteger = BigInteger;
48
+ // A ScalarKind for the exact base-10 decimals, reached only by a `0d`
49
+ // literal carrying a `.` or an exponent.
50
+ class BigDecimal {
51
+ }
52
+ exports.BigDecimal = BigDecimal;
14
53
  // A ScalarKind for null.
15
54
  class Null {
16
55
  }
17
56
  exports.Null = Null;
57
+ // The immediate lattice parent of each kind marker. A marker absent from
58
+ // this table sits directly under top (string, boolean, null -- and
59
+ // `number` itself, which is the root of the numeric family).
60
+ //
61
+ // Adding a leaf is one row.
62
+ const KIND_PARENT = new Map([
63
+ [Integer, Number],
64
+ [Float, Number],
65
+ [BigInteger, Number],
66
+ [BigDecimal, Number],
67
+ ]);
68
+ // The immediate lattice superior of a kind marker, or undefined when the
69
+ // marker's superior is top.
70
+ function kindParent(kind) {
71
+ return KIND_PARENT.get(kind);
72
+ }
73
+ // The root of a kind marker's family: the highest ancestor below top.
74
+ // Every numeric leaf answers `number`; a kind with no parent is its own
75
+ // family root (string, boolean, null).
76
+ function kindFamily(kind) {
77
+ let root = kind;
78
+ for (let k = KIND_PARENT.get(kind); null != k; k = KIND_PARENT.get(k)) {
79
+ root = k;
80
+ }
81
+ return root;
82
+ }
83
+ // True when `sub` is `sup`, or sits anywhere below it. The numeric
84
+ // lattice is two deep today; walking the chain keeps this correct if it
85
+ // ever deepens.
86
+ function kindSubsumes(sup, sub) {
87
+ for (let k = sub; null != k; k = KIND_PARENT.get(k)) {
88
+ if (k === sup) {
89
+ return true;
90
+ }
91
+ }
92
+ return false;
93
+ }
18
94
  // class ScalarKindVal extends BaseVal {
19
95
  class ScalarKindVal extends FeatureVal_1.FeatureVal {
20
96
  constructor(spec, ctx) {
@@ -30,12 +106,18 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
30
106
  const peerIsScalarVal = peer.isScalar;
31
107
  const peerIsScalarKind = peer.isScalarKind;
32
108
  let out = this;
33
- if (peerIsScalarVal) {
109
+ if (peer.isConstraint) {
110
+ // The constraint algebra owns the kind-meets-constraint rules
111
+ // (narrowing, domain checks) -- delegate, so disjunct trials and
112
+ // direct drives agree with the sorted conjunct fold.
113
+ out = peer.unify(this, ctx);
114
+ }
115
+ else if (peerIsScalarVal) {
34
116
  let peerKind = peer.kind;
35
- if (peerKind === this.peg) {
36
- out = peer;
37
- }
38
- else if (Number === this.peg && Integer === peerKind) {
117
+ // A kind admits a concrete value of that kind, or of any kind
118
+ // below it: `float & 1.5` is 1.5, and `number & 1` is 1 because
119
+ // integer sits under number.
120
+ if (kindSubsumes(this.peg, peerKind)) {
39
121
  out = peer;
40
122
  }
41
123
  else {
@@ -43,13 +125,16 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
43
125
  }
44
126
  }
45
127
  else if (peerIsScalarKind) {
46
- if (Number === this.peg && Integer === peer.peg) {
47
- out = peer;
48
- }
49
- else if (Number === peer.peg && Integer === this.peg) {
128
+ // The meet of two kinds is the narrower one when they are
129
+ // comparable. Distinct leaves (float & integer) are disjoint sets
130
+ // of values, so they have no common lower bound and fail.
131
+ if (this.peg === peer.peg) {
50
132
  out = this;
51
133
  }
52
- else if (this.peg === peer.peg) {
134
+ else if (kindSubsumes(this.peg, peer.peg)) {
135
+ out = peer;
136
+ }
137
+ else if (kindSubsumes(peer.peg, this.peg)) {
53
138
  out = this;
54
139
  }
55
140
  else {
@@ -67,10 +152,20 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
67
152
  let ctor = this.peg;
68
153
  return ctor.name.toLowerCase();
69
154
  }
155
+ // The super() ladder: a leaf kind lifts to its parent kind
156
+ // (super(integer) -> number, super(float) -> number), and a kind with
157
+ // no parent lifts to top (super(number) -> top). A concrete value
158
+ // lifts to its own leaf via ScalarVal.superior.
159
+ superior() {
160
+ const parent = kindParent(this.peg);
161
+ return null == parent ?
162
+ super.superior() :
163
+ this.place(new ScalarKindVal({ peg: parent }));
164
+ }
70
165
  same(peer) {
71
166
  let out = peer?.isScalarKind ? this.peg === peer?.peg : super.same(peer);
72
167
  return out;
73
168
  }
74
- }
169
+ } /* node:coverage ignore next 15 */
75
170
  exports.ScalarKindVal = ScalarKindVal;
76
171
  //# sourceMappingURL=ScalarKindVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScalarKindVal.js","sourceRoot":"","sources":["../../src/val/ScalarKindVal.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ declare class ScalarVal extends Val {
11
11
  unify(peer: Val, ctx: AontuContext): Val;
12
12
  get canon(): any;
13
13
  same(peer: any): boolean;
14
+ samePeg(peg: any): boolean;
14
15
  gen(_ctx?: AontuContext): any;
15
16
  superior(): Val;
16
17
  }
@@ -28,7 +28,7 @@ class ScalarVal extends Val_1.Val {
28
28
  const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Scalar', this, peer);
29
29
  let out;
30
30
  // Exactly equal scalars are handled in unify.unite
31
- if (peer.isScalarKind) {
31
+ if (peer.isScalarKind || peer.isConstraint) {
32
32
  out = peer.unify(this, ctx);
33
33
  }
34
34
  else if (peer.isTop) {
@@ -48,7 +48,22 @@ class ScalarVal extends Val_1.Val {
48
48
  this.peg.toString();
49
49
  }
50
50
  same(peer) {
51
- return peer?.isScalar ? peer.peg === this.peg : super.same(peer);
51
+ // Two concrete scalars are the same only when KIND and value both
52
+ // match. Comparing peg alone is a leftover from before integer and
53
+ // number were distinct kinds; without the kind test `1|1.0` would
54
+ // collapse to a single alternative and `(1|1.0) & 1.0` could pick
55
+ // the integer.
56
+ return peer?.isScalar ?
57
+ (peer.kind === this.kind && this.samePeg(peer.peg)) :
58
+ super.same(peer);
59
+ }
60
+ // Value comparison for this leaf's peg (D2: identity is kind AND
61
+ // value, NEVER the identity of the object holding the value). `===` is
62
+ // right for every peg that is a primitive -- including a bigint, where
63
+ // two separately built copies of the same number compare equal -- and
64
+ // wrong for a peg that is an object, so BigDecimalVal overrides it.
65
+ samePeg(peg) {
66
+ return peg === this.peg;
52
67
  }
53
68
  gen(_ctx) {
54
69
  // Normalize negative zero to 0 for deterministic output (JSON has
@@ -60,6 +75,6 @@ class ScalarVal extends Val_1.Val {
60
75
  peg: this.kind
61
76
  }));
62
77
  }
63
- }
78
+ } /* node:coverage ignore next 6 */
64
79
  exports.ScalarVal = ScalarVal;
65
80
  //# sourceMappingURL=ScalarVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScalarVal.js","sourceRoot":"","sources":["../../src/val/ScalarVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAMzD,kCAEgB;AAMhB,wCAGmB;AAEnB,gCAAmC;AAEnC,+BAA2B;AAC3B,mDAA+C;AAI/C,MAAM,SAAU,SAAQ,SAAG;IAQzB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,aAAQ,GAAG,IAAI,CAAA;QACf,cAAS,GAAG,IAAI,CAAA;QASd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QACzB,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;IAChB,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAC,CAAA;QAEF,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAE7E,IAAI,GAAQ,CAAA;QAEZ,mDAAmD;QACnD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC7B,CAAC;aACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS;gBAC7B,CAAE,IAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACtE,CAAC;QAED,iEAAiE;QAEjE,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACjC,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACnC,IAAI,CAAC,GAAW,CAAC,QAAQ,EAAE,CAAA;IAClC,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAClE,CAAC;IAGD,GAAG,CAAC,IAAmB;QACrB,kEAAkE;QAClE,sCAAsC;QACtC,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;IAC/C,CAAC;IAGD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;YAClC,GAAG,EAAE,IAAI,CAAC,IAAI;SACf,CAAC,CAAC,CAAA;IACL,CAAC;CAEF;QAIC,SAAS"}
1
+ {"version":3,"file":"ScalarVal.js","sourceRoot":"","sources":["../../src/val/ScalarVal.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ class StringVal extends ScalarVal_1.ScalarVal {
14
14
  get canon() {
15
15
  return JSON.stringify(this.peg);
16
16
  }
17
- }
17
+ } /* node:coverage ignore next 5 */
18
18
  exports.StringVal = StringVal;
19
19
  //# sourceMappingURL=StringVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StringVal.js","sourceRoot":"","sources":["../../src/val/StringVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,2CAAuC;AAGvC,MAAM,SAAU,SAAQ,qBAAS;IAG/B,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAA;QAN7C,aAAQ,GAAG,IAAI,CAAA;IAOf,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CAEF;QAGC,SAAS"}
1
+ {"version":3,"file":"StringVal.js","sourceRoot":"","sources":["../../src/val/StringVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,2CAAuC;AAGvC,MAAM,SAAU,SAAQ,qBAAS;IAG/B,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,CAAA;QAN7C,aAAQ,GAAG,IAAI,CAAA;IAOf,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;CAEF,CAAC,iCAAiC;QAGjC,SAAS"}
@@ -6,6 +6,6 @@ declare class SuperFuncVal extends FuncBaseVal {
6
6
  constructor(spec: ValSpec, ctx?: AontuContext);
7
7
  make(_ctx: AontuContext, spec: ValSpec): Val;
8
8
  funcname(): string;
9
- resolve(_ctx: AontuContext, _args: Val[]): Val;
9
+ resolve(_ctx: AontuContext, args: Val[]): Val;
10
10
  }
11
11
  export { SuperFuncVal, };
@@ -14,9 +14,22 @@ class SuperFuncVal extends FuncBaseVal_1.FuncBaseVal {
14
14
  funcname() {
15
15
  return 'super';
16
16
  }
17
- resolve(_ctx, _args) {
17
+ resolve(_ctx, args) {
18
+ // super(x) is the lattice-superior of its ARGUMENT, not of the
19
+ // super() call itself: super(1) -> integer, super(1.5) -> number,
20
+ // super(a) -> string, super(true) -> boolean. Returning the
21
+ // function's own superior (top) is what made super() inert.
22
+ const arg = args?.[0];
23
+ if (arg?.isVal) {
24
+ const sup = arg.superior();
25
+ // Where the argument has no meaningful superior (superior()
26
+ // defaults to top), fall back to the previous behaviour.
27
+ if (null != sup && true !== sup.isTop) {
28
+ return this.place(sup);
29
+ }
30
+ }
18
31
  return this.place(this.superior());
19
32
  }
20
- }
33
+ } /* node:coverage ignore next 6 */
21
34
  exports.SuperFuncVal = SuperFuncVal;
22
35
  //# sourceMappingURL=SuperFuncVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SuperFuncVal.js","sourceRoot":"","sources":["../../src/val/SuperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAazD,+CAA2C;AAG3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;IAOlB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,IAAkB,EAAE,KAAY;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpC,CAAC;CAEF;QAIC,YAAY"}
1
+ {"version":3,"file":"SuperFuncVal.js","sourceRoot":"","sources":["../../src/val/SuperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAazD,+CAA2C;AAG3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;IAOlB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,IAAkB,EAAE,IAAW;QACrC,+DAA+D;QAC/D,kEAAkE;QAClE,4DAA4D;QAC5D,4DAA4D;QAC5D,MAAM,GAAG,GAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1B,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAA;YAC1B,4DAA4D;YAC5D,yDAAyD;YACzD,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;gBACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACpC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,YAAY"}
@@ -33,6 +33,6 @@ class TopVal extends Val_1.Val {
33
33
  gen(_ctx) {
34
34
  return undefined;
35
35
  }
36
- }
36
+ } /* node:coverage ignore next 6 */
37
37
  exports.TopVal = TopVal;
38
38
  //# sourceMappingURL=TopVal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TopVal.js","sourceRoot":"","sources":["../../src/val/TopVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAQzD,kCAEgB;AAMhB,+BAEc;AAGd,yBAAyB;AACzB,MAAM,MAAO,SAAQ,SAAG;IAMtB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,UAAK,GAAG,IAAI,CAAA;QAEZ,OAAE,GAAG,CAAC,CAAA;QACN,OAAE,GAAG,WAAI,CAAA;QAQP,qCAAqC;QACrC,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,uBAAuB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAkB,EAAE,KAAe;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAmB;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF;QAIC,MAAM"}
1
+ {"version":3,"file":"TopVal.js","sourceRoot":"","sources":["../../src/val/TopVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAQzD,kCAEgB;AAMhB,+BAEc;AAGd,yBAAyB;AACzB,MAAM,MAAO,SAAQ,SAAG;IAMtB,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QATlB,UAAK,GAAG,IAAI,CAAA;QAEZ,OAAE,GAAG,CAAC,CAAA;QACN,OAAE,GAAG,WAAI,CAAA;QAQP,qCAAqC;QACrC,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAED,IAAI,CAAC,IAAS;QACZ,uBAAuB;QACvB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,KAAK,OAAO,KAAK,CAAA,CAAC,CAAC;IAE5B,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAkB,EAAE,KAAe;QACvC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,IAAmB;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAC,iCAAiC;QAIjC,MAAM"}
@@ -30,6 +30,6 @@ class TypeFuncVal extends FuncBaseVal_1.FuncBaseVal {
30
30
  }
31
31
  return out;
32
32
  }
33
- }
33
+ } /* node:coverage ignore next 6 */
34
34
  exports.TypeFuncVal = TypeFuncVal;
35
35
  //# sourceMappingURL=TypeFuncVal.js.map