aontu 0.29.0 → 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 (270) hide show
  1. package/dist/aontu.d.ts +17 -13
  2. package/dist/aontu.js +145 -60
  3. package/dist/aontu.js.map +1 -1
  4. package/dist/ctx.d.ts +51 -0
  5. package/dist/ctx.js +105 -0
  6. package/dist/ctx.js.map +1 -0
  7. package/dist/err.d.ts +12 -0
  8. package/dist/err.js +123 -0
  9. package/dist/err.js.map +1 -0
  10. package/dist/hints.d.ts +8 -0
  11. package/dist/hints.js +84 -0
  12. package/dist/hints.js.map +1 -0
  13. package/dist/lang.d.ts +11 -0
  14. package/dist/lang.js +569 -0
  15. package/dist/lang.js.map +1 -0
  16. package/dist/site.d.ts +12 -0
  17. package/dist/site.js +27 -0
  18. package/dist/site.js.map +1 -0
  19. package/dist/tsconfig.tsbuildinfo +1 -0
  20. package/dist/type.d.ts +32 -0
  21. package/dist/type.js +16 -0
  22. package/dist/type.js.map +1 -0
  23. package/dist/unify.d.ts +14 -0
  24. package/dist/unify.js +156 -0
  25. package/dist/unify.js.map +1 -0
  26. package/dist/utility.d.ts +14 -0
  27. package/dist/utility.js +122 -0
  28. package/dist/utility.js.map +1 -0
  29. package/dist/val/BagVal.d.ts +10 -0
  30. package/dist/val/BagVal.js +15 -0
  31. package/dist/val/BagVal.js.map +1 -0
  32. package/dist/val/BooleanVal.d.ts +9 -0
  33. package/dist/val/BooleanVal.js +16 -0
  34. package/dist/val/BooleanVal.js.map +1 -0
  35. package/dist/val/CloseFuncVal.d.ts +11 -0
  36. package/dist/val/CloseFuncVal.js +32 -0
  37. package/dist/val/CloseFuncVal.js.map +1 -0
  38. package/dist/val/ConjunctVal.d.ts +14 -0
  39. package/dist/val/ConjunctVal.js +187 -0
  40. package/dist/val/ConjunctVal.js.map +1 -0
  41. package/dist/val/CopyFuncVal.d.ts +13 -0
  42. package/dist/val/CopyFuncVal.js +35 -0
  43. package/dist/val/CopyFuncVal.js.map +1 -0
  44. package/dist/val/DisjunctVal.d.ts +19 -0
  45. package/dist/val/DisjunctVal.js +194 -0
  46. package/dist/val/DisjunctVal.js.map +1 -0
  47. package/dist/val/FeatureVal.d.ts +10 -0
  48. package/dist/val/FeatureVal.js +29 -0
  49. package/dist/val/FeatureVal.js.map +1 -0
  50. package/dist/val/FuncBaseVal.d.ts +15 -0
  51. package/dist/val/FuncBaseVal.js +127 -0
  52. package/dist/val/FuncBaseVal.js.map +1 -0
  53. package/dist/val/HideFuncVal.d.ts +12 -0
  54. package/dist/val/HideFuncVal.js +48 -0
  55. package/dist/val/HideFuncVal.js.map +1 -0
  56. package/dist/val/IntegerVal.d.ts +9 -0
  57. package/dist/val/IntegerVal.js +46 -0
  58. package/dist/val/IntegerVal.js.map +1 -0
  59. package/dist/val/JunctionVal.d.ts +12 -0
  60. package/dist/val/JunctionVal.js +31 -0
  61. package/dist/val/JunctionVal.js.map +1 -0
  62. package/dist/val/KeyFuncVal.d.ts +12 -0
  63. package/dist/val/KeyFuncVal.js +34 -0
  64. package/dist/val/KeyFuncVal.js.map +1 -0
  65. package/dist/val/ListVal.d.ts +17 -0
  66. package/dist/val/ListVal.js +186 -0
  67. package/dist/val/ListVal.js.map +1 -0
  68. package/dist/val/LowerFuncVal.d.ts +12 -0
  69. package/dist/val/LowerFuncVal.js +40 -0
  70. package/dist/val/LowerFuncVal.js.map +1 -0
  71. package/dist/val/MapVal.d.ts +16 -0
  72. package/dist/val/MapVal.js +211 -0
  73. package/dist/val/MapVal.js.map +1 -0
  74. package/dist/val/MoveFuncVal.d.ts +11 -0
  75. package/dist/val/MoveFuncVal.js +41 -0
  76. package/dist/val/MoveFuncVal.js.map +1 -0
  77. package/dist/val/NilVal.d.ts +25 -0
  78. package/dist/{lib/val/Nil.js → val/NilVal.js} +38 -30
  79. package/dist/val/NilVal.js.map +1 -0
  80. package/dist/val/NullVal.d.ts +9 -0
  81. package/dist/val/NullVal.js +18 -0
  82. package/dist/val/NullVal.js.map +1 -0
  83. package/dist/val/NumberVal.d.ts +9 -0
  84. package/dist/val/NumberVal.js +44 -0
  85. package/dist/val/NumberVal.js.map +1 -0
  86. package/dist/val/OpBaseVal.d.ts +18 -0
  87. package/dist/val/OpBaseVal.js +152 -0
  88. package/dist/val/OpBaseVal.js.map +1 -0
  89. package/dist/val/OpenFuncVal.d.ts +11 -0
  90. package/dist/val/OpenFuncVal.js +30 -0
  91. package/dist/val/OpenFuncVal.js.map +1 -0
  92. package/dist/val/PathFuncVal.d.ts +13 -0
  93. package/dist/val/PathFuncVal.js +42 -0
  94. package/dist/val/PathFuncVal.js.map +1 -0
  95. package/dist/val/PlusOpVal.d.ts +16 -0
  96. package/dist/val/PlusOpVal.js +59 -0
  97. package/dist/val/PlusOpVal.js.map +1 -0
  98. package/dist/val/PrefFuncVal.d.ts +11 -0
  99. package/dist/val/PrefFuncVal.js +39 -0
  100. package/dist/val/PrefFuncVal.js.map +1 -0
  101. package/dist/val/PrefVal.d.ts +15 -0
  102. package/dist/val/PrefVal.js +104 -0
  103. package/dist/val/PrefVal.js.map +1 -0
  104. package/dist/val/RefVal.d.ts +22 -0
  105. package/dist/val/RefVal.js +276 -0
  106. package/dist/val/RefVal.js.map +1 -0
  107. package/dist/val/ScalarKindVal.d.ts +16 -0
  108. package/dist/val/ScalarKindVal.js +76 -0
  109. package/dist/val/ScalarKindVal.js.map +1 -0
  110. package/dist/val/ScalarVal.d.ts +16 -0
  111. package/dist/val/ScalarVal.js +61 -0
  112. package/dist/val/ScalarVal.js.map +1 -0
  113. package/dist/val/StringVal.d.ts +10 -0
  114. package/dist/val/StringVal.js +19 -0
  115. package/dist/val/StringVal.js.map +1 -0
  116. package/dist/val/SuperFuncVal.d.ts +11 -0
  117. package/dist/val/SuperFuncVal.js +22 -0
  118. package/dist/val/SuperFuncVal.js.map +1 -0
  119. package/dist/val/TopVal.d.ts +16 -0
  120. package/dist/val/TopVal.js +38 -0
  121. package/dist/val/TopVal.js.map +1 -0
  122. package/dist/val/TypeFuncVal.d.ts +12 -0
  123. package/dist/val/TypeFuncVal.js +35 -0
  124. package/dist/val/TypeFuncVal.js.map +1 -0
  125. package/dist/val/UpperFuncVal.d.ts +12 -0
  126. package/dist/val/UpperFuncVal.js +40 -0
  127. package/dist/val/UpperFuncVal.js.map +1 -0
  128. package/dist/val/Val.d.ts +89 -0
  129. package/dist/val/Val.js +186 -0
  130. package/dist/val/Val.js.map +1 -0
  131. package/dist/val/VarVal.d.ts +13 -0
  132. package/dist/val/VarVal.js +109 -0
  133. package/dist/val/VarVal.js.map +1 -0
  134. package/dist/val/top.d.ts +2 -0
  135. package/dist/val/top.js +10 -0
  136. package/dist/val/top.js.map +1 -0
  137. package/dist/val/valutil.d.ts +2 -0
  138. package/dist/val/valutil.js +30 -0
  139. package/dist/val/valutil.js.map +1 -0
  140. package/package.json +20 -38
  141. package/src/aontu.ts +218 -0
  142. package/src/ctx.ts +201 -0
  143. package/src/err.ts +172 -0
  144. package/src/hints.ts +119 -0
  145. package/src/lang.ts +782 -0
  146. package/src/site.ts +34 -0
  147. package/src/tsconfig.json +16 -0
  148. package/src/type.ts +72 -0
  149. package/src/unify.ts +225 -0
  150. package/src/utility.ts +179 -0
  151. package/src/val/BagVal.ts +33 -0
  152. package/src/val/BooleanVal.ts +32 -0
  153. package/src/val/CloseFuncVal.ts +61 -0
  154. package/src/val/ConjunctVal.ts +285 -0
  155. package/src/val/CopyFuncVal.ts +69 -0
  156. package/src/val/DisjunctVal.ts +288 -0
  157. package/src/val/FeatureVal.ts +56 -0
  158. package/src/val/FuncBaseVal.ts +198 -0
  159. package/src/val/HideFuncVal.ts +85 -0
  160. package/src/val/IntegerVal.ts +75 -0
  161. package/src/val/JunctionVal.ts +54 -0
  162. package/src/val/KeyFuncVal.ts +67 -0
  163. package/src/val/ListVal.ts +286 -0
  164. package/src/val/LowerFuncVal.ts +73 -0
  165. package/src/val/MapVal.ts +316 -0
  166. package/src/val/MoveFuncVal.ts +79 -0
  167. package/{lib/val/Nil.ts → src/val/NilVal.ts} +49 -37
  168. package/src/val/NullVal.ts +38 -0
  169. package/src/val/NumberVal.ts +75 -0
  170. package/src/val/OpBaseVal.ts +231 -0
  171. package/src/val/OpenFuncVal.ts +60 -0
  172. package/src/val/PathFuncVal.ts +75 -0
  173. package/src/val/PlusOpVal.ts +92 -0
  174. package/src/val/PrefFuncVal.ts +73 -0
  175. package/src/val/PrefVal.ts +159 -0
  176. package/src/val/RefVal.ts +384 -0
  177. package/src/val/ScalarKindVal.ts +125 -0
  178. package/src/val/ScalarVal.ts +105 -0
  179. package/src/val/StringVal.ts +37 -0
  180. package/src/val/SuperFuncVal.ts +46 -0
  181. package/src/val/TopVal.ts +69 -0
  182. package/src/val/TypeFuncVal.ts +69 -0
  183. package/src/val/UpperFuncVal.ts +72 -0
  184. package/src/val/Val.ts +294 -0
  185. package/src/val/VarVal.ts +171 -0
  186. package/src/val/top.ts +12 -0
  187. package/src/val/valutil.ts +31 -0
  188. package/aontu.ts +0 -92
  189. package/dist/lib/err.d.ts +0 -4
  190. package/dist/lib/err.js +0 -61
  191. package/dist/lib/err.js.map +0 -1
  192. package/dist/lib/lang.d.ts +0 -15
  193. package/dist/lib/lang.js +0 -409
  194. package/dist/lib/lang.js.map +0 -1
  195. package/dist/lib/op/disjunct.d.ts +0 -3
  196. package/dist/lib/op/disjunct.js +0 -28
  197. package/dist/lib/op/disjunct.js.map +0 -1
  198. package/dist/lib/op/op.d.ts +0 -6
  199. package/dist/lib/op/op.js +0 -9
  200. package/dist/lib/op/op.js.map +0 -1
  201. package/dist/lib/op/unite.d.ts +0 -3
  202. package/dist/lib/op/unite.js +0 -100
  203. package/dist/lib/op/unite.js.map +0 -1
  204. package/dist/lib/type.d.ts +0 -49
  205. package/dist/lib/type.js +0 -7
  206. package/dist/lib/type.js.map +0 -1
  207. package/dist/lib/unify.d.ts +0 -38
  208. package/dist/lib/unify.js +0 -67
  209. package/dist/lib/unify.js.map +0 -1
  210. package/dist/lib/utility.d.ts +0 -3
  211. package/dist/lib/utility.js +0 -16
  212. package/dist/lib/utility.js.map +0 -1
  213. package/dist/lib/val/ConjunctVal.d.ts +0 -17
  214. package/dist/lib/val/ConjunctVal.js +0 -171
  215. package/dist/lib/val/ConjunctVal.js.map +0 -1
  216. package/dist/lib/val/DisjunctVal.d.ts +0 -17
  217. package/dist/lib/val/DisjunctVal.js +0 -95
  218. package/dist/lib/val/DisjunctVal.js.map +0 -1
  219. package/dist/lib/val/ListVal.d.ts +0 -18
  220. package/dist/lib/val/ListVal.js +0 -120
  221. package/dist/lib/val/ListVal.js.map +0 -1
  222. package/dist/lib/val/MapVal.d.ts +0 -18
  223. package/dist/lib/val/MapVal.js +0 -117
  224. package/dist/lib/val/MapVal.js.map +0 -1
  225. package/dist/lib/val/Nil.d.ts +0 -22
  226. package/dist/lib/val/Nil.js.map +0 -1
  227. package/dist/lib/val/NullVal.d.ts +0 -15
  228. package/dist/lib/val/NullVal.js +0 -38
  229. package/dist/lib/val/NullVal.js.map +0 -1
  230. package/dist/lib/val/OpVal.d.ts +0 -17
  231. package/dist/lib/val/OpVal.js +0 -89
  232. package/dist/lib/val/OpVal.js.map +0 -1
  233. package/dist/lib/val/PlusVal.d.ts +0 -12
  234. package/dist/lib/val/PlusVal.js +0 -32
  235. package/dist/lib/val/PlusVal.js.map +0 -1
  236. package/dist/lib/val/PrefVal.d.ts +0 -17
  237. package/dist/lib/val/PrefVal.js +0 -87
  238. package/dist/lib/val/PrefVal.js.map +0 -1
  239. package/dist/lib/val/RefVal.d.ts +0 -22
  240. package/dist/lib/val/RefVal.js +0 -247
  241. package/dist/lib/val/RefVal.js.map +0 -1
  242. package/dist/lib/val/ValBase.d.ts +0 -26
  243. package/dist/lib/val/ValBase.js +0 -77
  244. package/dist/lib/val/ValBase.js.map +0 -1
  245. package/dist/lib/val/VarVal.d.ts +0 -15
  246. package/dist/lib/val/VarVal.js +0 -84
  247. package/dist/lib/val/VarVal.js.map +0 -1
  248. package/dist/lib/val.d.ts +0 -81
  249. package/dist/lib/val.js +0 -191
  250. package/dist/lib/val.js.map +0 -1
  251. package/lib/err.ts +0 -83
  252. package/lib/lang.ts +0 -585
  253. package/lib/op/disjunct.ts +0 -51
  254. package/lib/op/op.ts +0 -18
  255. package/lib/op/unite.ts +0 -143
  256. package/lib/type.ts +0 -95
  257. package/lib/unify.ts +0 -128
  258. package/lib/utility.ts +0 -24
  259. package/lib/val/ConjunctVal.ts +0 -265
  260. package/lib/val/DisjunctVal.ts +0 -160
  261. package/lib/val/ListVal.ts +0 -196
  262. package/lib/val/MapVal.ts +0 -181
  263. package/lib/val/NullVal.ts +0 -72
  264. package/lib/val/OpVal.ts +0 -159
  265. package/lib/val/PlusVal.ts +0 -76
  266. package/lib/val/PrefVal.ts +0 -154
  267. package/lib/val/RefVal.ts +0 -362
  268. package/lib/val/ValBase.ts +0 -109
  269. package/lib/val/VarVal.ts +0 -157
  270. package/lib/val.ts +0 -327
package/dist/aontu.d.ts CHANGED
@@ -1,16 +1,20 @@
1
- import type { Val, Options, FST } from './lib/type';
2
- import { Lang } from './lib/lang';
3
- import { Context } from './lib/unify';
4
- import { Nil } from './lib/val/Nil';
5
- declare function Aontu(src: string | Partial<Options>, popts?: Partial<Options>): Val;
6
- declare function prepareOptions(src: string | Partial<Options>, popts?: Partial<Options>): Options;
7
- declare function parse(opts: Options, ctx: {
8
- deps: any;
9
- fs?: FST;
10
- }): Val;
1
+ import type { Val, AontuOptions } from './type';
2
+ import { Lang } from './lang';
3
+ import { AontuContext, AontuContextConfig } from './ctx';
4
+ import { formatExplain } from './utility';
5
+ import { AontuError } from './err';
6
+ declare class Aontu {
7
+ opts: AontuOptions;
8
+ lang: Lang;
9
+ constructor(popts?: AontuOptions);
10
+ ctx(cfg?: AontuContextConfig): AontuContext;
11
+ parse(src: string, opts?: AontuOptions, ac?: AontuContext): Val | undefined;
12
+ unify(src: string | Val, opts?: AontuOptions, ac?: AontuContext | any): Val;
13
+ generate(src: string, opts?: any, ac?: AontuContext): any;
14
+ }
15
+ declare function runparse(src: string, lang: Lang, ctx: AontuContext): Val;
11
16
  declare const util: {
12
- parse: typeof parse;
13
- options: typeof prepareOptions;
17
+ runparse: typeof runparse;
14
18
  };
15
- export { Aontu, Val, Nil, Lang, Context, parse, util };
19
+ export { Aontu, AontuOptions, AontuContext, AontuError, Val, Lang, runparse, util, formatExplain };
16
20
  export default Aontu;
package/dist/aontu.js CHANGED
@@ -1,72 +1,157 @@
1
1
  "use strict";
2
- /* Copyright (c) 2021-2024 Richard Rodger, MIT License */
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.util = exports.Context = exports.Lang = exports.Nil = void 0;
5
- exports.Aontu = Aontu;
6
- exports.parse = parse;
7
- const lang_1 = require("./lib/lang");
4
+ exports.formatExplain = exports.util = exports.Lang = exports.AontuError = exports.AontuContext = exports.Aontu = void 0;
5
+ exports.runparse = runparse;
6
+ const lang_1 = require("./lang");
8
7
  Object.defineProperty(exports, "Lang", { enumerable: true, get: function () { return lang_1.Lang; } });
9
- const unify_1 = require("./lib/unify");
10
- Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return unify_1.Context; } });
11
- const Nil_1 = require("./lib/val/Nil");
12
- Object.defineProperty(exports, "Nil", { enumerable: true, get: function () { return Nil_1.Nil; } });
13
- const MapVal_1 = require("./lib/val/MapVal");
14
- const err_1 = require("./lib/err");
15
- // TODO: BUG: foo: { bar: {} } zed: {} puts zed a wrong level
16
- // TODO: exclude tests from dist!!!
17
- // TODO: propogate property path and url properly over unification, and multisource
18
- /*
19
- NEXT:
20
- inject path from multisource into Vals when created
21
- report via nil error
22
- also trace deps into top val and watch via model
23
- */
24
- // TODO: error reporting
25
- // TODO: debug tracing
26
- // TODO: providers - e.g source files from paths
27
- // TODO: Aontu should return final generated version?
28
- /* `Aontu('a:1') => opts={src:'a:1',print:0,...}`
29
- * `Aontu('a:1',{print:1}) => opts={src:'a:1',print:1,...}`
30
- * `Aontu({src:'a:1'},{src:'a:2'}) => opts={src:'a:2',print:0,...}`
31
- */
32
- function Aontu(src, popts) {
33
- // TODO: review: why is an undefined src allowed?
34
- let opts = prepareOptions(src, popts);
35
- let deps = {};
36
- // TODO: handle empty src
37
- let val = parse(opts, { deps });
38
- if (null == val) {
39
- val = new MapVal_1.MapVal({ peg: {} });
8
+ const unify_1 = require("./unify");
9
+ const ctx_1 = require("./ctx");
10
+ Object.defineProperty(exports, "AontuContext", { enumerable: true, get: function () { return ctx_1.AontuContext; } });
11
+ const MapVal_1 = require("./val/MapVal");
12
+ const utility_1 = require("./utility");
13
+ Object.defineProperty(exports, "formatExplain", { enumerable: true, get: function () { return utility_1.formatExplain; } });
14
+ const err_1 = require("./err");
15
+ Object.defineProperty(exports, "AontuError", { enumerable: true, get: function () { return err_1.AontuError; } });
16
+ class Aontu {
17
+ constructor(popts) {
18
+ this.opts = popts ?? {};
19
+ this.lang = new lang_1.Lang(this.opts);
20
+ }
21
+ // Create a new context.
22
+ ctx(cfg) {
23
+ cfg = cfg ?? {};
24
+ const ac = new ctx_1.AontuContext(cfg);
25
+ return ac;
26
+ }
27
+ // Parse source into a matching Val AST, not yet unified.
28
+ parse(src, opts, ac) {
29
+ let out;
30
+ let errs = [];
31
+ if (null == src) {
32
+ src = '';
33
+ }
34
+ ac = ac ?? this.ctx();
35
+ ac.addopts({ ...(opts ?? {}), src });
36
+ if ('string' !== typeof src) {
37
+ out = (0, err_1.makeNilErr)(ac, 'parse_bad_src');
38
+ errs.push(out);
39
+ }
40
+ if (0 === errs.length) {
41
+ out = runparse(src, this.lang, ac);
42
+ out.deps = ac.deps;
43
+ ac.root = out;
44
+ }
45
+ handleErrors(errs, out, ac);
46
+ return out;
47
+ }
48
+ // Unify source or Val, returning a fully unified Val.
49
+ unify(src, opts, ac) {
50
+ let out;
51
+ let errs = [];
52
+ ac = ac ?? this.ctx();
53
+ ac.addopts({ ...(opts ?? {}), src });
54
+ let pval;
55
+ if (null == src) {
56
+ src = '';
57
+ }
58
+ if ('string' === typeof src) {
59
+ pval = this.parse(src, undefined, ac);
60
+ }
61
+ else if (src && src.isVal) {
62
+ pval = src;
63
+ }
64
+ else {
65
+ out = (0, err_1.makeNilErr)(ac, 'unify_no_src');
66
+ errs.push(out);
67
+ }
68
+ if (null != pval && 0 === errs.length) {
69
+ let uni = new unify_1.Unify(pval, this.lang, ac, src);
70
+ errs = uni.err;
71
+ out = uni.res;
72
+ if (null == out) {
73
+ out = (0, err_1.makeNilErr)(ac, 'unify_no_res');
74
+ if (0 === errs.length) {
75
+ errs = [out];
76
+ }
77
+ }
78
+ out.deps = pval.deps;
79
+ out.err = errs;
80
+ ac.root = out;
81
+ }
82
+ handleErrors(errs, out, ac);
83
+ return out;
84
+ }
85
+ // Generate output structure from source, which must parse and fully unify.
86
+ generate(src, opts, ac) {
87
+ try {
88
+ let out = undefined;
89
+ ac = ac ?? this.ctx();
90
+ ac.addopts({ ...(opts ?? {}), src });
91
+ let pval = this.parse(src, undefined, ac);
92
+ if (undefined !== pval && 0 === pval.err.length) {
93
+ let uval = this.unify(pval, undefined, ac);
94
+ if (undefined !== uval && 0 === uval.err.length) {
95
+ out = uval.isNil ? (ac.adderr(uval), undefined) : uval.gen(ac);
96
+ if (0 < ac.err.length) {
97
+ if (!ac.collect) {
98
+ throw new err_1.AontuError(ac.errmsg(), ac.err);
99
+ }
100
+ out = undefined;
101
+ }
102
+ }
103
+ }
104
+ return out;
105
+ }
106
+ catch (err) {
107
+ if (err instanceof err_1.AontuError || true === err.aontu) {
108
+ throw err;
109
+ }
110
+ const unex = new err_1.AontuError('Aontu: unexpected error: ' + err.message);
111
+ Object.assign(unex, err);
112
+ unex.stack = err.stack;
113
+ throw unex;
114
+ }
40
115
  }
41
- let uni = new unify_1.Unify(val);
42
- let res = uni.res;
43
- let err = uni.err;
44
- (0, err_1.descErr)(uni.err, { src: opts.src, fs: opts.fs });
45
- res.deps = deps;
46
- res.err = err;
47
- return res;
48
116
  }
49
- function prepareOptions(src, popts) {
50
- // Convert convenience first param into Options.src
51
- let srcopts = 'string' === typeof src ? { src } : src;
52
- let opts = {
53
- ...{
54
- src: '',
55
- print: 0,
56
- },
57
- ...srcopts,
58
- ...(popts || {}),
59
- };
60
- return opts;
117
+ exports.Aontu = Aontu;
118
+ // Either throw an exception or add collected errors to result.
119
+ function handleErrors(errs, out, ac) {
120
+ errs.map((err) => ac.adderr(err));
121
+ if (out) {
122
+ out.err.map((err) => ac.adderr(err));
123
+ }
124
+ if (0 < ac.err.length) {
125
+ if (ac.collect) {
126
+ if (out) {
127
+ out.err = ac.err;
128
+ }
129
+ }
130
+ else {
131
+ throw new err_1.AontuError(ac.errmsg(), ac.err);
132
+ }
133
+ }
61
134
  }
62
- function parse(opts, ctx) {
63
- let lang = new lang_1.Lang(opts);
64
- let val = lang.parse(opts.src, { deps: ctx.deps });
135
+ // Perform parse of source code (minor customizations over Lang.parse).
136
+ function runparse(src, lang, ctx) {
137
+ const popts = {
138
+ // src: ctx.src,
139
+ deps: ctx.deps,
140
+ fs: ctx.fs,
141
+ path: ctx.opts.path
142
+ };
143
+ let val;
144
+ const tsrc = src.trim().replace(/^(\n\s*)+/, '');
145
+ if ('string' === typeof src && '' !== tsrc) {
146
+ val = lang.parse(src, popts);
147
+ }
148
+ if (undefined === val) {
149
+ val = new MapVal_1.MapVal({ peg: {} });
150
+ }
65
151
  return val;
66
152
  }
67
153
  const util = {
68
- parse,
69
- options: prepareOptions,
154
+ runparse,
70
155
  };
71
156
  exports.util = util;
72
157
  exports.default = Aontu;
package/dist/aontu.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"aontu.js","sourceRoot":"","sources":["../aontu.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAyFhD,sBAAK;AAA2B,sBAAK;AArF9C,qCAAiC;AAqFP,qFArFjB,WAAI,OAqFiB;AApF9B,uCAA4C;AAoFZ,wFApFhB,eAAO,OAoFgB;AAnFvC,uCAAmC;AAmFd,oFAnFZ,SAAG,OAmFY;AAlFxB,6CAAyC;AACzC,mCAAmC;AAEnC,6DAA6D;AAE7D,mCAAmC;AACnC,mFAAmF;AAEnF;;;;;EAKE;AAEF,wBAAwB;AAExB,sBAAsB;AACtB,gDAAgD;AAEhD,qDAAqD;AAErD;;;GAGG;AACH,SAAS,KAAK,CAAC,GAA8B,EAAE,KAAwB;IACrE,iDAAiD;IAEjD,IAAI,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAErC,IAAI,IAAI,GAAG,EAAE,CAAA;IAEb,yBAAyB;IACzB,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;IAE/B,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;QAChB,GAAG,GAAG,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI,GAAG,GAAG,IAAI,aAAK,CAAC,GAAqB,CAAC,CAAA;IAC1C,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IACjB,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IAEjB,IAAA,aAAO,EAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAEhD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;IAEb,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,SAAS,cAAc,CACrB,GAA8B,EAC9B,KAAwB;IAExB,mDAAmD;IACnD,IAAI,OAAO,GAAqB,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAEvE,IAAI,IAAI,GAAY;QAClB,GAAG;YACD,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,CAAC;SACT;QACD,GAAG,OAAO;QACV,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;KACjB,CAAA;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,KAAK,CAAC,IAAa,EAAE,GAA4B;IACxD,IAAI,IAAI,GAAG,IAAI,WAAI,CAAC,IAAI,CAAC,CAAA;IACzB,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;IAClD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,MAAM,IAAI,GAAG;IACX,KAAK;IACL,OAAO,EAAE,cAAc;CACxB,CAAA;AAE+C,oBAAI;AAEpD,kBAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"aontu.js","sourceRoot":"","sources":["../src/aontu.ts"],"names":[],"mappings":"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"}
package/dist/ctx.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ import type { Val, FST, AontuOptions } from './type';
2
+ import { NilVal } from './val/NilVal';
3
+ type AontuContextConfig = {
4
+ cc?: number;
5
+ err?: any[];
6
+ explain?: any[];
7
+ fs?: any;
8
+ path?: string[];
9
+ root?: Val;
10
+ seen?: Record<string, number>;
11
+ seenI?: number;
12
+ src?: string;
13
+ srcpath?: string;
14
+ vars?: Record<string, Val>;
15
+ vc?: number;
16
+ collect?: boolean;
17
+ opts?: AontuOptions;
18
+ deps?: Record<string, any>;
19
+ };
20
+ declare class AontuContext {
21
+ root?: Val;
22
+ path: string[];
23
+ vc: number;
24
+ cc: number;
25
+ vars: Record<string, Val>;
26
+ src?: string;
27
+ fs?: FST;
28
+ seenI: number;
29
+ seen: Record<string, number>;
30
+ collect: boolean;
31
+ err: any[];
32
+ explain: any[] | null;
33
+ srcpath?: string;
34
+ deps: Record<string, any>;
35
+ opts: AontuOptions;
36
+ _pathstr: string | undefined;
37
+ constructor(cfg: AontuContextConfig);
38
+ clone(cfg: {
39
+ root?: Val;
40
+ path?: string[];
41
+ err?: any[];
42
+ explain?: any[];
43
+ }): AontuContext;
44
+ descend(key: string): AontuContext;
45
+ addopts(opts?: AontuOptions): void;
46
+ adderr(err: NilVal): void;
47
+ errmsg(): string;
48
+ find(path: string[]): Val | undefined;
49
+ get pathstr(): string;
50
+ }
51
+ export { AontuContext, AontuContextConfig };
package/dist/ctx.js ADDED
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AontuContext = void 0;
5
+ const type_1 = require("./type");
6
+ const MapVal_1 = require("./val/MapVal");
7
+ const ListVal_1 = require("./val/ListVal");
8
+ const err_1 = require("./err");
9
+ class AontuContext {
10
+ constructor(cfg) {
11
+ this.cc = -1;
12
+ this.vars = {};
13
+ this.root = cfg.root;
14
+ this.path = [...(cfg.path ?? [])];
15
+ this.src = cfg.src;
16
+ this.collect = cfg.collect ?? null != cfg.err;
17
+ this.err = cfg.err ?? [];
18
+ this.explain = cfg.explain ?? null;
19
+ this.fs = cfg.fs ?? null;
20
+ // Multiple unify passes will keep incrementing Val counter.
21
+ this.vc = null == cfg.vc ? 1_000_000_000 : cfg.vc;
22
+ this.cc = null == cfg.cc ? this.cc : cfg.cc;
23
+ this.vars = cfg.vars ?? this.vars;
24
+ this.seenI = cfg.seenI ?? 0;
25
+ this.seen = cfg.seen ?? {};
26
+ this.srcpath = cfg.srcpath ?? undefined;
27
+ this.deps = cfg.deps ?? {};
28
+ this.opts = (0, type_1.DEFAULT_OPTS)();
29
+ this.addopts(cfg.opts);
30
+ }
31
+ clone(cfg) {
32
+ const ctx = Object.create(this);
33
+ ctx.path = cfg.path ?? this.path;
34
+ ctx.root = cfg.root ?? this.root;
35
+ ctx.var = Object.create(this.vars);
36
+ ctx.err = cfg.err ?? ctx.err;
37
+ ctx.explain = cfg.explain ?? ctx.explain;
38
+ ctx._pathstr = undefined;
39
+ return ctx;
40
+ }
41
+ descend(key) {
42
+ return this.clone({
43
+ root: this.root,
44
+ path: this.path.concat(key),
45
+ });
46
+ }
47
+ addopts(opts) {
48
+ if (null != opts) {
49
+ Object.assign(this.opts, opts);
50
+ }
51
+ this.collect = (this.opts.collect ?? null != this.opts.err) ?? this.collect;
52
+ this.err = this.opts.err ?? this.err;
53
+ this.fs = this.opts.fs ?? this.fs;
54
+ this.explain = this.opts.explain ?? this.explain;
55
+ this.src = ('string' === typeof this.opts.src ? this.opts.src : undefined) ?? this.src;
56
+ // TODO: rename srcpath to file
57
+ this.srcpath = this.opts.path ?? this.srcpath;
58
+ }
59
+ adderr(err) {
60
+ if (null != err && err.isNil) {
61
+ if (null == err.primary) {
62
+ err.primary = err;
63
+ }
64
+ if (!this.err.includes(err)) {
65
+ this.err.push(err);
66
+ }
67
+ if (null == err.msg || '' == err.msg) {
68
+ (0, err_1.descErr)(err, this);
69
+ }
70
+ }
71
+ }
72
+ errmsg() {
73
+ // return this.errlist
74
+ return this.err
75
+ .map((err) => err?.msg)
76
+ .filter(msg => null != msg)
77
+ .join('\n------\n');
78
+ }
79
+ find(path) {
80
+ let node = this.root;
81
+ let pI = 0;
82
+ for (; pI < path.length; pI++) {
83
+ let part = path[pI];
84
+ if (node instanceof MapVal_1.MapVal) {
85
+ node = node.peg[part];
86
+ }
87
+ else if (node instanceof ListVal_1.ListVal) {
88
+ node = node.peg[part];
89
+ }
90
+ else {
91
+ break;
92
+ }
93
+ }
94
+ if (pI < path.length) {
95
+ node = undefined;
96
+ }
97
+ return node;
98
+ }
99
+ get pathstr() {
100
+ return this._pathstr ??
101
+ (this._pathstr = this.path.map(p => p.replaceAll('.', '\\.')).join('.'));
102
+ }
103
+ }
104
+ exports.AontuContext = AontuContext;
105
+ //# sourceMappingURL=ctx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ctx.js","sourceRoot":"","sources":["../src/ctx.ts"],"names":[],"mappings":"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"}
package/dist/err.d.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { Val, ErrContext } from './type';
2
+ import { AontuContext } from './ctx';
3
+ import { NilVal } from './val/NilVal';
4
+ declare function getHint(why: any): string | undefined;
5
+ declare function makeNilErr(ctx?: AontuContext, why?: any, av?: Val, bv?: Val, attempt?: string): NilVal;
6
+ declare function descErr<NILS extends NilVal | NilVal[]>(err: NILS | any, errctx?: ErrContext): any;
7
+ declare class AontuError extends Error {
8
+ aontu: boolean;
9
+ constructor(msg: string, errs?: NilVal[]);
10
+ errs: () => NilVal[];
11
+ }
12
+ export { getHint, makeNilErr, descErr, AontuError, };
package/dist/err.js ADDED
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AontuError = void 0;
5
+ exports.getHint = getHint;
6
+ exports.makeNilErr = makeNilErr;
7
+ exports.descErr = descErr;
8
+ const jsonic_1 = require("jsonic");
9
+ const NilVal_1 = require("./val/NilVal");
10
+ const hints_1 = require("./hints");
11
+ const { errmsg } = jsonic_1.util;
12
+ function getHint(why) {
13
+ if (hints_1.hints[why]) {
14
+ return hints_1.hints[why];
15
+ }
16
+ return undefined;
17
+ }
18
+ function makeNilErr(ctx, why, av, bv, attempt) {
19
+ const nilval = NilVal_1.NilVal.make(ctx, why, av, bv, attempt);
20
+ return nilval;
21
+ }
22
+ // TODO: move to utility?
23
+ function descErr(err, errctx) {
24
+ if (err?.isNil) {
25
+ if (null == err.msg || '' === err.msg) {
26
+ let v1 = err.primary;
27
+ let v2 = err.secondary;
28
+ let v1src = resolveSrc(v1, errctx);
29
+ let v2src = resolveSrc(v2, errctx);
30
+ let path = ['$', ...err.path].filter((p) => null != p && '' != p);
31
+ let valpath = (0 < path.length ? path.join('.') : '');
32
+ let attempt = null != err.attempt ? err.attempt : (null == v2 ? 'resolve' : 'unify');
33
+ err.msg = [
34
+ errmsg({
35
+ color: { active: true },
36
+ name: 'aontu',
37
+ code: err.why,
38
+ txts: {
39
+ msg: 'Cannot ' +
40
+ attempt +
41
+ ' value' + (null == v2 ? '' : 's') +
42
+ ' at path ' + valpath,
43
+ hint: getHint(err.why)
44
+ }
45
+ }),
46
+ '\n',
47
+ (null != v1 && errmsg({
48
+ // TODO: color should come from jsonic config
49
+ color: { active: true, line: '\x1b[34m' },
50
+ txts: {
51
+ msg: 'Cannot ' + attempt + ' value: ' + v1.canon +
52
+ (null == v2 ? '' : ' with value: ' + v2.canon), // + ' #' + err.id,
53
+ site: ''
54
+ },
55
+ smsg: 'value was: ' + v1.canon,
56
+ file: resolveFile(v1.site.url),
57
+ src: v1src,
58
+ row: v1.site.row,
59
+ col: v1.site.col,
60
+ })),
61
+ (null != v2 && errmsg({
62
+ // TODO: color should come from jsonic config
63
+ color: { active: true, line: '\x1b[34m' },
64
+ txts: {
65
+ msg: 'Cannot ' + attempt + ' value: ' + v2.canon +
66
+ ' with value: ' + v1.canon, // + ' #' + err.id,
67
+ site: ''
68
+ },
69
+ smsg: 'value was: ' + v2.canon,
70
+ file: resolveFile(v2.site.url),
71
+ src: v2src,
72
+ row: v2.site.row,
73
+ col: v2.site.col,
74
+ })),
75
+ ]
76
+ .filter((n) => null != n && false !== n)
77
+ .join('\n')
78
+ // TODO: update jsonic errmsg to avoid multiple empty lines
79
+ .replace(/\n\n/g, '\n');
80
+ }
81
+ return err;
82
+ }
83
+ else {
84
+ return err.map((n) => descErr(n, errctx));
85
+ }
86
+ }
87
+ function resolveFile(url) {
88
+ const cwd = process.cwd();
89
+ let out = url?.replace(cwd + '/', '') ?? '<no-file>';
90
+ out = out === cwd || '' === out ? '<no-file>' : out;
91
+ return out;
92
+ }
93
+ function resolveSrc(v, errctx) {
94
+ let src = undefined;
95
+ if (null != v?.site.url) {
96
+ try {
97
+ const fileExists = errctx?.fs?.existsSync(v.site.url);
98
+ if (fileExists) {
99
+ src = errctx?.fs?.readFileSync(v.site.url, 'utf8') ?? undefined;
100
+ }
101
+ }
102
+ catch (fe) {
103
+ // ignore as more important to report original error
104
+ }
105
+ }
106
+ if (errctx && (undefined == src || '' === src)) {
107
+ src = errctx.src ?? '';
108
+ }
109
+ return src;
110
+ }
111
+ class AontuError extends Error {
112
+ constructor(msg, errs) {
113
+ super(msg);
114
+ this.aontu = true;
115
+ this.name = this.constructor.name;
116
+ this.errs = () => errs ?? [];
117
+ this.stack = this.stack?.split('\n')
118
+ .filter(line => !line.match(/aontu\/(src|dist)\//))
119
+ .join('\n');
120
+ }
121
+ }
122
+ exports.AontuError = AontuError;
123
+ //# sourceMappingURL=err.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"err.js","sourceRoot":"","sources":["../src/err.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Error code hints for Aontu unification errors.
3
+ *
4
+ * Each key is an error code that can be passed to makeNilErr.
5
+ * Each value is a human-readable explanation of what the error means.
6
+ */
7
+ declare const hints: Record<string, string>;
8
+ export { hints, };