aontu 0.61.0 → 0.63.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/README.md +4 -4
- package/dist/agentsmd.d.ts +1 -0
- package/dist/agentsmd.js +7 -28
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.d.ts +23 -0
- package/dist/allow.js +138 -0
- package/dist/allow.js.map +1 -0
- package/dist/aontu.d.ts +4 -2
- package/dist/aontu.js +4 -80
- package/dist/aontu.js.map +1 -1
- package/dist/aontumodel.d.ts +4 -0
- package/dist/aontumodel.js +33 -0
- package/dist/aontumodel.js.map +1 -0
- package/dist/cli.d.ts +10 -1
- package/dist/cli.js +877 -479
- package/dist/cli.js.map +1 -1
- package/dist/ctx.js +0 -48
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js +0 -32
- package/dist/diff.js.map +1 -1
- package/dist/err.js +0 -40
- package/dist/err.js.map +1 -1
- package/dist/escape.js +0 -45
- package/dist/escape.js.map +1 -1
- package/dist/exactjson.d.ts +0 -35
- package/dist/exactjson.js +0 -131
- package/dist/exactjson.js.map +1 -1
- package/dist/format.js +55 -189
- package/dist/format.js.map +1 -1
- package/dist/grammar.d.ts +9 -0
- package/dist/grammar.js +54 -0
- package/dist/grammar.js.map +1 -0
- package/dist/graph.js +0 -26
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +0 -82
- package/dist/hcanon.js.map +1 -1
- package/dist/helpdoc.d.ts +16 -0
- package/dist/helpdoc.js +59 -0
- package/dist/helpdoc.js.map +1 -0
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +59 -47
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +0 -114
- package/dist/jsonschema.js.map +1 -1
- package/dist/keyorder.d.ts +0 -7
- package/dist/keyorder.js +0 -41
- package/dist/keyorder.js.map +1 -1
- package/dist/lang.js +32 -877
- package/dist/lang.js.map +1 -1
- package/dist/lower.d.ts +3 -0
- package/dist/lower.js +14 -61
- package/dist/lower.js.map +1 -1
- package/dist/lsp-server.js +0 -16
- package/dist/lsp-server.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +12 -159
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.js +0 -26
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +0 -113
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +0 -130
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.js +0 -162
- package/dist/mod.js.map +1 -1
- package/dist/patch.js +0 -217
- package/dist/patch.js.map +1 -1
- package/dist/provenance.js +0 -140
- package/dist/provenance.js.map +1 -1
- package/dist/query.js +0 -75
- package/dist/query.js.map +1 -1
- package/dist/reach.js +0 -43
- package/dist/reach.js.map +1 -1
- package/dist/relation.d.ts +2 -0
- package/dist/relation.js +3 -58
- package/dist/relation.js.map +1 -1
- package/dist/render.js +33 -143
- package/dist/render.js.map +1 -1
- package/dist/report-sarif.d.ts +0 -11
- package/dist/report-sarif.js +0 -28
- package/dist/report-sarif.js.map +1 -1
- package/dist/sig.js +0 -35
- package/dist/sig.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/siggate.js +0 -4
- package/dist/siggate.js.map +1 -1
- package/dist/site.js +3 -29
- package/dist/site.js.map +1 -1
- package/dist/subsume.d.ts +0 -10
- package/dist/subsume.js +0 -137
- package/dist/subsume.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +58 -138
- package/dist/template.js.map +1 -1
- package/dist/trim.js +0 -41
- package/dist/trim.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.js +12 -242
- package/dist/unify.js.map +1 -1
- package/dist/utility.js +0 -22
- package/dist/utility.js.map +1 -1
- package/dist/val/AbnfFuncVal.d.ts +18 -0
- package/dist/val/AbnfFuncVal.js +132 -0
- package/dist/val/AbnfFuncVal.js.map +1 -0
- package/dist/val/AbsentVal.d.ts +11 -0
- package/dist/val/AbsentVal.js +30 -0
- package/dist/val/AbsentVal.js.map +1 -0
- package/dist/val/AggFuncVal.d.ts +10 -1
- package/dist/val/AggFuncVal.js +104 -116
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/ArithFuncVal.js +0 -12
- package/dist/val/ArithFuncVal.js.map +1 -1
- package/dist/val/BagVal.js +1 -78
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/BigDecimalVal.js +0 -16
- package/dist/val/BigDecimalVal.js.map +1 -1
- package/dist/val/BigIntegerVal.js +0 -16
- package/dist/val/BigIntegerVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +0 -9
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.d.ts +20 -0
- package/dist/val/CmpFuncVal.js +188 -0
- package/dist/val/CmpFuncVal.js.map +1 -0
- package/dist/val/ConjunctVal.js +0 -29
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +0 -500
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.js +0 -2
- package/dist/val/ContainerKindVal.js.map +1 -1
- package/dist/val/CopyFuncVal.js +0 -3
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.js +0 -179
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.js +0 -152
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.d.ts +1 -2
- package/dist/val/EachFuncVal.js +12 -29
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/EmitFuncVal.d.ts +1 -1
- package/dist/val/EmitFuncVal.js +6 -119
- package/dist/val/EmitFuncVal.js.map +1 -1
- package/dist/val/ExpectVal.js +0 -62
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FilterFuncVal.js +0 -25
- package/dist/val/FilterFuncVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +7 -127
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.js +0 -15
- package/dist/val/GraphAtomVal.js.map +1 -1
- package/dist/val/HideFuncVal.js +0 -13
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IntegerVal.js +0 -61
- package/dist/val/IntegerVal.js.map +1 -1
- package/dist/val/JunctionVal.js +0 -20
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.js +0 -46
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +0 -57
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +11 -6
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +0 -151
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.js +0 -27
- package/dist/val/MatchFuncVal.js.map +1 -1
- package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
- package/dist/val/MaybeFuncVal.js +50 -0
- package/dist/val/MaybeFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js +0 -18
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +2 -36
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.d.ts +12 -0
- package/dist/val/NomFuncVal.js +153 -0
- package/dist/val/NomFuncVal.js.map +1 -0
- package/dist/val/NumberVal.js +0 -15
- package/dist/val/NumberVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -0
- package/dist/val/OpBaseVal.js +3 -15
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/PackFuncVal.js +0 -34
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/PathFuncVal.js +0 -6
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.js +0 -41
- package/dist/val/PathVal.js.map +1 -1
- package/dist/val/PlaceVal.js +0 -25
- package/dist/val/PlaceVal.js.map +1 -1
- package/dist/val/PlusOpVal.d.ts +1 -7
- package/dist/val/PlusOpVal.js +13 -74
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js +0 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.js +0 -167
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.js +0 -55
- package/dist/val/RecurseVal.js.map +1 -1
- package/dist/val/RefVal.js +0 -282
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.js +0 -232
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +0 -49
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/ScalarVal.js +0 -11
- package/dist/val/ScalarVal.js.map +1 -1
- package/dist/val/StrFuncVal.js +0 -18
- package/dist/val/StrFuncVal.js.map +1 -1
- package/dist/val/SuperFuncVal.js +0 -32
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.js +0 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TranslateFuncVal.d.ts +12 -0
- package/dist/val/TranslateFuncVal.js +99 -0
- package/dist/val/TranslateFuncVal.js.map +1 -0
- package/dist/val/UpperFuncVal.js +11 -6
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +1 -0
- package/dist/val/Val.js +2 -133
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js +0 -12
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.js +0 -37
- package/dist/val/arith.js.map +1 -1
- package/dist/val/caserange.d.ts +3 -0
- package/dist/val/caserange.js +49 -0
- package/dist/val/caserange.js.map +1 -0
- package/dist/val/members.js +0 -6
- package/dist/val/members.js.map +1 -1
- package/dist/val/numcmp.js +0 -11
- package/dist/val/numcmp.js.map +1 -1
- package/dist/val/numkind.js +0 -145
- package/dist/val/numkind.js.map +1 -1
- package/dist/val/valutil.js +0 -16
- package/dist/val/valutil.js.map +1 -1
- package/dist/vet.d.ts +12 -0
- package/dist/vet.js +159 -412
- package/dist/vet.js.map +1 -1
- package/dist/view.js +0 -414
- package/dist/view.js.map +1 -1
- package/dist/walk.js +0 -41
- package/dist/walk.js.map +1 -1
- package/grammar/aontu.abnf +9 -7
- package/grammar/aontu.gbnf +5 -5
- package/grammar/aontu.lark +5 -5
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/skill/SKILL.md +8 -0
- package/skill/init/check.sh +28 -0
- package/skill/init/data.aon +12 -0
- package/skill/init/model.aon +19 -0
- package/skill/tasks.md +151 -0
- package/src/agentsmd.ts +8 -32
- package/src/alias.ts +0 -39
- package/src/allow.ts +221 -0
- package/src/aontu.ts +10 -108
- package/src/aontumodel.ts +32 -0
- package/src/cli.ts +1009 -540
- package/src/ctx.ts +0 -103
- package/src/diff.ts +0 -40
- package/src/err.ts +0 -40
- package/src/escape.ts +0 -46
- package/src/exactjson.ts +0 -131
- package/src/format.ts +63 -234
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +77 -0
- package/src/hints.ts +72 -49
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +39 -895
- package/src/lower.ts +15 -65
- package/src/lsp-server.ts +0 -16
- package/src/lsp.ts +12 -180
- package/src/mcp-server.ts +0 -31
- package/src/mcp.ts +0 -130
- package/src/mod-tool.ts +0 -158
- package/src/mod.ts +0 -178
- package/src/patch.ts +0 -232
- package/src/provenance.ts +0 -183
- package/src/query.ts +0 -84
- package/src/reach.ts +0 -53
- package/src/relation.ts +7 -71
- package/src/render.ts +33 -180
- package/src/report-sarif.ts +0 -48
- package/src/sig.ts +0 -35
- package/src/sigdecl.ts +1 -1
- package/src/siggate.ts +0 -30
- package/src/site.ts +3 -29
- package/src/subsume.ts +1 -161
- package/src/template.ts +69 -140
- package/src/trim.ts +0 -53
- package/src/type.ts +2 -45
- package/src/unify.ts +13 -251
- package/src/utility.ts +0 -31
- package/src/val/AbnfFuncVal.ts +181 -0
- package/src/val/AbsentVal.ts +54 -0
- package/src/val/AggFuncVal.ts +152 -188
- package/src/val/ArithFuncVal.ts +0 -20
- package/src/val/BagVal.ts +1 -78
- package/src/val/BigDecimalVal.ts +0 -16
- package/src/val/BigIntegerVal.ts +0 -16
- package/src/val/CloseFuncVal.ts +0 -9
- package/src/val/CmpFuncVal.ts +249 -0
- package/src/val/ConjunctVal.ts +0 -33
- package/src/val/ConstraintVal.ts +2 -537
- package/src/val/ContainerKindVal.ts +0 -18
- package/src/val/CopyFuncVal.ts +0 -5
- package/src/val/Decimal.ts +1 -185
- package/src/val/DeprecateFuncVal.ts +0 -10
- package/src/val/DisjunctVal.ts +0 -157
- package/src/val/EachFuncVal.ts +12 -53
- package/src/val/EmitFuncVal.ts +8 -208
- package/src/val/ExpectVal.ts +0 -62
- package/src/val/FilterFuncVal.ts +0 -55
- package/src/val/FuncBaseVal.ts +9 -130
- package/src/val/GraphAtomVal.ts +0 -42
- package/src/val/HideFuncVal.ts +0 -15
- package/src/val/IntegerVal.ts +0 -61
- package/src/val/JunctionVal.ts +0 -20
- package/src/val/KeyFuncVal.ts +0 -48
- package/src/val/ListVal.ts +0 -59
- package/src/val/LowerFuncVal.ts +12 -7
- package/src/val/MapVal.ts +0 -151
- package/src/val/MatchFuncVal.ts +0 -59
- package/src/val/MaybeFuncVal.ts +86 -0
- package/src/val/MoveFuncVal.ts +0 -20
- package/src/val/NilVal.ts +2 -36
- package/src/val/NomFuncVal.ts +200 -0
- package/src/val/NumberVal.ts +0 -16
- package/src/val/OpBaseVal.ts +4 -17
- package/src/val/PackFuncVal.ts +0 -63
- package/src/val/PathFuncVal.ts +0 -32
- package/src/val/PathVal.ts +0 -66
- package/src/val/PlaceVal.ts +0 -45
- package/src/val/PlusOpVal.ts +18 -75
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +0 -179
- package/src/val/RecurseVal.ts +0 -81
- package/src/val/RefVal.ts +1 -285
- package/src/val/ReferFuncVal.ts +0 -255
- package/src/val/ScalarKindVal.ts +0 -50
- package/src/val/ScalarVal.ts +0 -12
- package/src/val/StrFuncVal.ts +0 -44
- package/src/val/SuperFuncVal.ts +0 -42
- package/src/val/TopVal.ts +0 -1
- package/src/val/TranslateFuncVal.ts +132 -0
- package/src/val/UpperFuncVal.ts +12 -7
- package/src/val/Val.ts +3 -192
- package/src/val/VarVal.ts +0 -15
- package/src/val/arith.ts +0 -92
- package/src/val/caserange.ts +53 -0
- package/src/val/members.ts +0 -23
- package/src/val/numcmp.ts +1 -27
- package/src/val/numkind.ts +0 -149
- package/src/val/valutil.ts +0 -16
- package/src/vet.ts +209 -504
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -637
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/src/std.ts +0 -648
- package/src/val/FormFuncVal.ts +0 -119
package/dist/val/EmitFuncVal.js
CHANGED
|
@@ -22,15 +22,6 @@ function isRefusal(x) {
|
|
|
22
22
|
// data and may be computed.
|
|
23
23
|
function tableTemplates(table) {
|
|
24
24
|
const t = table;
|
|
25
|
-
// A NAMED TABLE IS A PLACEHELD `emit`, and its table is the table.
|
|
26
|
-
// A table written at a document position is DRIVEN there -- a body's
|
|
27
|
-
// relative references resolve against wherever it sits and miss --
|
|
28
|
-
// so the position that holds one unevaluated is the one position the
|
|
29
|
-
// language already never drives: a call's template argument.
|
|
30
|
-
// `%wire = emit(_, [ … ])` is that position with the selection left
|
|
31
|
-
// open, and it reads as what it is, an apply-templates waiting for
|
|
32
|
-
// its nodes: `emit(.listen, %wire)` passes them, `.listen & %wire`
|
|
33
|
-
// fills the hole, and both are the same dispatch.
|
|
34
25
|
if (true === t?.isEmitFunc) {
|
|
35
26
|
return tableTemplates(t.peg[1]);
|
|
36
27
|
}
|
|
@@ -55,12 +46,6 @@ function tableTemplates(table) {
|
|
|
55
46
|
}
|
|
56
47
|
return { code: 'emit_table' };
|
|
57
48
|
}
|
|
58
|
-
// One rule. Both keys are required: a template with no pattern would
|
|
59
|
-
// match everything by accident, and one with no body would emit
|
|
60
|
-
// nothing while claiming a node. The two optional keys -- a `replace`
|
|
61
|
-
// map and an `esc` naming the convention its values are escaped by,
|
|
62
|
-
// `none` the one opt-out -- are the template's shape too, and D3's two
|
|
63
|
-
// static checks run here, on the template alone, before any node.
|
|
64
49
|
function oneTemplate(m, idx) {
|
|
65
50
|
const match = m.peg.match;
|
|
66
51
|
const body = m.peg.body;
|
|
@@ -96,12 +81,6 @@ function oneTemplate(m, idx) {
|
|
|
96
81
|
function textOf(v) {
|
|
97
82
|
return true === v?.isScalar && 'string' === typeof v.peg ? v.peg : undefined;
|
|
98
83
|
}
|
|
99
|
-
// The literal strings of a body -- a string element, and the strings
|
|
100
|
-
// written directly in a map element's `of` list or `text` -- which are
|
|
101
|
-
// the text the template wrote. A string an expression or a nested
|
|
102
|
-
// dispatch computes is not one: D3's third rule (a spliced result is
|
|
103
|
-
// finished) and its second (a substituted value is never re-scanned)
|
|
104
|
-
// both follow from substituting at these spots and nowhere else.
|
|
105
84
|
function literalSpots(elems) {
|
|
106
85
|
const out = [];
|
|
107
86
|
elems.forEach((el, i) => {
|
|
@@ -113,12 +92,12 @@ function literalSpots(elems) {
|
|
|
113
92
|
if (true !== el?.isMap) {
|
|
114
93
|
return;
|
|
115
94
|
}
|
|
116
|
-
const
|
|
117
|
-
if (true ===
|
|
118
|
-
|
|
95
|
+
const chunks = el.peg.n;
|
|
96
|
+
if (true === chunks?.isList) {
|
|
97
|
+
chunks.peg.forEach((p, j) => {
|
|
119
98
|
const ps = textOf(p);
|
|
120
99
|
if (undefined !== ps) {
|
|
121
|
-
out.push({ i,
|
|
100
|
+
out.push({ i, n: j, s: ps });
|
|
122
101
|
}
|
|
123
102
|
});
|
|
124
103
|
}
|
|
@@ -129,11 +108,6 @@ function literalSpots(elems) {
|
|
|
129
108
|
});
|
|
130
109
|
return out;
|
|
131
110
|
}
|
|
132
|
-
// D3's two static checks, on the template alone and before any node:
|
|
133
|
-
// a key inside another is ambiguous whatever the order
|
|
134
|
-
// (replace_overlap), and a key no literal holds means the template
|
|
135
|
-
// drifted from its map (replace_unused). Keys are visited in code
|
|
136
|
-
// point order, so both ports name the same pair.
|
|
137
111
|
function checkReplace(keys, lits) {
|
|
138
112
|
const sorted = [...keys].sort(keyorder_1.cmpCodePoint);
|
|
139
113
|
for (const a of sorted) {
|
|
@@ -150,10 +124,6 @@ function checkReplace(keys, lits) {
|
|
|
150
124
|
}
|
|
151
125
|
return undefined;
|
|
152
126
|
}
|
|
153
|
-
// D3's first two rules as one scan: at each position the longest key
|
|
154
|
-
// that matches is taken and its value written out whole, and the scan
|
|
155
|
-
// moves past the KEY -- the value is never looked at again, so no
|
|
156
|
-
// value can introduce a key.
|
|
157
127
|
function substitute(text, pairs) {
|
|
158
128
|
let out = '';
|
|
159
129
|
let i = 0;
|
|
@@ -170,19 +140,14 @@ function substitute(text, pairs) {
|
|
|
170
140
|
}
|
|
171
141
|
return out;
|
|
172
142
|
}
|
|
173
|
-
// The instance with the template's literal text at element `i`
|
|
174
|
-
// rewritten through the pairs -- on the fresh instance, where the
|
|
175
|
-
// structure is exactly the template's, and before any binding, so a
|
|
176
|
-
// value written in is never scanned again and a spliced result is
|
|
177
|
-
// never touched.
|
|
178
143
|
function substituted(inst, i, lits, pairs, ctx) {
|
|
179
144
|
for (const l of lits) {
|
|
180
145
|
if (l.i !== i) {
|
|
181
146
|
continue;
|
|
182
147
|
}
|
|
183
148
|
const sv = new StringVal_1.StringVal({ peg: substitute(l.s, pairs) }, ctx);
|
|
184
|
-
if (undefined !== l.
|
|
185
|
-
inst.peg.
|
|
149
|
+
if (undefined !== l.n) {
|
|
150
|
+
inst.peg.n.peg[l.n] = sv;
|
|
186
151
|
}
|
|
187
152
|
else if (true === l.text) {
|
|
188
153
|
inst.peg.text = sv;
|
|
@@ -215,14 +180,6 @@ function bindNode(v, node, ctx, fail) {
|
|
|
215
180
|
return v;
|
|
216
181
|
}
|
|
217
182
|
const out = found.clone(ctx);
|
|
218
|
-
// A RELATIVE REFERENCE IS A READ TOO (RENDER.0.md P7), and the one
|
|
219
|
-
// read no reference resolution sees: the binding answers it here,
|
|
220
|
-
// from the matched node, rather than letting a path resolve at a
|
|
221
|
-
// position the body never occupies. Without this a nested rule set
|
|
222
|
-
// whose selection is `.handlers` reported its nodes at the address
|
|
223
|
-
// they came to rest, which is in the OUTPUT. A node carries an
|
|
224
|
-
// address only under an instrumented run, which is what makes the
|
|
225
|
-
// second test the whole guard.
|
|
226
183
|
if (null == out.origin && null != node.origin) {
|
|
227
184
|
;
|
|
228
185
|
out.origin = node.origin +
|
|
@@ -265,12 +222,6 @@ function bindNode(v, node, ctx, fail) {
|
|
|
265
222
|
}
|
|
266
223
|
return v;
|
|
267
224
|
}
|
|
268
|
-
// The field of `node` a reference names, or undefined when it names
|
|
269
|
-
// none. Only a chain of plain NAMES is a field: a parent step has no
|
|
270
|
-
// answer at a node that is an origin rather than a position, and a
|
|
271
|
-
// variable segment is not a name until something resolves it -- both
|
|
272
|
-
// are refused here rather than left to resolve somewhere else, which
|
|
273
|
-
// is the failure mode the binding exists to remove.
|
|
274
225
|
function nodeField(ref, node) {
|
|
275
226
|
let cur = node;
|
|
276
227
|
for (const seg of ref.peg) {
|
|
@@ -288,21 +239,6 @@ function nodeField(ref, node) {
|
|
|
288
239
|
}
|
|
289
240
|
return cur;
|
|
290
241
|
}
|
|
291
|
-
// The address of one matched node: its own read address when it has
|
|
292
|
-
// one, else the SELECTION's read address and the node's key under it
|
|
293
|
-
// -- a selection is read once and walked, so its members carry no read
|
|
294
|
-
// of their own.
|
|
295
|
-
//
|
|
296
|
-
// A COMPUTED SELECTION HAS NO ADDRESS, AND THE TRACE SAYS SO: an empty
|
|
297
|
-
// node. `filter(...)` builds a bag no path in the document names, and
|
|
298
|
-
// the only other thing to report is where the bag came to REST -- a
|
|
299
|
-
// position inside a template instance, which is not in the document,
|
|
300
|
-
// and which the two ports number differently. Publishing that would
|
|
301
|
-
// have made the trace a parity break as well as a fiction. The rule
|
|
302
|
-
// address answers the same way: `<table>#<index>` for a table a
|
|
303
|
-
// reference reached, and `#<index>` alone for one written inline at the
|
|
304
|
-
// call site, which has no address of its own. `#` is in no path, so a
|
|
305
|
-
// rule's address can never be read as one.
|
|
306
242
|
function nodeAddr(sel, key, node) {
|
|
307
243
|
if (null != node.origin) {
|
|
308
244
|
return node.origin;
|
|
@@ -349,21 +285,10 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
349
285
|
return super.unify(peer, ctx);
|
|
350
286
|
}
|
|
351
287
|
resolve(ctx, args) {
|
|
352
|
-
// THE MEMBERS WITH THEIR KEYS, read through the one helper every
|
|
353
|
-
// fold reads a bag by (./members.ts): source order for a list,
|
|
354
|
-
// sorted-key order for a map, a hidden child and an unfilled
|
|
355
|
-
// optional left out. The KEY is what the trace addresses a node by
|
|
356
|
-
// -- it is the node's key IN THE SELECTION, which is the only
|
|
357
|
-
// thing a walk of a computed bag knows about where a node sits.
|
|
358
288
|
const nodes = (0, members_1.bagMembers)(args?.[0], ctx);
|
|
359
289
|
if (undefined === nodes) {
|
|
360
290
|
return (0, err_1.makeNilErr)(ctx, 'emit_data', this);
|
|
361
291
|
}
|
|
362
|
-
// A NAMED TABLE IS REACHED BY REFERENCE, and the reference -- not
|
|
363
|
-
// the table -- is what is followed. Followed HERE rather than in
|
|
364
|
-
// the staged drive, which waits for a SETTLED target: a table is a
|
|
365
|
-
// template, a template holding a hole never settles, and waiting
|
|
366
|
-
// for one would mean the dispatch never fires.
|
|
367
292
|
let table = args?.[1];
|
|
368
293
|
if (true === table?.isRef) {
|
|
369
294
|
table = table.unify((0, top_1.top)(), ctx);
|
|
@@ -372,10 +297,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
372
297
|
if (isRefusal(templates)) {
|
|
373
298
|
return this.refuse(ctx, templates);
|
|
374
299
|
}
|
|
375
|
-
// THE TRACE'S TWO ADDRESSES (RENDER.0.md D11, P7), computed once
|
|
376
|
-
// per dispatch and only when the run is instrumented: the table's
|
|
377
|
-
// own, which every rule of it is numbered under, and the
|
|
378
|
-
// selection's, which every node of it is keyed under.
|
|
379
300
|
const rec = undefined !== ctx.reads;
|
|
380
301
|
const tableAddr = rec ? (table?.origin ?? '') : '';
|
|
381
302
|
const selAddr = rec ? args?.[0]?.origin : undefined;
|
|
@@ -392,11 +313,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
392
313
|
const fail = {};
|
|
393
314
|
let mark = undefined;
|
|
394
315
|
if (rec) {
|
|
395
|
-
// THE NODE KEEPS ITS ADDRESS (P7). A body passes the node on
|
|
396
|
-
// through `_`, and a nested rule set dispatching over it can
|
|
397
|
-
// then say where it came from -- otherwise the node arrives as
|
|
398
|
-
// an element of a list the body wrote, and the only address
|
|
399
|
-
// left is where that list came to rest.
|
|
400
316
|
const naddr = nodeAddr(selAddr, member.key, node);
|
|
401
317
|
if ('' !== naddr && null == node.origin) {
|
|
402
318
|
;
|
|
@@ -446,14 +362,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
446
362
|
}
|
|
447
363
|
return tried.join(' ');
|
|
448
364
|
}
|
|
449
|
-
// The replacement pairs for one node: the template's `replace` map
|
|
450
|
-
// instantiated at the node -- bound, filled and driven as a body is
|
|
451
|
-
// -- each value as text by the one number-to-text rule (`plusText`,
|
|
452
|
-
// the rule `+` and `join` share), escaped by the template's
|
|
453
|
-
// convention unless that is `none`, and sorted longest key first so
|
|
454
|
-
// the scan takes the longest match at every position (D3's first
|
|
455
|
-
// rule). A value that is not text, or has not settled, is
|
|
456
|
-
// replace_value.
|
|
457
365
|
replacements(ctx, node, tmpl, fail) {
|
|
458
366
|
if (undefined === tmpl.replace) {
|
|
459
367
|
return undefined;
|
|
@@ -477,13 +385,6 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
477
385
|
pairs.sort((a, b) => b[0].length - a[0].length || (0, keyorder_1.cmpCodePoint)(a[0], b[0]));
|
|
478
386
|
return pairs;
|
|
479
387
|
}
|
|
480
|
-
// Instantiate one body at the node and SPLICE its pieces into the
|
|
481
|
-
// output. A full instance to the leaves (`dup`, ADR-005), because a
|
|
482
|
-
// bare clone shares the inner structure of any call in the body and
|
|
483
|
-
// the first node's resolution would answer for every node; the
|
|
484
|
-
// template's replacements written into the instance's literal text;
|
|
485
|
-
// then the two bindings, relative references and the hole, both to
|
|
486
|
-
// the node.
|
|
487
388
|
instantiate(ctx, node, tmpl, out, fail, mark) {
|
|
488
389
|
const pairs = this.replacements(ctx, node, tmpl, fail);
|
|
489
390
|
if (undefined !== fail.code) {
|
|
@@ -497,23 +398,9 @@ class EmitFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
497
398
|
inst = substituted(inst, i, tmpl.lits, pairs, elctx);
|
|
498
399
|
}
|
|
499
400
|
let piece = (0, PlaceVal_1.fillPlace)(bindNode(inst, node, elctx, fail), node, elctx);
|
|
500
|
-
// A NESTED DISPATCH IS DRIVEN HERE, not left for the next pass.
|
|
501
|
-
// Its selection is bound and the model has settled, so it has
|
|
502
|
-
// everything it needs -- and it must answer NOW, because what
|
|
503
|
-
// makes the result flat is splicing its pieces into this one.
|
|
504
|
-
// Left standing, a nested `emit` resolved a pass later, as a
|
|
505
|
-
// list INSIDE the list, and the fragment algebra is flat.
|
|
506
|
-
// Through `unite` rather than by hand: a rule set that walks
|
|
507
|
-
// into itself for ever is charged to the depth budget and
|
|
508
|
-
// refused as `unify_cycle`, like any other runaway descent.
|
|
509
401
|
if (!piece.done) {
|
|
510
402
|
piece = (0, unify_1.unite)(elctx, piece, (0, top_1.top)(), 'emit');
|
|
511
403
|
}
|
|
512
|
-
// THE INNERMOST DISPATCH OWNS THE PIECE (P7). A body element
|
|
513
|
-
// that is a nested rule set has already stamped what it emitted,
|
|
514
|
-
// and those pieces are spliced into this result here: the rule
|
|
515
|
-
// that WROTE a line is the one the trace names, so a stamp is
|
|
516
|
-
// written only where there is none.
|
|
517
404
|
const at = out.length;
|
|
518
405
|
splice(piece, out);
|
|
519
406
|
if (undefined !== mark) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmitFuncVal.js","sourceRoot":"","sources":["../../src/val/EmitFuncVal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EmitFuncVal.js","sourceRoot":"","sources":["../../src/val/EmitFuncVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/ExpectVal.js
CHANGED
|
@@ -8,84 +8,22 @@ const utility_1 = require("../utility");
|
|
|
8
8
|
const err_1 = require("../err");
|
|
9
9
|
const FeatureVal_1 = require("./FeatureVal");
|
|
10
10
|
class ExpectVal extends FeatureVal_1.FeatureVal {
|
|
11
|
-
// An expectation canons as THE EXPECTATION ITSELF -- the peg the peer
|
|
12
|
-
// must satisfy. Val.canon's default was the empty string, which
|
|
13
|
-
// rendered a key with no value (`{"r":}`): text that is not a document
|
|
14
|
-
// and could not be reparsed, breaking canon's round-trip contract in
|
|
15
|
-
// both engines (issue #43).
|
|
16
|
-
//
|
|
17
|
-
// Not `top`, which was the first fix here and was wrong. An ExpectVal
|
|
18
|
-
// is created for EVERY peer-introduced non-generable key, not just for
|
|
19
|
-
// `&:` spread children -- `m:{x:1} m:{y:string}` makes one at `y` with
|
|
20
|
-
// no spread in sight -- so rendering `top` erased the `string` and the
|
|
21
|
-
// canon reparsed into a document that accepts values the original
|
|
22
|
-
// rejects. A canon that silently drops a constraint is worse than one
|
|
23
|
-
// that fails to parse. Go's ExpectVal.Canon renders the same peg.
|
|
24
|
-
//
|
|
25
|
-
// Which is why `peg` is kept the WHOLE expectation as peers arrive
|
|
26
|
-
// (BUGS.md §48) rather than only what was first written: see unify.
|
|
27
11
|
get canon() { return this.peg.canon; }
|
|
28
12
|
constructor(spec, ctx) {
|
|
29
13
|
super(spec, ctx);
|
|
30
14
|
this.isExpect = true;
|
|
31
15
|
}
|
|
32
|
-
// PURE, deliberately (the unequal-spread crosswire, BUGS.md §6-§7).
|
|
33
|
-
// The old body accumulated `this.peer` IN PLACE, which was invisible
|
|
34
|
-
// while an expectation only ever lived at one destination -- but the
|
|
35
|
-
// spread-combination meet (MapVal.unify's 'map-self' unite) bakes an
|
|
36
|
-
// ExpectVal INTO the combined template, and a path-independent
|
|
37
|
-
// template is SHARED across every destination (spreadClone tier 1).
|
|
38
|
-
// One stateful node in a shared template unified each sibling's own
|
|
39
|
-
// data with the next sibling's ($.w.y.r: "Cannot unify value: 6 with
|
|
40
|
-
// value: 5", both values sibling data). An expectation now answers
|
|
41
|
-
// with a NEW node when it must keep accumulated state, so a shared
|
|
42
|
-
// template's expect stays exactly what was written.
|
|
43
16
|
unify(peer, ctx) {
|
|
44
17
|
const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Expect', this, peer);
|
|
45
18
|
let out = this;
|
|
46
19
|
if (!peer.isTop) {
|
|
47
|
-
// THE PEER MEETS THE WHOLE EXPECTATION. `peg` already carries
|
|
48
|
-
// every peer met so far (see below), so meeting the incoming peer
|
|
49
|
-
// against the ACCUMULATED `peer` first -- as this did -- refused
|
|
50
|
-
// against only the atom that happened to reject. A conflict with
|
|
51
|
-
// `peg` is a conflict with the accumulation too, since peg
|
|
52
|
-
// subsumes it, so nothing stops being refused: only the sentence
|
|
53
|
-
// changes, to the residual the error's own hint promises
|
|
54
|
-
// (BUGS.md §48).
|
|
55
20
|
const peeru = (0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'EXPECT') }) : ctx, peer, this.peg, 'expect-self');
|
|
56
|
-
// Accumulated for the `expect` finding's operand. Computed BEFORE
|
|
57
|
-
// the escape below, where it has always been: an expectation that
|
|
58
|
-
// escapes still passed through here, and moving it after the
|
|
59
|
-
// escape leaves the accumulating arm reachable only by a node
|
|
60
|
-
// that both carries an accumulation AND fails to escape -- which
|
|
61
|
-
// the suite never produces, so it reads as dead code against the
|
|
62
|
-
// ADR-002 gate. Go's ExpectVal.Unify keeps the same order.
|
|
63
21
|
const acc = undefined === this.peer ? peer :
|
|
64
22
|
(0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'PEER') }) : ctx, this.peer, peer, 'expect-peer');
|
|
65
23
|
if (peeru.isGenable) {
|
|
66
24
|
out = peeru;
|
|
67
25
|
}
|
|
68
26
|
else {
|
|
69
|
-
// Still an expectation: carry the accumulated peer forward in a
|
|
70
|
-
// fresh node stored at THIS destination by the caller, leaving
|
|
71
|
-
// `this` -- possibly a shared template's child -- untouched.
|
|
72
|
-
//
|
|
73
|
-
// THE MEET IS THE NEW PEG (BUGS.md §48). An expectation that
|
|
74
|
-
// has met a peer without being freed by it stands for `peg &
|
|
75
|
-
// peer` from then on -- that is what a later peer must satisfy,
|
|
76
|
-
// and what canon has to state. Rebuilding from the ORIGINAL peg
|
|
77
|
-
// dropped the peer everywhere the node was later copied (the
|
|
78
|
-
// bag re-wrap, Val.clone), so `b:{z:1} b:{u8:min(0)}
|
|
79
|
-
// a:$.b.u8&max(15)` -- whose reference resolves a pass late, so
|
|
80
|
-
// `max(15)` arrives as a peer -- canoned as `min(0)`. That text
|
|
81
|
-
// reparses into a document admitting 20, which the original
|
|
82
|
-
// rejects, and hashed differently in each port. Storing the
|
|
83
|
-
// meet in `peg` needs no new field and no carrying: every copy
|
|
84
|
-
// site already preserves `peg`.
|
|
85
|
-
//
|
|
86
|
-
// Purity is untouched -- this is a NEW node, so a shared
|
|
87
|
-
// template's own expectation keeps the peg it was written with
|
|
88
|
-
// (§6-§7).
|
|
89
27
|
const e = new ExpectVal({ peg: peeru }, ctx);
|
|
90
28
|
e.key = this.key;
|
|
91
29
|
e.parent = this.parent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExpectVal.js","sourceRoot":"","sources":["../../src/val/ExpectVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAOzD,kCAEgB;AAMhB,oCAAgC;AAEhC,wCAImB;AAEnB,gCAAmC;AAGnC,6CAAyC;AAGzC,MAAM,SAAU,SAAQ,uBAAU;IAOhC,
|
|
1
|
+
{"version":3,"file":"ExpectVal.js","sourceRoot":"","sources":["../../src/val/ExpectVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAOzD,kCAEgB;AAMhB,oCAAgC;AAEhC,wCAImB;AAEnB,gCAAmC;AAGnC,6CAAyC;AAGzC,MAAM,SAAU,SAAQ,uBAAU;IAOhC,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAA,CAAC,CAAC;IAErC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAZlB,aAAQ,GAAG,IAAI,CAAA;IAaf,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAE7E,IAAI,GAAG,GAAQ,IAAI,CAAA;QAEnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,KAAK,GACT,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;YAE3F,MAAM,GAAG,GAAG,SAAS,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;YAE1F,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpB,GAAG,GAAG,KAAK,CAAA;YACb,CAAC;iBACI,CAAC;gBACJ,MAAM,CAAC,GAAG,IAAI,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;gBAC5C,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;gBAChB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;gBACtB,CAAC,CAAC,IAAI,GAAG,GAAG,CAAA;gBACZ,GAAG,GAAG,CAAC,CAAA;YACT,CAAC;QACH,CAAC;QAED,GAAG,CAAC,EAAE,GAAG,WAAI,CAAA;QAEb,GAAG,CAAC,OAAO,IAAI,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAEpC,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,GAAG,CAAC,GAAiB;QACnB,iEAAiE;QACjE,kEAAkE;QAClE,mDAAmD;QACnD,IAAA,gBAAU,EACR,GAAG,EACH,QAAQ,EACR,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,IAAI,CACV,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,UAAU,CAAC,CAAU;QACnB,OAAO,MAAM,GAAG,IAAI,CAAC,GAAG;YACtB,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9B,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAChC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,SAAS"}
|
|
@@ -20,15 +20,6 @@ class FilterFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
20
20
|
funcname() {
|
|
21
21
|
return 'filter';
|
|
22
22
|
}
|
|
23
|
-
// Neither argument is driven by the base: `unify` below drives the
|
|
24
|
-
// DATA by hand, because a staged func must advance the argument it
|
|
25
|
-
// is waiting on every pass rather than only on the one it fires.
|
|
26
|
-
//
|
|
27
|
-
// The CONDITION is not driven at all, and that is deliberate: it is
|
|
28
|
-
// a template, tested against each child at that child's position,
|
|
29
|
-
// so it may hold a `_` (G8 phase 3, the child it is being tested
|
|
30
|
-
// against) or a relative reference — neither of which has an answer
|
|
31
|
-
// at the call site. Driving it there would freeze both.
|
|
32
23
|
prepare(_ctx, _args) {
|
|
33
24
|
return null;
|
|
34
25
|
}
|
|
@@ -41,19 +32,7 @@ class FilterFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
41
32
|
resolve(ctx, args) {
|
|
42
33
|
const data = args[0];
|
|
43
34
|
const cond = args[1];
|
|
44
|
-
// The trial is run against CLONES: `unite` refines a bag in place,
|
|
45
|
-
// and a child that failed the test must reach the result -- when
|
|
46
|
-
// it passes -- exactly as it was written.
|
|
47
|
-
//
|
|
48
|
-
// Canon is the comparison because canon is what "the same value"
|
|
49
|
-
// MEANS in this language: it is the form the two ports agree on,
|
|
50
|
-
// the form `aontu diff` compares, and the form a hash is taken of.
|
|
51
35
|
const keeps = (child, kctx) => {
|
|
52
|
-
// `_` inside the condition binds the child being tested (G8
|
|
53
|
-
// phase 3), so a condition can be about the child as a whole
|
|
54
|
-
// rather than only about its shape. The condition is cloned as
|
|
55
|
-
// a FULL instance per trial (`dup`, ADR-005) — a bare clone
|
|
56
|
-
// shares call/pref innards across trials (see PackFuncVal).
|
|
57
36
|
const inst = cond.clone(kctx, { dup: true });
|
|
58
37
|
(0, Val_1.repathInstance)(inst, inst.path);
|
|
59
38
|
const test = (0, PlaceVal_1.fillPlace)(inst, child, kctx);
|
|
@@ -76,10 +55,6 @@ class FilterFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
76
55
|
if (true === data?.isList) {
|
|
77
56
|
const peg = [];
|
|
78
57
|
for (const { val: el } of (0, members_1.bagMembers)(data, ctx)) {
|
|
79
|
-
// The element context is the position it will END UP at, which
|
|
80
|
-
// is its index in the RESULT: dropping the third of five moves
|
|
81
|
-
// the fourth up, and a kept element must be pathed where it
|
|
82
|
-
// lands rather than where it came from.
|
|
83
58
|
const ectx = ctx.descend(String(peg.length));
|
|
84
59
|
if (keeps(el, ectx)) {
|
|
85
60
|
peg.push(el.clone(ectx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterFuncVal.js","sourceRoot":"","sources":["../../src/val/FilterFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"FilterFuncVal.js","sourceRoot":"","sources":["../../src/val/FilterFuncVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { FeatureVal } from '../val/FeatureVal';
|
|
|
4
4
|
declare function trialUnify(ctx: AontuContext, a: Val, b: Val): Val | undefined;
|
|
5
5
|
declare class FuncBaseVal extends FeatureVal {
|
|
6
6
|
isFunc: boolean;
|
|
7
|
+
forgives: boolean;
|
|
7
8
|
isGenable: boolean;
|
|
8
9
|
staged: boolean;
|
|
9
10
|
constructor(spec: ValSpec, ctx?: AontuContext);
|