aontu 0.53.0 → 0.55.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.d.ts +3 -2
- package/dist/aontu.js +36 -7
- package/dist/aontu.js.map +1 -1
- package/dist/cli.d.ts +2 -1
- package/dist/cli.js +500 -8
- package/dist/cli.js.map +1 -1
- package/dist/ctx.d.ts +5 -0
- package/dist/ctx.js +1 -0
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js.map +1 -1
- package/dist/err.js +7 -1
- package/dist/err.js.map +1 -1
- package/dist/graph.d.ts +2 -5
- package/dist/graph.js +83 -46
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +9 -10
- package/dist/hcanon.js.map +1 -1
- package/dist/hints.js +94 -26
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +34 -0
- package/dist/jsonschema.js.map +1 -1
- package/dist/lang.js +593 -191
- package/dist/lang.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +86 -6
- package/dist/lsp.js.map +1 -1
- package/dist/mcp.js +153 -6
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +42 -8
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.d.ts +4 -0
- package/dist/mod.js +97 -2
- package/dist/mod.js.map +1 -1
- package/dist/patch.d.ts +5 -0
- package/dist/patch.js +25 -25
- package/dist/patch.js.map +1 -1
- package/dist/provenance.d.ts +1 -0
- package/dist/provenance.js +2 -1
- package/dist/provenance.js.map +1 -1
- package/dist/query.js.map +1 -1
- package/dist/reach.d.ts +1 -0
- package/dist/reach.js +49 -21
- package/dist/reach.js.map +1 -1
- package/dist/relation.d.ts +4 -0
- package/dist/relation.js +125 -200
- package/dist/relation.js.map +1 -1
- package/dist/sig.d.ts +25 -0
- package/dist/sig.js +277 -0
- package/dist/sig.js.map +1 -0
- package/dist/sigdecl.d.ts +2 -0
- package/dist/sigdecl.js +11 -0
- package/dist/sigdecl.js.map +1 -0
- package/dist/siggate.d.ts +4 -0
- package/dist/siggate.js +90 -0
- package/dist/siggate.js.map +1 -0
- package/dist/std.js +75 -16
- package/dist/std.js.map +1 -1
- package/dist/subsume.js +57 -10
- package/dist/subsume.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/unify.d.ts +2 -2
- package/dist/unify.js +93 -114
- package/dist/unify.js.map +1 -1
- package/dist/utility.d.ts +1 -2
- package/dist/utility.js +7 -61
- package/dist/utility.js.map +1 -1
- package/dist/val/AggFuncVal.d.ts +12 -1
- package/dist/val/AggFuncVal.js +165 -3
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/BagVal.d.ts +2 -0
- package/dist/val/BagVal.js +56 -8
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +33 -5
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.d.ts +35 -0
- package/dist/val/ContainerKindVal.js +99 -0
- package/dist/val/ContainerKindVal.js.map +1 -0
- package/dist/val/CopyFuncVal.js +0 -7
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.d.ts +1 -2
- package/dist/val/DisjunctVal.js +146 -39
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/ExpectVal.js +37 -2
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +19 -8
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.d.ts +39 -0
- package/dist/val/GraphAtomVal.js +184 -0
- package/dist/val/GraphAtomVal.js.map +1 -0
- package/dist/val/JunctionVal.js +22 -5
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/ListVal.js +27 -34
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/MapVal.d.ts +1 -0
- package/dist/val/MapVal.js +82 -35
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/PathFuncVal.d.ts +2 -2
- package/dist/val/PathFuncVal.js +75 -16
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.d.ts +25 -0
- package/dist/val/PathVal.js +150 -0
- package/dist/val/PathVal.js.map +1 -0
- package/dist/val/PlusOpVal.d.ts +2 -1
- package/dist/val/PlusOpVal.js +50 -35
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefVal.d.ts +2 -0
- package/dist/val/PrefVal.js +159 -32
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.d.ts +19 -0
- package/dist/val/RecurseVal.js +217 -0
- package/dist/val/RecurseVal.js.map +1 -0
- package/dist/val/RefVal.d.ts +2 -1
- package/dist/val/RefVal.js +105 -72
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.d.ts +30 -7
- package/dist/val/ReferFuncVal.js +395 -94
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.d.ts +4 -2
- package/dist/val/ScalarKindVal.js +12 -1
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/SuperFuncVal.d.ts +4 -2
- package/dist/val/SuperFuncVal.js +118 -14
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.d.ts +1 -1
- package/dist/val/Val.d.ts +2 -3
- package/dist/val/Val.js +39 -20
- package/dist/val/Val.js.map +1 -1
- package/dist/val/arith.js +4 -1
- package/dist/val/arith.js.map +1 -1
- package/dist/vet.d.ts +1 -0
- package/dist/vet.js +32 -1
- package/dist/vet.js.map +1 -1
- package/dist/view.d.ts +90 -0
- package/dist/view.js +2168 -0
- package/dist/view.js.map +1 -0
- package/grammar/aontu.gbnf +18 -10
- package/grammar/aontu.lark +15 -10
- package/grammar/aontu.tmLanguage.json +184 -0
- package/package.json +10 -3
- package/skill/grammar-card.md +1 -2
- package/src/aontu.ts +37 -7
- package/src/cli.ts +553 -8
- package/src/ctx.ts +20 -0
- package/src/diff.ts +4 -2
- package/src/err.ts +8 -1
- package/src/graph.ts +125 -75
- package/src/hcanon.ts +9 -11
- package/src/hints.ts +112 -29
- package/src/jsonschema.ts +41 -0
- package/src/lang.ts +642 -203
- package/src/lsp.ts +75 -6
- package/src/mcp.ts +164 -6
- package/src/mod-tool.ts +48 -9
- package/src/mod.ts +110 -1
- package/src/patch.ts +31 -27
- package/src/provenance.ts +8 -1
- package/src/query.ts +4 -2
- package/src/reach.ts +52 -23
- package/src/relation.ts +139 -236
- package/src/sig.ts +345 -0
- package/src/sigdecl.ts +11 -0
- package/src/siggate.ts +144 -0
- package/src/std.ts +77 -16
- package/src/subsume.ts +59 -10
- package/src/unify.ts +102 -125
- package/src/utility.ts +7 -67
- package/src/val/AggFuncVal.ts +231 -4
- package/src/val/BagVal.ts +58 -9
- package/src/val/ConstraintVal.ts +34 -5
- package/src/val/ContainerKindVal.ts +158 -0
- package/src/val/CopyFuncVal.ts +0 -7
- package/src/val/DisjunctVal.ts +152 -40
- package/src/val/ExpectVal.ts +39 -4
- package/src/val/FuncBaseVal.ts +21 -8
- package/src/val/GraphAtomVal.ts +264 -0
- package/src/val/JunctionVal.ts +23 -6
- package/src/val/ListVal.ts +30 -37
- package/src/val/MapVal.ts +87 -39
- package/src/val/PathFuncVal.ts +107 -19
- package/src/val/PathVal.ts +221 -0
- package/src/val/PlusOpVal.ts +56 -37
- package/src/val/PrefVal.ts +186 -38
- package/src/val/RecurseVal.ts +285 -0
- package/src/val/RefVal.ts +105 -83
- package/src/val/ReferFuncVal.ts +445 -100
- package/src/val/ScalarKindVal.ts +12 -0
- package/src/val/SuperFuncVal.ts +137 -13
- package/src/val/TopVal.ts +1 -1
- package/src/val/Val.ts +44 -35
- package/src/val/arith.ts +4 -1
- package/src/vet.ts +41 -4
- package/src/view.ts +2882 -0
- package/dist/val/IdFuncVal.d.ts +0 -13
- package/dist/val/IdFuncVal.js +0 -54
- package/dist/val/IdFuncVal.js.map +0 -1
- package/src/val/IdFuncVal.ts +0 -91
package/dist/val/MapVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MapVal.js","sourceRoot":"","sources":["../../src/val/MapVal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MapVal.js","sourceRoot":"","sources":["../../src/val/MapVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ declare class PathFuncVal extends FuncBaseVal {
|
|
|
7
7
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
8
8
|
make(_ctx: AontuContext, spec: ValSpec): Val;
|
|
9
9
|
funcname(): string;
|
|
10
|
-
prepare(ctx: AontuContext, args: Val[]): Val[];
|
|
11
|
-
resolve(ctx: AontuContext, args: Val[]):
|
|
10
|
+
prepare(ctx: AontuContext, args: Val[]): import("./NilVal").NilVal[] | Val[];
|
|
11
|
+
resolve(ctx: AontuContext, args: Val[]): any;
|
|
12
12
|
}
|
|
13
13
|
export { PathFuncVal, };
|
package/dist/val/PathFuncVal.js
CHANGED
|
@@ -3,8 +3,39 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.PathFuncVal = void 0;
|
|
5
5
|
const err_1 = require("../err");
|
|
6
|
-
const RefVal_1 = require("../val/RefVal");
|
|
7
6
|
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
7
|
+
const PathVal_1 = require("./PathVal");
|
|
8
|
+
// The address a reference SPELLS, or undefined when its segments
|
|
9
|
+
// cannot spell one (a variable segment, a parent step after the first
|
|
10
|
+
// named segment). Leading `.` entries in a relative ref's peg are
|
|
11
|
+
// parent steps; the spelling is the same grammar refer reads, so one
|
|
12
|
+
// address parser stays the single gate.
|
|
13
|
+
function captureSpelling(rv) {
|
|
14
|
+
const parts = [];
|
|
15
|
+
let up = 0;
|
|
16
|
+
let lead = true;
|
|
17
|
+
for (const p of rv.peg) {
|
|
18
|
+
if ('string' !== typeof p) {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
if ('.' === p) {
|
|
22
|
+
if (!lead) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
up++;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
lead = false;
|
|
29
|
+
parts.push(p);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if (0 === parts.length || (rv.absolute && 0 < up)) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return rv.absolute ?
|
|
36
|
+
'$.' + parts.join('.') :
|
|
37
|
+
'.'.repeat(up + 1) + parts.join('.');
|
|
38
|
+
}
|
|
8
39
|
class PathFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
9
40
|
constructor(spec, ctx) {
|
|
10
41
|
super(spec, ctx);
|
|
@@ -20,30 +51,58 @@ class PathFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
20
51
|
return 'path';
|
|
21
52
|
}
|
|
22
53
|
prepare(ctx, args) {
|
|
23
|
-
let arg = args[0];
|
|
24
54
|
if (0 === this.prepared) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
//
|
|
28
|
-
// internal error. Same discipline breach, and same fix, as the one
|
|
29
|
-
// UpperFuncVal records; path() was missed in that sweep.
|
|
55
|
+
this.prepared++;
|
|
56
|
+
const arg = args[0];
|
|
57
|
+
// The kind form: no argument to capture.
|
|
30
58
|
if (null == arg) {
|
|
31
|
-
|
|
59
|
+
return [];
|
|
32
60
|
}
|
|
33
|
-
|
|
34
|
-
|
|
61
|
+
// The captured spelling, from a reference's segments or from a
|
|
62
|
+
// string literal read as address text. Both go through
|
|
63
|
+
// parseAddress, so what capture admits and what refer reads
|
|
64
|
+
// cannot drift. Anything else -- an expression, a reference to
|
|
65
|
+
// a string -- is left for the driving loop, and resolve
|
|
66
|
+
// converts the driven result below.
|
|
67
|
+
let spelling;
|
|
68
|
+
if (true === arg.isRef) {
|
|
69
|
+
spelling = captureSpelling(arg);
|
|
35
70
|
}
|
|
36
|
-
else if (
|
|
37
|
-
|
|
71
|
+
else if (true === arg.isScalar && 'string' === typeof arg.peg) {
|
|
72
|
+
spelling = (0, PathVal_1.textAddress)(arg.peg);
|
|
38
73
|
}
|
|
74
|
+
else {
|
|
75
|
+
return args;
|
|
76
|
+
}
|
|
77
|
+
if (undefined === spelling || undefined === (0, PathVal_1.parseAddress)(spelling)) {
|
|
78
|
+
return [(0, err_1.makeNilErr)(ctx, 'path_address', this, arg)];
|
|
79
|
+
}
|
|
80
|
+
return [new PathVal_1.PathVal({ peg: spelling }, ctx)];
|
|
39
81
|
}
|
|
40
|
-
args[0] = arg;
|
|
41
|
-
this.prepared++;
|
|
42
82
|
return args;
|
|
43
83
|
}
|
|
44
84
|
resolve(ctx, args) {
|
|
45
|
-
|
|
46
|
-
|
|
85
|
+
if (0 === args.length) {
|
|
86
|
+
const out = new PathVal_1.PathKindVal({}, ctx);
|
|
87
|
+
out.site = this.site;
|
|
88
|
+
out.path = this.path;
|
|
89
|
+
return out;
|
|
90
|
+
}
|
|
91
|
+
const arg = args[0];
|
|
92
|
+
if (true === arg.isPath || true === arg.isNil) {
|
|
93
|
+
return arg;
|
|
94
|
+
}
|
|
95
|
+
// The COMPUTED argument, driven by the loop above: a string
|
|
96
|
+
// converts by the address grammar, exactly as a literal does at
|
|
97
|
+
// capture; anything else was never a path expression.
|
|
98
|
+
if (true === arg.isScalar && 'string' === typeof arg.peg) {
|
|
99
|
+
const spelling = (0, PathVal_1.textAddress)(arg.peg);
|
|
100
|
+
if (undefined === (0, PathVal_1.parseAddress)(spelling)) {
|
|
101
|
+
return (0, err_1.makeNilErr)(ctx, 'path_address', this, arg);
|
|
102
|
+
}
|
|
103
|
+
return new PathVal_1.PathVal({ peg: spelling }, ctx);
|
|
104
|
+
}
|
|
105
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this);
|
|
47
106
|
}
|
|
48
107
|
} /* node:coverage ignore next 6 */
|
|
49
108
|
exports.PathFuncVal = PathFuncVal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathFuncVal.js","sourceRoot":"","sources":["../../src/val/PathFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"PathFuncVal.js","sourceRoot":"","sources":["../../src/val/PathFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAsCzD,gCAAmC;AAEnC,+CAA2C;AAC3C,uCAA2E;AAG3E,iEAAiE;AACjE,sEAAsE;AACtE,kEAAkE;AAClE,qEAAqE;AACrE,wCAAwC;AACxC,SAAS,eAAe,CAAC,EAAO;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,QAAQ,KAAK,OAAO,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,SAAS,CAAA;YAClB,CAAC;YACD,EAAE,EAAE,CAAA;QACN,CAAC;aACI,CAAC;YACJ,IAAI,GAAG,KAAK,CAAA;YACZ,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClB,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACxB,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACxC,CAAC;AAGD,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAEjB,aAAQ,GAAG,CAAC,CAAA;IAOZ,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,MAAM,QAAQ,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;QACtC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;QACjC,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAA;YAEf,MAAM,GAAG,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;YAExB,yCAAyC;YACzC,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAA;YACX,CAAC;YAED,+DAA+D;YAC/D,uDAAuD;YACvD,4DAA4D;YAC5D,+DAA+D;YAC/D,wDAAwD;YACxD,oCAAoC;YACpC,IAAI,QAA4B,CAAA;YAChC,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;gBACvB,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;iBACI,IAAI,IAAI,KAAK,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC9D,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;iBACI,CAAC;gBACJ,OAAO,IAAI,CAAA;YACb,CAAC;YAED,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAA,sBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACnE,OAAO,CAAC,IAAA,gBAAU,EAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YACrD,CAAC;YAED,OAAO,CAAC,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,IAAI,qBAAW,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACpC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACpB,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,MAAM,GAAG,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YAC9C,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,4DAA4D;QAC5D,gEAAgE;QAChE,sDAAsD;QACtD,IAAI,IAAI,KAAK,GAAG,CAAC,QAAQ,IAAI,QAAQ,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACrC,IAAI,SAAS,KAAK,IAAA,sBAAY,EAAC,QAAQ,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YACnD,CAAC;YACD,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC;CAEF,CAAC,iCAAiC;QAIjC,WAAW"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Val, ValSpec } from '../type';
|
|
2
|
+
import { AontuContext } from '../ctx';
|
|
3
|
+
import { ScalarVal } from './ScalarVal';
|
|
4
|
+
import { ScalarKindVal } from './ScalarKindVal';
|
|
5
|
+
export type Address = {
|
|
6
|
+
absolute: boolean;
|
|
7
|
+
up: number;
|
|
8
|
+
parts: string[];
|
|
9
|
+
};
|
|
10
|
+
export declare function parseAddress(s: string): Address | undefined;
|
|
11
|
+
export declare function textAddress(s: string): string;
|
|
12
|
+
export declare function prefixMeet(a: string, b: string): string | undefined;
|
|
13
|
+
declare class PathVal extends ScalarVal {
|
|
14
|
+
isPath: boolean;
|
|
15
|
+
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
16
|
+
unify(peer: Val, ctx: AontuContext): Val;
|
|
17
|
+
get canon(): string;
|
|
18
|
+
superior(): Val;
|
|
19
|
+
}
|
|
20
|
+
declare class PathKindVal extends ScalarKindVal {
|
|
21
|
+
isPathKind: boolean;
|
|
22
|
+
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
23
|
+
get canon(): string;
|
|
24
|
+
}
|
|
25
|
+
export { PathVal, PathKindVal, };
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.PathKindVal = exports.PathVal = void 0;
|
|
5
|
+
exports.parseAddress = parseAddress;
|
|
6
|
+
exports.textAddress = textAddress;
|
|
7
|
+
exports.prefixMeet = prefixMeet;
|
|
8
|
+
const err_1 = require("../err");
|
|
9
|
+
const utility_1 = require("../utility");
|
|
10
|
+
const ScalarVal_1 = require("./ScalarVal");
|
|
11
|
+
const ScalarKindVal_1 = require("./ScalarKindVal");
|
|
12
|
+
// A segment of a tree path: a map key or a list index. The same
|
|
13
|
+
// grammar the rest of the engine spells keys with, and a leading digit
|
|
14
|
+
// is legitimate because a list index is one.
|
|
15
|
+
const ADDR_SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
16
|
+
// The address a string spells, or undefined when it does not spell
|
|
17
|
+
// one. An address is a TREE PATH, in exactly the two spellings a
|
|
18
|
+
// reference uses: `$.services.auth` from the root, `.auth` from the
|
|
19
|
+
// link's own sibling scope. The tree is the only namespace -- which is
|
|
20
|
+
// what makes a model instantiable more than once, each instance
|
|
21
|
+
// resolving its relative links inside itself (ADR-014).
|
|
22
|
+
function parseAddress(s) {
|
|
23
|
+
if ('$' === s) {
|
|
24
|
+
// The whole document is not a relation's target: an address must
|
|
25
|
+
// name something with a position to be written back into.
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
if (s.startsWith('$.')) {
|
|
29
|
+
const parts = s.slice(2).split('.');
|
|
30
|
+
for (const seg of parts) {
|
|
31
|
+
if (!ADDR_SEGMENT.test(seg)) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return { absolute: true, up: 0, parts };
|
|
36
|
+
}
|
|
37
|
+
if (!s.startsWith('.')) {
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
// A relative address: the leading dot anchors it at the sibling
|
|
41
|
+
// scope, and every FURTHER leading dot is one step up from there --
|
|
42
|
+
// the same reduction a relative reference's `.` segments perform.
|
|
43
|
+
let up = 0;
|
|
44
|
+
let rest = s.slice(1);
|
|
45
|
+
while (rest.startsWith('.')) {
|
|
46
|
+
up++;
|
|
47
|
+
rest = rest.slice(1);
|
|
48
|
+
}
|
|
49
|
+
if ('' === rest) {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
const parts = rest.split('.');
|
|
53
|
+
for (const seg of parts) {
|
|
54
|
+
if (!ADDR_SEGMENT.test(seg)) {
|
|
55
|
+
return undefined;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return { absolute: false, up, parts };
|
|
59
|
+
}
|
|
60
|
+
// The spelling string TEXT converts by, inside a `path(...)` call:
|
|
61
|
+
// text that carries no anchor is RELATIVE (`"a.b"` is the address
|
|
62
|
+
// `.a.b`), matching the raw form (`path(a.b)` captures `.a.b`). Only
|
|
63
|
+
// the anchor is supplied -- the result still has to parse, so
|
|
64
|
+
// malformed text (`""`, `"a..b"`, a bad `$` spelling) refuses as
|
|
65
|
+
// before. The prefix is not applied to text that claims an anchor:
|
|
66
|
+
// `"$x"` is a broken absolute address, not a relative one.
|
|
67
|
+
function textAddress(s) {
|
|
68
|
+
return ('$' === s[0] || '.' === s[0]) ? s : '.' + s;
|
|
69
|
+
}
|
|
70
|
+
// The LONGER of two addresses when one spells a prefix of the other
|
|
71
|
+
// (docs/design/PATHS.0.md, amended): same anchor -- absolute or the
|
|
72
|
+
// same number of parent steps -- and the shorter's segments open the
|
|
73
|
+
// longer's. The meet of two path values, and of a refer's address
|
|
74
|
+
// with a later path peer: a path can always be told more precisely,
|
|
75
|
+
// and the more precise spelling is the result. Undefined when the two
|
|
76
|
+
// are not comparable, which refuses as any two unequal scalars do.
|
|
77
|
+
// Both arguments must already be valid addresses: every caller hands
|
|
78
|
+
// over a PathVal peg or a refer addrsrc, and both are validated at
|
|
79
|
+
// capture or conversion -- the same trust `unify`'s own address arm
|
|
80
|
+
// extends (`parseAddress(p.peg) as Address`).
|
|
81
|
+
function prefixMeet(a, b) {
|
|
82
|
+
const pa = parseAddress(a);
|
|
83
|
+
const pb = parseAddress(b);
|
|
84
|
+
if (pa.absolute !== pb.absolute || pa.up !== pb.up) {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
const short = pa.parts.length <= pb.parts.length ? pa : pb;
|
|
88
|
+
const long = short === pa ? pb : pa;
|
|
89
|
+
for (let i = 0; i < short.parts.length; i++) {
|
|
90
|
+
if (short.parts[i] !== long.parts[i]) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return short === pa ? b : a;
|
|
95
|
+
}
|
|
96
|
+
class PathVal extends ScalarVal_1.ScalarVal {
|
|
97
|
+
constructor(spec, ctx) {
|
|
98
|
+
super({ peg: spec.peg, kind: ScalarKindVal_1.Path }, ctx);
|
|
99
|
+
this.isPath = true;
|
|
100
|
+
}
|
|
101
|
+
// Two path values meet by the PREFIX rule (ADR-016): the longer
|
|
102
|
+
// when one opens the other, refusal otherwise. Exactly equal pegs
|
|
103
|
+
// are absorbed by unite's fast path before this runs, so the arm
|
|
104
|
+
// sees the unequal pairs; the winner carries both sides' marks, as
|
|
105
|
+
// the equal-scalar arm has always ratcheted them.
|
|
106
|
+
unify(peer, ctx) {
|
|
107
|
+
const p = peer;
|
|
108
|
+
if (true === p.isPath) {
|
|
109
|
+
const merged = prefixMeet(this.peg, p.peg);
|
|
110
|
+
if (undefined === merged) {
|
|
111
|
+
return (0, err_1.makeNilErr)(ctx, 'scalar_value', this, peer);
|
|
112
|
+
}
|
|
113
|
+
const out = merged === this.peg ? this : p;
|
|
114
|
+
const other = out === this ? p : this;
|
|
115
|
+
(0, utility_1.propagateMarks)(other, out);
|
|
116
|
+
return out;
|
|
117
|
+
}
|
|
118
|
+
return super.unify(peer, ctx);
|
|
119
|
+
}
|
|
120
|
+
// Reparses to the same VALUE: the call form is the literal syntax
|
|
121
|
+
// for this kind, so canon renders it back. The peg is already the
|
|
122
|
+
// address grammar, which the argument grammar also accepts.
|
|
123
|
+
get canon() {
|
|
124
|
+
return 'path(' + this.peg + ')';
|
|
125
|
+
}
|
|
126
|
+
// The super() ladder lifts a path value to its own kind, and the
|
|
127
|
+
// kind must render as `path()` -- the bare word `path` is an
|
|
128
|
+
// ordinary string. ScalarVal.superior would mint the plain
|
|
129
|
+
// ScalarKindVal, whose canon is the bare word.
|
|
130
|
+
superior() {
|
|
131
|
+
return this.place(new PathKindVal({}));
|
|
132
|
+
}
|
|
133
|
+
} /* node:coverage ignore next 4 */
|
|
134
|
+
exports.PathVal = PathVal;
|
|
135
|
+
// The path KIND, `path()`: admits every path value and defaults to
|
|
136
|
+
// nothing, as `string` does. It does NOT promote (ADR-016): a bare
|
|
137
|
+
// string meeting the kind refuses through the generic kind ladder,
|
|
138
|
+
// exactly as `integer & "x"` does -- `path("...")` is the one string
|
|
139
|
+
// conversion, and it happens at the call.
|
|
140
|
+
class PathKindVal extends ScalarKindVal_1.ScalarKindVal {
|
|
141
|
+
constructor(spec, ctx) {
|
|
142
|
+
super({ ...spec, peg: ScalarKindVal_1.Path }, ctx);
|
|
143
|
+
this.isPathKind = true;
|
|
144
|
+
}
|
|
145
|
+
get canon() {
|
|
146
|
+
return 'path()';
|
|
147
|
+
}
|
|
148
|
+
} /* node:coverage ignore next 6 */
|
|
149
|
+
exports.PathKindVal = PathKindVal;
|
|
150
|
+
//# sourceMappingURL=PathVal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PathVal.js","sourceRoot":"","sources":["../../src/val/PathVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PlusOpVal.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { BooleanVal } from '../val/BooleanVal';
|
|
|
7
7
|
import { BigIntegerVal } from '../val/BigIntegerVal';
|
|
8
8
|
import { BigDecimalVal } from '../val/BigDecimalVal';
|
|
9
9
|
import { OpBaseVal } from './OpBaseVal';
|
|
10
|
+
declare function plusText(v: Val): string | undefined;
|
|
10
11
|
declare class PlusOpVal extends OpBaseVal {
|
|
11
12
|
isPlusOp: boolean;
|
|
12
13
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
@@ -15,4 +16,4 @@ declare class PlusOpVal extends OpBaseVal {
|
|
|
15
16
|
operate(ctx: AontuContext, args: Val[]): BigDecimalVal | BigIntegerVal | BooleanVal | IntegerVal | import("./NilVal").NilVal | NumberVal | StringVal | undefined;
|
|
16
17
|
get canon(): string;
|
|
17
18
|
}
|
|
18
|
-
export { PlusOpVal, };
|
|
19
|
+
export { PlusOpVal, plusText, };
|
package/dist/val/PlusOpVal.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/* Copyright (c) 2024-2025 Richard Rodger, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.PlusOpVal = void 0;
|
|
5
|
+
exports.plusText = plusText;
|
|
5
6
|
const err_1 = require("../err");
|
|
6
7
|
const IntegerVal_1 = require("../val/IntegerVal");
|
|
7
8
|
const NumberVal_1 = require("../val/NumberVal");
|
|
@@ -35,6 +36,55 @@ const EXACT_RANK = {
|
|
|
35
36
|
function isBig(k) {
|
|
36
37
|
return 'biginteger' === k || 'bigdecimal' === k;
|
|
37
38
|
}
|
|
39
|
+
// Only concrete scalar operands are valid: anything else (kinds, maps,
|
|
40
|
+
// lists, null, top, funcs) must not coerce — the JS `+` would leak
|
|
41
|
+
// internals like "[object Object]" into output. A non-scalar operand
|
|
42
|
+
// leaves the op unresolved, which generate() reports.
|
|
43
|
+
//
|
|
44
|
+
// A pref operand contributes its preferred value (`pref(1)+2`), and
|
|
45
|
+
// therefore that value's kind too.
|
|
46
|
+
function operand(v) {
|
|
47
|
+
while (v?.isPref) {
|
|
48
|
+
v = v.peg;
|
|
49
|
+
}
|
|
50
|
+
return v;
|
|
51
|
+
}
|
|
52
|
+
// The operand's LEAF, not the JavaScript type of its peg: integer and
|
|
53
|
+
// float share `number`, while the exact leaves are told apart from each
|
|
54
|
+
// other and from everything else by their own flags. The whole ladder in
|
|
55
|
+
// `operate` dispatches on this and never on `typeof`.
|
|
56
|
+
function opkind(v) {
|
|
57
|
+
if (!(v?.isVal && v.isScalar)) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
if (v.isBigInteger) {
|
|
61
|
+
return 'biginteger';
|
|
62
|
+
}
|
|
63
|
+
if (v.isBigDecimal) {
|
|
64
|
+
return 'bigdecimal';
|
|
65
|
+
}
|
|
66
|
+
if (v.isInteger) {
|
|
67
|
+
return 'integer';
|
|
68
|
+
}
|
|
69
|
+
const t = typeof v.peg;
|
|
70
|
+
return 'number' === t ? 'float' :
|
|
71
|
+
'string' === t ? 'string' :
|
|
72
|
+
'boolean' === t ? 'boolean' :
|
|
73
|
+
undefined;
|
|
74
|
+
}
|
|
75
|
+
// THE TEXT `+` WOULD MAKE OF THIS OPERAND, or undefined if `+` would not
|
|
76
|
+
// take it at all.
|
|
77
|
+
//
|
|
78
|
+
// `join` folds with `+` seeded with `""`, so every member goes through
|
|
79
|
+
// concatenation's string branch — and this is the function that branch
|
|
80
|
+
// calls. Exported so that the fold and the operator cannot drift into
|
|
81
|
+
// two answers to "how does a number become text": there is one
|
|
82
|
+
// rendering, `digits` below, and both reach it here.
|
|
83
|
+
function plusText(v) {
|
|
84
|
+
const o = operand(v);
|
|
85
|
+
const k = opkind(o);
|
|
86
|
+
return undefined === k ? undefined : digits(o, k);
|
|
87
|
+
}
|
|
38
88
|
class PlusOpVal extends OpBaseVal_1.OpBaseVal {
|
|
39
89
|
constructor(spec, ctx) {
|
|
40
90
|
super(spec, ctx);
|
|
@@ -47,41 +97,6 @@ class PlusOpVal extends OpBaseVal_1.OpBaseVal {
|
|
|
47
97
|
return 'plus';
|
|
48
98
|
}
|
|
49
99
|
operate(ctx, args) {
|
|
50
|
-
// Only concrete scalar operands are valid: anything else (kinds,
|
|
51
|
-
// maps, lists, null, top, funcs) must not coerce — the JS `+` would
|
|
52
|
-
// leak internals like "[object Object]" into output. A non-scalar
|
|
53
|
-
// operand leaves the op unresolved, which generate() reports.
|
|
54
|
-
const operand = (v) => {
|
|
55
|
-
// A pref operand contributes its preferred value (`pref(1)+2`),
|
|
56
|
-
// and therefore that value's kind too.
|
|
57
|
-
while (v?.isPref) {
|
|
58
|
-
v = v.peg;
|
|
59
|
-
}
|
|
60
|
-
return v;
|
|
61
|
-
};
|
|
62
|
-
// The operand's LEAF, not the JavaScript type of its peg: integer
|
|
63
|
-
// and float share `number`, while the exact leaves are told apart
|
|
64
|
-
// from each other and from everything else by their own flags. The
|
|
65
|
-
// whole ladder below dispatches on this and never on `typeof`.
|
|
66
|
-
const opkind = (v) => {
|
|
67
|
-
if (!(v?.isVal && v.isScalar)) {
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
if (v.isBigInteger) {
|
|
71
|
-
return 'biginteger';
|
|
72
|
-
}
|
|
73
|
-
if (v.isBigDecimal) {
|
|
74
|
-
return 'bigdecimal';
|
|
75
|
-
}
|
|
76
|
-
if (v.isInteger) {
|
|
77
|
-
return 'integer';
|
|
78
|
-
}
|
|
79
|
-
const t = typeof v.peg;
|
|
80
|
-
return 'number' === t ? 'float' :
|
|
81
|
-
'string' === t ? 'string' :
|
|
82
|
-
'boolean' === t ? 'boolean' :
|
|
83
|
-
undefined;
|
|
84
|
-
};
|
|
85
100
|
const av = operand(args[0]);
|
|
86
101
|
const bv = operand(args[1]);
|
|
87
102
|
const ak = opkind(av);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlusOpVal.js","sourceRoot":"","sources":["../../src/val/PlusOpVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"PlusOpVal.js","sourceRoot":"","sources":["../../src/val/PlusOpVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PrefVal.d.ts
CHANGED
|
@@ -8,8 +8,10 @@ declare class PrefVal extends FeatureVal {
|
|
|
8
8
|
cjo: number;
|
|
9
9
|
superpeg: Val;
|
|
10
10
|
rank: number;
|
|
11
|
+
narrowed?: Val;
|
|
11
12
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
12
13
|
private resuper;
|
|
14
|
+
private restand;
|
|
13
15
|
unify(peer: Val, ctx: AontuContext): Val;
|
|
14
16
|
same(peer: Val): boolean;
|
|
15
17
|
clone(ctx: AontuContext, spec?: ValSpec): Val;
|