aontu 0.29.0 → 0.30.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 (89) 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/package.json +18 -34
  5. package/aontu.ts +0 -92
  6. package/dist/lib/err.d.ts +0 -4
  7. package/dist/lib/err.js +0 -61
  8. package/dist/lib/err.js.map +0 -1
  9. package/dist/lib/lang.d.ts +0 -15
  10. package/dist/lib/lang.js +0 -409
  11. package/dist/lib/lang.js.map +0 -1
  12. package/dist/lib/op/disjunct.d.ts +0 -3
  13. package/dist/lib/op/disjunct.js +0 -28
  14. package/dist/lib/op/disjunct.js.map +0 -1
  15. package/dist/lib/op/op.d.ts +0 -6
  16. package/dist/lib/op/op.js +0 -9
  17. package/dist/lib/op/op.js.map +0 -1
  18. package/dist/lib/op/unite.d.ts +0 -3
  19. package/dist/lib/op/unite.js +0 -100
  20. package/dist/lib/op/unite.js.map +0 -1
  21. package/dist/lib/type.d.ts +0 -49
  22. package/dist/lib/type.js +0 -7
  23. package/dist/lib/type.js.map +0 -1
  24. package/dist/lib/unify.d.ts +0 -38
  25. package/dist/lib/unify.js +0 -67
  26. package/dist/lib/unify.js.map +0 -1
  27. package/dist/lib/utility.d.ts +0 -3
  28. package/dist/lib/utility.js +0 -16
  29. package/dist/lib/utility.js.map +0 -1
  30. package/dist/lib/val/ConjunctVal.d.ts +0 -17
  31. package/dist/lib/val/ConjunctVal.js +0 -171
  32. package/dist/lib/val/ConjunctVal.js.map +0 -1
  33. package/dist/lib/val/DisjunctVal.d.ts +0 -17
  34. package/dist/lib/val/DisjunctVal.js +0 -95
  35. package/dist/lib/val/DisjunctVal.js.map +0 -1
  36. package/dist/lib/val/ListVal.d.ts +0 -18
  37. package/dist/lib/val/ListVal.js +0 -120
  38. package/dist/lib/val/ListVal.js.map +0 -1
  39. package/dist/lib/val/MapVal.d.ts +0 -18
  40. package/dist/lib/val/MapVal.js +0 -117
  41. package/dist/lib/val/MapVal.js.map +0 -1
  42. package/dist/lib/val/Nil.d.ts +0 -22
  43. package/dist/lib/val/Nil.js +0 -84
  44. package/dist/lib/val/Nil.js.map +0 -1
  45. package/dist/lib/val/NullVal.d.ts +0 -15
  46. package/dist/lib/val/NullVal.js +0 -38
  47. package/dist/lib/val/NullVal.js.map +0 -1
  48. package/dist/lib/val/OpVal.d.ts +0 -17
  49. package/dist/lib/val/OpVal.js +0 -89
  50. package/dist/lib/val/OpVal.js.map +0 -1
  51. package/dist/lib/val/PlusVal.d.ts +0 -12
  52. package/dist/lib/val/PlusVal.js +0 -32
  53. package/dist/lib/val/PlusVal.js.map +0 -1
  54. package/dist/lib/val/PrefVal.d.ts +0 -17
  55. package/dist/lib/val/PrefVal.js +0 -87
  56. package/dist/lib/val/PrefVal.js.map +0 -1
  57. package/dist/lib/val/RefVal.d.ts +0 -22
  58. package/dist/lib/val/RefVal.js +0 -247
  59. package/dist/lib/val/RefVal.js.map +0 -1
  60. package/dist/lib/val/ValBase.d.ts +0 -26
  61. package/dist/lib/val/ValBase.js +0 -77
  62. package/dist/lib/val/ValBase.js.map +0 -1
  63. package/dist/lib/val/VarVal.d.ts +0 -15
  64. package/dist/lib/val/VarVal.js +0 -84
  65. package/dist/lib/val/VarVal.js.map +0 -1
  66. package/dist/lib/val.d.ts +0 -81
  67. package/dist/lib/val.js +0 -191
  68. package/dist/lib/val.js.map +0 -1
  69. package/lib/err.ts +0 -83
  70. package/lib/lang.ts +0 -585
  71. package/lib/op/disjunct.ts +0 -51
  72. package/lib/op/op.ts +0 -18
  73. package/lib/op/unite.ts +0 -143
  74. package/lib/type.ts +0 -95
  75. package/lib/unify.ts +0 -128
  76. package/lib/utility.ts +0 -24
  77. package/lib/val/ConjunctVal.ts +0 -265
  78. package/lib/val/DisjunctVal.ts +0 -160
  79. package/lib/val/ListVal.ts +0 -196
  80. package/lib/val/MapVal.ts +0 -181
  81. package/lib/val/Nil.ts +0 -144
  82. package/lib/val/NullVal.ts +0 -72
  83. package/lib/val/OpVal.ts +0 -159
  84. package/lib/val/PlusVal.ts +0 -76
  85. package/lib/val/PrefVal.ts +0 -154
  86. package/lib/val/RefVal.ts +0 -362
  87. package/lib/val/ValBase.ts +0 -109
  88. package/lib/val/VarVal.ts +0 -157
  89. package/lib/val.ts +0 -327
@@ -1,117 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.MapVal = void 0;
5
- const type_1 = require("../type");
6
- const op_1 = require("../op/op");
7
- const val_1 = require("../val");
8
- const ConjunctVal_1 = require("../val/ConjunctVal");
9
- // import { DisjunctVal } from '../val/DisjunctVal'
10
- // import { ListVal } from '../val/ListVal'
11
- const Nil_1 = require("../val/Nil");
12
- // import { PrefVal } from '../val/PrefVal'
13
- // import { RefVal } from '../val/RefVal'
14
- const ValBase_1 = require("../val/ValBase");
15
- class MapVal extends ValBase_1.ValBase {
16
- constructor(spec, ctx) {
17
- super(spec, ctx);
18
- this.isMapVal = true;
19
- this.spread = {
20
- cj: undefined,
21
- };
22
- if (null == this.peg) {
23
- throw new Error('MapVal spec.peg undefined');
24
- }
25
- let spread = this.peg[MapVal.SPREAD];
26
- delete this.peg[MapVal.SPREAD];
27
- if (spread) {
28
- if ('&' === spread.o) {
29
- // TODO: handle existing spread!
30
- this.spread.cj =
31
- Array.isArray(spread.v) ?
32
- 1 < spread.v.length ?
33
- new ConjunctVal_1.ConjunctVal({ peg: spread.v }, ctx) :
34
- spread.v[0] :
35
- spread.v;
36
- }
37
- }
38
- }
39
- // NOTE: order of keys is not preserved!
40
- // not possible in any case - consider {a,b} unify {b,a}
41
- unify(peer, ctx) {
42
- // let mark = Math.random()
43
- let done = true;
44
- let out = val_1.TOP === peer ? this : new MapVal({ peg: {} }, ctx);
45
- out.spread.cj = this.spread.cj;
46
- if (peer instanceof MapVal) {
47
- out.spread.cj = null == out.spread.cj ? peer.spread.cj : (null == peer.spread.cj ? out.spread.cj : (out.spread.cj =
48
- // new ConjunctVal({ peg: [out.spread.cj, peer.spread.cj] }, ctx)
49
- (0, op_1.unite)(ctx, out.spread.cj, peer.spread.cj)));
50
- }
51
- out.done = this.done + 1;
52
- let spread_cj = out.spread.cj || val_1.TOP;
53
- // Always unify own children first
54
- for (let key in this.peg) {
55
- let keyctx = ctx.descend(key);
56
- let key_spread_cj = spread_cj.clone(null, keyctx);
57
- out.peg[key] = (0, op_1.unite)(keyctx, this.peg[key], key_spread_cj, 'map-own');
58
- done = (done && type_1.DONE === out.peg[key].done);
59
- }
60
- if (peer instanceof MapVal) {
61
- let upeer = (0, op_1.unite)(ctx, peer, undefined, 'map-peer-map');
62
- for (let peerkey in upeer.peg) {
63
- let peerchild = upeer.peg[peerkey];
64
- let child = out.peg[peerkey];
65
- let oval = out.peg[peerkey] =
66
- undefined === child ? peerchild :
67
- child instanceof Nil_1.Nil ? child :
68
- peerchild instanceof Nil_1.Nil ? peerchild :
69
- (0, op_1.unite)(ctx.descend(peerkey), child, peerchild, 'map-peer');
70
- if (this.spread.cj) {
71
- let key_ctx = ctx.descend(peerkey);
72
- let key_spread_cj = spread_cj.clone(null, key_ctx);
73
- oval = out.peg[peerkey] =
74
- (0, op_1.unite)(key_ctx, out.peg[peerkey], key_spread_cj);
75
- }
76
- done = (done && type_1.DONE === oval.done);
77
- }
78
- }
79
- else if (val_1.TOP !== peer) {
80
- return Nil_1.Nil.make(ctx, 'map', this, peer);
81
- }
82
- out.uh.push(peer.id);
83
- out.done = done ? type_1.DONE : out.done;
84
- return out;
85
- }
86
- clone(spec, ctx) {
87
- let out = super.clone(spec, ctx);
88
- out.peg = {};
89
- for (let entry of Object.entries(this.peg)) {
90
- out.peg[entry[0]] =
91
- entry[1] instanceof ValBase_1.ValBase ? entry[1].clone(null, ctx) : entry[1];
92
- }
93
- if (this.spread.cj) {
94
- out.spread.cj = this.spread.cj.clone(null, ctx);
95
- }
96
- return out;
97
- }
98
- get canon() {
99
- let keys = Object.keys(this.peg);
100
- return '{' +
101
- (this.spread.cj ? '&:' + this.spread.cj.canon +
102
- (0 < keys.length ? ',' : '') : '') +
103
- keys
104
- .map(k => [JSON.stringify(k) + ':' + this.peg[k].canon]).join(',') +
105
- '}';
106
- }
107
- gen(ctx) {
108
- let out = {};
109
- for (let p in this.peg) {
110
- out[p] = this.peg[p].gen(ctx);
111
- }
112
- return out;
113
- }
114
- }
115
- exports.MapVal = MapVal;
116
- MapVal.SPREAD = Symbol('spread');
117
- //# sourceMappingURL=MapVal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MapVal.js","sourceRoot":"","sources":["../../../lib/val/MapVal.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { Val, ValSpec } from '../type';
2
- import { Context } from '../unify';
3
- import { ValBase } from '../val/ValBase';
4
- declare class Nil extends ValBase {
5
- isNil: boolean;
6
- nil: boolean;
7
- why: any;
8
- primary?: Val;
9
- secondary?: Val;
10
- msg: string;
11
- static make: (ctx?: Context, why?: any, av?: Val, bv?: Val) => Nil;
12
- constructor(spec?: {
13
- why?: string;
14
- msg?: string;
15
- err?: Nil | Nil[] | Error | Error[];
16
- } | string, ctx?: Context);
17
- unify(_peer: Val, _ctx: Context): this;
18
- clone(spec?: ValSpec, ctx?: Context): Val;
19
- get canon(): string;
20
- gen(ctx?: Context): undefined;
21
- }
22
- export { Nil, };
@@ -1,84 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Nil = void 0;
5
- const type_1 = require("../type");
6
- const err_1 = require("../err");
7
- const ValBase_1 = require("../val/ValBase");
8
- class Nil extends ValBase_1.ValBase {
9
- constructor(spec, ctx) {
10
- super(spec && 'string' !== typeof spec ? spec : {}, ctx);
11
- this.isNil = true;
12
- this.nil = true;
13
- this.msg = '';
14
- if (spec && 'object' === typeof spec) {
15
- this.why = spec === null || spec === void 0 ? void 0 : spec.why;
16
- this.msg = 'string' === typeof (spec === null || spec === void 0 ? void 0 : spec.msg) ? spec.msg : this.msg;
17
- this.err = spec ? (Array.isArray(spec.err) ? [...spec.err] : [spec.err]) : [];
18
- }
19
- // Nil is always DONE, by definition.
20
- this.done = type_1.DONE;
21
- }
22
- unify(_peer, _ctx) {
23
- return this;
24
- }
25
- clone(spec, ctx) {
26
- let out = super.clone(spec, ctx);
27
- out.why = this.why;
28
- // Should these clone?
29
- // out.primary = this.primary?.clone()
30
- // out.secondary = this.secondary?.clone()
31
- out.primary = this.primary;
32
- out.secondary = this.secondary;
33
- out.msg = this.msg;
34
- return out;
35
- }
36
- get canon() {
37
- return 'nil';
38
- }
39
- gen(ctx) {
40
- // Unresolved nil cannot be generated, so always an error.
41
- (0, err_1.descErr)(this, ctx);
42
- if (Array.isArray(ctx === null || ctx === void 0 ? void 0 : ctx.err)) {
43
- ctx.err.push(this);
44
- }
45
- else {
46
- const err = new Error(this.msg);
47
- err.aontu = true;
48
- throw err;
49
- }
50
- return undefined;
51
- }
52
- }
53
- exports.Nil = Nil;
54
- // TODO: include Val generating nil, thus capture type
55
- // A Nil is an error - should not happen - unify failed
56
- // refactor ,make(spec,ctx)
57
- Nil.make = (ctx, why, av, bv) => {
58
- let nil = new Nil({ why }, ctx);
59
- // TODO: this should be done lazily, for multiple terms
60
- // Terms later in same file are considered the primary error location.
61
- if (null != av) {
62
- nil.row = av.row;
63
- nil.col = av.col;
64
- nil.url = av.url;
65
- nil.primary = av;
66
- if (null != bv) {
67
- nil.secondary = bv;
68
- let bv_loc_wins = (nil.url === bv.url) && ((nil.row < bv.row) ||
69
- (nil.row === bv.row && nil.col < bv.col));
70
- if (bv_loc_wins) {
71
- nil.row = bv.row;
72
- nil.col = bv.col;
73
- nil.url = bv.url;
74
- nil.primary = bv;
75
- nil.secondary = av;
76
- }
77
- }
78
- }
79
- if (ctx) {
80
- ctx.err.push(nil);
81
- }
82
- return nil;
83
- };
84
- //# sourceMappingURL=Nil.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Nil.js","sourceRoot":"","sources":["../../../lib/val/Nil.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { Val, ValSpec } from '../type';
2
- import { Context } from '../unify';
3
- import { ValBase } from '../val/ValBase';
4
- declare class NullVal extends ValBase {
5
- isNullVal: boolean;
6
- constructor(spec: {
7
- peg: null;
8
- }, ctx?: Context);
9
- unify(peer: Val, ctx: Context): Val;
10
- same(peer: Val): boolean;
11
- clone(spec?: ValSpec, ctx?: Context): Val;
12
- get canon(): string;
13
- gen(_ctx?: Context): null;
14
- }
15
- export { NullVal, };
@@ -1,38 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2025 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NullVal = void 0;
5
- const Nil_1 = require("../val/Nil");
6
- const ValBase_1 = require("../val/ValBase");
7
- class NullVal extends ValBase_1.ValBase {
8
- constructor(spec, ctx) {
9
- super(spec, ctx);
10
- this.isNullVal = true;
11
- this.peg = null;
12
- }
13
- unify(peer, ctx) {
14
- let out;
15
- if (peer.isTop || peer.isNullVal) {
16
- out = this;
17
- }
18
- else {
19
- out = Nil_1.Nil.make(ctx, 'null', this, peer);
20
- }
21
- return out;
22
- }
23
- same(peer) {
24
- return null == peer ? false : peer instanceof NullVal && this.peg === peer.peg;
25
- }
26
- clone(spec, ctx) {
27
- let out = super.clone(spec, ctx);
28
- return out;
29
- }
30
- get canon() {
31
- return '' + this.peg;
32
- }
33
- gen(_ctx) {
34
- return null;
35
- }
36
- }
37
- exports.NullVal = NullVal;
38
- //# sourceMappingURL=NullVal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NullVal.js","sourceRoot":"","sources":["../../../lib/val/NullVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAepD,oCAAgC;AAChC,4CAAwC;AAGxC,MAAM,OAAQ,SAAQ,iBAAO;IAG3B,YACE,IAEC,EACD,GAAa;QAEb,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,cAAS,GAAG,IAAI,CAAA;QASd,IAAI,CAAC,GAAG,GAAG,IAAI,CAAA;IACjB,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAY;QAC3B,IAAI,GAAQ,CAAA;QAEZ,IAAK,IAAY,CAAC,KAAK,IAAK,IAAgB,CAAC,SAAS,EAAE,CAAC;YACvD,GAAG,GAAG,IAAI,CAAA;QACZ,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACzC,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,CAAA;IAChF,CAAC;IAGD,KAAK,CAAC,IAAc,EAAE,GAAa;QACjC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAa,CAAA;QAC7C,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAA;IACtB,CAAC;IAGD,GAAG,CAAC,IAAc;QAChB,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAIC,0BAAO"}
@@ -1,17 +0,0 @@
1
- import type { Val, ValSpec } from '../type';
2
- import { Context } from '../unify';
3
- import { ValBase } from '../val/ValBase';
4
- declare class OpVal extends ValBase {
5
- isOpVal: boolean;
6
- constructor(spec: {
7
- peg: any[];
8
- }, ctx?: Context);
9
- append(part: any): void;
10
- unify(peer: Val, ctx: Context): Val;
11
- same(peer: Val): boolean;
12
- clone(_spec?: ValSpec, ctx?: Context): Val;
13
- operate(ctx: Context): Val | undefined;
14
- get canon(): string;
15
- gen(ctx?: Context): undefined;
16
- }
17
- export { OpVal, };
@@ -1,89 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2024 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.OpVal = void 0;
5
- const type_1 = require("../type");
6
- const err_1 = require("../err");
7
- const op_1 = require("../op/op");
8
- const val_1 = require("../val");
9
- const ConjunctVal_1 = require("../val/ConjunctVal");
10
- const Nil_1 = require("../val/Nil");
11
- const ValBase_1 = require("../val/ValBase");
12
- class OpVal extends ValBase_1.ValBase {
13
- constructor(spec, ctx) {
14
- super(spec, ctx);
15
- this.isOpVal = true;
16
- this.peg = [];
17
- for (let pI = 0; pI < spec.peg.length; pI++) {
18
- this.append(spec.peg[pI]);
19
- }
20
- }
21
- append(part) {
22
- this.peg.push(part);
23
- }
24
- unify(peer, ctx) {
25
- let out = this;
26
- if (this.id !== peer.id) {
27
- let result = null == ctx ? this : this.operate(ctx);
28
- result = result || this;
29
- if (null == result && this.canon === peer.canon) {
30
- out = this;
31
- }
32
- else if (result instanceof OpVal) {
33
- if (val_1.TOP === peer) {
34
- out = this;
35
- }
36
- else if (peer instanceof Nil_1.Nil) {
37
- out = Nil_1.Nil.make(ctx, 'op[' + this.peg + ']', this, peer);
38
- }
39
- else if (this.canon === peer.canon) {
40
- out = this;
41
- }
42
- else {
43
- this.done = type_1.DONE === this.done ? type_1.DONE : this.done + 1;
44
- out = new ConjunctVal_1.ConjunctVal({ peg: [this, peer] }, ctx);
45
- }
46
- }
47
- else {
48
- out = (0, op_1.unite)(ctx, result, peer, 'op');
49
- }
50
- out.done = type_1.DONE === out.done ? type_1.DONE : this.done + 1;
51
- }
52
- return out;
53
- }
54
- same(peer) {
55
- return null == peer ? false : this.peg === peer.peg;
56
- }
57
- clone(_spec, ctx) {
58
- let out = super.clone({
59
- peg: this.peg,
60
- }, ctx);
61
- return out;
62
- }
63
- operate(ctx) {
64
- this.peg = this.peg.map((v) => v.isRefVal ? v.unify(val_1.TOP, ctx) : v);
65
- return undefined;
66
- }
67
- get canon() {
68
- return '';
69
- }
70
- gen(ctx) {
71
- // Unresolved op cannot be generated, so always an error.
72
- let nil = Nil_1.Nil.make(ctx, 'op', this, undefined);
73
- // TODO: refactor to use Site
74
- nil.path = this.path;
75
- nil.url = this.url;
76
- nil.row = this.row;
77
- nil.col = this.col;
78
- (0, err_1.descErr)(nil, ctx);
79
- if (ctx) {
80
- ctx.err.push(nil);
81
- }
82
- else {
83
- throw new Error(nil.msg);
84
- }
85
- return undefined;
86
- }
87
- }
88
- exports.OpVal = OpVal;
89
- //# sourceMappingURL=OpVal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OpVal.js","sourceRoot":"","sources":["../../../lib/val/OpVal.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { Context } from '../unify';
2
- import { IntegerVal, NumberVal, StringVal } from '../val';
3
- import { OpVal } from '../val/OpVal';
4
- declare class PlusVal extends OpVal {
5
- isOpVal: boolean;
6
- constructor(spec: {
7
- peg: any[];
8
- }, ctx?: Context);
9
- operate(ctx: Context): StringVal | IntegerVal | NumberVal | undefined;
10
- get canon(): string;
11
- }
12
- export { PlusVal, };
@@ -1,32 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2024 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PlusVal = void 0;
5
- const val_1 = require("../val");
6
- const OpVal_1 = require("../val/OpVal");
7
- class PlusVal extends OpVal_1.OpVal {
8
- constructor(spec, ctx) {
9
- super(spec, ctx);
10
- this.isOpVal = true;
11
- }
12
- operate(ctx) {
13
- super.operate(ctx);
14
- if (this.peg.find((v) => v.isRefVal)) {
15
- return undefined;
16
- }
17
- let peg = this.peg[0].peg + this.peg[1].peg;
18
- let pegtype = typeof peg;
19
- if ('string' === pegtype) {
20
- return new val_1.StringVal({ peg });
21
- }
22
- else if ('number' === pegtype) {
23
- return Number.isInteger(peg) ? new val_1.IntegerVal({ peg }) : new val_1.NumberVal({ peg });
24
- }
25
- return undefined;
26
- }
27
- get canon() {
28
- return this.peg[0].canon + '+' + this.peg[1].canon;
29
- }
30
- }
31
- exports.PlusVal = PlusVal;
32
- //# sourceMappingURL=PlusVal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PlusVal.js","sourceRoot":"","sources":["../../../lib/val/PlusVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAyBpD,gCAA8D;AAE9D,wCAAoC;AAMpC,MAAM,OAAQ,SAAQ,aAAK;IAGzB,YACE,IAEC,EACD,GAAa;QAEb,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,YAAO,GAAG,IAAI,CAAA;IASd,CAAC;IAGD,OAAO,CAAC,GAAY;QAClB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAElB,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAC3C,IAAI,OAAO,GAAG,OAAO,GAAG,CAAA;QACxB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YACzB,OAAO,IAAI,eAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QAC/B,CAAC;aACI,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,eAAS,CAAC,EAAE,GAAG,EAAE,CAAC,CAAA;QACjF,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IACpD,CAAC;CAEF;AAIC,0BAAO"}
@@ -1,17 +0,0 @@
1
- import type { Val, ValSpec } from '../type';
2
- import { Context } from '../unify';
3
- import { ValBase } from '../val/ValBase';
4
- declare class PrefVal extends ValBase {
5
- isPrefVal: boolean;
6
- pref: Val;
7
- constructor(spec: {
8
- peg: any;
9
- pref?: any;
10
- }, ctx?: Context);
11
- unify(peer: Val, ctx: Context): Val;
12
- same(peer: Val): boolean;
13
- clone(spec?: ValSpec, ctx?: Context): Val;
14
- get canon(): any;
15
- gen(ctx?: Context): any;
16
- }
17
- export { PrefVal, };
@@ -1,87 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2021-2023 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PrefVal = void 0;
5
- const type_1 = require("../type");
6
- const err_1 = require("../err");
7
- const op_1 = require("../op/op");
8
- // import { TOP } from '../val'
9
- // import { ConjunctVal } from '../val/ConjunctVal'
10
- // import { DisjunctVal } from '../val/DisjunctVal'
11
- // import { ListVal } from '../val/ListVal'
12
- // import { MapVal } from '../val/MapVal'
13
- const Nil_1 = require("../val/Nil");
14
- // import { RefVal } from '../val/RefVal'
15
- const ValBase_1 = require("../val/ValBase");
16
- class PrefVal extends ValBase_1.ValBase {
17
- constructor(spec, ctx) {
18
- super(spec, ctx);
19
- this.isPrefVal = true;
20
- this.pref = spec.pref || spec.peg;
21
- }
22
- // PrefVal unify always returns a PrefVal
23
- // PrefVals can only be removed by becoming Nil in a Disjunct
24
- unify(peer, ctx) {
25
- let done = true;
26
- let out;
27
- if (peer instanceof PrefVal) {
28
- out = new PrefVal({
29
- peg: (0, op_1.unite)(ctx, this.peg, peer.peg, 'Pref000'),
30
- pref: (0, op_1.unite)(ctx, this.pref, peer.pref, 'Pref010'),
31
- }, ctx);
32
- }
33
- else {
34
- out = new PrefVal({
35
- // TODO: find a better way to drop Nil non-errors
36
- peg: (0, op_1.unite)(ctx === null || ctx === void 0 ? void 0 : ctx.clone({ err: [] }), this.peg, peer, 'Pref020'),
37
- pref: (0, op_1.unite)(ctx === null || ctx === void 0 ? void 0 : ctx.clone({ err: [] }), this.pref, peer, 'Pref030'),
38
- }, ctx);
39
- }
40
- done = done && type_1.DONE === out.peg.done &&
41
- (null != out.pref ? type_1.DONE === out.pref.done : true);
42
- if (out.peg instanceof Nil_1.Nil) {
43
- out = out.pref;
44
- }
45
- else if (out.pref instanceof Nil_1.Nil) {
46
- out = out.peg;
47
- }
48
- out.done = done ? type_1.DONE : this.done + 1;
49
- return out;
50
- }
51
- same(peer) {
52
- if (null == peer) {
53
- return false;
54
- }
55
- let pegsame = (this.peg === peer.peg) ||
56
- (this.peg instanceof ValBase_1.ValBase && this.peg.same(peer.peg));
57
- let prefsame = peer instanceof PrefVal &&
58
- ((this.pref === peer.pref) ||
59
- (this.pref instanceof ValBase_1.ValBase && this.pref.same(peer.pref)));
60
- return pegsame && prefsame;
61
- }
62
- clone(spec, ctx) {
63
- let out = super.clone(spec, ctx);
64
- out.pref = this.pref.clone(null, ctx);
65
- return out;
66
- }
67
- get canon() {
68
- return this.pref instanceof Nil_1.Nil ? this.peg.canon : '*' + this.pref.canon;
69
- }
70
- gen(ctx) {
71
- let val = !(this.pref instanceof Nil_1.Nil) ? this.pref :
72
- (!(this.peg instanceof Nil_1.Nil) ? this.peg :
73
- this.pref);
74
- if (val instanceof Nil_1.Nil) {
75
- (0, err_1.descErr)(val, ctx);
76
- if (ctx) {
77
- ctx.err.push(val);
78
- }
79
- else {
80
- throw new Error(val.msg);
81
- }
82
- }
83
- return val.gen(ctx);
84
- }
85
- }
86
- exports.PrefVal = PrefVal;
87
- //# sourceMappingURL=PrefVal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PrefVal.js","sourceRoot":"","sources":["../../../lib/val/PrefVal.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import type { Val, ValSpec } from '../type';
2
- import { Context } from '../unify';
3
- import { StringVal } from '../val';
4
- import { ValBase } from '../val/ValBase';
5
- declare class RefVal extends ValBase {
6
- isRefVal: boolean;
7
- absolute: boolean;
8
- prefix: boolean;
9
- constructor(spec: {
10
- peg: any[];
11
- absolute?: boolean;
12
- prefix?: boolean;
13
- }, ctx?: Context);
14
- append(part: any): void;
15
- unify(peer: Val, ctx: Context): Val;
16
- find(ctx: Context): Val | StringVal | undefined;
17
- same(peer: Val): boolean;
18
- clone(spec?: ValSpec, ctx?: Context): Val;
19
- get canon(): string;
20
- gen(ctx?: Context): undefined;
21
- }
22
- export { RefVal, };