aontu 0.62.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 +1 -1
- package/dist/agentsmd.js +0 -27
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.js +0 -92
- package/dist/allow.js.map +1 -1
- package/dist/aontu.d.ts +1 -1
- package/dist/aontu.js +1 -79
- 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.js +101 -620
- 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 +13 -203
- 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.js +1 -1
- package/dist/helpdoc.js.map +1 -1
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +54 -55
- 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 +17 -915
- package/dist/lang.js.map +1 -1
- package/dist/lower.js +11 -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.js +0 -61
- package/dist/relation.js.map +1 -1
- package/dist/render.js +20 -135
- 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.js +2 -59
- package/dist/val/CmpFuncVal.js.map +1 -1
- 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.js +0 -3
- 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 +0 -11
- 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 +0 -60
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.js +8 -42
- package/dist/val/NomFuncVal.js.map +1 -1
- 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.js +1 -3
- package/dist/val/TranslateFuncVal.js.map +1 -1
- package/dist/val/UpperFuncVal.js +0 -11
- 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.js +0 -61
- package/dist/val/caserange.js.map +1 -1
- 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.js +0 -461
- 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 +8 -6
- package/grammar/aontu.gbnf +4 -4
- package/grammar/aontu.lark +4 -4
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/src/agentsmd.ts +0 -35
- package/src/alias.ts +0 -39
- package/src/allow.ts +1 -96
- package/src/aontu.ts +3 -110
- package/src/aontumodel.ts +32 -0
- package/src/cli.ts +113 -682
- 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 +14 -257
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +1 -1
- package/src/hints.ts +66 -57
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +19 -931
- package/src/lower.ts +12 -62
- 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 +0 -84
- package/src/render.ts +20 -172
- 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 +4 -166
- 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 +0 -40
- 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 +0 -12
- 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 +0 -60
- package/src/val/NomFuncVal.ts +8 -95
- 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 +1 -51
- package/src/val/UpperFuncVal.ts +0 -12
- 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 +0 -62
- 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 +1 -582
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -672
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/dist/val/NamerFuncVal.d.ts +0 -12
- package/dist/val/NamerFuncVal.js +0 -176
- package/dist/val/NamerFuncVal.js.map +0 -1
- package/src/std.ts +0 -683
package/dist/val/DisjunctVal.js
CHANGED
|
@@ -11,9 +11,7 @@ const top_1 = require("./top");
|
|
|
11
11
|
const NilVal_1 = require("../val/NilVal");
|
|
12
12
|
const PrefVal_1 = require("../val/PrefVal");
|
|
13
13
|
const JunctionVal_1 = require("../val/JunctionVal");
|
|
14
|
-
// TODO: move main logic to op/disjunct
|
|
15
14
|
class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
16
|
-
// TODO: sites from normalization of orginal Disjuncts, as well as child pegs
|
|
17
15
|
constructor(spec, ctx, _sites) {
|
|
18
16
|
super(spec, ctx);
|
|
19
17
|
this.isDisjunct = true;
|
|
@@ -38,61 +36,14 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
38
36
|
return ranked;
|
|
39
37
|
}
|
|
40
38
|
}
|
|
41
|
-
// // // console.log('DISJUNCT-unify-A', this.id, this.canon)
|
|
42
39
|
let done = true;
|
|
43
40
|
let oval = [];
|
|
44
|
-
// Conjunction (&) distributes over disjunction (|).
|
|
45
|
-
//
|
|
46
|
-
// Each member is tried against peer in isolation: if that trial
|
|
47
|
-
// produces any errors, the member fails and is marked with a NilVal.
|
|
48
|
-
// Previously this used `ctx?.clone({err: []})` per member - a
|
|
49
|
-
// per-iteration context clone (two Object.creates) just to hold a
|
|
50
|
-
// throwaway error array. For schemas with many disjunctions
|
|
51
|
-
// (e.g. `*true | boolean`, `method: GET | PUT | ...`) this was the
|
|
52
|
-
// single largest source of clones in the unify hot path.
|
|
53
|
-
//
|
|
54
|
-
// Swap-and-restore avoids the clone: the existing ctx's err array
|
|
55
|
-
// is saved, replaced with a fresh array for each trial, then
|
|
56
|
-
// restored. ctx mutation is scoped to this loop and fully undone
|
|
57
|
-
// before return.
|
|
58
41
|
const savedErr = ctx.err;
|
|
59
42
|
const savedTrialMode = ctx._trialMode;
|
|
60
|
-
// THE SANDBOX MUST NOT OUTLIVE THE TRIAL AS AN OWN PROPERTY.
|
|
61
|
-
// Contexts are made with Object.create(parent) and CACHED per
|
|
62
|
-
// (parent, key) by AontuContext.descend, so `err` and `_trialMode`
|
|
63
|
-
// are normally INHERITED -- and assigning them here, the restore
|
|
64
|
-
// included, creates own properties that shadow the ancestor on
|
|
65
|
-
// every later pass. A child that has run a trial of its own then
|
|
66
|
-
// cannot see the trial its PARENT is running: makeNilErr allocates
|
|
67
|
-
// a real NilVal instead of TRIAL_NIL, the refusal lands on the
|
|
68
|
-
// meet's real error list, and the losing member is kept as though
|
|
69
|
-
// it had survived -- with the nil inside it. A vet run then
|
|
70
|
-
// reported the conflicts of arms that should have dropped out, and
|
|
71
|
-
// called the document invalid where it is incomplete.
|
|
72
|
-
//
|
|
73
|
-
// So the restore DELETES what was inherited rather than writing it
|
|
74
|
-
// back. Both arms of both guards are live: the root meet context
|
|
75
|
-
// has an own `err`, a descended child does not, and `_trialMode`
|
|
76
|
-
// is own exactly when a disjunction is tried inside another
|
|
77
|
-
// disjunction's trial on the same context.
|
|
78
43
|
const ownErr = Object.prototype.hasOwnProperty.call(ctx, 'err');
|
|
79
44
|
const ownTrialMode = Object.prototype.hasOwnProperty.call(ctx, '_trialMode');
|
|
80
|
-
// A MEMBER'S TYPE FLOW IS PART OF THAT MEMBER. `refer(t)`/`rel(t)`
|
|
81
|
-
// assert `t` on ANOTHER node, and the assertion may only take
|
|
82
|
-
// effect if the member that makes it survives: committing every
|
|
83
|
-
// member's flow puts `t_A & t_B` on the target, which no reading
|
|
84
|
-
// of `A | B` licenses and which leaves the target MORE constrained
|
|
85
|
-
// than either alternative. The flow record is therefore staged per
|
|
86
|
-
// trial, like `ctx.err`, and only the survivors' records are
|
|
87
|
-
// merged into the real one below.
|
|
88
45
|
const savedFlows = ctx.referflows;
|
|
89
46
|
const staged = [];
|
|
90
|
-
// C1-inner: tell `makeNilErr` to return TRIAL_NIL in this scope
|
|
91
|
-
// instead of allocating per-failure NilVals. Save/restore so
|
|
92
|
-
// nested DisjunctVal trials (and the outer non-trial code) are
|
|
93
|
-
// not affected. The restore lives in `finally`: if a trial throws,
|
|
94
|
-
// leaving ctx._trialMode=true would collapse every subsequent real
|
|
95
|
-
// error in this ctx to the shared TRIAL_NIL sentinel.
|
|
96
47
|
ctx._trialMode = true;
|
|
97
48
|
let gate = undefined;
|
|
98
49
|
try {
|
|
@@ -106,10 +57,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
106
57
|
}
|
|
107
58
|
oval[vI] = (0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'DIST:' + vI) }) : ctx, v, peer, 'dj-peer');
|
|
108
59
|
if (0 < trialErr.length) {
|
|
109
|
-
// C1: failed-trial marker is never user-visible — it just
|
|
110
|
-
// signals "this disjunct member doesn't match" and is
|
|
111
|
-
// filtered out before the result is built. Use the shared
|
|
112
|
-
// sentinel instead of allocating a fresh NilVal per trial.
|
|
113
60
|
oval[vI] = NilVal_1.TRIAL_NIL;
|
|
114
61
|
}
|
|
115
62
|
else if (v instanceof PrefVal_1.PrefVal &&
|
|
@@ -123,23 +70,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
123
70
|
}
|
|
124
71
|
done = done && type_1.DONE === oval[vI].dc;
|
|
125
72
|
}
|
|
126
|
-
// THE ADMISSION GATE (ADR-004). A peer that meets a preference
|
|
127
|
-
// INSIDE a disjunction must be admitted by the disjunction: by
|
|
128
|
-
// some sibling alternative (whose own trial above already
|
|
129
|
-
// answers that), or by the preferred value itself (the pref
|
|
130
|
-
// branch's own admitted set). The pref's kind gate alone used to
|
|
131
|
-
// decide, so a same-kind concrete peer replaced the default with
|
|
132
|
-
// the alternatives never consulted -- `k:*'auto'|'literal'|'data'`
|
|
133
|
-
// plus `k:'autoo'` answered "autoo", and `*8080|(integer&neq(80))`
|
|
134
|
-
// admitted 80 (use-cases/BUGS.md §1-2). An inadmissible override
|
|
135
|
-
// now fails the pref member's trial, and when every member is
|
|
136
|
-
// gone the meet is the existing `empty` refusal.
|
|
137
|
-
//
|
|
138
|
-
// SCALAR preferred values only, exactly the kind gate's own
|
|
139
|
-
// boundary (test/spec/pref.tsv, "THE GATE IS A SCALAR GATE"): a
|
|
140
|
-
// structural or kind-peg default stays ungated. A deliberately
|
|
141
|
-
// open default remains spellable as `*x|top` -- the top branch
|
|
142
|
-
// admits every override (the apidef machine-emitted idiom).
|
|
143
73
|
if (undefined !== gate) {
|
|
144
74
|
for (const gI of gate) {
|
|
145
75
|
let admitted = false;
|
|
@@ -181,20 +111,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
181
111
|
ctx.referflows = savedFlows;
|
|
182
112
|
}
|
|
183
113
|
// // // console.log('DISJUNCT-unify-B', this.id, oval.map(v => v.canon))
|
|
184
|
-
// A PREFERENCE CONJOINED WITH A DISJUNCTION IS A PREFERENCE ON THE
|
|
185
|
-
// ALTERNATIVE IT NAMES: `(A|B) & *A` is `*A|B`, the same value the
|
|
186
|
-
// direct spelling `*A|B` denotes. Distribution carries the peer to
|
|
187
|
-
// each member, and a scalar preference meeting a concrete same-kind
|
|
188
|
-
// member is replaced BY that member (the kind gate) -- so the
|
|
189
|
-
// preference simply vanished, and `specversion: ("1.0"|"1.1") &
|
|
190
|
-
// *"1.0"`, the enum-with-default written the other way round, held
|
|
191
|
-
// no default at all. The old generation fold hid it by folding the
|
|
192
|
-
// members together; ADR-007 does not, and a disjunction that has
|
|
193
|
-
// lost its default is not the value the author wrote.
|
|
194
|
-
//
|
|
195
|
-
// A preference naming no alternative is dropped, as it is today: it
|
|
196
|
-
// has nothing to prefer, and the default-validity lint is what
|
|
197
|
-
// reports that shape.
|
|
198
114
|
if (true === peer.isPref) {
|
|
199
115
|
const want = (0, PrefVal_1.prefInnerPeg)(peer);
|
|
200
116
|
for (let vI = 0; vI < oval.length; vI++) {
|
|
@@ -224,17 +140,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
224
140
|
oval[kI] = NilVal_1.TRIAL_NIL;
|
|
225
141
|
continue;
|
|
226
142
|
}
|
|
227
|
-
// TWO PREFERENCES OVER ONE VALUE ARE ONE PREFERENCE, and
|
|
228
|
-
// the lower rank is the one that generates: `*1 | **1` is
|
|
229
|
-
// `*1`. Ranking folds EQUAL ranks (R2); this folds the rest,
|
|
230
|
-
// which R5 stopped discarding.
|
|
231
|
-
//
|
|
232
|
-
// A PLAIN arm holding that same value is NOT a duplicate of
|
|
233
|
-
// it and must not be folded away: it is the sibling that
|
|
234
|
-
// ADMITS an override under ADR-004's gate, which is the
|
|
235
|
-
// whole point of writing `*x | x`. Folding it turned that
|
|
236
|
-
// idiom's own default into a `pref_not_instance` finding,
|
|
237
|
-
// and `*top | top` is pinned as its control.
|
|
238
143
|
const a = oval[vI];
|
|
239
144
|
const b = oval[kI];
|
|
240
145
|
if (true === a.isPref && true === b.isPref
|
|
@@ -251,10 +156,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
251
156
|
}
|
|
252
157
|
// // // console.log('DISJUNCT-unify-D', this.id, oval.map(v => v.canon))
|
|
253
158
|
}
|
|
254
|
-
// THE SURVIVORS' FLOWS, AND ONLY THEIRS. Members knocked out by
|
|
255
|
-
// the trial, by the admission gate or by the dedup above are all
|
|
256
|
-
// nil here, so this runs after every one of those and before the
|
|
257
|
-
// filter that drops them.
|
|
258
159
|
if (undefined !== savedFlows) {
|
|
259
160
|
for (let vI = 0; vI < staged.length; vI++) {
|
|
260
161
|
const st = staged[vI];
|
|
@@ -282,13 +183,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
282
183
|
}
|
|
283
184
|
else {
|
|
284
185
|
out = new DisjunctVal({ peg: oval }, ctx);
|
|
285
|
-
// A NARROWED DISJUNCTION IS STILL THAT DISJUNCTION. The meet mints
|
|
286
|
-
// a fresh value, which used to arrive unsited and file-less -- so
|
|
287
|
-
// every finding naming a disjunction that had met anything
|
|
288
|
-
// pointed at row -1 with no file, and an agent handed the report
|
|
289
|
-
// had nowhere to go (the review's finding F). `place` copies the
|
|
290
|
-
// whole site, position and url together, which is what tells the
|
|
291
|
-
// report which document it came from.
|
|
292
186
|
this.place(out);
|
|
293
187
|
}
|
|
294
188
|
out.dc = done ? type_1.DONE : this.dc + 1;
|
|
@@ -297,24 +191,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
297
191
|
(0, utility_1.explainClose)(te, out);
|
|
298
192
|
return out;
|
|
299
193
|
}
|
|
300
|
-
// RANK ORDERS THE SURVIVORS, IT DOES NOT DISCARD AT PARSE (ADR-011
|
|
301
|
-
// R5, docs/design/DEFAULTS.0.md). Every rank is KEPT here, and
|
|
302
|
-
// generation takes the lowest-rank preference still standing -- so
|
|
303
|
-
// eliminating the lower arm PROMOTES the next instead of taking the
|
|
304
|
-
// whole ladder with it. This ran once, before the member trials,
|
|
305
|
-
// and discarded every arm but the lowest: `*1 | **2` met by
|
|
306
|
-
// `neq(1)` lost the default entirely and refused, where the ladder
|
|
307
|
-
// exists precisely to answer 2. Rank is a preference order over
|
|
308
|
-
// WHAT SURVIVES, which is not knowable until the trials have run.
|
|
309
|
-
//
|
|
310
|
-
// Only EQUAL ranks fold, because two defaults at one rank are one
|
|
311
|
-
// decision: compatible pegs merge, and a disagreement is the
|
|
312
|
-
// `pref_rank_clash` refusal (R2), which belongs to the whole
|
|
313
|
-
// disjunction -- there is no alternative to fall back to.
|
|
314
|
-
//
|
|
315
|
-
// Answers the sole surviving preference when the disjunction holds
|
|
316
|
-
// exactly one -- which the RECURSIVE call below consumes to lift a
|
|
317
|
-
// nested disjunct's winner into this one -- or the clash refusal.
|
|
318
194
|
rankPrefs(ctx) {
|
|
319
195
|
// The kept index per rank, so an equal-rank twin folds into the
|
|
320
196
|
// arm already standing for that rank.
|
|
@@ -366,25 +242,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
366
242
|
getJunctionSymbol() {
|
|
367
243
|
return '|';
|
|
368
244
|
}
|
|
369
|
-
// AN UNRESOLVED DISJUNCTION IS NOT A VALUE (ADR-007).
|
|
370
|
-
//
|
|
371
|
-
// Generation used to FOLD the surviving members together with unify
|
|
372
|
-
// and emit the result. That answer is in no branch of the
|
|
373
|
-
// disjunction: `({x:1}|{y:2}) & {z:3}` generated `{x:1,y:2,z:3}`, a
|
|
374
|
-
// map the model never admits, and `1|2` died as a scalar_value
|
|
375
|
-
// CONFLICT -- the conflict of the fold, not of anything the author
|
|
376
|
-
// wrote. The second half is what made vet decorative: vet's
|
|
377
|
-
// incompleteness check keeps incomplete-class findings, so a missing
|
|
378
|
-
// required enum field (`role: 'a'|'b'` with no data) arrived as a
|
|
379
|
-
// conflict, was filtered out, and vetted VALID with zero findings
|
|
380
|
-
// (use-cases/BUGS.md §13, the review's finding C).
|
|
381
|
-
//
|
|
382
|
-
// What remains after unification is what the model still admits, so
|
|
383
|
-
// more than one surviving alternative means the truth is not yet
|
|
384
|
-
// settled -- incomplete, the same class a bare `string` residue
|
|
385
|
-
// answers, and the same answer CUE gives for a non-concrete export.
|
|
386
|
-
// A preference resolves it (that is what `*` is for), and so does a
|
|
387
|
-
// single surviving member.
|
|
388
245
|
gen(ctx) {
|
|
389
246
|
if (0 < this.peg.length) {
|
|
390
247
|
// Ranking may not have run when gen is reached without a prior
|
|
@@ -394,12 +251,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
394
251
|
this.rankPrefs(ctx);
|
|
395
252
|
}
|
|
396
253
|
const prefs = this.peg.filter((v) => v instanceof PrefVal_1.PrefVal);
|
|
397
|
-
// ALTERNATIVES THAT GENERATE THE SAME VALUE ARE RESOLVED
|
|
398
|
-
// (ADR-007's rule, asked at the moment it matters): `[] | [&:
|
|
399
|
-
// T]` met by an empty list keeps both arms -- they differ as
|
|
400
|
-
// SCHEMAS, which is what stops the dedup collapsing the
|
|
401
|
-
// template away (BUGS.md §52 regime 4) -- but both generate
|
|
402
|
-
// the empty list, and one generated value is one value.
|
|
403
254
|
if (0 === prefs.length && 1 < this.peg.length) {
|
|
404
255
|
const gctx = ctx.clone({ err: [], collect: true });
|
|
405
256
|
let firstOut;
|
|
@@ -429,9 +280,6 @@ class DisjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
429
280
|
}
|
|
430
281
|
return undefined;
|
|
431
282
|
}
|
|
432
|
-
// THE LOWEST-RANK SURVIVOR (R5). Ranking no longer discards the
|
|
433
|
-
// weaker arms, so the choice is made here, over what is left:
|
|
434
|
-
// `*1 | **2` answers 1, and answers 2 once `*1` is gone.
|
|
435
283
|
let best = this.peg[0];
|
|
436
284
|
if (0 < prefs.length) {
|
|
437
285
|
best = prefs[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DisjunctVal.js","sourceRoot":"","sources":["../../src/val/DisjunctVal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DisjunctVal.js","sourceRoot":"","sources":["../../src/val/DisjunctVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/EachFuncVal.js
CHANGED
|
@@ -41,9 +41,6 @@ class EachFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
41
41
|
const peg = [];
|
|
42
42
|
for (let i = 0; i < vals.length; i++) {
|
|
43
43
|
const elctx = ctx.descend(String(i));
|
|
44
|
-
// A FULL INSTANCE per element, to the leaves (`dup`, ADR-005),
|
|
45
|
-
// at the element's own position -- see PackFuncVal.resolve --
|
|
46
|
-
// with `_` bound to the source child and NOTHING met into it.
|
|
47
44
|
const inst = tmpl.clone(elctx, { dup: true });
|
|
48
45
|
(0, Val_1.repathInstance)(inst, inst.path);
|
|
49
46
|
peg.push((0, PlaceVal_1.fillPlace)(inst, vals[i], elctx));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+BAAsC;AACtC,yCAAsC;AACtC,uCAAsC;AAGtC,MAAM,WAAY,SAAQ,yBAAW;IAOnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAVlB,eAAU,GAAG,IAAI,CAAA;QAEjB,kEAAkE;QAClE,8CAA8C;QAC9C,WAAM,GAAG,IAAI,CAAA;IAOb,CAAC;IAGD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,sEAAsE;IACtE,OAAO,CAAC,IAAkB,EAAE,KAAY;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,6DAA6D;QAC7D,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAI,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,IAAA,oBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,WAAW"}
|
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) {
|