aontu 0.30.1 → 0.30.2

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 (184) hide show
  1. package/dist/ctx.d.ts +51 -0
  2. package/dist/ctx.js +105 -0
  3. package/dist/ctx.js.map +1 -0
  4. package/dist/err.d.ts +12 -0
  5. package/dist/err.js +123 -0
  6. package/dist/err.js.map +1 -0
  7. package/dist/hints.d.ts +8 -0
  8. package/dist/hints.js +84 -0
  9. package/dist/hints.js.map +1 -0
  10. package/dist/lang.d.ts +11 -0
  11. package/dist/lang.js +569 -0
  12. package/dist/lang.js.map +1 -0
  13. package/dist/site.d.ts +12 -0
  14. package/dist/site.js +27 -0
  15. package/dist/site.js.map +1 -0
  16. package/dist/tsconfig.tsbuildinfo +1 -0
  17. package/dist/type.d.ts +32 -0
  18. package/dist/type.js +16 -0
  19. package/dist/type.js.map +1 -0
  20. package/dist/unify.d.ts +14 -0
  21. package/dist/unify.js +156 -0
  22. package/dist/unify.js.map +1 -0
  23. package/dist/utility.d.ts +14 -0
  24. package/dist/utility.js +122 -0
  25. package/dist/utility.js.map +1 -0
  26. package/dist/val/BagVal.d.ts +10 -0
  27. package/dist/val/BagVal.js +15 -0
  28. package/dist/val/BagVal.js.map +1 -0
  29. package/dist/val/BooleanVal.d.ts +9 -0
  30. package/dist/val/BooleanVal.js +16 -0
  31. package/dist/val/BooleanVal.js.map +1 -0
  32. package/dist/val/CloseFuncVal.d.ts +11 -0
  33. package/dist/val/CloseFuncVal.js +32 -0
  34. package/dist/val/CloseFuncVal.js.map +1 -0
  35. package/dist/val/ConjunctVal.d.ts +14 -0
  36. package/dist/val/ConjunctVal.js +187 -0
  37. package/dist/val/ConjunctVal.js.map +1 -0
  38. package/dist/val/CopyFuncVal.d.ts +13 -0
  39. package/dist/val/CopyFuncVal.js +35 -0
  40. package/dist/val/CopyFuncVal.js.map +1 -0
  41. package/dist/val/DisjunctVal.d.ts +19 -0
  42. package/dist/val/DisjunctVal.js +194 -0
  43. package/dist/val/DisjunctVal.js.map +1 -0
  44. package/dist/val/FeatureVal.d.ts +10 -0
  45. package/dist/val/FeatureVal.js +29 -0
  46. package/dist/val/FeatureVal.js.map +1 -0
  47. package/dist/val/FuncBaseVal.d.ts +15 -0
  48. package/dist/val/FuncBaseVal.js +127 -0
  49. package/dist/val/FuncBaseVal.js.map +1 -0
  50. package/dist/val/HideFuncVal.d.ts +12 -0
  51. package/dist/val/HideFuncVal.js +48 -0
  52. package/dist/val/HideFuncVal.js.map +1 -0
  53. package/dist/val/IntegerVal.d.ts +9 -0
  54. package/dist/val/IntegerVal.js +46 -0
  55. package/dist/val/IntegerVal.js.map +1 -0
  56. package/dist/val/JunctionVal.d.ts +12 -0
  57. package/dist/val/JunctionVal.js +31 -0
  58. package/dist/val/JunctionVal.js.map +1 -0
  59. package/dist/val/KeyFuncVal.d.ts +12 -0
  60. package/dist/val/KeyFuncVal.js +34 -0
  61. package/dist/val/KeyFuncVal.js.map +1 -0
  62. package/dist/val/ListVal.d.ts +17 -0
  63. package/dist/val/ListVal.js +186 -0
  64. package/dist/val/ListVal.js.map +1 -0
  65. package/dist/val/LowerFuncVal.d.ts +12 -0
  66. package/dist/val/LowerFuncVal.js +40 -0
  67. package/dist/val/LowerFuncVal.js.map +1 -0
  68. package/dist/val/MapVal.d.ts +16 -0
  69. package/dist/val/MapVal.js +211 -0
  70. package/dist/val/MapVal.js.map +1 -0
  71. package/dist/val/MoveFuncVal.d.ts +11 -0
  72. package/dist/val/MoveFuncVal.js +41 -0
  73. package/dist/val/MoveFuncVal.js.map +1 -0
  74. package/dist/val/NilVal.d.ts +25 -0
  75. package/dist/val/NilVal.js +92 -0
  76. package/dist/val/NilVal.js.map +1 -0
  77. package/dist/val/NullVal.d.ts +9 -0
  78. package/dist/val/NullVal.js +18 -0
  79. package/dist/val/NullVal.js.map +1 -0
  80. package/dist/val/NumberVal.d.ts +9 -0
  81. package/dist/val/NumberVal.js +44 -0
  82. package/dist/val/NumberVal.js.map +1 -0
  83. package/dist/val/OpBaseVal.d.ts +18 -0
  84. package/dist/val/OpBaseVal.js +152 -0
  85. package/dist/val/OpBaseVal.js.map +1 -0
  86. package/dist/val/OpenFuncVal.d.ts +11 -0
  87. package/dist/val/OpenFuncVal.js +30 -0
  88. package/dist/val/OpenFuncVal.js.map +1 -0
  89. package/dist/val/PathFuncVal.d.ts +13 -0
  90. package/dist/val/PathFuncVal.js +42 -0
  91. package/dist/val/PathFuncVal.js.map +1 -0
  92. package/dist/val/PlusOpVal.d.ts +16 -0
  93. package/dist/val/PlusOpVal.js +59 -0
  94. package/dist/val/PlusOpVal.js.map +1 -0
  95. package/dist/val/PrefFuncVal.d.ts +11 -0
  96. package/dist/val/PrefFuncVal.js +39 -0
  97. package/dist/val/PrefFuncVal.js.map +1 -0
  98. package/dist/val/PrefVal.d.ts +15 -0
  99. package/dist/val/PrefVal.js +104 -0
  100. package/dist/val/PrefVal.js.map +1 -0
  101. package/dist/val/RefVal.d.ts +22 -0
  102. package/dist/val/RefVal.js +276 -0
  103. package/dist/val/RefVal.js.map +1 -0
  104. package/dist/val/ScalarKindVal.d.ts +16 -0
  105. package/dist/val/ScalarKindVal.js +76 -0
  106. package/dist/val/ScalarKindVal.js.map +1 -0
  107. package/dist/val/ScalarVal.d.ts +16 -0
  108. package/dist/val/ScalarVal.js +61 -0
  109. package/dist/val/ScalarVal.js.map +1 -0
  110. package/dist/val/StringVal.d.ts +10 -0
  111. package/dist/val/StringVal.js +19 -0
  112. package/dist/val/StringVal.js.map +1 -0
  113. package/dist/val/SuperFuncVal.d.ts +11 -0
  114. package/dist/val/SuperFuncVal.js +22 -0
  115. package/dist/val/SuperFuncVal.js.map +1 -0
  116. package/dist/val/TopVal.d.ts +16 -0
  117. package/dist/val/TopVal.js +38 -0
  118. package/dist/val/TopVal.js.map +1 -0
  119. package/dist/val/TypeFuncVal.d.ts +12 -0
  120. package/dist/val/TypeFuncVal.js +35 -0
  121. package/dist/val/TypeFuncVal.js.map +1 -0
  122. package/dist/val/UpperFuncVal.d.ts +12 -0
  123. package/dist/val/UpperFuncVal.js +40 -0
  124. package/dist/val/UpperFuncVal.js.map +1 -0
  125. package/dist/val/Val.d.ts +89 -0
  126. package/dist/val/Val.js +186 -0
  127. package/dist/val/Val.js.map +1 -0
  128. package/dist/val/VarVal.d.ts +13 -0
  129. package/dist/val/VarVal.js +109 -0
  130. package/dist/val/VarVal.js.map +1 -0
  131. package/dist/val/top.d.ts +2 -0
  132. package/dist/val/top.js +10 -0
  133. package/dist/val/top.js.map +1 -0
  134. package/dist/val/valutil.d.ts +2 -0
  135. package/dist/val/valutil.js +30 -0
  136. package/dist/val/valutil.js.map +1 -0
  137. package/package.json +3 -5
  138. package/src/aontu.ts +218 -0
  139. package/src/ctx.ts +201 -0
  140. package/src/err.ts +172 -0
  141. package/src/hints.ts +119 -0
  142. package/src/lang.ts +782 -0
  143. package/src/site.ts +34 -0
  144. package/src/tsconfig.json +16 -0
  145. package/src/type.ts +72 -0
  146. package/src/unify.ts +225 -0
  147. package/src/utility.ts +179 -0
  148. package/src/val/BagVal.ts +33 -0
  149. package/src/val/BooleanVal.ts +32 -0
  150. package/src/val/CloseFuncVal.ts +61 -0
  151. package/src/val/ConjunctVal.ts +285 -0
  152. package/src/val/CopyFuncVal.ts +69 -0
  153. package/src/val/DisjunctVal.ts +288 -0
  154. package/src/val/FeatureVal.ts +56 -0
  155. package/src/val/FuncBaseVal.ts +198 -0
  156. package/src/val/HideFuncVal.ts +85 -0
  157. package/src/val/IntegerVal.ts +75 -0
  158. package/src/val/JunctionVal.ts +54 -0
  159. package/src/val/KeyFuncVal.ts +67 -0
  160. package/src/val/ListVal.ts +286 -0
  161. package/src/val/LowerFuncVal.ts +73 -0
  162. package/src/val/MapVal.ts +316 -0
  163. package/src/val/MoveFuncVal.ts +79 -0
  164. package/src/val/NilVal.ts +156 -0
  165. package/src/val/NullVal.ts +38 -0
  166. package/src/val/NumberVal.ts +75 -0
  167. package/src/val/OpBaseVal.ts +231 -0
  168. package/src/val/OpenFuncVal.ts +60 -0
  169. package/src/val/PathFuncVal.ts +75 -0
  170. package/src/val/PlusOpVal.ts +92 -0
  171. package/src/val/PrefFuncVal.ts +73 -0
  172. package/src/val/PrefVal.ts +159 -0
  173. package/src/val/RefVal.ts +384 -0
  174. package/src/val/ScalarKindVal.ts +125 -0
  175. package/src/val/ScalarVal.ts +105 -0
  176. package/src/val/StringVal.ts +37 -0
  177. package/src/val/SuperFuncVal.ts +46 -0
  178. package/src/val/TopVal.ts +69 -0
  179. package/src/val/TypeFuncVal.ts +69 -0
  180. package/src/val/UpperFuncVal.ts +72 -0
  181. package/src/val/Val.ts +294 -0
  182. package/src/val/VarVal.ts +171 -0
  183. package/src/val/top.ts +12 -0
  184. package/src/val/valutil.ts +31 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeFuncVal.js","sourceRoot":"","sources":["../../src/val/TypeFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAEnC,wCAImB;AAGnB,+CAA2C;AAG3C,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAUf,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAU,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEpB,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,GAAQ,EAAE,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBACpB,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAIC,kCAAW"}
@@ -0,0 +1,12 @@
1
+ import type { Val, ValSpec } from '../type';
2
+ import { AontuContext } from '../ctx';
3
+ import { FuncBaseVal } from './FuncBaseVal';
4
+ declare class UpperFuncVal extends FuncBaseVal {
5
+ isUpperFunc: boolean;
6
+ constructor(spec: ValSpec, ctx?: AontuContext);
7
+ make(_ctx: AontuContext, spec: ValSpec): Val;
8
+ funcname(): string;
9
+ resolve(ctx: AontuContext | undefined, args: Val[]): Val;
10
+ superior(): Val;
11
+ }
12
+ export { UpperFuncVal, };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.UpperFuncVal = void 0;
5
+ const err_1 = require("../err");
6
+ const ScalarKindVal_1 = require("../val/ScalarKindVal");
7
+ const valutil_1 = require("../val/valutil");
8
+ const FuncBaseVal_1 = require("./FuncBaseVal");
9
+ class UpperFuncVal extends FuncBaseVal_1.FuncBaseVal {
10
+ constructor(spec, ctx) {
11
+ super(spec, ctx);
12
+ this.isUpperFunc = true;
13
+ }
14
+ make(_ctx, spec) {
15
+ return new UpperFuncVal(spec);
16
+ }
17
+ funcname() {
18
+ return 'upper';
19
+ }
20
+ resolve(ctx, args) {
21
+ const oldpeg = args?.[0].peg;
22
+ const peg = 'string' === typeof oldpeg ? oldpeg.toUpperCase() :
23
+ 'number' === typeof oldpeg ? Math.ceil(oldpeg) :
24
+ undefined;
25
+ const out = this.place(null == peg ?
26
+ (0, err_1.makeNilErr)(ctx, 'invalid-arg', this) :
27
+ (0, valutil_1.makeScalar)(peg));
28
+ return out;
29
+ }
30
+ superior() {
31
+ const arg = this.peg?.[0];
32
+ return arg?.isScalar ?
33
+ this.place(new ScalarKindVal_1.ScalarKindVal({
34
+ peg: arg.kind
35
+ })) :
36
+ super.superior();
37
+ }
38
+ }
39
+ exports.UpperFuncVal = UpperFuncVal;
40
+ //# sourceMappingURL=UpperFuncVal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UpperFuncVal.js","sourceRoot":"","sources":["../../src/val/UpperFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAInC,wDAAoD;AACpD,4CAA2C;AAI3C,+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,GAA6B,EAAE,IAAW;QAChD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC5B,MAAM,GAAG,GAAG,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC7D,QAAQ,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,SAAS,CAAA;QACb,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CACpB,IAAI,IAAI,GAAG,CAAC,CAAC;YACX,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;YACtC,IAAA,oBAAU,EAAC,GAAG,CAAC,CAClB,CAAA;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,IAAI,6BAAa,CAAC;gBAC3B,GAAG,EAAE,GAAG,CAAC,IAAI;aACd,CAAC,CAAC,CAAC,CAAC;YACL,KAAK,CAAC,QAAQ,EAAE,CAAA;IACpB,CAAC;CACF;AAIC,oCAAY"}
@@ -0,0 +1,89 @@
1
+ import { inspect } from 'node:util';
2
+ import type { AontuContext } from '../ctx';
3
+ import { Site } from '../site';
4
+ type ValMark = {
5
+ type: boolean;
6
+ hide: boolean;
7
+ [name: `_${string}`]: boolean;
8
+ };
9
+ type ValSpec = {
10
+ peg?: any;
11
+ mark?: Partial<ValMark>;
12
+ kind?: any;
13
+ row?: number;
14
+ col?: number;
15
+ url?: string;
16
+ path?: string[];
17
+ id?: number;
18
+ src?: string;
19
+ why?: string;
20
+ msg?: string;
21
+ err?: any[] | any;
22
+ absolute?: boolean;
23
+ prefix?: boolean;
24
+ };
25
+ declare const DONE = -1;
26
+ declare const SPREAD: unique symbol;
27
+ declare abstract class Val {
28
+ #private;
29
+ isVal: boolean;
30
+ isTop: boolean;
31
+ isNil: boolean;
32
+ isMap: boolean;
33
+ isList: boolean;
34
+ isScalar: boolean;
35
+ isScalarKind: boolean;
36
+ isRef: boolean;
37
+ isPref: boolean;
38
+ isVar: boolean;
39
+ isBag: boolean;
40
+ isNumber: boolean;
41
+ isInteger: boolean;
42
+ isString: boolean;
43
+ isBoolean: boolean;
44
+ isConjunct: boolean;
45
+ isDisjunct: boolean;
46
+ isJunction: boolean;
47
+ isOp: boolean;
48
+ isPlusOp: boolean;
49
+ isFunc: boolean;
50
+ isCloseFunc: boolean;
51
+ isCopyFunc: boolean;
52
+ isHideFunc: boolean;
53
+ isMoveFunc: boolean;
54
+ isKeyFunc: boolean;
55
+ isLowerFunc: boolean;
56
+ isOpenFunc: boolean;
57
+ isPathFunc: boolean;
58
+ isPrefFunc: boolean;
59
+ isSuperFunc: boolean;
60
+ isTypeFunc: boolean;
61
+ isUpperFunc: boolean;
62
+ id: number;
63
+ dc: number;
64
+ path: string[];
65
+ site: Site;
66
+ mark: ValMark;
67
+ peg: any;
68
+ err: any[];
69
+ explain: any[] | null;
70
+ uh: number[];
71
+ deps?: any;
72
+ constructor(spec: ValSpec, ctx?: AontuContext);
73
+ ctx(): any;
74
+ get done(): boolean;
75
+ same(peer: Val): boolean;
76
+ clone(ctx: AontuContext, spec?: ValSpec): Val;
77
+ place(v: Val): Val;
78
+ unify(_peer: Val, _ctx: AontuContext): Val;
79
+ get canon(): string;
80
+ errcanon(): string;
81
+ gen(_ctx: AontuContext): any;
82
+ notdone(): void;
83
+ abstract superior(): Val;
84
+ [inspect.custom](_d: number, _o: any, _inspect: any): string;
85
+ inspection(_inspect: Function): string;
86
+ }
87
+ declare function empty(o: any): boolean;
88
+ export type { ValMark, ValSpec, };
89
+ export { Val, DONE, SPREAD, empty };
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ /* Copyright (c) 2022-2025 Richard Rodger, MIT License */
3
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
4
+ if (kind === "m") throw new TypeError("Private method is not writable");
5
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
6
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
7
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
8
+ };
9
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
10
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
11
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
13
+ };
14
+ var _Val_ctx;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.SPREAD = exports.DONE = exports.Val = void 0;
17
+ exports.empty = empty;
18
+ const node_util_1 = require("node:util");
19
+ const site_1 = require("../site");
20
+ // import { AontuError, descErr, makeNilErr } from '../err'
21
+ // import { AontuError } from '../err'
22
+ const DONE = -1;
23
+ exports.DONE = DONE;
24
+ const SPREAD = Symbol('spread');
25
+ exports.SPREAD = SPREAD;
26
+ let ID = 1000;
27
+ class Val {
28
+ // TODO: Site needed in ctor
29
+ constructor(spec, ctx) {
30
+ this.isVal = true;
31
+ this.isTop = false;
32
+ this.isNil = false;
33
+ this.isMap = false;
34
+ this.isList = false;
35
+ this.isScalar = false;
36
+ this.isScalarKind = false;
37
+ this.isRef = false;
38
+ this.isPref = false;
39
+ this.isVar = false;
40
+ this.isBag = false;
41
+ this.isNumber = false;
42
+ this.isInteger = false;
43
+ this.isString = false;
44
+ this.isBoolean = false;
45
+ this.isConjunct = false;
46
+ this.isDisjunct = false;
47
+ this.isJunction = false;
48
+ this.isOp = false;
49
+ this.isPlusOp = false;
50
+ this.isFunc = false;
51
+ this.isCloseFunc = false;
52
+ this.isCopyFunc = false;
53
+ this.isHideFunc = false;
54
+ this.isMoveFunc = false;
55
+ this.isKeyFunc = false;
56
+ this.isLowerFunc = false;
57
+ this.isOpenFunc = false;
58
+ this.isPathFunc = false;
59
+ this.isPrefFunc = false;
60
+ this.isSuperFunc = false;
61
+ this.isTypeFunc = false;
62
+ this.isUpperFunc = false;
63
+ this.dc = 0;
64
+ this.path = [];
65
+ this.site = new site_1.Site();
66
+ // Map of boolean flags.
67
+ this.mark = { type: false, hide: false };
68
+ // Actual native value.
69
+ this.peg = undefined;
70
+ // TODO: used for top level result - not great
71
+ // err: Omit<any[], "push"> = []
72
+ this.err = [];
73
+ this.explain = null;
74
+ _Val_ctx.set(this, void 0);
75
+ __classPrivateFieldSet(this, _Val_ctx, ctx, "f");
76
+ this.peg = spec?.peg;
77
+ if (Array.isArray(this.peg)) {
78
+ let spread = this.peg[SPREAD];
79
+ this.peg = this.peg.filter(n => undefined !== n);
80
+ this.peg[SPREAD] = spread;
81
+ }
82
+ this.path = ctx?.path || [];
83
+ // TODO: make this work
84
+ // this.id = spec?.id ?? (ctx ? ++ctx.vc : ++ID)
85
+ this.id = ++ID;
86
+ this.uh = [];
87
+ this.mark.type = !!spec.mark?.type;
88
+ this.mark.hide = !!spec.mark?.hide;
89
+ // console.log('BV', this.id, this.constructor.name, this.peg?.canon)
90
+ }
91
+ ctx() {
92
+ return __classPrivateFieldGet(this, _Val_ctx, "f");
93
+ }
94
+ get done() {
95
+ return this.dc === DONE;
96
+ }
97
+ same(peer) {
98
+ return null == peer ? false : this.id === peer.id;
99
+ }
100
+ clone(ctx, spec) {
101
+ let cloneCtx;
102
+ let cut = this.path.indexOf('&');
103
+ cut = -1 < cut ? cut + 1 : ctx.path.length;
104
+ cloneCtx = ctx.clone({
105
+ path: ctx.path.concat(this.path.slice(cut))
106
+ });
107
+ let fullspec = {
108
+ peg: this.peg,
109
+ mark: { type: this.mark.type, hide: this.mark.hide },
110
+ ...(spec ?? {})
111
+ };
112
+ let out = new this
113
+ .constructor(fullspec, cloneCtx);
114
+ out.site.row = spec?.row ?? this.site.row ?? -1;
115
+ out.site.col = spec?.col ?? this.site.col ?? -1;
116
+ out.site.url = spec?.url ?? this.site.url ?? '';
117
+ // TODO: should not be needed - update all VAL ctors to handle spec.mark
118
+ out.mark.type = this.mark.type && (fullspec.mark?.type ?? true);
119
+ out.mark.hide = this.mark.hide && (fullspec.mark?.hide ?? true);
120
+ return out;
121
+ }
122
+ place(v) {
123
+ v.site.row = this.site.row;
124
+ v.site.col = this.site.col;
125
+ v.site.url = this.site.url;
126
+ return v;
127
+ }
128
+ // NOTE: MUST not mutate! Val immutability is a critical assumption.
129
+ unify(_peer, _ctx) { return this; }
130
+ // TODO: indicate marks in some way that is ignored by reparse.
131
+ // Need an annotation/taggins syntax? a:{}/type ?
132
+ get canon() { return ''; }
133
+ errcanon() {
134
+ return 0 === this.err.length ? '' : `<ERRS:${this.err.length}>`;
135
+ }
136
+ gen(_ctx) {
137
+ return undefined;
138
+ }
139
+ notdone() {
140
+ this.dc = DONE === this.dc ? DONE : this.dc + 1;
141
+ }
142
+ [(_Val_ctx = new WeakMap(), node_util_1.inspect.custom)](_d, _o, _inspect) {
143
+ let s = ['<' + this.constructor.name.replace(/Val$/, '') + '/' + this.id];
144
+ s.push('/' + this.path.join('.') + '/');
145
+ s.push([
146
+ DONE === this.dc ? 'D' : 'd' + this.dc,
147
+ ...Object.entries(this.mark).filter(n => n[1]).map(n => n[0]).sort()
148
+ ].filter(n => null != n).join(','));
149
+ let insp = this.inspection(node_util_1.inspect);
150
+ if (null != insp && '' != insp) {
151
+ s.push('/' + insp);
152
+ }
153
+ s.push('/');
154
+ if ('object' === typeof this.peg) {
155
+ s.push(inspectpeg(this.peg));
156
+ }
157
+ else if ('function' === typeof this.peg) {
158
+ s.push(this.peg.name);
159
+ }
160
+ else {
161
+ s.push(this.peg);
162
+ }
163
+ s.push('>');
164
+ const out = s.join('');
165
+ return out;
166
+ }
167
+ inspection(_inspect) {
168
+ return '';
169
+ }
170
+ }
171
+ exports.Val = Val;
172
+ function inspectpeg(peg) {
173
+ return pretty(!Array.isArray(peg) ? (0, node_util_1.inspect)(peg) :
174
+ ('[' + peg.map(n => (0, node_util_1.inspect)(n)).join(',\n') + ']'));
175
+ }
176
+ function pretty(s) {
177
+ return ((String(s))
178
+ .replace(/\[Object: null prototype\]/g, '')
179
+ .replace(/\s+/g, ''));
180
+ }
181
+ function empty(o) {
182
+ return ((Array.isArray(o) && 0 === o.length)
183
+ || (null != o && 'object' === typeof o && 0 === Object.keys(o).length)
184
+ || false);
185
+ }
186
+ //# sourceMappingURL=Val.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Val.js","sourceRoot":"","sources":["../../src/val/Val.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { Val, ValSpec } from '../type';
2
+ import { AontuContext } from '../ctx';
3
+ import { FeatureVal } from './FeatureVal';
4
+ declare class VarVal extends FeatureVal {
5
+ isVar: boolean;
6
+ constructor(spec: ValSpec, ctx?: AontuContext);
7
+ unify(peer: Val, ctx: AontuContext): Val;
8
+ same(peer: Val): boolean;
9
+ clone(ctx: AontuContext, spec?: ValSpec): Val;
10
+ get canon(): string;
11
+ gen(ctx?: AontuContext): undefined;
12
+ }
13
+ export { VarVal, };
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.VarVal = void 0;
5
+ const type_1 = require("../type");
6
+ const err_1 = require("../err");
7
+ const StringVal_1 = require("./StringVal");
8
+ const FeatureVal_1 = require("./FeatureVal");
9
+ const NullVal_1 = require("./NullVal");
10
+ const BooleanVal_1 = require("./BooleanVal");
11
+ const NumberVal_1 = require("./NumberVal");
12
+ const IntegerVal_1 = require("./IntegerVal");
13
+ const utility_1 = require("../utility");
14
+ // TODO: KEY, SELF, PARENT are reserved names - error
15
+ class VarVal extends FeatureVal_1.FeatureVal {
16
+ constructor(spec, ctx) {
17
+ super(spec, ctx);
18
+ this.isVar = true;
19
+ }
20
+ unify(peer, ctx) {
21
+ const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Var', this, peer);
22
+ let out;
23
+ let nameVal;
24
+ if (this.peg.isVal) {
25
+ // $.a.b.c - convert path to absolute
26
+ // if (this.peg instanceof RefVal) {
27
+ if (this.peg.isRef) {
28
+ this.peg.absolute = true;
29
+ nameVal = this.peg;
30
+ }
31
+ else {
32
+ nameVal = this.peg.unify(peer, ctx.clone({ explain: (0, utility_1.ec)(te, 'PEG') }));
33
+ }
34
+ }
35
+ else {
36
+ // TODO: how to pass row+col?
37
+ nameVal = new StringVal_1.StringVal({ peg: '' + this.peg }, ctx);
38
+ }
39
+ // if (!(nameVal instanceof RefVal) && DONE === nameVal.dc) {
40
+ if (!(nameVal.isRef) && type_1.DONE === nameVal.dc) {
41
+ if (nameVal instanceof StringVal_1.StringVal) {
42
+ let found = ctx.vars[nameVal.peg];
43
+ if (undefined === found) {
44
+ out = (0, err_1.makeNilErr)(ctx, 'unknown_var', this, peer);
45
+ }
46
+ // TODO: support complex values
47
+ const ft = typeof found;
48
+ if (null === found) {
49
+ out = this.place(new NullVal_1.NullVal({ peg: null }));
50
+ }
51
+ else if ('string' === ft) {
52
+ out = new StringVal_1.StringVal({ peg: found });
53
+ }
54
+ else if ('boolean' === ft) {
55
+ out = new BooleanVal_1.BooleanVal({ peg: found });
56
+ }
57
+ else if ('number' === ft) {
58
+ out = Number.isInteger(found) ?
59
+ new IntegerVal_1.IntegerVal({ peg: found }) :
60
+ new NumberVal_1.NumberVal({ peg: found });
61
+ }
62
+ else if ('object' === ft && found.isVal) {
63
+ out = found;
64
+ }
65
+ else {
66
+ out = (0, err_1.makeNilErr)(ctx, 'invalid_var_kind', this, peer);
67
+ }
68
+ }
69
+ else {
70
+ out = (0, err_1.makeNilErr)(ctx, 'var[' + typeof nameVal + ']', this, peer);
71
+ }
72
+ }
73
+ else {
74
+ out = nameVal;
75
+ }
76
+ (0, utility_1.explainClose)(te, out);
77
+ return out;
78
+ }
79
+ same(peer) {
80
+ return null == peer ? false : peer instanceof VarVal && this.peg === peer.peg;
81
+ }
82
+ clone(ctx, spec) {
83
+ let out = super.clone(ctx, spec);
84
+ return out;
85
+ }
86
+ get canon() {
87
+ return '$' + (this.peg?.isVal ? this.peg.canon : '' + this.peg);
88
+ }
89
+ gen(ctx) {
90
+ // Unresolved var cannot be generated, so always an error.
91
+ let nil = (0, err_1.makeNilErr)(ctx, 'var', this, undefined);
92
+ // TODO: refactor to use Site
93
+ nil.path = this.path;
94
+ nil.site.url = this.site.url;
95
+ nil.site.row = this.site.row;
96
+ nil.site.col = this.site.col;
97
+ (0, err_1.descErr)(nil, ctx);
98
+ if (ctx) {
99
+ // ctx.err.push(nil)
100
+ ctx.adderr(nil);
101
+ }
102
+ else {
103
+ throw new err_1.AontuError(nil.msg);
104
+ }
105
+ return undefined;
106
+ }
107
+ }
108
+ exports.VarVal = VarVal;
109
+ //# sourceMappingURL=VarVal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VarVal.js","sourceRoot":"","sources":["../../src/val/VarVal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { TopVal } from './TopVal';
2
+ export declare function top(): TopVal;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ /* Copyright (c) 2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.top = top;
5
+ const TopVal_1 = require("./TopVal");
6
+ const TOP = new TopVal_1.TopVal({});
7
+ function top() {
8
+ return TOP;
9
+ }
10
+ //# sourceMappingURL=top.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"top.js","sourceRoot":"","sources":["../../src/val/top.ts"],"names":[],"mappings":";AAAA,oDAAoD;;AAQpD,kBAEC;AAPD,qCAAiC;AAEjC,MAAM,GAAG,GAAG,IAAI,eAAM,CAAC,EAAE,CAAC,CAAA;AAG1B,SAAgB,GAAG;IACjB,OAAO,GAAG,CAAA;AACZ,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ScalarVal } from './ScalarVal';
2
+ export declare function makeScalar(scalar: any): ScalarVal;
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.makeScalar = makeScalar;
5
+ const err_1 = require("../err");
6
+ const NumberVal_1 = require("./NumberVal");
7
+ const StringVal_1 = require("./StringVal");
8
+ const BooleanVal_1 = require("./BooleanVal");
9
+ const NullVal_1 = require("./NullVal");
10
+ // TODO: move to FuncBaseVal
11
+ function makeScalar(scalar) {
12
+ const st = typeof scalar;
13
+ const spec = { peg: scalar };
14
+ if ('number' === st) {
15
+ return new NumberVal_1.NumberVal(spec);
16
+ }
17
+ else if ('string' === st) {
18
+ return new StringVal_1.StringVal(spec);
19
+ }
20
+ else if ('boolean' === st) {
21
+ return new BooleanVal_1.BooleanVal(spec);
22
+ }
23
+ else if (null === scalar) {
24
+ return new NullVal_1.NullVal(spec);
25
+ }
26
+ else {
27
+ throw new err_1.AontuError('Not a scalar: ' + scalar);
28
+ }
29
+ }
30
+ //# sourceMappingURL=valutil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"valutil.js","sourceRoot":"","sources":["../../src/val/valutil.ts"],"names":[],"mappings":";AAAA,yDAAyD;;AAWzD,gCAmBC;AA5BD,gCAAmC;AAEnC,2CAAuC;AACvC,2CAAuC;AACvC,6CAAyC;AACzC,uCAAmC;AAGnC,4BAA4B;AAC5B,SAAgB,UAAU,CAAC,MAAW;IACpC,MAAM,EAAE,GAAG,OAAO,MAAM,CAAA;IACxB,MAAM,IAAI,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;IAE5B,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;SACI,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACzB,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;SACI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QAC1B,OAAO,IAAI,uBAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;SACI,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACzB,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;SACI,CAAC;QACJ,MAAM,IAAI,gBAAU,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAA;IACjD,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aontu",
3
- "version": "0.30.1",
3
+ "version": "0.30.2",
4
4
  "main": "dist/aontu.js",
5
5
  "type": "commonjs",
6
6
  "browser": "dist/aontu.min.js",
@@ -32,10 +32,8 @@
32
32
  "node": ">=22"
33
33
  },
34
34
  "files": [
35
- "aontu.ts",
36
- "lib",
37
- "dist/aontu.*",
38
- "dist/lib",
35
+ "src",
36
+ "dist",
39
37
  "LICENSE"
40
38
  ],
41
39
  "dependencies": {