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/aontu.ts DELETED
@@ -1,92 +0,0 @@
1
- /* Copyright (c) 2021-2024 Richard Rodger, MIT License */
2
-
3
- import type { Val, Options, FST } from './lib/type'
4
-
5
- import { Lang } from './lib/lang'
6
- import { Unify, Context } from './lib/unify'
7
- import { Nil } from './lib/val/Nil'
8
- import { MapVal } from './lib/val/MapVal'
9
- import { descErr } from './lib/err'
10
-
11
- // TODO: BUG: foo: { bar: {} } zed: {} puts zed a wrong level
12
-
13
- // TODO: exclude tests from dist!!!
14
- // TODO: propogate property path and url properly over unification, and multisource
15
-
16
- /*
17
- NEXT:
18
- inject path from multisource into Vals when created
19
- report via nil error
20
- also trace deps into top val and watch via model
21
- */
22
-
23
- // TODO: error reporting
24
-
25
- // TODO: debug tracing
26
- // TODO: providers - e.g source files from paths
27
-
28
- // TODO: Aontu should return final generated version?
29
-
30
- /* `Aontu('a:1') => opts={src:'a:1',print:0,...}`
31
- * `Aontu('a:1',{print:1}) => opts={src:'a:1',print:1,...}`
32
- * `Aontu({src:'a:1'},{src:'a:2'}) => opts={src:'a:2',print:0,...}`
33
- */
34
- function Aontu(src: string | Partial<Options>, popts?: Partial<Options>): Val {
35
- // TODO: review: why is an undefined src allowed?
36
-
37
- let opts = prepareOptions(src, popts)
38
-
39
- let deps = {}
40
-
41
- // TODO: handle empty src
42
- let val = parse(opts, { deps })
43
-
44
- if (null == val) {
45
- val = new MapVal({ peg: {} })
46
- }
47
-
48
- let uni = new Unify(val as unknown as Val)
49
- let res = uni.res
50
- let err = uni.err
51
-
52
- descErr(uni.err, { src: opts.src, fs: opts.fs })
53
-
54
- res.deps = deps
55
- res.err = err
56
-
57
- return res
58
- }
59
-
60
- function prepareOptions(
61
- src: string | Partial<Options>,
62
- popts?: Partial<Options>,
63
- ): Options {
64
- // Convert convenience first param into Options.src
65
- let srcopts: Partial<Options> = 'string' === typeof src ? { src } : src
66
-
67
- let opts: Options = {
68
- ...{
69
- src: '',
70
- print: 0,
71
- },
72
- ...srcopts,
73
- ...(popts || {}),
74
- }
75
-
76
- return opts
77
- }
78
-
79
- function parse(opts: Options, ctx: { deps: any; fs?: FST }): Val {
80
- let lang = new Lang(opts)
81
- let val = lang.parse(opts.src, { deps: ctx.deps })
82
- return val
83
- }
84
-
85
- const util = {
86
- parse,
87
- options: prepareOptions,
88
- }
89
-
90
- export { Aontu, Val, Nil, Lang, Context, parse, util }
91
-
92
- export default Aontu
package/dist/lib/err.d.ts DELETED
@@ -1,4 +0,0 @@
1
- import { ErrContext } from './type';
2
- import { Nil } from './val/Nil';
3
- declare function descErr<NILS extends Nil | Nil[]>(err: NILS | any, errctx?: ErrContext): any;
4
- export { descErr };
package/dist/lib/err.js DELETED
@@ -1,61 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2025 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.descErr = descErr;
5
- const jsonic_1 = require("jsonic");
6
- const { errmsg } = jsonic_1.util;
7
- // TODO: move to utility?
8
- function descErr(err, errctx) {
9
- var _a, _b, _c;
10
- if (err === null || err === void 0 ? void 0 : err.isNil) {
11
- // console.trace()
12
- if (null == err.msg || '' === err.msg) {
13
- let v1 = err.primary;
14
- let v2 = err.secondary;
15
- let v1src = resolveSrc(v1, errctx);
16
- let v2src = resolveSrc(v2, errctx);
17
- let valpath = (0 < ((_a = err.path) === null || _a === void 0 ? void 0 : _a.length) ? err.path.join('.') : '');
18
- let attempt = (null == v2 ? 'resolve' : 'unify');
19
- err.msg = [
20
- errmsg({
21
- color: true,
22
- name: 'aontu',
23
- code: err.why,
24
- msg: 'Cannot ' +
25
- attempt +
26
- ' path $.' + valpath + ' value' + (null == v2 ? '' : 's'),
27
- }),
28
- (null != v1 && errmsg({
29
- color: true,
30
- msg: 'Cannot ' + attempt + ' value: ' + v1.canon +
31
- (null == v2 ? '' : ' with value: ' + v2.canon),
32
- smsg: 'value was: ' + v1.canon,
33
- file: (_b = v1.url) === null || _b === void 0 ? void 0 : _b.replace(process.cwd() + '/', ''),
34
- src: v1src,
35
- row: v1.row,
36
- col: v1.col,
37
- })),
38
- (null != v2 && errmsg({
39
- color: true,
40
- msg: 'Cannot ' + attempt + ' value: ' + v2.canon + ' with value: ' + v1.canon,
41
- smsg: 'value was: ' + v2.canon,
42
- file: (_c = v2.url) === null || _c === void 0 ? void 0 : _c.replace(process.cwd() + '/', ''),
43
- src: v2src,
44
- row: v2.row,
45
- col: v2.col,
46
- })),
47
- ].filter(n => null != n && false !== n).join('\n');
48
- }
49
- return err;
50
- }
51
- else {
52
- return err.map((n) => descErr(n, errctx));
53
- }
54
- }
55
- function resolveSrc(v, errctx) {
56
- var _a;
57
- let src = null == v || null == v.url ? errctx === null || errctx === void 0 ? void 0 : errctx.src :
58
- ((_a = errctx === null || errctx === void 0 ? void 0 : errctx.fs) === null || _a === void 0 ? void 0 : _a.existsSync(v.url)) ? errctx.fs.readFileSync(v.url, 'utf8') : '';
59
- return src;
60
- }
61
- //# sourceMappingURL=err.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"err.js","sourceRoot":"","sources":["../../lib/err.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import { Jsonic } from 'jsonic';
2
- import type { Val, Options } from './type';
3
- declare class Site {
4
- row: number;
5
- col: number;
6
- url: string;
7
- constructor(val: Val);
8
- }
9
- declare class Lang {
10
- jsonic: Jsonic;
11
- options: Options;
12
- constructor(options?: Partial<Options>);
13
- parse(src: string, opts?: Partial<Options>): Val;
14
- }
15
- export { Lang, Site, };
package/dist/lib/lang.js DELETED
@@ -1,409 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Site = exports.Lang = void 0;
5
- const jsonic_1 = require("jsonic");
6
- const debug_1 = require("jsonic/debug");
7
- const multisource_1 = require("@jsonic/multisource");
8
- const file_1 = require("@jsonic/multisource/resolver/file");
9
- const pkg_1 = require("@jsonic/multisource/resolver/pkg");
10
- const mem_1 = require("@jsonic/multisource/resolver/mem");
11
- const expr_1 = require("@jsonic/expr");
12
- const path_1 = require("@jsonic/path");
13
- const DisjunctVal_1 = require("./val/DisjunctVal");
14
- const ConjunctVal_1 = require("./val/ConjunctVal");
15
- const ListVal_1 = require("./val/ListVal");
16
- const MapVal_1 = require("./val/MapVal");
17
- const Nil_1 = require("./val/Nil");
18
- const PrefVal_1 = require("./val/PrefVal");
19
- const RefVal_1 = require("./val/RefVal");
20
- const VarVal_1 = require("./val/VarVal");
21
- const PlusVal_1 = require("./val/PlusVal");
22
- const NullVal_1 = require("./val/NullVal");
23
- const val_1 = require("./val");
24
- class Site {
25
- // static NONE = new Site(TOP)
26
- constructor(val) {
27
- this.row = -1;
28
- this.col = -1;
29
- this.url = '';
30
- // TODO: logic to select most meaningful site if val has no site,
31
- // but has peg children that do.
32
- this.row = val.row;
33
- this.col = val.col;
34
- this.url = val.url;
35
- }
36
- }
37
- exports.Site = Site;
38
- let AontuJsonic = function aontu(jsonic) {
39
- jsonic.use(path_1.Path);
40
- // TODO: refactor Val constructor
41
- // let addsite = (v: Val, p: string[]) => (v.path = [...(p || [])], v)
42
- let addsite = (v, r, ctx) => {
43
- v.row = null == r.o0 ? -1 : r.o0.rI;
44
- v.col = null == r.o0 ? -1 : r.o0.cI;
45
- v.url = ctx.meta.multisource ? ctx.meta.multisource.path : '';
46
- v.path = r.k ? [...(r.k.path || [])] : [];
47
- return v;
48
- };
49
- jsonic.options({
50
- value: {
51
- def: {
52
- // NOTE: specify with functions as jsonic/deep will
53
- // remove class prototype as options are assumed plain
54
- // (except for functions).
55
- // TODO: jsonic should be able to pass context into these
56
- 'string': {
57
- val: (r, ctx) => addsite(new val_1.ScalarTypeVal({ peg: String }), r, ctx)
58
- },
59
- 'number': {
60
- val: (r, ctx) => addsite(new val_1.ScalarTypeVal({ peg: Number }), r, ctx)
61
- },
62
- 'integer': {
63
- val: (r, ctx) => addsite(new val_1.ScalarTypeVal({ peg: val_1.Integer }), r, ctx)
64
- },
65
- 'boolean': {
66
- val: (r, ctx) => addsite(new val_1.ScalarTypeVal({ peg: Boolean }), r, ctx)
67
- },
68
- 'nil': {
69
- val: (r, ctx) => addsite(new Nil_1.Nil('literal'), r, ctx)
70
- },
71
- // TODO: FIX: need a TOP instance to hold path
72
- 'top': { val: () => val_1.TOP },
73
- }
74
- },
75
- map: {
76
- merge: (prev, curr, _r, ctx) => {
77
- let pval = prev;
78
- let cval = curr;
79
- if ((pval === null || pval === void 0 ? void 0 : pval.isVal) && (cval === null || cval === void 0 ? void 0 : cval.isVal)) {
80
- // TODO: test multi element conjuncts work
81
- if (pval instanceof ConjunctVal_1.ConjunctVal && cval instanceof ConjunctVal_1.ConjunctVal) {
82
- pval.append(cval);
83
- return pval;
84
- }
85
- else if (pval instanceof ConjunctVal_1.ConjunctVal) {
86
- pval.append(cval);
87
- return pval;
88
- }
89
- // else if (cval instanceof ConjunctVal) {
90
- // cval.append(pval)
91
- // return cval
92
- // }
93
- else {
94
- return addsite(new ConjunctVal_1.ConjunctVal({ peg: [pval, cval] }), prev, ctx);
95
- }
96
- }
97
- // Handle defered conjuncts, where MapVal does not yet
98
- // exist, by creating ConjunctVal later.
99
- else {
100
- prev.___merge = (prev.___merge || []);
101
- prev.___merge.push(curr);
102
- return prev;
103
- }
104
- }
105
- }
106
- });
107
- let opmap = {
108
- 'conjunct-infix': (r, ctx, _op, terms) => addsite(new ConjunctVal_1.ConjunctVal({ peg: terms }), r, ctx),
109
- 'disjunct-infix': (r, ctx, _op, terms) => addsite(new DisjunctVal_1.DisjunctVal({ peg: terms }), r, ctx),
110
- 'dot-prefix': (r, ctx, _op, terms) => {
111
- return addsite(new RefVal_1.RefVal({ peg: terms, prefix: true }), r, ctx);
112
- },
113
- 'dot-infix': (r, ctx, _op, terms) => {
114
- return addsite(new RefVal_1.RefVal({ peg: terms }), r, ctx);
115
- },
116
- 'star-prefix': (r, ctx, _op, terms) => addsite(new PrefVal_1.PrefVal({ peg: terms[0] }), r, ctx),
117
- 'dollar-prefix': (r, ctx, _op, terms) => {
118
- // $.a.b absolute path
119
- if (terms[0] instanceof RefVal_1.RefVal) {
120
- terms[0].absolute = true;
121
- return terms[0];
122
- }
123
- return addsite(new VarVal_1.VarVal({ peg: terms[0] }), r, ctx);
124
- },
125
- 'plus-infix': (r, ctx, _op, terms) => {
126
- return addsite(new PlusVal_1.PlusVal({ peg: [terms[0], terms[1]] }), r, ctx);
127
- },
128
- 'negative-prefix': (r, ctx, _op, terms) => {
129
- let val = terms[0];
130
- val.peg = -1 * val.peg;
131
- return addsite(val, r, ctx);
132
- },
133
- 'positive-prefix': (r, ctx, _op, terms) => {
134
- let val = terms[0];
135
- return addsite(val, r, ctx);
136
- },
137
- 'plain-paren': (r, ctx, _op, terms) => {
138
- let val = terms[0];
139
- return addsite(val, r, ctx);
140
- },
141
- };
142
- jsonic
143
- .use(expr_1.Expr, {
144
- op: {
145
- // disjunct > conjunct: c & b | a -> c & (b | a)
146
- 'conjunct': {
147
- infix: true, src: '&', left: 14000000, right: 15000000
148
- },
149
- 'disjunct': {
150
- infix: true, src: '|', left: 16000000, right: 17000000
151
- },
152
- 'plus-infix': {
153
- src: '+',
154
- infix: true,
155
- left: 20000000,
156
- right: 21000000,
157
- },
158
- 'dollar-prefix': {
159
- src: '$',
160
- prefix: true,
161
- right: 31000000,
162
- },
163
- 'dot-infix': {
164
- src: '.',
165
- infix: true,
166
- left: 25000000,
167
- right: 24000000,
168
- },
169
- 'dot-prefix': {
170
- src: '.',
171
- prefix: true,
172
- right: 24000000,
173
- },
174
- 'star': {
175
- src: '*',
176
- prefix: true,
177
- right: 24000000,
178
- },
179
- addition: null,
180
- subtraction: null,
181
- multiplication: null,
182
- division: null,
183
- remainder: null,
184
- },
185
- evaluate: (r, ctx, op, terms) => {
186
- // console.log('EVAL', op.name, terms)
187
- let val = opmap[op.name](r, ctx, op, terms);
188
- return val;
189
- }
190
- });
191
- let CJ = jsonic.token['#E&'];
192
- let CL = jsonic.token.CL;
193
- jsonic.rule('val', (rs) => {
194
- rs
195
- .open([{ s: [CJ, CL], p: 'map', b: 2, n: { pk: 1 }, g: 'spread' }])
196
- .bc((r, ctx) => {
197
- let valnode = r.node;
198
- let valtype = typeof valnode;
199
- if ('string' === valtype) {
200
- valnode = addsite(new val_1.StringVal({ peg: r.node }), r, ctx);
201
- }
202
- else if ('number' === valtype) {
203
- if (Number.isInteger(r.node)) {
204
- valnode = addsite(new val_1.IntegerVal({ peg: r.node }), r, ctx);
205
- }
206
- else {
207
- valnode = addsite(new val_1.NumberVal({ peg: r.node }), r, ctx);
208
- }
209
- }
210
- else if ('boolean' === valtype) {
211
- valnode = addsite(new val_1.BooleanVal({ peg: r.node }), r, ctx);
212
- }
213
- else if (null === valnode) {
214
- valnode = addsite(new NullVal_1.NullVal({ peg: r.node }), r, ctx);
215
- }
216
- if (null != valnode && 'object' === typeof valnode) {
217
- let st = r.o0;
218
- valnode.row = st.rI;
219
- valnode.col = st.cI;
220
- valnode.url = ctx.meta.multisource && ctx.meta.multisource.path;
221
- }
222
- // else { ERROR? }
223
- r.node = valnode;
224
- return undefined;
225
- })
226
- .close([{ s: [CJ, CL], b: 2, g: 'spread,json,more' }]);
227
- return rs;
228
- });
229
- jsonic.rule('map', (rs) => {
230
- rs
231
- .open([{ s: [CJ, CL], p: 'pair', b: 2, g: 'spread' }])
232
- .bc((r, ctx) => {
233
- let mo = r.node;
234
- // Handle defered conjuncts, e.g. `{x:1 @"foo"}`
235
- if (mo.___merge) {
236
- let mop = { ...mo };
237
- delete mop.___merge;
238
- // TODO: needs addpath?
239
- let mopv = new MapVal_1.MapVal({ peg: mop });
240
- r.node =
241
- addsite(new ConjunctVal_1.ConjunctVal({ peg: [mopv, ...mo.___merge] }), r, ctx);
242
- }
243
- else {
244
- r.node = addsite(new MapVal_1.MapVal({ peg: mo }), r, ctx);
245
- }
246
- return undefined;
247
- })
248
- .close([{ s: [CJ, CL], b: 2, g: 'spread,json,more' }]);
249
- return rs;
250
- });
251
- jsonic.rule('list', (rs) => {
252
- rs.bc((r, ctx) => {
253
- r.node = addsite(new ListVal_1.ListVal({ peg: r.node }), r, ctx);
254
- return undefined;
255
- });
256
- return rs;
257
- });
258
- jsonic.rule('pair', (rs) => {
259
- rs
260
- .open([{
261
- s: [CJ, CL], p: 'val',
262
- u: { spread: true },
263
- g: 'spread'
264
- }])
265
- // NOTE: manually adjust path - @jsonic/path ignores as not pair:true
266
- .ao((r) => {
267
- if (0 < r.d && r.u.spread) {
268
- r.child.k.path = [...r.k.path, '&'];
269
- r.child.k.key = '&';
270
- }
271
- })
272
- .bc((rule) => {
273
- // TRAVERSE PARENTS TO GET PATH
274
- if (rule.u.spread) {
275
- rule.node[MapVal_1.MapVal.SPREAD] =
276
- (rule.node[MapVal_1.MapVal.SPREAD] || { o: rule.o0.src, v: [] });
277
- rule.node[MapVal_1.MapVal.SPREAD].v.push(rule.child.node);
278
- }
279
- return undefined;
280
- })
281
- .close([
282
- { s: [CJ, CL], c: (r) => r.lte('dmap', 1), r: 'pair', b: 2, g: 'spread,json,pair' },
283
- { s: [CJ, CL], b: 2, g: 'spread,json,more' }
284
- ]);
285
- return rs;
286
- });
287
- jsonic.rule('elem', (rs) => {
288
- rs
289
- // PPP
290
- .open([{ s: [CJ, CL], p: 'val', u: { spread: true }, n: { pk: 1 }, g: 'spread' }])
291
- .bc((rule) => {
292
- // TRAVERSE PARENTS TO GET PATH
293
- if (rule.u.spread) {
294
- rule.node[ListVal_1.ListVal.SPREAD] =
295
- (rule.node[ListVal_1.ListVal.SPREAD] || { o: rule.o0.src, v: [] });
296
- rule.node[ListVal_1.ListVal.SPREAD].v.push(rule.child.node);
297
- }
298
- return undefined;
299
- })
300
- .close([{ s: [CJ, CL], r: 'elem', b: 2, g: 'spread,json,more' }]);
301
- return rs;
302
- });
303
- };
304
- // const includeFileResolver = makeFileResolver((spec: any) => {
305
- // return 'string' === typeof spec ? spec : spec?.peg
306
- // })
307
- function makeModelResolver(options) {
308
- var _a, _b;
309
- const useRequire = options.require || require;
310
- let memResolver = (0, mem_1.makeMemResolver)({
311
- ...(((_a = options.resolver) === null || _a === void 0 ? void 0 : _a.mem) || {})
312
- });
313
- // let fileResolver = makeFileResolver({
314
- // ...(options.resolver?.file || {})
315
- // })
316
- // TODO: make this consistent with other resolvers
317
- let fileResolver = (0, file_1.makeFileResolver)((spec) => {
318
- return 'string' === typeof spec ? spec : spec === null || spec === void 0 ? void 0 : spec.peg;
319
- });
320
- let pkgResolver = (0, pkg_1.makePkgResolver)({
321
- require: useRequire,
322
- ...(((_b = options.resolver) === null || _b === void 0 ? void 0 : _b.pkg) || {})
323
- });
324
- return function ModelResolver(spec, popts, rule, ctx, jsonic) {
325
- let path = 'string' === typeof spec ? spec : spec === null || spec === void 0 ? void 0 : spec.peg;
326
- let search = [];
327
- let res = memResolver(path, popts, rule, ctx, jsonic);
328
- res.path = path;
329
- if (res.found) {
330
- return res;
331
- }
332
- search = search.concat(res.search);
333
- res = fileResolver(path, popts, rule, ctx, jsonic);
334
- res.path = path;
335
- if (res.found) {
336
- return res;
337
- }
338
- search = search.concat(res.search);
339
- res = pkgResolver(path, popts, rule, ctx, jsonic);
340
- res.path = path;
341
- if (res.found) {
342
- return res;
343
- }
344
- res.search = search.concat(res.search);
345
- return res;
346
- };
347
- }
348
- class Lang {
349
- constructor(options) {
350
- this.options = {
351
- src: '',
352
- print: -1,
353
- debug: false,
354
- trace: false,
355
- };
356
- this.options = Object.assign({}, this.options, options);
357
- const modelResolver = makeModelResolver(this.options);
358
- this.jsonic = jsonic_1.Jsonic.make();
359
- if (this.options.debug) {
360
- this.jsonic.use(debug_1.Debug, {
361
- trace: this.options.trace
362
- });
363
- }
364
- this.jsonic
365
- .use(AontuJsonic)
366
- .use(multisource_1.MultiSource, {
367
- // resolver: options?.resolver || includeFileResolver
368
- resolver: (options === null || options === void 0 ? void 0 : options.resolver) || modelResolver
369
- });
370
- }
371
- parse(src, opts) {
372
- // JSONIC-UPDATE - check meta
373
- let jm = {
374
- fs: opts === null || opts === void 0 ? void 0 : opts.fs,
375
- fileName: this.options.path,
376
- multisource: {
377
- path: this.options.path,
378
- deps: (opts && opts.deps) || undefined
379
- }
380
- };
381
- // Pass through Jsonic debug log value
382
- if (opts && null != opts.log && Number.isInteger(opts.log)) {
383
- jm.log = opts.log;
384
- }
385
- // jm.log = -1
386
- let val;
387
- try {
388
- val = this.jsonic(src, jm);
389
- }
390
- catch (e) {
391
- if (e instanceof jsonic_1.JsonicError || 'JsonicError' === e.constructor.name) {
392
- val = new Nil_1.Nil({
393
- why: 'parse',
394
- err: new Nil_1.Nil({
395
- why: 'syntax',
396
- msg: e.message,
397
- err: e,
398
- })
399
- });
400
- }
401
- else {
402
- throw e;
403
- }
404
- }
405
- return val;
406
- }
407
- }
408
- exports.Lang = Lang;
409
- //# sourceMappingURL=lang.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lang.js","sourceRoot":"","sources":["../../lib/lang.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Operation } from './op';
2
- declare const disjunct: Operation;
3
- export { disjunct };
@@ -1,28 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.disjunct = void 0;
5
- const DisjunctVal_1 = require("../val/DisjunctVal");
6
- const ValBase_1 = require("../val/ValBase");
7
- const disjunct = (ctx, a, b) => {
8
- let peers = [];
9
- let origsites = [];
10
- // origsites.push(append(peers, a))
11
- // origsites.push(append(peers, b))
12
- let out = new DisjunctVal_1.DisjunctVal({ peg: peers }, ctx, origsites);
13
- return out;
14
- };
15
- exports.disjunct = disjunct;
16
- function append(peers, v) {
17
- // let origsite: Site = Site.NONE
18
- if (v.isDisjunctVal) {
19
- peers.push(...v.peg);
20
- // origsite = v.site
21
- }
22
- // TODO: handle no-error Nil (drop) and error Nil (keep and become)
23
- else if (v instanceof ValBase_1.ValBase) {
24
- peers.push(v);
25
- }
26
- // return origsite
27
- }
28
- //# sourceMappingURL=disjunct.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"disjunct.js","sourceRoot":"","sources":["../../../lib/op/disjunct.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,oDAAgD;AAOhD,4CAAwC;AAIxC,MAAM,QAAQ,GAAc,CAAC,GAAa,EAAE,CAAO,EAAE,CAAO,EAAE,EAAE;IAC9D,IAAI,KAAK,GAAU,EAAE,CAAA;IACrB,IAAI,SAAS,GAAW,EAAE,CAAA;IAC1B,mCAAmC;IACnC,mCAAmC;IACnC,IAAI,GAAG,GAAG,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,CAAA;IACzD,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAoBC,4BAAQ;AAjBV,SAAS,MAAM,CAAC,KAAY,EAAE,CAAO;IACnC,iCAAiC;IAEjC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;QACpB,oBAAoB;IACtB,CAAC;IAED,mEAAmE;SAC9D,IAAI,CAAC,YAAY,iBAAO,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IAED,kBAAkB;AACpB,CAAC"}
@@ -1,6 +0,0 @@
1
- import { Context } from '../unify';
2
- import { Val } from '../type';
3
- import { disjunct } from './disjunct';
4
- import { unite } from './unite';
5
- type Operation = (ctx: Context, a?: Val, b?: Val, whence?: string) => Val;
6
- export { Operation, disjunct, unite, };