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/BagVal.js
CHANGED
|
@@ -18,15 +18,6 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
18
18
|
this.isGenable = true;
|
|
19
19
|
this.closed = false;
|
|
20
20
|
this.optionalKeys = [];
|
|
21
|
-
// ALIAS DECLARATIONS, by key. `%uint8 = …` binds a name for this file
|
|
22
|
-
// and is not a field of the document: it does not generate and does
|
|
23
|
-
// not appear in canon, so a document using aliases and its expanded
|
|
24
|
-
// twin are the SAME document and hash identically
|
|
25
|
-
// (docs/design/ALIASES.0.md §4).
|
|
26
|
-
//
|
|
27
|
-
// Keyed on the map rather than marked on the value, because a
|
|
28
|
-
// reference copies the value it resolves to -- a mark riding the
|
|
29
|
-
// value would erase the referring field along with the declaration.
|
|
30
21
|
this.aliasKeys = [];
|
|
31
22
|
this.spread = {
|
|
32
23
|
cj: undefined,
|
|
@@ -38,49 +29,14 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
38
29
|
return bag;
|
|
39
30
|
}
|
|
40
31
|
handleExpectedVal(key, val, parent, ctx) {
|
|
41
|
-
// A MARKED value is carried, never expected (ADR-005 era, BUGS.md
|
|
42
|
-
// §12's include form): a type()/hide()-marked child legitimately
|
|
43
|
-
// participates in unification without ever generating — that is
|
|
44
|
-
// the marks contract — so wrapping one as an expectation turned a
|
|
45
|
-
// schema field arriving through an include's map meet into a
|
|
46
|
-
// bogus `mapval_spread_required` naming a spread that exists in
|
|
47
|
-
// neither file. The bag's gen already skips marked children.
|
|
48
|
-
//
|
|
49
|
-
// An OPERATOR is carried too (BUGS.md §36): an expression is a
|
|
50
|
-
// computation that resolves by itself once its operands do — the
|
|
51
|
-
// bag's own-key loop drives it every pass — so `m:{y:.x+1}`
|
|
52
|
-
// arriving as a peer key must keep computing exactly as it does
|
|
53
|
-
// written inline. Wrapping it froze the op (an expectation only
|
|
54
|
-
// advances when a peer arrives) and the residue then reported the
|
|
55
|
-
// phantom `mapval_spread_required` naming a spread that exists
|
|
56
|
-
// nowhere. An op that truly never resolves is honest *_no_gen
|
|
57
|
-
// residue naming the expression itself.
|
|
58
32
|
if (val.isGenable || val.isOp || val.mark.type || val.mark.hide) {
|
|
59
33
|
return val;
|
|
60
34
|
}
|
|
61
|
-
// An expectation baked into a combined spread template (the
|
|
62
|
-
// 'map-self' meet of two unequal templates) is re-wrapped FRESH, so
|
|
63
|
-
// key/parent name THIS bag and the template's own node is never
|
|
64
|
-
// stored at a destination.
|
|
65
35
|
const expectVal = new ExpectVal_1.ExpectVal({ peg: val.isExpect ? val.peg : val }, ctx);
|
|
66
36
|
expectVal.key = key;
|
|
67
37
|
expectVal.parent = parent;
|
|
68
38
|
return expectVal;
|
|
69
39
|
}
|
|
70
|
-
// TWO BAGS ARE THE SAME VALUE WHEN THEY HAVE THE SAME SHAPE. Val.same
|
|
71
|
-
// falls back to object IDENTITY, which no two separately built maps
|
|
72
|
-
// share -- so `x:*{a:1}|{a:number}` met by `x:{a:2}` left
|
|
73
|
-
// `{"a":2}|{"a":2}`, a disjunction of one value spelled twice, past
|
|
74
|
-
// the DisjunctVal dedup. Generation's old member FOLD hid that
|
|
75
|
-
// (folding a value with itself is that value); ADR-007 does not, and
|
|
76
|
-
// a disjunction whose alternatives are all the SAME value is
|
|
77
|
-
// resolved, not ambiguous. Canon prints the collapse too, which is
|
|
78
|
-
// the more honest text.
|
|
79
|
-
//
|
|
80
|
-
// Structural, and deliberately strict: container kind, closedness,
|
|
81
|
-
// the marks, the optional keys and the key set must all agree before
|
|
82
|
-
// the children are compared pairwise. Recursion terminates because a
|
|
83
|
-
// reference is not a bag -- RefVal keeps the identity comparison.
|
|
84
40
|
same(peer) {
|
|
85
41
|
if (this === peer) {
|
|
86
42
|
return true;
|
|
@@ -94,11 +50,6 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
94
50
|
this.mark.hide !== peer.mark.hide) {
|
|
95
51
|
return false;
|
|
96
52
|
}
|
|
97
|
-
// The SPREAD is part of the shape (BUGS.md §52 regime 4): `[]`
|
|
98
|
-
// and `[&: T]` share an empty key set, and calling them the same
|
|
99
|
-
// value collapsed the disjunction to its first arm before any
|
|
100
|
-
// data could pick -- the vacuous-schema hole. Two spreads are the
|
|
101
|
-
// same when their canons are.
|
|
102
53
|
const scj = this.spread?.cj;
|
|
103
54
|
const pcj = peer.spread?.cj;
|
|
104
55
|
if ((null == scj) !== (null == pcj) ||
|
|
@@ -127,12 +78,6 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
127
78
|
if ((this.mark.type || this.mark.hide) && true !== ctx?.probe) {
|
|
128
79
|
return undefined;
|
|
129
80
|
}
|
|
130
|
-
// Maps emit their keys in CODE POINT order so the generated output
|
|
131
|
-
// is independent of insertion/unification order and matches the Go
|
|
132
|
-
// port. Lists keep their numeric index order.
|
|
133
|
-
//
|
|
134
|
-
// The keys are String()-coerced because a list entry carries a
|
|
135
|
-
// numeric index here; the coercion is a no-op for every map key.
|
|
136
81
|
let entries = (0, utility_1.items)(this.peg);
|
|
137
82
|
if (this.isMap) {
|
|
138
83
|
entries = entries
|
|
@@ -173,22 +118,7 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
173
118
|
}
|
|
174
119
|
put(cval);
|
|
175
120
|
}
|
|
176
|
-
// A CONJUNCT IS GENERABLE WHEN IT IS A SETTLED SIZING RESIDUE
|
|
177
|
-
// (the review's finding C, use-cases/BUGS.md §16). `length` and
|
|
178
|
-
// `unique` over a container keep the readings more members could
|
|
179
|
-
// still change, so `a: length(3) a:[1,2,3]` is a conjunct of the
|
|
180
|
-
// atom and the list right up to generation -- which is where the
|
|
181
|
-
// atom decides, in ConjunctVal.gen. Any OTHER conjunct is
|
|
182
|
-
// unresolved and falls through to the residue error below,
|
|
183
|
-
// exactly as before.
|
|
184
121
|
else if (bagGenable(child)) {
|
|
185
|
-
// An optional child is generated in an isolated collect context so an
|
|
186
|
-
// unresolved inner value (a bare type that survived unification, e.g.
|
|
187
|
-
// an absent optional sub-map's `field: string`) is dropped rather than
|
|
188
|
-
// raised: the optional subtree is simply omitted. Without isolation
|
|
189
|
-
// such inner errors pollute the shared ctx.err and make generate()
|
|
190
|
-
// throw even though the key is skipped below. Mirrors the
|
|
191
|
-
// optional-disjunct path above.
|
|
192
122
|
const cctx = optional ? ctx.clone({ err: [], collect: true }) : ctx;
|
|
193
123
|
let cval = child.gen(cctx);
|
|
194
124
|
if (optional && (undefined === cval || (0, Val_1.empty)(cval))) {
|
|
@@ -223,7 +153,6 @@ class BagVal extends FeatureVal_1.FeatureVal {
|
|
|
223
153
|
(0, err_1.makeNilErr)(ctx, code, va, vb, undefined, details);
|
|
224
154
|
break;
|
|
225
155
|
}
|
|
226
|
-
// else optional so we can ignore it
|
|
227
156
|
}
|
|
228
157
|
return out;
|
|
229
158
|
}
|
|
@@ -245,13 +174,6 @@ function sizingResidue(v) {
|
|
|
245
174
|
return undefined !== con && (true === bag?.isMap || true === bag?.isList) ?
|
|
246
175
|
{ con, bag } : undefined;
|
|
247
176
|
}
|
|
248
|
-
// bagGenable is the bag's generability whitelist. A graph atom
|
|
249
|
-
// (RELATIONS P2) is exactly as generable as the value it carries: the
|
|
250
|
-
// atom is transparent at generation, so wrapping a field's value in
|
|
251
|
-
// acyclic() must not change whether the bag accepts it -- an unmet
|
|
252
|
-
// rel() refuses required generation with or without the atom, and a
|
|
253
|
-
// BARE atom generates nothing and is dropped, exactly as an unmet
|
|
254
|
-
// rel() under an optional key is.
|
|
255
177
|
function bagGenable(child) {
|
|
256
178
|
if (true === child.isGraphAtom) {
|
|
257
179
|
return undefined === child.held || bagGenable(child.held);
|
|
@@ -263,6 +185,7 @@ function bagGenable(child) {
|
|
|
263
185
|
return true;
|
|
264
186
|
}
|
|
265
187
|
return true === child.isScalar
|
|
188
|
+
|| true === child.isAbsent
|
|
266
189
|
|| true === child.isMap
|
|
267
190
|
|| true === child.isList
|
|
268
191
|
|| true === child.isPref
|
package/dist/val/BagVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagVal.js","sourceRoot":"","sources":["../../src/val/BagVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;;;AAWzD,wCAEmB;AAEnB,gCAAmC;AACnC,+BAA6B;AAG7B,qCAAiC;AACjC,6CAAyC;AACzC,2CAAuC;AACvC,0CAA0C;AAG1C,MAAe,MAAO,SAAQ,uBAAU;
|
|
1
|
+
{"version":3,"file":"BagVal.js","sourceRoot":"","sources":["../../src/val/BagVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,21 +7,8 @@ const ScalarVal_1 = require("./ScalarVal");
|
|
|
7
7
|
const ScalarKindVal_1 = require("./ScalarKindVal");
|
|
8
8
|
const Decimal_1 = require("./Decimal");
|
|
9
9
|
const utility_1 = require("../utility");
|
|
10
|
-
// The exact base-10 decimal leaf of the number tower, reached only by a
|
|
11
|
-
// `0d` literal carrying a `.` or an exponent (`0d1.5`, `0d1e3`) or by
|
|
12
|
-
// direct construction.
|
|
13
|
-
//
|
|
14
|
-
// Its peg is a Decimal -- an OBJECT, so unlike every other scalar leaf
|
|
15
|
-
// its identity cannot be `===` on the peg. Two bigdecimals are the same
|
|
16
|
-
// value when their NUMBERS are equal (D2), which normalisation at
|
|
17
|
-
// construction reduces to a two-field comparison; `samePeg` and `unify`
|
|
18
|
-
// below are the two places that must not forget it.
|
|
19
10
|
class BigDecimalVal extends ScalarVal_1.ScalarVal {
|
|
20
11
|
constructor(spec, ctx) {
|
|
21
|
-
// Exact-input construction (D8): a Decimal, or a decimal literal as
|
|
22
|
-
// text (`'1.5'`, `'0d1e3'`). A JS `number` is deliberately NOT
|
|
23
|
-
// accepted -- binary64 has already rounded it, so `0.1` could never
|
|
24
|
-
// arrive exact.
|
|
25
12
|
let peg = spec.peg;
|
|
26
13
|
if ('string' === typeof peg) {
|
|
27
14
|
try {
|
|
@@ -50,9 +37,6 @@ class BigDecimalVal extends ScalarVal_1.ScalarVal {
|
|
|
50
37
|
else if (peer.isScalar &&
|
|
51
38
|
peer.kind === this.kind &&
|
|
52
39
|
this.peg.equals(peer.peg)) {
|
|
53
|
-
// Same kind and equal NUMBER. Never `peer.peg === this.peg`:
|
|
54
|
-
// that is object identity, and `0d0.10 & 0d0.1` (two Decimals
|
|
55
|
-
// holding one value) has to succeed.
|
|
56
40
|
out = this;
|
|
57
41
|
}
|
|
58
42
|
else if (peer.isTop) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigDecimalVal.js","sourceRoot":"","sources":["../../src/val/BigDecimalVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAA4C;AAC5C,uCAAmC;AAEnC,wCAImB;AAGnB,
|
|
1
|
+
{"version":3,"file":"BigDecimalVal.js","sourceRoot":"","sources":["../../src/val/BigDecimalVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAA4C;AAC5C,uCAAmC;AAEnC,wCAImB;AAGnB,MAAM,aAAc,SAAQ,qBAAS;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAClB,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,GAAG,GAAG,iBAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC/B,CAAC;YACD,MAAM,CAAC;gBACL,8DAA8D;gBAC9D,2DAA2D;gBAC3D,UAAU;gBACV,MAAM,IAAI,gBAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;YACrD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,YAAY,iBAAO,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,gBAAU,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAA;QAChD,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,0BAAU,EAAE,EAAE,GAAG,CAAC,CAAA;QAxBhD,iBAAY,GAAG,IAAI,CAAA;IAyBnB,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAEjF,IAAI,GAAG,GAAQ,IAAI,CAAA;QAEnB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,IAAK,IAAY,CAAC,YAAY,EAAE,CAAC;gBACpD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC1E,CAAC;iBACI,IACH,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EACzB,CAAC;gBACD,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS;oBAC7B,CAAE,IAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,OAAO,CAAC,GAAQ;QACd,OAAO,GAAG,YAAY,iBAAO,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACvD,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAA;IACzB,CAAC;CACF,CAAC,iCAAiC;QAIjC,aAAa"}
|
|
@@ -6,24 +6,8 @@ const err_1 = require("../err");
|
|
|
6
6
|
const ScalarVal_1 = require("./ScalarVal");
|
|
7
7
|
const ScalarKindVal_1 = require("./ScalarKindVal");
|
|
8
8
|
const utility_1 = require("../utility");
|
|
9
|
-
// The unbounded exact integer leaf of the number tower, reached only by
|
|
10
|
-
// a `0d` literal with no fraction and no exponent (`0d5`, `-0d5`,
|
|
11
|
-
// `0d123456789012345678901234567890`) or by direct construction.
|
|
12
|
-
//
|
|
13
|
-
// Its peg is a native bigint: exact at any magnitude, immutable, and
|
|
14
|
-
// compared by VALUE with `===` (D2 -- two separately built bigints
|
|
15
|
-
// holding the same number are `===`, which is exactly the property the
|
|
16
|
-
// Go port has to reproduce by hand for `*big.Int`).
|
|
17
|
-
//
|
|
18
|
-
// `biginteger` is DISJOINT from `integer`: `5 & 0d5` is an error, since
|
|
19
|
-
// a successful meet would have to pick one of the two kinds and either
|
|
20
|
-
// choice makes `&` asymmetric in kind.
|
|
21
9
|
class BigIntegerVal extends ScalarVal_1.ScalarVal {
|
|
22
10
|
constructor(spec, ctx) {
|
|
23
|
-
// Exact-input construction (D8): a bigint, or the digits as text. A
|
|
24
|
-
// JS `number` is deliberately NOT accepted -- it has already been
|
|
25
|
-
// rounded before this library could inspect it, so an exact value
|
|
26
|
-
// above 2^53 could never arrive that way intact.
|
|
27
11
|
let peg = spec.peg;
|
|
28
12
|
if ('string' === typeof peg) {
|
|
29
13
|
if (!/^[-+]?[0-9]+$/.test(peg)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BigIntegerVal.js","sourceRoot":"","sources":["../../src/val/BigIntegerVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAA4C;AAE5C,wCAImB;AAGnB,
|
|
1
|
+
{"version":3,"file":"BigIntegerVal.js","sourceRoot":"","sources":["../../src/val/BigIntegerVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAWpD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAA4C;AAE5C,wCAImB;AAGnB,MAAM,aAAc,SAAQ,qBAAS;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAA;QAClB,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,gBAAU,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAA;YAChD,CAAC;YACD,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;QACD,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;YAC5B,MAAM,IAAI,gBAAU,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAA;QAChD,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,0BAAU,EAAE,EAAE,GAAG,CAAC,CAAA;QAnBhD,iBAAY,GAAG,IAAI,CAAA;IAoBnB,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAEjF,IAAI,GAAG,GAAQ,IAAI,CAAA;QAEnB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,IAAK,IAAY,CAAC,YAAY,EAAE,CAAC;gBACpD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC1E,CAAC;iBACI,IACH,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACvB,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EACrB,CAAC;gBACD,+DAA+D;gBAC/D,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS;oBAC7B,CAAE,IAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,uEAAuE;IACvE,uDAAuD;IACvD,IAAI,KAAK;QACP,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,GAAG,EAAE,CAAA;QACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;IACvE,CAAC;CACF,CAAC,iCAAiC;QAIjC,aAAa"}
|
package/dist/val/CloseFuncVal.js
CHANGED
|
@@ -22,16 +22,7 @@ class CloseFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
22
22
|
return (0, err_1.makeNilErr)(ctx, 'no_first_arg', this, undefined, 'close');
|
|
23
23
|
}
|
|
24
24
|
if (argval.isMap || argval.isList) {
|
|
25
|
-
// The in-place write is safe BECAUSE of the per-destination
|
|
26
|
-
// instantiation rule (ADR-005): everywhere a close() call is
|
|
27
|
-
// multiplied — a pack/each template, a spread constraint — the
|
|
28
|
-
// clone now owns its argument (`dup`), so `closed` lands on that
|
|
29
|
-
// instance alone. Cloning the bag here instead was tried and
|
|
30
|
-
// rejected: the re-path it implies corrupts the source
|
|
31
|
-
// attribution of children inside nested spread templates (the
|
|
32
|
-
// 06-k8s use case's env findings named the wrong path).
|
|
33
25
|
argval.closed = true;
|
|
34
|
-
// console.log('CLOSED', argval.canon)
|
|
35
26
|
}
|
|
36
27
|
return argval;
|
|
37
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseFuncVal.js","sourceRoot":"","sources":["../../src/val/CloseFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,+CAA2C;AAI3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;QAOhB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAChC,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,MAAM,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QAEzB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"CloseFuncVal.js","sourceRoot":"","sources":["../../src/val/CloseFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,+CAA2C;AAI3C,MAAM,YAAa,SAAQ,yBAAW;IAGpC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,gBAAW,GAAG,IAAI,CAAA;QAOhB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAChC,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,MAAM,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QAEzB,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,MAAiB,CAAC,MAAM,GAAG,IAAI,CAAA;QAClC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CAEF,CAAC,iCAAiC;QAIjC,YAAY"}
|
package/dist/val/CmpFuncVal.js
CHANGED
|
@@ -7,17 +7,9 @@ const MapVal_1 = require("./MapVal");
|
|
|
7
7
|
const ListVal_1 = require("./ListVal");
|
|
8
8
|
const StringVal_1 = require("./StringVal");
|
|
9
9
|
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
10
|
-
// EIGHT OF JOSTRACA'S TEN COMPONENTS. `Copy` and `List` are missing and
|
|
11
|
-
// cannot be added under these rules: `copy` and `list` are already
|
|
12
|
-
// aontu builtins with settled, unrelated meanings -- `copy(v)` copies a
|
|
13
|
-
// VALUE and `list()` is the list container kind, both declared in
|
|
14
|
-
// test/spec/signature.tsv and implemented in both ports. Lower-casing
|
|
15
|
-
// jostraca's names onto them would either shadow landed language
|
|
16
|
-
// surface or make one name mean two things by arity, and neither is a
|
|
17
|
-
// trade a spike gets to make. See docs/design/JOSTRACA.0.md.
|
|
18
10
|
const CMP_DEF = {
|
|
19
11
|
// The output root. Its `folder` is refused an absolute path or a
|
|
20
|
-
// `..` segment on the
|
|
12
|
+
// `..` segment on the Jostraca side, where the tree is data.
|
|
21
13
|
project: {
|
|
22
14
|
cmp: 'Project', text: 'folder', req: false,
|
|
23
15
|
children: ['project', 'folder', 'file', 'copyfiles'],
|
|
@@ -30,8 +22,6 @@ const CMP_DEF = {
|
|
|
30
22
|
cmp: 'File', text: 'name', req: true,
|
|
31
23
|
children: ['content', 'line', 'fragment', 'inject', 'listitems', 'copyfiles'],
|
|
32
24
|
},
|
|
33
|
-
// A span of text, exactly as written. `FileOp` joins a file's spans
|
|
34
|
-
// with the empty string, so a `content` carries its own terminator.
|
|
35
25
|
content: {
|
|
36
26
|
cmp: 'Content', text: 'src', req: true,
|
|
37
27
|
children: [],
|
|
@@ -61,30 +51,12 @@ const CMP_DEF = {
|
|
|
61
51
|
cmp: 'CopyFiles', text: 'from', req: true,
|
|
62
52
|
children: [],
|
|
63
53
|
},
|
|
64
|
-
// `List` under a name that says what it does: it renders its children
|
|
65
|
-
// ONCE PER ELEMENT of `item`, binding jostraca's `{item}` and
|
|
66
|
-
// `{item.path}` macros, and adds a trailing blank line unless
|
|
67
|
-
// `line: false`.
|
|
68
|
-
//
|
|
69
|
-
// IT IS THE ONE COMPONENT THE AONTU SIDE ALREADY SUBSUMES, and a
|
|
70
|
-
// generator should reach for `each()` first. `each($.rows, content(...))`
|
|
71
|
-
// repeats in the MODEL, so the repetition is finished before the tree
|
|
72
|
-
// exists and every produced node is data a document can reference,
|
|
73
|
-
// vet and diff. `listitems` defers it into jostraca's define phase behind
|
|
74
|
-
// a string macro aontu cannot see into -- which is the layer this
|
|
75
|
-
// spike exists to remove. It is here so the component set is
|
|
76
|
-
// complete, not because it is the better spelling.
|
|
77
54
|
listitems: {
|
|
78
55
|
cmp: 'ListItems', req: true, bag: 'item',
|
|
79
56
|
children: ['content', 'line', 'fragment'],
|
|
80
57
|
},
|
|
81
58
|
};
|
|
82
59
|
exports.CMP_DEF = CMP_DEF;
|
|
83
|
-
// The component name a value carries, when the value is a node this
|
|
84
|
-
// vocabulary built. Read structurally rather than by class, because a
|
|
85
|
-
// node reaches a children list as a MAP -- through a reference, a
|
|
86
|
-
// `each()` instance, a spread -- long after the call that made it has
|
|
87
|
-
// resolved away.
|
|
88
60
|
const BY_CMP = {};
|
|
89
61
|
for (const fname of Object.keys(CMP_DEF)) {
|
|
90
62
|
BY_CMP[CMP_DEF[fname].cmp] = fname;
|
|
@@ -100,7 +72,6 @@ function nodeCmp(v) {
|
|
|
100
72
|
// names, so read it back through the one table.
|
|
101
73
|
return (undefined === name) ? undefined : BY_CMP[name];
|
|
102
74
|
}
|
|
103
|
-
// A prop's text, when the prop is a concrete string.
|
|
104
75
|
function propText(props, key) {
|
|
105
76
|
const v = props?.peg?.[key];
|
|
106
77
|
return (true === v?.isScalar && 'string' === typeof v.peg) ? v.peg : undefined;
|
|
@@ -116,22 +87,7 @@ class CmpFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
116
87
|
}
|
|
117
88
|
resolve(ctx, args) {
|
|
118
89
|
const def = CMP_DEF[this.cmp];
|
|
119
|
-
|
|
120
|
-
// ARITY, refused here (see the spike-scope note above): a leaf
|
|
121
|
-
// takes its spec alone, a container takes a spec and an optional
|
|
122
|
-
// children list.
|
|
123
|
-
// A component whose text prop is OPTIONAL may be called with
|
|
124
|
-
// nothing at all: `project()` is the defaulted root, as
|
|
125
|
-
// `project({})` is on the other side. Everything else needs its
|
|
126
|
-
// spec.
|
|
127
|
-
if (args.length < (def.req ? 1 : 0) || args.length > (leaf ? 1 : 2)) {
|
|
128
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, undefined, 'arity');
|
|
129
|
-
}
|
|
130
|
-
// THE SPEC IS A STRING OR A PROPS MAP. The string spelling fills
|
|
131
|
-
// the one prop the component cannot work without, so the common
|
|
132
|
-
// case reads as the component does -- `file("main.ts", ...)` --
|
|
133
|
-
// and the map spelling is there the moment a second prop is
|
|
134
|
-
// wanted: `file({name: "run.sh", mode: 0o755}, ...)`.
|
|
90
|
+
// Arity is checked at parse (funcArity); args[0] can be undefined.
|
|
135
91
|
const spec = args[0];
|
|
136
92
|
let props;
|
|
137
93
|
if (undefined === spec) {
|
|
@@ -149,8 +105,6 @@ class CmpFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
149
105
|
else {
|
|
150
106
|
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, spec, 'spec');
|
|
151
107
|
}
|
|
152
|
-
// The one prop that is not the component's own business: without
|
|
153
|
-
// it there is no file to write and no content to write into one.
|
|
154
108
|
if (undefined !== def.text) {
|
|
155
109
|
const text = propText(props, def.text);
|
|
156
110
|
if (def.req && (undefined === text || '' === text)) {
|
|
@@ -170,10 +124,6 @@ class CmpFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
170
124
|
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, props, def.bag);
|
|
171
125
|
}
|
|
172
126
|
}
|
|
173
|
-
// THE CHILDREN, flattened, then the containment grammar. Absent
|
|
174
|
-
// is empty -- an empty folder and a file with no content are both
|
|
175
|
-
// things a model may legitimately say -- and every node that
|
|
176
|
-
// survives the flattening must be one this component admits.
|
|
177
127
|
const kids = args[1];
|
|
178
128
|
let children;
|
|
179
129
|
if (undefined === kids) {
|
|
@@ -214,18 +164,11 @@ class CmpFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
214
164
|
children,
|
|
215
165
|
}
|
|
216
166
|
}, ctx);
|
|
217
|
-
// Closed: the three keys ARE the node vocabulary (see the note
|
|
218
|
-
// above). `props` is left open on purpose.
|
|
219
167
|
node.closed = true;
|
|
220
168
|
return this.place(node);
|
|
221
169
|
}
|
|
222
170
|
} /* node:coverage ignore next 3 */
|
|
223
171
|
exports.CmpFuncVal = CmpFuncVal;
|
|
224
|
-
// ONE CLASS PER COMPONENT, generated from the table, because the
|
|
225
|
-
// registry constructs by `new funcval({peg: args})` and so needs a
|
|
226
|
-
// constructor per name. Written as a factory rather than eight
|
|
227
|
-
// near-identical subclasses: the table is the single statement of what
|
|
228
|
-
// exists, and a ninth component is a row in it and nothing else.
|
|
229
172
|
function cmpFuncClass(fname) {
|
|
230
173
|
class Cmp extends CmpFuncVal {
|
|
231
174
|
constructor(spec, ctx) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmpFuncVal.js","sourceRoot":"","sources":["../../src/val/CmpFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"CmpFuncVal.js","sourceRoot":"","sources":["../../src/val/CmpFuncVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/ConjunctVal.js
CHANGED
|
@@ -11,7 +11,6 @@ const JunctionVal_1 = require("./JunctionVal");
|
|
|
11
11
|
const BagVal_1 = require("./BagVal");
|
|
12
12
|
const utility_1 = require("../utility");
|
|
13
13
|
const top_1 = require("./top");
|
|
14
|
-
// TODO: move main logic to op/conjunct
|
|
15
14
|
class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
16
15
|
constructor(spec, ctx) {
|
|
17
16
|
super(spec, ctx);
|
|
@@ -39,34 +38,24 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
39
38
|
const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Conjunct', this, peer);
|
|
40
39
|
let done = true;
|
|
41
40
|
this.peg = norm(this.peg);
|
|
42
|
-
// console.log('\nCONJUNCT', ctx.cc, this.id, this.canon, peer.id, peer.canon)
|
|
43
41
|
// Unify each term of conjunct against peer
|
|
44
42
|
let upeer = [];
|
|
45
43
|
let newtype = this.mark.type || peer.mark.type;
|
|
46
44
|
let newhide = this.mark.hide || peer.mark.hide;
|
|
47
45
|
for (let vI = 0; vI < this.peg.length; vI++) {
|
|
48
|
-
// console.log('CONJUNCT-peg', vI, this.peg[vI].canon, this.peg[vI].mark)
|
|
49
46
|
newtype = this.peg[vI].mark.type || newtype;
|
|
50
47
|
newhide = this.peg[vI].mark.hide || newhide;
|
|
51
48
|
}
|
|
52
49
|
for (let vI = 0; vI < this.peg.length; vI++) {
|
|
53
50
|
this.peg[vI].mark.type = newtype;
|
|
54
51
|
this.peg[vI].mark.hide = newhide;
|
|
55
|
-
// console.log('CONJUNCT-TERM', this.id, vI, this.peg[vI].canon)
|
|
56
52
|
upeer[vI] = (this.peg[vI].done && peer.isTop) ? this.peg[vI] :
|
|
57
53
|
(0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'OWN') }) : ctx, this.peg[vI], peer, 'cj-own');
|
|
58
54
|
upeer[vI].mark.type = newtype = newtype || upeer[vI].mark.type;
|
|
59
55
|
upeer[vI].mark.hide = newhide = newhide || upeer[vI].mark.hide;
|
|
60
|
-
// let prevdone = done
|
|
61
56
|
done = done && (type_1.DONE === upeer[vI].dc);
|
|
62
57
|
if (upeer[vI].isNil) {
|
|
63
58
|
return upeer[vI];
|
|
64
|
-
// return Nil.make(
|
|
65
|
-
// ctx,
|
|
66
|
-
// '&peer[' + upeer[vI].canon + ',' + peer.canon + ']',
|
|
67
|
-
// this.peg[vI],
|
|
68
|
-
// peer
|
|
69
|
-
// )
|
|
70
59
|
}
|
|
71
60
|
}
|
|
72
61
|
upeer = norm(upeer);
|
|
@@ -96,7 +85,6 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
96
85
|
}
|
|
97
86
|
else {
|
|
98
87
|
val = (0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'DEF') }) : ctx, t0, t1, 'cj-peer-t0t1');
|
|
99
|
-
// console.log('CONJUNCT-T', t0.canon, t1?.canon, '->', val.canon)
|
|
100
88
|
done = done && type_1.DONE === val.dc;
|
|
101
89
|
newtype = this.mark.type || val.mark.type;
|
|
102
90
|
newhide = this.mark.hide || val.mark.hide;
|
|
@@ -119,7 +107,6 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
119
107
|
// Empty conjuncts evaporate.
|
|
120
108
|
out = (0, top_1.top)();
|
|
121
109
|
}
|
|
122
|
-
// TODO: corrects CV[CV[1&/x]] issue above, but swaps term order!
|
|
123
110
|
else if (1 === outvals.length) {
|
|
124
111
|
out = outvals[0];
|
|
125
112
|
out.mark.type = newtype;
|
|
@@ -129,7 +116,6 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
129
116
|
out = new ConjunctVal({ peg: outvals, mark: { type: newtype, hide: newhide } }, ctx);
|
|
130
117
|
}
|
|
131
118
|
out.dc = done ? type_1.DONE : this.dc + 1;
|
|
132
|
-
// console.log('CONJUNCT-unify', this.id, sc, pc, '->', out.canon, 'D=' + out.dc, 'E=', this.err)
|
|
133
119
|
(0, utility_1.explainClose)(te, out);
|
|
134
120
|
return out;
|
|
135
121
|
}
|
|
@@ -141,19 +127,6 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
141
127
|
return '&';
|
|
142
128
|
}
|
|
143
129
|
gen(ctx) {
|
|
144
|
-
// A RESIDUATED SIZING ATOM DECIDES HERE (the review's finding C,
|
|
145
|
-
// use-cases/BUGS.md §16). `length`/`unique` over a container keep
|
|
146
|
-
// the readings that MORE MEMBERS COULD STILL CHANGE -- an upper
|
|
147
|
-
// bound satisfied, a lower bound violated, distinctness so far --
|
|
148
|
-
// rather than deciding against whatever the container held when it
|
|
149
|
-
// first settled (ConstraintVal.admitContainer). Generation is where
|
|
150
|
-
// no more members can arrive, so it is where the provisional
|
|
151
|
-
// reading becomes the verdict: the container generates if the atom
|
|
152
|
-
// is satisfied, and the atom's OWN refusal is raised if it is not.
|
|
153
|
-
//
|
|
154
|
-
// Without this the conjunct would report `conjunct` for a document
|
|
155
|
-
// whose only fault is a length -- the constraint's message is the
|
|
156
|
-
// one the author needs.
|
|
157
130
|
const residue = (0, BagVal_1.sizingResidue)(this);
|
|
158
131
|
if (undefined !== residue) {
|
|
159
132
|
const settled = residue.con.settleContainer(residue.bag, ctx);
|
|
@@ -162,12 +135,10 @@ class ConjunctVal extends JunctionVal_1.JunctionVal {
|
|
|
162
135
|
// Unresolved conjunct cannot be generated, so always an error.
|
|
163
136
|
let nil = (0, err_1.makeNilErr)(ctx, 'conjunct', this, // (formatPath(this.peg, this.absolute) as any),
|
|
164
137
|
undefined);
|
|
165
|
-
// TODO: refactor to use Site
|
|
166
138
|
nil.path = this.path;
|
|
167
139
|
nil.site.url = this.site.url;
|
|
168
140
|
nil.site.row = this.site.row;
|
|
169
141
|
nil.site.col = this.site.col;
|
|
170
|
-
// descErr(nil, ctx)
|
|
171
142
|
if (null == ctx) {
|
|
172
143
|
throw new err_2.AontuError(nil.msg);
|
|
173
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConjunctVal.js","sourceRoot":"","sources":["../../src/val/ConjunctVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"ConjunctVal.js","sourceRoot":"","sources":["../../src/val/ConjunctVal.ts"],"names":[],"mappings":"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"}
|