aontu 0.3.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/aontu.ts +3 -2
  2. package/dist/aontu.d.ts +2 -2
  3. package/dist/aontu.js +3 -4
  4. package/dist/aontu.js.map +1 -1
  5. package/dist/aontu.min.js +1 -63
  6. package/dist/lib/lang.d.ts +1 -3
  7. package/dist/lib/lang.js +47 -30
  8. package/dist/lib/lang.js.map +1 -1
  9. package/dist/lib/op/disjunct.js +10 -10
  10. package/dist/lib/op/disjunct.js.map +1 -1
  11. package/dist/lib/op/op.d.ts +1 -1
  12. package/dist/lib/op/op.js.map +1 -1
  13. package/dist/lib/op/unite.js +19 -14
  14. package/dist/lib/op/unite.js.map +1 -1
  15. package/dist/lib/type.d.ts +33 -22
  16. package/dist/lib/type.js +22 -76
  17. package/dist/lib/type.js.map +1 -1
  18. package/dist/lib/unify.d.ts +4 -1
  19. package/dist/lib/unify.js +7 -5
  20. package/dist/lib/unify.js.map +1 -1
  21. package/dist/lib/val/ConjunctVal.d.ts +12 -0
  22. package/dist/lib/val/ConjunctVal.js +191 -0
  23. package/dist/lib/val/ConjunctVal.js.map +1 -0
  24. package/dist/lib/val/DisjunctVal.d.ts +12 -0
  25. package/dist/lib/val/DisjunctVal.js +85 -0
  26. package/dist/lib/val/DisjunctVal.js.map +1 -0
  27. package/dist/lib/val/ListVal.d.ts +14 -0
  28. package/dist/lib/val/ListVal.js +91 -0
  29. package/dist/lib/val/ListVal.js.map +1 -0
  30. package/dist/lib/val/MapVal.d.ts +14 -0
  31. package/dist/lib/val/MapVal.js +141 -0
  32. package/dist/lib/val/MapVal.js.map +1 -0
  33. package/dist/lib/val/Nil.d.ts +15 -0
  34. package/dist/lib/val/Nil.js +54 -0
  35. package/dist/lib/val/Nil.js.map +1 -0
  36. package/dist/lib/val/PrefVal.d.ts +12 -0
  37. package/dist/lib/val/PrefVal.js +60 -0
  38. package/dist/lib/val/PrefVal.js.map +1 -0
  39. package/dist/lib/val/RefVal.d.ts +15 -0
  40. package/dist/lib/val/RefVal.js +73 -0
  41. package/dist/lib/val/RefVal.js.map +1 -0
  42. package/dist/lib/val/ValBase.d.ts +22 -0
  43. package/dist/lib/val/ValBase.js +25 -0
  44. package/dist/lib/val/ValBase.js.map +1 -0
  45. package/dist/lib/val.d.ts +5 -90
  46. package/dist/lib/val.js +13 -593
  47. package/dist/lib/val.js.map +1 -1
  48. package/lib/lang.ts +77 -59
  49. package/lib/op/disjunct.ts +14 -8
  50. package/lib/op/op.ts +2 -1
  51. package/lib/op/unite.ts +14 -12
  52. package/lib/type.ts +104 -0
  53. package/lib/unify.ts +10 -8
  54. package/lib/val/ConjunctVal.ts +284 -0
  55. package/lib/val/DisjunctVal.ts +145 -0
  56. package/lib/val/ListVal.ts +154 -0
  57. package/lib/val/MapVal.ts +226 -0
  58. package/lib/val/Nil.ts +94 -0
  59. package/lib/val/PrefVal.ts +113 -0
  60. package/lib/val/RefVal.ts +126 -0
  61. package/lib/val/RefVal.ts~ +319 -0
  62. package/lib/val/ValBase.ts +76 -0
  63. package/lib/val.ts +15 -802
  64. package/package.json +27 -23
  65. package/lib/common.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"val.js","sourceRoot":"","sources":["../../lib/val.ts"],"names":[],"mappings":"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"}
package/lib/lang.ts CHANGED
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2021 Richard Rodger, MIT License */
1
+ /* Copyright (c) 2021-2022 Richard Rodger, MIT License */
2
2
 
3
3
  import {
4
4
  Jsonic,
@@ -26,36 +26,43 @@ import {
26
26
  } from '@jsonic/path'
27
27
 
28
28
 
29
+ import type {
30
+ Val,
31
+ Options,
32
+ } from './type'
29
33
 
30
34
  import {
31
- Options
32
- } from './common'
35
+ TOP
36
+ } from './type'
37
+
38
+ import { ConjunctVal } from './val/ConjunctVal'
39
+ import { DisjunctVal } from './val/DisjunctVal'
40
+ import { MapVal } from './val/MapVal'
41
+ import { ListVal } from './val/ListVal'
42
+ import { PrefVal } from './val/PrefVal'
43
+ import { RefVal } from './val/RefVal'
44
+ import { Nil } from './val/Nil'
45
+
33
46
 
34
47
  import {
35
- Val,
36
- Nil,
37
- TOP,
38
- MapVal,
39
- ListVal,
40
48
  ScalarTypeVal,
41
49
  Integer,
42
50
  StringVal,
43
51
  NumberVal,
44
52
  IntegerVal,
45
53
  BooleanVal,
46
- DisjunctVal,
47
- ConjunctVal,
48
- RefVal,
49
- PrefVal,
50
54
  } from './val'
51
55
 
52
56
 
57
+
58
+ // console.log('TOP', TOP)
59
+
53
60
  class Site {
54
61
  row: number = -1
55
62
  col: number = -1
56
63
  url: string = ''
57
64
 
58
- static NONE = new Site(TOP)
65
+ // static NONE = new Site(TOP)
59
66
 
60
67
  constructor(val: Val) {
61
68
  // TODO: logic to select most meaningful site if val has no site,
@@ -182,45 +189,43 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
182
189
 
183
190
  jsonic.rule('val', (rs: RuleSpec) => {
184
191
 
185
- // TODO: wrap utility needed for jsonic to do this?
186
- // let orig_bc: any = rs.def.bc
187
- // rs.def.bc = function(rule: Rule, ctx: Context) {
188
- // let out = orig_bc.call(this, rule, ctx)
192
+ rs
193
+ .open([{ s: [CJ, CL], p: 'map', b: 2, g: 'spread' }])
189
194
 
190
- rs.bc(false, (r: Rule, ctx: Context) => {
195
+ .bc((r: Rule, ctx: Context) => {
191
196
 
192
- let valnode: Val = r.node
193
- let valtype = typeof valnode
197
+ let valnode: Val = r.node
198
+ let valtype = typeof valnode
194
199
 
195
- // console.log('VAL RULE', rule.use, rule.node)
200
+ // console.log('VAL RULE', valtype, r.use, r.node)
196
201
 
197
- if ('string' === valtype) {
198
- valnode = addpath(new StringVal(r.node), r.keep.path)
199
- }
200
- else if ('number' === valtype) {
201
- if (Number.isInteger(r.node)) {
202
- valnode = addpath(new IntegerVal(r.node), r.keep.path)
202
+ if ('string' === valtype) {
203
+ valnode = addpath(new StringVal(r.node), r.keep.path)
203
204
  }
204
- else {
205
- valnode = addpath(new NumberVal(r.node), r.keep.path)
205
+ else if ('number' === valtype) {
206
+ if (Number.isInteger(r.node)) {
207
+ valnode = addpath(new IntegerVal(r.node), r.keep.path)
208
+ }
209
+ else {
210
+ valnode = addpath(new NumberVal(r.node), r.keep.path)
211
+ }
212
+ }
213
+ else if ('boolean' === valtype) {
214
+ valnode = addpath(new BooleanVal(r.node), r.keep.path)
206
215
  }
207
- }
208
- else if ('boolean' === valtype) {
209
- valnode = addpath(new BooleanVal(r.node), r.keep.path)
210
- }
211
216
 
212
- let st = r.o0
213
- valnode.row = st.rI
214
- valnode.col = st.cI
217
+ let st = r.o0
218
+ valnode.row = st.rI
219
+ valnode.col = st.cI
215
220
 
216
- // JSONIC-UPDATE: still valid? check multisource
217
- valnode.url = ctx.meta.multisource && ctx.meta.multisource.path
221
+ // JSONIC-UPDATE: still valid? check multisource
222
+ valnode.url = ctx.meta.multisource && ctx.meta.multisource.path
218
223
 
219
- r.node = valnode
224
+ r.node = valnode
220
225
 
221
- // return out
222
- return undefined
223
- })
226
+ // return out
227
+ return undefined
228
+ })
224
229
 
225
230
  return rs
226
231
  })
@@ -231,15 +236,17 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
231
236
  // let orig_bc = rs.def.bc
232
237
  // rs.def.bc = function(rule: Rule, ctx: Context) {
233
238
  // let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
239
+ rs
240
+ .open([{ s: [CJ, CL], p: 'pair', b: 2, g: 'spread' }])
234
241
 
235
- rs.bc(false, (r: Rule) => {
242
+ .bc((r: Rule) => {
236
243
 
237
- // console.log('MAP RULE', rule.use, rule.node)
238
- r.node = addpath(new MapVal(r.node), r.keep.path)
244
+ // console.log('MAP RULE', rule.use, rule.node)
245
+ r.node = addpath(new MapVal(r.node), r.keep.path)
239
246
 
240
- // return out
241
- return undefined
242
- })
247
+ // return out
248
+ return undefined
249
+ })
243
250
 
244
251
  return rs
245
252
  })
@@ -250,7 +257,7 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
250
257
  // rs.def.bc = function(rule: Rule, ctx: Context) {
251
258
  // let out = orig_bc ? orig_bc.call(this, rule, ctx) : undefined
252
259
 
253
- rs.bc(false, (r: Rule) => {
260
+ rs.bc((r: Rule) => {
254
261
  r.node = addpath(new ListVal(r.node), r.keep.path)
255
262
 
256
263
  // return out
@@ -263,19 +270,10 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
263
270
 
264
271
 
265
272
  jsonic.rule('pair', (rs: RuleSpec) => {
266
- // let orig_bc: any = rs.def.bc
267
273
  rs
268
274
  .open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
269
275
 
270
- // .bc((...rest: any) => {
271
- // orig_bc(...rest)
272
-
273
-
274
- .bc(false, (rule: Rule) => {
275
- // let rule = rest[0]
276
- // console.log('PAIR RULE', rule.use, rule.node,
277
- // rule.parent.name, rule.parent.use)
278
-
276
+ .bc((rule: Rule) => {
279
277
  // TRAVERSE PARENTS TO GET PATH
280
278
 
281
279
  if (rule.use.spread) {
@@ -290,6 +288,26 @@ let AontuJsonic: Plugin = function aontu(jsonic: Jsonic) {
290
288
  return rs
291
289
  })
292
290
 
291
+
292
+ jsonic.rule('elem', (rs: RuleSpec) => {
293
+ rs
294
+ .open([{ s: [CJ, CL], p: 'val', u: { spread: true }, g: 'spread' }])
295
+
296
+ .bc((rule: Rule) => {
297
+ // TRAVERSE PARENTS TO GET PATH
298
+
299
+ if (rule.use.spread) {
300
+ rule.node[ListVal.SPREAD] =
301
+ (rule.node[ListVal.SPREAD] || { o: rule.o0.src, v: [] })
302
+ rule.node[ListVal.SPREAD].v.push(rule.child.node)
303
+ }
304
+
305
+ return undefined
306
+ })
307
+
308
+ return rs
309
+ })
310
+
293
311
  }
294
312
 
295
313
 
@@ -1,39 +1,45 @@
1
1
  /* Copyright (c) 2021 Richard Rodger, MIT License */
2
2
 
3
3
 
4
+ import type { Val } from '../type'
5
+
4
6
  import { Site } from '../lang'
5
7
  import { Context } from '../unify'
6
- import { Val, DisjunctVal } from '../val'
8
+ import { DisjunctVal } from '../val/DisjunctVal'
7
9
  import { Operation } from './op'
8
10
 
9
11
 
12
+
13
+ import { ValBase } from '../val/ValBase'
14
+
15
+
10
16
  const disjunct: Operation = (ctx?: Context, a?: Val, b?: Val) => {
11
17
  let peers: Val[] = []
12
18
  let origsites: Site[] = []
13
- origsites.push(append(peers, a))
14
- origsites.push(append(peers, b))
19
+ // origsites.push(append(peers, a))
20
+ // origsites.push(append(peers, b))
15
21
  let out = new DisjunctVal(peers, ctx, origsites)
16
22
  return out
17
23
  }
18
24
 
19
25
 
26
+
20
27
  function append(peers: Val[], v?: Val) {
21
- let origsite: Site = Site.NONE
28
+ // let origsite: Site = Site.NONE
22
29
 
23
30
  if (v instanceof DisjunctVal) {
24
31
  peers.push(...v.peg)
25
- origsite = v.site
32
+ // origsite = v.site
26
33
  }
27
34
 
28
35
  // TODO: handle no-error Nil (drop) and error Nil (keep and become)
29
- else if (v instanceof Val) {
36
+ else if (v instanceof ValBase) {
30
37
  peers.push(v)
31
38
  }
32
39
 
33
- return origsite
40
+ // return origsite
34
41
  }
35
42
 
36
-
37
43
  export {
38
44
  disjunct
39
45
  }
package/lib/op/op.ts CHANGED
@@ -2,12 +2,13 @@
2
2
 
3
3
 
4
4
  import { Context } from '../unify'
5
- import { Val } from '../val'
5
+ import { Val } from '../type'
6
6
 
7
7
  import { disjunct } from './disjunct'
8
8
  import { unite } from './unite'
9
9
 
10
10
 
11
+
11
12
  type Operation = (ctx: Context, a?: Val, b?: Val, whence?: string) => Val
12
13
 
13
14
  export {
package/lib/op/unite.ts CHANGED
@@ -1,18 +1,20 @@
1
- /* Copyright (c) 2021 Richard Rodger, MIT License */
1
+ /* Copyright (c) 2021-2022 Richard Rodger, MIT License */
2
2
 
3
3
 
4
- // import { Site } from '../lang'
4
+ import type { Val } from '../type'
5
+
6
+ import { DONE, TOP } from '../type'
5
7
  import { Context } from '../unify'
6
- import {
7
- Val,
8
- ConjunctVal,
9
- DisjunctVal,
10
- RefVal,
11
- PrefVal,
12
- TOP,
13
- Nil,
14
- DONE
15
- } from '../val'
8
+
9
+ import { ConjunctVal } from '../val/ConjunctVal'
10
+ import { DisjunctVal } from '../val/DisjunctVal'
11
+ import { PrefVal } from '../val/PrefVal'
12
+ import { RefVal } from '../val/RefVal'
13
+ import { Nil } from '../val/Nil'
14
+
15
+
16
+
17
+
16
18
  import { Operation } from './op'
17
19
 
18
20
 
package/lib/type.ts ADDED
@@ -0,0 +1,104 @@
1
+ /* Copyright (c) 2022 Richard Rodger, MIT License */
2
+
3
+
4
+ // TODO: refactor these out
5
+
6
+ import { Resolver } from '@jsonic/multisource'
7
+
8
+ import { Context } from './unify'
9
+
10
+ import {
11
+ Site
12
+ } from './lang'
13
+
14
+
15
+
16
+ type Options = {
17
+ src: string, // Source text.
18
+ print: number, // Print debug verbosity
19
+ resolver?: Resolver, // Source resolver
20
+ base?: string, // Base path for resolver
21
+ }
22
+
23
+
24
+
25
+
26
+ interface Val {
27
+ id: number
28
+ done: number
29
+ path: string[]
30
+ row: number
31
+ col: number
32
+ url: string
33
+
34
+ top?: boolean
35
+
36
+ // Actual native value.
37
+ peg?: any
38
+
39
+ // TODO: used for top level result - not great
40
+ err?: any[]
41
+ deps?: any
42
+
43
+ same(peer: Val): boolean
44
+
45
+ get site(): Site
46
+
47
+ unify(peer: Val, ctx?: Context): Val
48
+ get canon(): string
49
+ gen(ctx?: Context): any
50
+ }
51
+
52
+
53
+ type ValMap = { [key: string]: Val }
54
+ type ValList = Val[]
55
+
56
+
57
+
58
+ const DONE = -1
59
+
60
+
61
+ // There can be only one.
62
+ const TOP: Val = {
63
+ id: 0,
64
+ top: true,
65
+ peg: undefined,
66
+ done: DONE,
67
+ path: [],
68
+ row: -1,
69
+ col: -1,
70
+ url: '',
71
+
72
+ unify(peer: Val, _ctx: Context): Val {
73
+ return peer
74
+ },
75
+
76
+ get canon() { return 'top' },
77
+
78
+ get site() { return new Site(this) },
79
+
80
+ same(peer: Val): boolean {
81
+ return TOP === peer
82
+ },
83
+
84
+ gen: (_ctx?: Context) => {
85
+ return undefined
86
+ },
87
+
88
+ }
89
+
90
+
91
+
92
+ export type {
93
+ Val,
94
+ ValMap,
95
+ ValList,
96
+ Options,
97
+ }
98
+
99
+ export {
100
+ DONE,
101
+ TOP,
102
+ Resolver,
103
+ }
104
+
package/lib/unify.ts CHANGED
@@ -1,15 +1,10 @@
1
1
  /* Copyright (c) 2021 Richard Rodger, MIT License */
2
2
 
3
3
 
4
+ import type { Val } from './type'
5
+
6
+ import { DONE, TOP } from './type'
4
7
 
5
- import {
6
- DONE,
7
- TOP,
8
- Val,
9
- RefVal,
10
- MapVal,
11
- Nil,
12
- } from './val'
13
8
 
14
9
  import {
15
10
  Lang
@@ -20,6 +15,12 @@ import {
20
15
  } from './op/op'
21
16
 
22
17
 
18
+
19
+ import { MapVal } from '../lib/val/MapVal'
20
+ import { RefVal } from '../lib/val/RefVal'
21
+ import { Nil } from '../lib/val/Nil'
22
+
23
+
23
24
  type Path = string[]
24
25
 
25
26
 
@@ -116,6 +117,7 @@ class Unify {
116
117
  let maxdc = 999
117
118
  for (this.dc = 0; this.dc < maxdc && DONE !== res.done; this.dc++) {
118
119
  res = unite(ctx, res, TOP)
120
+ // console.log('U', this.dc, res.canon)
119
121
  ctx = ctx.clone({ root: res })
120
122
  }
121
123