aontu 0.31.0 → 0.33.0
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.
- package/dist/aontu.js +2 -0
- package/dist/aontu.js.map +1 -1
- package/dist/ctx.d.ts +1 -0
- package/dist/ctx.js +1 -0
- package/dist/ctx.js.map +1 -1
- package/dist/err.d.ts +2 -2
- package/dist/err.js +12 -8
- package/dist/err.js.map +1 -1
- package/dist/hints.js +3 -1
- package/dist/hints.js.map +1 -1
- package/dist/lang.js +1 -0
- package/dist/lang.js.map +1 -1
- package/dist/site.d.ts +6 -5
- package/dist/site.js +4 -17
- package/dist/site.js.map +1 -1
- package/dist/unify.js +2 -2
- package/dist/unify.js.map +1 -1
- package/dist/utility.d.ts +2 -1
- package/dist/utility.js +16 -0
- package/dist/utility.js.map +1 -1
- package/dist/val/BagVal.d.ts +6 -0
- package/dist/val/BagVal.js +64 -0
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/ListVal.d.ts +0 -4
- package/dist/val/ListVal.js +6 -36
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/MapVal.d.ts +0 -4
- package/dist/val/MapVal.js +7 -47
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/NilVal.d.ts +2 -1
- package/dist/val/NilVal.js +4 -2
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +1 -1
- package/dist/val/Val.js +5 -1
- package/dist/val/Val.js.map +1 -1
- package/package.json +3 -4
- package/src/aontu.ts +2 -0
- package/src/ctx.ts +2 -0
- package/src/err.ts +14 -8
- package/src/hints.ts +7 -1
- package/src/lang.ts +2 -0
- package/src/site.ts +12 -18
- package/src/unify.ts +2 -2
- package/src/utility.ts +17 -0
- package/src/val/BagVal.ts +93 -0
- package/src/val/ListVal.ts +68 -47
- package/src/val/MapVal.ts +10 -65
- package/src/val/NilVal.ts +13 -3
- package/src/val/ScalarKindVal.ts +1 -1
- package/src/val/Val.ts +9 -1
package/dist/val/ListVal.js
CHANGED
|
@@ -9,14 +9,10 @@ const err_1 = require("../err");
|
|
|
9
9
|
const top_1 = require("./top");
|
|
10
10
|
const ConjunctVal_1 = require("./ConjunctVal");
|
|
11
11
|
const BagVal_1 = require("./BagVal");
|
|
12
|
-
const Val_1 = require("./Val");
|
|
13
12
|
class ListVal extends BagVal_1.BagVal {
|
|
14
13
|
constructor(spec, ctx) {
|
|
15
14
|
super(spec, ctx);
|
|
16
15
|
this.isList = true;
|
|
17
|
-
this.spread = {
|
|
18
|
-
cj: undefined,
|
|
19
|
-
};
|
|
20
16
|
if (null == this.peg) {
|
|
21
17
|
throw new err_1.AontuError('ListVal spec.peg undefined');
|
|
22
18
|
}
|
|
@@ -49,6 +45,8 @@ class ListVal extends BagVal_1.BagVal {
|
|
|
49
45
|
out.closed = this.closed;
|
|
50
46
|
out.optionalKeys = [...this.optionalKeys];
|
|
51
47
|
out.spread.cj = this.spread.cj;
|
|
48
|
+
out.site = this.site;
|
|
49
|
+
out.from = this.from;
|
|
52
50
|
if (peer instanceof ListVal) {
|
|
53
51
|
if (!this.closed && peer.closed) {
|
|
54
52
|
out = peer.unify(this, ctx.clone({ explain: (0, utility_1.ec)(te, 'PMC') }));
|
|
@@ -100,6 +98,7 @@ class ListVal extends BagVal_1.BagVal {
|
|
|
100
98
|
let key_spread_cj = spread_cj.clone(key_ctx);
|
|
101
99
|
oval = out.peg[peerkey] =
|
|
102
100
|
(0, unify_1.unite)(key_ctx.clone({ explain: (0, utility_1.ec)(te, 'PSP:' + peerkey) }), out.peg[peerkey], key_spread_cj, 'list-spread');
|
|
101
|
+
oval.from = spread_cj;
|
|
103
102
|
}
|
|
104
103
|
(0, utility_1.propagateMarks)(this, oval);
|
|
105
104
|
done = (done && type_1.DONE === oval.dc);
|
|
@@ -118,6 +117,9 @@ class ListVal extends BagVal_1.BagVal {
|
|
|
118
117
|
(0, utility_1.propagateMarks)(this, out);
|
|
119
118
|
}
|
|
120
119
|
}
|
|
120
|
+
if (out.isBag) {
|
|
121
|
+
out.from = this.from;
|
|
122
|
+
}
|
|
121
123
|
ctx.explain && (0, utility_1.explainClose)(te, out);
|
|
122
124
|
return out;
|
|
123
125
|
}
|
|
@@ -149,38 +151,6 @@ class ListVal extends BagVal_1.BagVal {
|
|
|
149
151
|
this.peg[k].canon).join(',') +
|
|
150
152
|
']';
|
|
151
153
|
}
|
|
152
|
-
gen(ctx) {
|
|
153
|
-
let out = [];
|
|
154
|
-
if (this.mark.type || this.mark.hide) {
|
|
155
|
-
return undefined;
|
|
156
|
-
}
|
|
157
|
-
for (let i = 0; i < this.peg.length; i++) {
|
|
158
|
-
const child = this.peg[i];
|
|
159
|
-
const optional = this.optionalKeys.includes('' + i);
|
|
160
|
-
if (child.isScalar
|
|
161
|
-
|| child.isMap
|
|
162
|
-
|| child.isList
|
|
163
|
-
|| child.isPref
|
|
164
|
-
|| child.isRef
|
|
165
|
-
|| child.isDisjunct
|
|
166
|
-
|| child.isNil) {
|
|
167
|
-
const cval = child.gen(ctx);
|
|
168
|
-
if (optional && (0, Val_1.empty)(cval)) {
|
|
169
|
-
continue;
|
|
170
|
-
}
|
|
171
|
-
out.push(cval);
|
|
172
|
-
}
|
|
173
|
-
else if (child.isNil) {
|
|
174
|
-
ctx.adderr(child);
|
|
175
|
-
}
|
|
176
|
-
else if (!this.optionalKeys.includes('' + i)) {
|
|
177
|
-
(0, err_1.makeNilErr)(ctx, this.closed ? 'listval_required' : 'listval_no_gen', child, undefined);
|
|
178
|
-
break;
|
|
179
|
-
}
|
|
180
|
-
// else optional so we can ignore it
|
|
181
|
-
}
|
|
182
|
-
return out;
|
|
183
|
-
}
|
|
184
154
|
}
|
|
185
155
|
exports.ListVal = ListVal;
|
|
186
156
|
//# sourceMappingURL=ListVal.js.map
|
package/dist/val/ListVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListVal.js","sourceRoot":"","sources":["../../src/val/ListVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AASzD,kCAGgB;AAGhB,oCAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"ListVal.js","sourceRoot":"","sources":["../../src/val/ListVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/MapVal.d.ts
CHANGED
|
@@ -3,14 +3,10 @@ import { AontuContext } from '../ctx';
|
|
|
3
3
|
import { BagVal } from './BagVal';
|
|
4
4
|
declare class MapVal extends BagVal {
|
|
5
5
|
isMap: boolean;
|
|
6
|
-
spread: {
|
|
7
|
-
cj: Val | undefined;
|
|
8
|
-
};
|
|
9
6
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
10
7
|
unify(peer: Val, ctx: AontuContext): Val;
|
|
11
8
|
clone(ctx: AontuContext, spec?: ValSpec): Val;
|
|
12
9
|
get canon(): string;
|
|
13
10
|
inspection(d?: number): string;
|
|
14
|
-
gen(ctx: AontuContext): any;
|
|
15
11
|
}
|
|
16
12
|
export { MapVal };
|
package/dist/val/MapVal.js
CHANGED
|
@@ -9,14 +9,10 @@ const err_1 = require("../err");
|
|
|
9
9
|
const top_1 = require("./top");
|
|
10
10
|
const ConjunctVal_1 = require("./ConjunctVal");
|
|
11
11
|
const BagVal_1 = require("./BagVal");
|
|
12
|
-
const Val_1 = require("./Val");
|
|
13
12
|
class MapVal extends BagVal_1.BagVal {
|
|
14
13
|
constructor(spec, ctx) {
|
|
15
14
|
super(spec, ctx);
|
|
16
15
|
this.isMap = true;
|
|
17
|
-
this.spread = {
|
|
18
|
-
cj: undefined,
|
|
19
|
-
};
|
|
20
16
|
if (null == this.peg) {
|
|
21
17
|
throw new err_1.AontuError('MapVal spec.peg undefined');
|
|
22
18
|
}
|
|
@@ -51,17 +47,9 @@ class MapVal extends BagVal_1.BagVal {
|
|
|
51
47
|
out.closed = this.closed;
|
|
52
48
|
out.optionalKeys = [...this.optionalKeys];
|
|
53
49
|
out.spread.cj = this.spread.cj;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if (out.spread.cj && !out.spread.cj.mark._self_unified) {
|
|
57
|
-
// console.log('MAPVAL-SPR-START', out.spread.cj.mark)
|
|
58
|
-
out.spread.cj = out.spread.cj.unify(TOP, ctx.clone({ explain: ec(te, 'SPR-SELF-UNIFY') }))
|
|
59
|
-
out.spread.cj.mark._self_unified = true
|
|
60
|
-
// console.log('MAPVAL-SU', out.spread.cj.id, out.spread.cj.canon, out.spread.cj.done)
|
|
61
|
-
}
|
|
62
|
-
*/
|
|
50
|
+
out.site = this.site;
|
|
51
|
+
out.from = this.from;
|
|
63
52
|
if (peer instanceof MapVal) {
|
|
64
|
-
// console.log('MAPVAL-PEER-MAPVAL', this.id, this.canon, this.done, peer.id, peer.canon, peer.done)
|
|
65
53
|
if (!this.closed && peer.closed) {
|
|
66
54
|
out = peer.unify(this, ctx.clone({ explain: (0, utility_1.ec)(te, 'PMC') }));
|
|
67
55
|
exit = true;
|
|
@@ -128,9 +116,9 @@ class MapVal extends BagVal_1.BagVal {
|
|
|
128
116
|
if (this.spread.cj) {
|
|
129
117
|
let key_ctx = ctx.descend(peerkey);
|
|
130
118
|
let key_spread_cj = spread_cj.clone(key_ctx);
|
|
131
|
-
// console.log('MAPVAL-PEER-SPR', peerkey, key_spread_cj.id, key_spread_cj.canon, key_spread_cj.done)
|
|
132
119
|
oval = out.peg[peerkey] =
|
|
133
120
|
(0, unify_1.unite)(key_ctx.clone({ explain: (0, utility_1.ec)(te, 'PSP:' + peerkey) }), oval, key_spread_cj, 'map-peer-spread');
|
|
121
|
+
oval.from = spread_cj;
|
|
134
122
|
}
|
|
135
123
|
(0, utility_1.propagateMarks)(this, oval);
|
|
136
124
|
done = (done && type_1.DONE === oval.dc);
|
|
@@ -149,6 +137,9 @@ class MapVal extends BagVal_1.BagVal {
|
|
|
149
137
|
(0, utility_1.propagateMarks)(this, out);
|
|
150
138
|
}
|
|
151
139
|
}
|
|
140
|
+
if (out.isBag) {
|
|
141
|
+
out.from = this.from;
|
|
142
|
+
}
|
|
152
143
|
// console.log('MAPVAL-OUT', this.id, this.closed, this.canon, 'P=', (peer as any).closed, peer.canon, '->', (out as any).closed, out.canon)
|
|
153
144
|
ctx.explain && (0, utility_1.explainClose)(te, out);
|
|
154
145
|
return out;
|
|
@@ -171,6 +162,7 @@ class MapVal extends BagVal_1.BagVal {
|
|
|
171
162
|
}
|
|
172
163
|
out.closed = this.closed;
|
|
173
164
|
out.optionalKeys = [...this.optionalKeys];
|
|
165
|
+
// out.from = this.from
|
|
174
166
|
// console.log('MAPVAL-CLONE', this.canon, '->', out.canon)
|
|
175
167
|
return out;
|
|
176
168
|
}
|
|
@@ -196,38 +188,6 @@ class MapVal extends BagVal_1.BagVal {
|
|
|
196
188
|
inspection(d) {
|
|
197
189
|
return this.spread.cj ? '&:' + this.spread.cj.inspect(null == d ? 0 : d + 1) : '';
|
|
198
190
|
}
|
|
199
|
-
gen(ctx) {
|
|
200
|
-
let out = {};
|
|
201
|
-
if (this.mark.type || this.mark.hide) {
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
for (let p in this.peg) {
|
|
205
|
-
const child = this.peg[p];
|
|
206
|
-
if (child.mark.type || child.mark.hide) {
|
|
207
|
-
continue;
|
|
208
|
-
}
|
|
209
|
-
const optional = this.optionalKeys.includes(p);
|
|
210
|
-
if (child.isScalar
|
|
211
|
-
|| child.isMap
|
|
212
|
-
|| child.isList
|
|
213
|
-
|| child.isPref
|
|
214
|
-
|| child.isRef
|
|
215
|
-
|| child.isDisjunct
|
|
216
|
-
|| child.isNil) {
|
|
217
|
-
const cval = child.gen(ctx);
|
|
218
|
-
if (optional && (0, Val_1.empty)(cval)) {
|
|
219
|
-
continue;
|
|
220
|
-
}
|
|
221
|
-
out[p] = cval;
|
|
222
|
-
}
|
|
223
|
-
else if (!optional) {
|
|
224
|
-
(0, err_1.makeNilErr)(ctx, this.closed ? 'mapval_required' : 'mapval_no_gen', child, undefined);
|
|
225
|
-
break;
|
|
226
|
-
}
|
|
227
|
-
// else optional so we can ignore it
|
|
228
|
-
}
|
|
229
|
-
return out;
|
|
230
|
-
}
|
|
231
191
|
}
|
|
232
192
|
exports.MapVal = MapVal;
|
|
233
193
|
//# sourceMappingURL=MapVal.js.map
|
package/dist/val/MapVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapVal.js","sourceRoot":"","sources":["../../src/val/MapVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AASzD,kCAGgB;AAGhB,oCAAgC;AAEhC,wCAKmB;AAEnB,gCAA+C;AAE/C,+BAEc;AAGd,+CAA2C;AAE3C,qCAAiC;
|
|
1
|
+
{"version":3,"file":"MapVal.js","sourceRoot":"","sources":["../../src/val/MapVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/NilVal.d.ts
CHANGED
|
@@ -9,7 +9,8 @@ declare class NilVal extends Val {
|
|
|
9
9
|
secondary?: Val;
|
|
10
10
|
msg: string;
|
|
11
11
|
attempt?: string;
|
|
12
|
-
|
|
12
|
+
details?: Record<string, any>;
|
|
13
|
+
static make: (ctx?: AontuContext, why?: any, av?: Val, bv?: Val, attempt?: string, details?: Record<string, any>) => NilVal;
|
|
13
14
|
constructor(spec?: {
|
|
14
15
|
why?: string;
|
|
15
16
|
msg?: string;
|
package/dist/val/NilVal.js
CHANGED
|
@@ -61,16 +61,17 @@ exports.NilVal = NilVal;
|
|
|
61
61
|
// TODO: include Val generating nil, thus capture type
|
|
62
62
|
// A Nil is an error - should not happen - unify failed
|
|
63
63
|
// refactor ,make(spec,ctx)
|
|
64
|
-
NilVal.make = (ctx, why, av, bv, attempt) => {
|
|
64
|
+
NilVal.make = (ctx, why, av, bv, attempt, details) => {
|
|
65
65
|
let nil = new NilVal({ why }, ctx);
|
|
66
66
|
nil.attempt = attempt;
|
|
67
|
-
|
|
67
|
+
nil.details = details;
|
|
68
68
|
// Terms later in same file are considered the primary error location.
|
|
69
69
|
if (null != av) {
|
|
70
70
|
nil.site.row = av.site.row;
|
|
71
71
|
nil.site.col = av.site.col;
|
|
72
72
|
nil.site.url = av.site.url;
|
|
73
73
|
nil.primary = av;
|
|
74
|
+
nil.path = av.path;
|
|
74
75
|
if (null != bv) {
|
|
75
76
|
nil.secondary = bv;
|
|
76
77
|
let bv_loc_wins = (nil.site.url === bv.site.url) && ((nil.site.row < bv.site.row) ||
|
|
@@ -81,6 +82,7 @@ NilVal.make = (ctx, why, av, bv, attempt) => {
|
|
|
81
82
|
nil.site.url = bv.site.url;
|
|
82
83
|
nil.primary = bv;
|
|
83
84
|
nil.secondary = av;
|
|
85
|
+
nil.path = bv.path;
|
|
84
86
|
}
|
|
85
87
|
}
|
|
86
88
|
}
|
package/dist/val/NilVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NilVal.js","sourceRoot":"","sources":["../../src/val/NilVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAOzD,kCAEgB;AAOhB,+BAA2B;AAE3B,
|
|
1
|
+
{"version":3,"file":"NilVal.js","sourceRoot":"","sources":["../../src/val/NilVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ class ScalarKindVal extends FeatureVal_1.FeatureVal {
|
|
|
39
39
|
out = peer;
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
|
-
out = (0, err_1.makeNilErr)(ctx, '
|
|
42
|
+
out = (0, err_1.makeNilErr)(ctx, 'no_scalar_unify', this, peer);
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
else if (peerIsScalarKind) {
|
package/dist/val/Val.js
CHANGED
|
@@ -62,7 +62,10 @@ class Val {
|
|
|
62
62
|
this.path = [];
|
|
63
63
|
this.site = new site_1.Site();
|
|
64
64
|
// Map of boolean flags.
|
|
65
|
-
this.mark = {
|
|
65
|
+
this.mark = {
|
|
66
|
+
type: false,
|
|
67
|
+
hide: false,
|
|
68
|
+
};
|
|
66
69
|
// Actual native value.
|
|
67
70
|
this.peg = undefined;
|
|
68
71
|
// TODO: used for top level result - not great
|
|
@@ -148,6 +151,7 @@ class Val {
|
|
|
148
151
|
inspect(d) {
|
|
149
152
|
d = null == d ? -1 : d;
|
|
150
153
|
let s = ['<' + this.constructor.name.replace(/Val$/, '') + '/' + this.id];
|
|
154
|
+
s.push('/@' + this.site?.row + ',' + this.site?.col);
|
|
151
155
|
s.push('/' + this.path.join('.') + '/');
|
|
152
156
|
s.push([
|
|
153
157
|
DONE === this.dc ? 'D' : 'd' + this.dc,
|
package/dist/val/Val.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Val.js","sourceRoot":"","sources":["../../src/val/Val.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Val.js","sourceRoot":"","sources":["../../src/val/Val.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;;;;;;;;;;;;;AAoUvD,sBAAK;AAlUP,yCAAmC;AAInC,kCAEgB;AAqChB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAA;AAqRb,oBAAI;AAnRN,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAA;AAoR7B,wBAAM;AAjRR,IAAI,EAAE,GAAG,IAAI,CAAA;AAGb,MAAe,GAAG;IA+DhB,4BAA4B;IAC5B,YAAY,IAAa,EAAE,GAAkB;QA/D7C,UAAK,GAAG,IAAI,CAAA;QAEZ,UAAK,GAAG,KAAK,CAAA;QACb,UAAK,GAAG,KAAK,CAAA;QACb,UAAK,GAAG,KAAK,CAAA;QACb,WAAM,GAAG,KAAK,CAAA;QACd,aAAQ,GAAG,KAAK,CAAA;QAChB,iBAAY,GAAG,KAAK,CAAA;QACpB,UAAK,GAAG,KAAK,CAAA;QACb,WAAM,GAAG,KAAK,CAAA;QACd,UAAK,GAAG,KAAK,CAAA;QACb,UAAK,GAAG,KAAK,CAAA;QACb,aAAQ,GAAG,KAAK,CAAA;QAChB,cAAS,GAAG,KAAK,CAAA;QACjB,aAAQ,GAAG,KAAK,CAAA;QAChB,cAAS,GAAG,KAAK,CAAA;QACjB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAElB,SAAI,GAAG,KAAK,CAAA;QACZ,aAAQ,GAAG,KAAK,CAAA;QAEhB,WAAM,GAAG,KAAK,CAAA;QACd,gBAAW,GAAG,KAAK,CAAA;QACnB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAClB,cAAS,GAAG,KAAK,CAAA;QACjB,gBAAW,GAAG,KAAK,CAAA;QACnB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAClB,eAAU,GAAG,KAAK,CAAA;QAClB,gBAAW,GAAG,KAAK,CAAA;QACnB,eAAU,GAAG,KAAK,CAAA;QAClB,gBAAW,GAAG,KAAK,CAAA;QAGnB,OAAE,GAAW,CAAC,CAAA;QACd,SAAI,GAAa,EAAE,CAAA;QACnB,SAAI,GAAS,IAAI,WAAI,EAAE,CAAA;QAEvB,wBAAwB;QACxB,SAAI,GAAY;YACd,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;SACZ,CAAA;QAED,uBAAuB;QACvB,QAAG,GAAQ,SAAS,CAAA;QAEpB,8CAA8C;QAC9C,gCAAgC;QAChC,QAAG,GAAU,EAAE,CAAA;QACf,YAAO,GAAiB,IAAI,CAAA;QAM5B,2BAAS;QAIP,uBAAA,IAAI,YAAQ,GAAG,MAAA,CAAA;QAEf,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,CAAA;QAEpB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,MAAM,GAAI,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,CAAA;YACtC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAC7C;YAAE,IAAI,CAAC,GAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QACxC,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,IAAI,IAAI,EAAE,CAAA;QAE3B,uBAAuB;QACvB,gDAAgD;QAChD,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAA;QAEd,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QAEZ,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAA;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAA;QAElC,qEAAqE;IACvE,CAAC;IAGD,GAAG;QACD,OAAO,uBAAA,IAAI,gBAAK,CAAA;IAClB,CAAC;IAGD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,EAAE,KAAK,IAAI,CAAA;IACzB,CAAC;IAGD,IAAI,CAAC,IAAS;QACZ,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAA;IACnD,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,QAAQ,CAAA;QAEZ,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,CAAA;QACrB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;YAChC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;YAC1C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QACD,yCAAyC;QACzC,kBAAkB;QAElB,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;QAE9B,IAAI,QAAQ,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACpD,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;SAChB,CAAA;QAED,IAAI,GAAG,GAAG,IAAK,IAAY;aACxB,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QAElC,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAA;QAElC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC/C,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;QAC/C,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAA;QAE/C,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC5D,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;QAC/D,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAA;QAE/D,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,KAAK,CAAC,CAAM;QACV,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC1B,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;QAC1B,OAAO,CAAC,CAAA;IACV,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,KAAU,EAAE,IAAkB,IAAS,OAAO,IAAI,CAAA,CAAC,CAAC;IAE1D,+DAA+D;IAC/D,iDAAiD;IACjD,IAAI,KAAK,KAAa,OAAO,EAAE,CAAA,CAAC,CAAC;IAGjC,QAAQ;QACN,OAAO,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAA;IACjE,CAAC;IAGD,GAAG,CAAC,IAAkB;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,OAAO;QACL,IAAI,CAAC,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACjD,CAAC;IAMD,4BAAC,mBAAO,CAAC,MAAM,EAAC,CAAC,CAAS,EAAE,KAAU,EAAE,QAAa;QACnD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,OAAO,CAAC,CAAU;QAChB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;QAEzE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAEpD,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QAEvC,CAAC,CAAC,IAAI,CAAC;YACL,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE;YACtC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;SACrE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAEnC,sCAAsC;QACtC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACjC,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QACpB,CAAC;QAED,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,IAAI,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACjC,CAAC;aACI,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,GAAG;YACtD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAS,EAAE,KAAK,EAAE,CAAC;YACnD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACrC,CAAC;aACI,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aACI,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAA;QACtC,CAAC;QAED,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAEX,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAEtB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,UAAU,CAAC,EAAW;QACpB,OAAO,EAAE,CAAA;IACX,CAAC;CAEF;AA0CC,kBAAG;AAvCL,SAAS,UAAU,CAAC,GAAQ,EAAE,CAAS;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YACpE,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QACxB,CAAC,GAAG;YACF,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACjC,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,kBAAkB;gBAClD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAC,IAAI,CAAC,GAAG,CAAC;YACX,IAAI,GAAG,MAAM,GAAG,GAAG,CAAC,CACvB,CAAA;AACH,CAAC;AAED,SAAS,MAAM,CAAC,CAAS;IACvB,OAAO,CACL,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACR,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC;IAC7C,+BAA+B;KAChC,CAAA;AACH,CAAC;AAGD,SAAS,KAAK,CAAC,CAAM;IACnB,OAAO,CACL,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;WACjC,CAAC,IAAI,IAAI,CAAC,IAAI,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;WACnE,KAAK,CACT,CAAA;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aontu",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.33.0",
|
|
4
4
|
"main": "dist/aontu.js",
|
|
5
5
|
"type": "commonjs",
|
|
6
|
-
"browser": "dist/aontu.min.js",
|
|
7
6
|
"types": "dist/aontu.d.ts",
|
|
8
7
|
"description": "Unifier.",
|
|
9
8
|
"homepage": "https://github.com/rjrodger/aontu",
|
|
@@ -17,7 +16,7 @@
|
|
|
17
16
|
},
|
|
18
17
|
"scripts": {
|
|
19
18
|
"test": "node --enable-source-maps --test \"dist-test/**/*.test.js\"",
|
|
20
|
-
"test-some": "node --enable-source-maps --test-name-pattern=\"$
|
|
19
|
+
"test-some": "node --enable-source-maps --test-name-pattern=\"$TEST_PATTERN\" --test \"dist-test/**/*.test.js\"",
|
|
21
20
|
"watch": "tsc --build src test -w",
|
|
22
21
|
"build": "tsc --build src test",
|
|
23
22
|
"clean": "rm -rf dist dist-test node_modules yarn.lock package-lock.json",
|
|
@@ -46,7 +45,7 @@
|
|
|
46
45
|
"devDependencies": {
|
|
47
46
|
"@hapi/code": "^9.0.3",
|
|
48
47
|
"@types/node": "^24.10.1",
|
|
49
|
-
"memfs": "^4.51.
|
|
48
|
+
"memfs": "^4.51.1",
|
|
50
49
|
"typescript": "^5.9.3"
|
|
51
50
|
},
|
|
52
51
|
"aliasify": {
|
package/src/aontu.ts
CHANGED
|
@@ -25,6 +25,7 @@ class Aontu {
|
|
|
25
25
|
// Create a new context.
|
|
26
26
|
ctx(cfg?: AontuContextConfig): AontuContext {
|
|
27
27
|
cfg = cfg ?? {}
|
|
28
|
+
cfg.fs = cfg.fs ?? this.opts.fs
|
|
28
29
|
const ac = new AontuContext(cfg)
|
|
29
30
|
return ac
|
|
30
31
|
}
|
|
@@ -121,6 +122,7 @@ class Aontu {
|
|
|
121
122
|
if (undefined !== pval && 0 === pval.err.length) {
|
|
122
123
|
|
|
123
124
|
let uval = this.unify(pval, undefined, ac)
|
|
125
|
+
// console.log('AONTU-GENERATE-UVAL', uval.constructor, uval.mark)
|
|
124
126
|
|
|
125
127
|
if (undefined !== uval && 0 === uval.err.length) {
|
|
126
128
|
|
package/src/ctx.ts
CHANGED
|
@@ -97,6 +97,7 @@ class AontuContext {
|
|
|
97
97
|
root?: Val,
|
|
98
98
|
path?: string[],
|
|
99
99
|
err?: any[],
|
|
100
|
+
collect?: boolean,
|
|
100
101
|
explain?: any[] | boolean | null
|
|
101
102
|
}): AontuContext {
|
|
102
103
|
const ctx = Object.create(this)
|
|
@@ -104,6 +105,7 @@ class AontuContext {
|
|
|
104
105
|
ctx.root = cfg.root ?? this.root
|
|
105
106
|
ctx.var = Object.create(this.vars)
|
|
106
107
|
|
|
108
|
+
ctx.collect = null != cfg.collect ? !!cfg.collect : ctx.collect
|
|
107
109
|
ctx.err = cfg.err ?? ctx.err
|
|
108
110
|
ctx.explain = Array.isArray(cfg.explain) ? cfg.explain : ctx.explain
|
|
109
111
|
|
package/src/err.ts
CHANGED
|
@@ -12,12 +12,13 @@ import { NilVal } from './val/NilVal'
|
|
|
12
12
|
import { hints } from './hints'
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
const { errmsg } = util
|
|
15
|
+
const { errmsg, strinject } = util
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
function getHint(why: any): string | undefined {
|
|
18
|
+
function getHint(why: any, details?: Record<string, any>): string | undefined {
|
|
19
19
|
if (hints[why]) {
|
|
20
|
-
|
|
20
|
+
let txt = hints[why]
|
|
21
|
+
return details ? strinject(txt, details) : txt
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
return undefined
|
|
@@ -29,9 +30,10 @@ function makeNilErr(
|
|
|
29
30
|
why?: any,
|
|
30
31
|
av?: Val,
|
|
31
32
|
bv?: Val,
|
|
32
|
-
attempt?: string
|
|
33
|
+
attempt?: string,
|
|
34
|
+
details?: Record<string, any>
|
|
33
35
|
): NilVal {
|
|
34
|
-
const nilval = NilVal.make(ctx, why, av, bv, attempt)
|
|
36
|
+
const nilval = NilVal.make(ctx, why, av, bv, attempt, details)
|
|
35
37
|
return nilval
|
|
36
38
|
}
|
|
37
39
|
|
|
@@ -54,6 +56,8 @@ function descErr<NILS extends NilVal | NilVal[]>(
|
|
|
54
56
|
let valpath = (0 < path.length ? path.join('.') : '')
|
|
55
57
|
let attempt = null != err.attempt ? err.attempt : (null == v2 ? 'resolve' : 'unify')
|
|
56
58
|
|
|
59
|
+
const details = err.details
|
|
60
|
+
|
|
57
61
|
err.msg = [
|
|
58
62
|
errmsg({
|
|
59
63
|
color: { active: true },
|
|
@@ -64,7 +68,7 @@ function descErr<NILS extends NilVal | NilVal[]>(
|
|
|
64
68
|
attempt +
|
|
65
69
|
' value' + (null == v2 ? '' : 's') +
|
|
66
70
|
' at path ' + valpath,
|
|
67
|
-
hint: getHint(err.why)
|
|
71
|
+
hint: getHint(err.why, err.details)
|
|
68
72
|
}
|
|
69
73
|
}),
|
|
70
74
|
|
|
@@ -78,7 +82,8 @@ function descErr<NILS extends NilVal | NilVal[]>(
|
|
|
78
82
|
(null == v2 ? '' : ' with value: ' + v2.canon), // + ' #' + err.id,
|
|
79
83
|
site: ''
|
|
80
84
|
},
|
|
81
|
-
smsg: '
|
|
85
|
+
smsg: (null == details?.key ? '' : 'key ' + details?.key + ' ') +
|
|
86
|
+
'value was: ' + v1.canon,
|
|
82
87
|
file: resolveFile(v1.site.url),
|
|
83
88
|
src: v1src,
|
|
84
89
|
row: v1.site.row,
|
|
@@ -93,7 +98,8 @@ function descErr<NILS extends NilVal | NilVal[]>(
|
|
|
93
98
|
' with value: ' + v1.canon, // + ' #' + err.id,
|
|
94
99
|
site: ''
|
|
95
100
|
},
|
|
96
|
-
smsg: '
|
|
101
|
+
smsg: (null == details?.key ? '' : 'key ' + details?.key + ' ') +
|
|
102
|
+
'value was: ' + v2.canon,
|
|
97
103
|
file: resolveFile(v2.site.url),
|
|
98
104
|
src: v2src,
|
|
99
105
|
row: v2.site.row,
|
package/src/hints.ts
CHANGED
|
@@ -41,12 +41,18 @@ const hints: Record<string, string> = {
|
|
|
41
41
|
'This value was present after unification, and cannot be generated\n' +
|
|
42
42
|
'because it is not a literal value.',
|
|
43
43
|
|
|
44
|
+
mapval_spread_required:
|
|
45
|
+
'The value for key {key} is required (defined in spread).',
|
|
46
|
+
|
|
44
47
|
listval_required: 'This list element is required.',
|
|
45
48
|
|
|
46
49
|
listval_no_gen:
|
|
47
50
|
'This list element was present after unification, and cannot be generated\n' +
|
|
48
51
|
'because it is not a literal value.',
|
|
49
52
|
|
|
53
|
+
listval_spread_required:
|
|
54
|
+
'The value for key {key} is required (defined in spread).',
|
|
55
|
+
|
|
50
56
|
unknown_function:
|
|
51
57
|
'This function name is not recognized.',
|
|
52
58
|
|
|
@@ -77,7 +83,7 @@ const hints: Record<string, string> = {
|
|
|
77
83
|
// Type mismatch errors
|
|
78
84
|
|
|
79
85
|
'scalar-type': 'Scalar type mismatch. The scalar types are incompatible.',
|
|
80
|
-
'
|
|
86
|
+
'no_scalar_unify': 'Cannot unify scalar values. The scalar values have incompatible types.',
|
|
81
87
|
'not-scalar-type': 'Expected a scalar type but got a non-scalar type.',
|
|
82
88
|
'map': 'Type mismatch: expected a map value but got a different type.',
|
|
83
89
|
'list': 'Type mismatch: expected a list value but got a different type.',
|
package/src/lang.ts
CHANGED
package/src/site.ts
CHANGED
|
@@ -6,25 +6,19 @@ import type {
|
|
|
6
6
|
} from './type'
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
type SiteSpec = { row?: number, col?: number, url?: string }
|
|
10
|
+
|
|
9
11
|
class Site {
|
|
10
|
-
row: number
|
|
11
|
-
col: number
|
|
12
|
-
url: string
|
|
13
|
-
|
|
14
|
-
constructor(val?: Val |
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
this.url = val.site?.url ?? ''
|
|
21
|
-
} else {
|
|
22
|
-
// Plain object with row, col, url
|
|
23
|
-
this.row = val.row ?? -1
|
|
24
|
-
this.col = val.col ?? -1
|
|
25
|
-
this.url = val.url ?? ''
|
|
26
|
-
}
|
|
27
|
-
}
|
|
12
|
+
row: number
|
|
13
|
+
col: number
|
|
14
|
+
url: string
|
|
15
|
+
|
|
16
|
+
constructor(val?: Val | SiteSpec) {
|
|
17
|
+
const site = ((val as any)?.site ?? val) as SiteSpec
|
|
18
|
+
|
|
19
|
+
this.row = site?.row ?? -1
|
|
20
|
+
this.col = site?.col ?? -1
|
|
21
|
+
this.url = site?.url ?? ''
|
|
28
22
|
}
|
|
29
23
|
}
|
|
30
24
|
|