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/NilVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NilVal.js","sourceRoot":"","sources":["../../src/val/NilVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAOzD,kCAEgB;AAOhB,+BAAsC;AAEtC,gCAA4C;AAE5C,oCAAoC;AAGpC,MAAM,MAAO,SAAQ,SAAG;
|
|
1
|
+
{"version":3,"file":"NilVal.js","sourceRoot":"","sources":["../../src/val/NilVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/NomFuncVal.js
CHANGED
|
@@ -7,25 +7,20 @@ const lower_1 = require("../lower");
|
|
|
7
7
|
const MapVal_1 = require("./MapVal");
|
|
8
8
|
const StringVal_1 = require("./StringVal");
|
|
9
9
|
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
10
|
-
// The styles, and the map's keys. The first five are `caseName`'s --
|
|
11
|
-
// `aontu:profile`'s `%case` vocabulary, shared with the renderer --
|
|
12
|
-
// and the last four are nom's own (see the note above). `as-is` is
|
|
13
|
-
// not among them: it is the profile's way of saying "do nothing",
|
|
14
|
-
// which is not a spelling anyone asks a namer for.
|
|
15
10
|
const NOM_STYLES = [
|
|
16
11
|
'camel', // userId
|
|
17
|
-
'dot',
|
|
18
|
-
'kebab',
|
|
12
|
+
'dot',
|
|
13
|
+
'kebab',
|
|
19
14
|
'pascal', // UserId
|
|
20
|
-
'path',
|
|
21
|
-
'snake',
|
|
22
|
-
'text',
|
|
23
|
-
'title',
|
|
15
|
+
'path',
|
|
16
|
+
'snake',
|
|
17
|
+
'text',
|
|
18
|
+
'title',
|
|
24
19
|
'upper', // USER_ID
|
|
25
20
|
];
|
|
26
21
|
exports.NOM_STYLES = NOM_STYLES;
|
|
27
22
|
// nom's style name -> the `%case` style `caseName` serves. `upper` and
|
|
28
|
-
// `text` are nom's spellings: `screaming` is what `aontu:
|
|
23
|
+
// `text` are nom's spellings: `screaming` is what `aontu:render` calls
|
|
29
24
|
// SCREAMING_SNAKE and that name is pinned cross-port, so the mapping
|
|
30
25
|
// lives here rather than in the shared vocabulary.
|
|
31
26
|
const CASENAME_STYLES = {
|
|
@@ -38,18 +33,7 @@ const CASENAME_STYLES = {
|
|
|
38
33
|
// One name in one style, or undefined when the style is not one, or
|
|
39
34
|
// when the name holds no words at all.
|
|
40
35
|
function styleName(name, style, acronyms) {
|
|
41
|
-
// `.` and `/` are nom's separators, folded before the shared
|
|
42
|
-
// splitter is asked (see the note above). Everything else that is
|
|
43
|
-
// not a separator is word content: a `$` or a `@` rides into the
|
|
44
|
-
// word it sits in, which is why `nom` renames a spelled path's
|
|
45
|
-
// text and does not tidy it.
|
|
46
36
|
const src = name.replace(/[./]/g, '_');
|
|
47
|
-
// A NAME WITH NO WORDS IS NOT A NAME, and it is refused in every
|
|
48
|
-
// style. `caseName` answers its INPUT for one (it is lowering a
|
|
49
|
-
// declaration, where the name has already been vetted), so
|
|
50
|
-
// `nom("_", pascal)` came back as `"_"` while `nom("_")`
|
|
51
|
-
// refused -- the same argument, accepted by one spelling of the
|
|
52
|
-
// call and refused by the other.
|
|
53
37
|
const words = (0, lower_1.splitWords)(src);
|
|
54
38
|
if (0 === words.length) {
|
|
55
39
|
return undefined;
|
|
@@ -68,14 +52,6 @@ function styleName(name, style, acronyms) {
|
|
|
68
52
|
return words.map((w) => (0, lower_1.capitalise)(w, acronyms)).join(' ');
|
|
69
53
|
}
|
|
70
54
|
if ('text' === style) {
|
|
71
|
-
// Sentence case: the first word capitalised, the rest lower --
|
|
72
|
-
// EXCEPT an acronym, which stays one, because `ledger id` loses
|
|
73
|
-
// what `ID` was. Membership in the set decides that, not how the
|
|
74
|
-
// input happened to spell the word: asking whether `capitalise`
|
|
75
|
-
// changed it made `nom("ledgerId", text, [ID])` answer
|
|
76
|
-
// `Ledger id` while `nom("ledgerID", text, [ID])` answered
|
|
77
|
-
// `Ledger ID` -- the same name, two answers, decided by its
|
|
78
|
-
// source spelling, which is the one thing a namer must not do.
|
|
79
55
|
const isAcronym = (w) => acronyms.some((a) => (0, lower_1.lowerASCII)(a) === (0, lower_1.lowerASCII)(w));
|
|
80
56
|
return [(0, lower_1.capitalise)(words[0], acronyms)]
|
|
81
57
|
.concat(words.slice(1).map((w) => isAcronym(w) ? (0, lower_1.capitalise)(w, acronyms) : (0, lower_1.lowerASCII)(w)))
|
|
@@ -119,18 +95,11 @@ class NomFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
119
95
|
return 'nom';
|
|
120
96
|
}
|
|
121
97
|
resolve(ctx, args) {
|
|
122
|
-
|
|
123
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, undefined, 'arity');
|
|
124
|
-
}
|
|
98
|
+
// Arity is checked at parse (funcArity); see the translate twin.
|
|
125
99
|
const name = textOf(args[0]);
|
|
126
100
|
if (undefined === name || '' === name) {
|
|
127
101
|
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[0], 'name');
|
|
128
102
|
}
|
|
129
|
-
// THE SECOND ARGUMENT SAYS WHICH OF THE FOUR CALLS THIS IS, by
|
|
130
|
-
// its shape rather than by its position: a STRING is the style, a
|
|
131
|
-
// LIST is the acronym set. The same rule the component primitives
|
|
132
|
-
// read their spec by, and it is what keeps the acronym set
|
|
133
|
-
// reachable from the map form without a placeholder argument.
|
|
134
103
|
let style;
|
|
135
104
|
let acronyms = [];
|
|
136
105
|
if (2 <= args.length) {
|
|
@@ -167,9 +136,6 @@ class NomFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
167
136
|
}
|
|
168
137
|
return this.place(new StringVal_1.StringVal({ peg: out }, ctx));
|
|
169
138
|
}
|
|
170
|
-
// Every style: the map. Closed, because the nine keys ARE the
|
|
171
|
-
// vocabulary and a tenth is a typo -- `nom($.n).pascel` is
|
|
172
|
-
// refused where every other mistake in an aontu document is.
|
|
173
139
|
const peg = {};
|
|
174
140
|
for (const s of NOM_STYLES) {
|
|
175
141
|
const out = styleName(name, s, acronyms);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NomFuncVal.js","sourceRoot":"","sources":["../../src/val/NomFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"NomFuncVal.js","sourceRoot":"","sources":["../../src/val/NomFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAYpD,gCAAmC;AAEnC,oCAKiB;AAEjB,qCAAiC;AACjC,2CAAuC;AACvC,+CAA2C;AAG3C,MAAM,UAAU,GAAG;IACjB,OAAO,EAAI,SAAS;IACpB,KAAK;IACL,OAAO;IACP,QAAQ,EAAG,SAAS;IACpB,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO,EAAI,UAAU;CACtB,CAAA;QAiKC,UAAU;AA/JZ,uEAAuE;AACvE,uEAAuE;AACvE,qEAAqE;AACrE,mDAAmD;AACnD,MAAM,eAAe,GAA2B;IAC9C,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,WAAW;CACnB,CAAA;AAGD,oEAAoE;AACpE,uCAAuC;AACvC,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,QAAkB;IAEhE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAEtC,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,CAAA;IAC7B,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACpC,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,OAAO,IAAA,gBAAQ,EAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,GAAG,CAAC,kBAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5D,CAAC;IACD,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;QACrB,MAAM,SAAS,GAAG,CAAC,CAAS,EAAE,EAAE,CAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,kBAAU,EAAC,CAAC,CAAC,KAAK,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,CAAA;QACvD,OAAO,CAAC,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aACpC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/B,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,kBAAU,EAAC,CAAC,CAAC,CAAC,CAAC;aACzD,IAAI,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAGD,sEAAsE;AACtE,oEAAoE;AACpE,8CAA8C;AAC9C,SAAS,MAAM,CAAC,CAAkB;IAChC,MAAM,CAAC,GAAQ,CAAC,CAAA;IAChB,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,QAAQ,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;AAChF,CAAC;AAGD,oEAAoE;AACpE,oBAAoB;AACpB,SAAS,UAAU,CAAC,CAAkB;IACpC,MAAM,CAAC,GAAQ,CAAC,CAAA;IAChB,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,GAAY,EAAE,CAAC;QAChC,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;QACpB,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YAChC,OAAO,SAAS,CAAA;QAClB,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACb,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,MAAM,UAAW,SAAQ,yBAAW;IAGlC,YAAY,IAAa,EAAE,GAAkB;QAC3C,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAHlB,gBAAW,GAAG,IAAI,CAAA;IAIlB,CAAC;IAED,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAA;IACd,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,iEAAiE;QACjE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,SAAS,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,KAAyB,CAAA;QAC7B,IAAI,QAAQ,GAAa,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACrB,MAAM,MAAM,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;YAC3B,IAAI,IAAI,KAAK,MAAM,EAAE,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;gBAC/D,CAAC;gBACD,MAAM,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;gBAC9B,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;oBACtB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;gBACjE,CAAC;gBACD,QAAQ,GAAG,GAAG,CAAA;YAChB,CAAC;iBACI,CAAC;gBACJ,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;gBACtB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;oBACxB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;gBAC9D,CAAC;gBACD,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC/B,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;wBACtB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAA;oBAClE,CAAC;oBACD,QAAQ,GAAG,GAAG,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,yBAAyB;QACzB,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC5C,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;YAC/D,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;QACrD,CAAC;QAED,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAA;YACxC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;gBACtB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;YAC9D,CAAC;YACD,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,eAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;QACpC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAA;QAEjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;CAEF,CAAC,iCAAiC;QAKjC,UAAU"}
|
package/dist/val/NumberVal.js
CHANGED
|
@@ -6,16 +6,11 @@ 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 IEEE-754 binary64 leaf of the number tower. Its KIND is Float (the
|
|
10
|
-
// keyword `float`), not the `number` supertype: `number` names the family
|
|
11
|
-
// of numeric leaves and never tags a concrete value. The class name is
|
|
12
|
-
// historical -- `number` used to name this leaf.
|
|
13
9
|
class NumberVal extends ScalarVal_1.ScalarVal {
|
|
14
10
|
constructor(spec, ctx) {
|
|
15
11
|
// Number.isFinite (not the coercing global isNaN, which lets null/''
|
|
16
12
|
// through as "numbers") — only an actual finite number is valid.
|
|
17
13
|
if (!Number.isFinite(spec.peg)) {
|
|
18
|
-
// TODO: use Nil?
|
|
19
14
|
throw new err_1.AontuError('not-number: ' + spec.peg);
|
|
20
15
|
}
|
|
21
16
|
super({ ...spec, kind: ScalarKindVal_1.Float }, ctx);
|
|
@@ -31,8 +26,6 @@ class NumberVal extends ScalarVal_1.ScalarVal {
|
|
|
31
26
|
else if (peer.isScalar &&
|
|
32
27
|
peer.kind === this.kind &&
|
|
33
28
|
peer.peg === this.peg) {
|
|
34
|
-
// Same kind (both Float) and equal value: integer/float no
|
|
35
|
-
// longer cross-unify, so peer is necessarily a NumberVal here.
|
|
36
29
|
out = this;
|
|
37
30
|
}
|
|
38
31
|
else if (peer.isTop) {
|
|
@@ -49,14 +42,6 @@ class NumberVal extends ScalarVal_1.ScalarVal {
|
|
|
49
42
|
(0, utility_1.explainClose)(te, out);
|
|
50
43
|
return out;
|
|
51
44
|
}
|
|
52
|
-
// Canon must round-trip kind: reparsing the canon of a float-kind
|
|
53
|
-
// value has to yield a float-kind value again. A rendering with no
|
|
54
|
-
// '.' and no exponent (1 -> "1") would reparse as an integer, so it
|
|
55
|
-
// gains a ".0" suffix. Renderings that already carry a fraction, an
|
|
56
|
-
// exponent, or are NaN/Infinity are left alone.
|
|
57
|
-
//
|
|
58
|
-
// This is the CANON path only. String coercion inside `+` keeps plain
|
|
59
|
-
// JS parity ("a"+1.0 is "a1"), so it must not pick up the suffix.
|
|
60
45
|
get canon() {
|
|
61
46
|
const s = super.canon;
|
|
62
47
|
return (s.includes('.') ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberVal.js","sourceRoot":"","sources":["../../src/val/NumberVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAAuC;AAEvC,wCAGmB;
|
|
1
|
+
{"version":3,"file":"NumberVal.js","sourceRoot":"","sources":["../../src/val/NumberVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAAuC;AAEvC,wCAGmB;AAGnB,MAAM,SAAU,SAAQ,qBAAS;IAG/B,YACE,IAAa,EACb,GAAkB;QAElB,qEAAqE;QACrE,iEAAiE;QACjE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,gBAAU,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACjD,CAAC;QAED,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,qBAAK,EAAE,EAAE,GAAG,CAAC,CAAA;QAZtC,aAAQ,GAAG,IAAI,CAAA;IAaf,CAAC;IAGD,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,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,GAAG,CAAC,CAAA;YAC7B,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,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,IAAI,KAAK;QACP,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAA;QACrB,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACrB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACf,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACf,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;YACf,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IACnC,CAAC;CACF,CAAC,iCAAiC;QAIjC,SAAS"}
|
package/dist/val/OpBaseVal.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Val, ValSpec } from '../type';
|
|
|
2
2
|
import { AontuContext } from '../ctx';
|
|
3
3
|
import { FeatureVal } from './FeatureVal';
|
|
4
4
|
declare class OpBaseVal extends FeatureVal {
|
|
5
|
+
cjo: number;
|
|
5
6
|
isOp: boolean;
|
|
6
7
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
7
8
|
append(part: any): void;
|
package/dist/val/OpBaseVal.js
CHANGED
|
@@ -13,6 +13,9 @@ const PlaceVal_1 = require("./PlaceVal");
|
|
|
13
13
|
class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
14
14
|
constructor(spec, ctx) {
|
|
15
15
|
super(spec, ctx);
|
|
16
|
+
// An op sorts BEFORE the kinds in a conjunct: only it knows to wait
|
|
17
|
+
// for a staged operand, and a kind met first refuses it outright.
|
|
18
|
+
this.cjo = 48000;
|
|
16
19
|
this.isOp = true;
|
|
17
20
|
this.peg = [];
|
|
18
21
|
for (let pI = 0; pI < spec.peg.length; pI++) {
|
|
@@ -40,10 +43,6 @@ class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
40
43
|
return (0, PlaceVal_1.fillPlace)(this, peer, ctx).unify((0, top_1.top)(), ctx);
|
|
41
44
|
}
|
|
42
45
|
const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Op:' + this.opname(), this, peer);
|
|
43
|
-
// Declared without an initial value: every arm below assigns it, and
|
|
44
|
-
// seeding it with `this` made the two arms that stand the op read as
|
|
45
|
-
// redundant self-assignments. The arms themselves stay as they are —
|
|
46
|
-
// they mirror the dispatch switch in go/op.go arm for arm (ADR-001).
|
|
47
46
|
let out;
|
|
48
47
|
if (this.id == peer.id) {
|
|
49
48
|
return this;
|
|
@@ -52,9 +51,6 @@ class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
52
51
|
let newpeg = [];
|
|
53
52
|
for (let arg of this.peg) {
|
|
54
53
|
if (!arg.done) {
|
|
55
|
-
// Charged to the depth budget: this recurses without going
|
|
56
|
-
// through `unite`, so the counter would otherwise stay flat
|
|
57
|
-
// while the stack grows (see withDepth in unify.ts).
|
|
58
54
|
const a = arg;
|
|
59
55
|
arg = (0, unify_1.withDepth)(ctx, a, (0, top_1.top)(), () => a.unify((0, top_1.top)(), ctx, (0, utility_1.ec)(te, 'ARG')));
|
|
60
56
|
}
|
|
@@ -66,12 +62,10 @@ class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
66
62
|
// `|| this` makes result truthy, so an op that cannot compute yet
|
|
67
63
|
// takes the OpBaseVal arm below rather than a separate null arm.
|
|
68
64
|
let result = this.operate(ctx, newpeg) || this;
|
|
69
|
-
// TODO: should be result.isOp
|
|
70
65
|
if (result instanceof OpBaseVal) {
|
|
71
66
|
if (peer.isTop) {
|
|
72
67
|
out = this;
|
|
73
68
|
}
|
|
74
|
-
// TODO: should peer.isNil
|
|
75
69
|
else if (peer.isNil) {
|
|
76
70
|
out = (0, err_1.makeNilErr)(ctx, 'op[' + this.peg + ']', this, peer);
|
|
77
71
|
}
|
|
@@ -92,22 +86,18 @@ class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
92
86
|
else if (peer.isTop) {
|
|
93
87
|
this.notdone();
|
|
94
88
|
out = this.make(ctx, { peg: newpeg });
|
|
95
|
-
// TODO: make should handle this using ctx?
|
|
96
89
|
out.site.row = this.site.row;
|
|
97
90
|
out.site.col = this.site.col;
|
|
98
91
|
out.site.url = this.site.url;
|
|
99
92
|
out.path = this.path;
|
|
100
|
-
// why += 'top'
|
|
101
93
|
}
|
|
102
94
|
else if (peer.isNil) {
|
|
103
95
|
this.notdone();
|
|
104
96
|
out = peer;
|
|
105
|
-
//why += 'nil'
|
|
106
97
|
}
|
|
107
98
|
else {
|
|
108
99
|
this.notdone();
|
|
109
100
|
out = new ConjunctVal_1.ConjunctVal({ peg: [this, peer] }, ctx);
|
|
110
|
-
// TODO: make should handle this using ctx?
|
|
111
101
|
out.site.row = this.site.row;
|
|
112
102
|
out.site.col = this.site.col;
|
|
113
103
|
out.site.url = this.site.url;
|
|
@@ -156,14 +146,12 @@ class OpBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
156
146
|
gen(ctx) {
|
|
157
147
|
// Unresolved op cannot be generated, so always an error.
|
|
158
148
|
let nil = (0, err_1.makeNilErr)(ctx, 'op', this, undefined);
|
|
159
|
-
// TODO: refactor to use Site
|
|
160
149
|
nil.path = this.path;
|
|
161
150
|
nil.site.url = this.site.url;
|
|
162
151
|
nil.site.row = this.site.row;
|
|
163
152
|
nil.site.col = this.site.col;
|
|
164
153
|
(0, err_1.descErr)(nil, ctx);
|
|
165
154
|
if (ctx) {
|
|
166
|
-
// ctx.err.push(nil)
|
|
167
155
|
ctx.adderr(nil);
|
|
168
156
|
}
|
|
169
157
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpBaseVal.js","sourceRoot":"","sources":["../../src/val/OpBaseVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAQpD,kCAEgB;AAEhB,gCAIe;AAGf,oCAA2C;AAE3C,wCAImB;AAEnB,+BAEc;AAEd,+CAA2C;AAC3C,6CAAyC;AACzC,yCAAgD;
|
|
1
|
+
{"version":3,"file":"OpBaseVal.js","sourceRoot":"","sources":["../../src/val/OpBaseVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PackFuncVal.js
CHANGED
|
@@ -10,14 +10,7 @@ const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
|
10
10
|
const Val_1 = require("./Val");
|
|
11
11
|
const PlaceVal_1 = require("./PlaceVal");
|
|
12
12
|
const members_1 = require("./members");
|
|
13
|
-
// The keys a data bag names, in the order the result must carry them,
|
|
14
|
-
// or a code naming what is wrong with it. `each` asks the same
|
|
15
|
-
// question of the same argument and answers it with the values rather
|
|
16
|
-
// than the keys (members.ts).
|
|
17
13
|
function dataKeys(data, ctx) {
|
|
18
|
-
// The candidates are the bag's MEMBERS -- what generation would
|
|
19
|
-
// emit (./members.ts, BUGS.md §79) -- so a hidden key, or a hidden
|
|
20
|
-
// name in a list of names, packs nothing.
|
|
21
14
|
const members = (0, members_1.bagMembers)(data, ctx);
|
|
22
15
|
if (undefined === members) {
|
|
23
16
|
return 'pack_data';
|
|
@@ -42,21 +35,11 @@ class PackFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
42
35
|
constructor(spec, ctx) {
|
|
43
36
|
super(spec, ctx);
|
|
44
37
|
this.isPackFunc = true;
|
|
45
|
-
// THE STAGING RULE (G8 phase 0, see AontuContext.settle). A
|
|
46
|
-
// generator's data argument is not settled merely by being `done`
|
|
47
|
-
// once: a sibling conjunct, an include or a spread can still merge
|
|
48
|
-
// keys into it, and children generated from the half-merged bag
|
|
49
|
-
// would be missing. It fires on the settle pass and only then.
|
|
50
38
|
this.staged = true;
|
|
51
39
|
}
|
|
52
40
|
funcname() {
|
|
53
41
|
return 'pack';
|
|
54
42
|
}
|
|
55
|
-
// The TEMPLATE IS NOT AN ARGUMENT TO DRIVE. Driving it would resolve
|
|
56
|
-
// its `key()` at the CALL SITE -- the one position the template is
|
|
57
|
-
// never used at -- and freeze whatever else in it is path-dependent
|
|
58
|
-
// there too. The data argument is driven by `unify` below instead,
|
|
59
|
-
// one argument by hand rather than all of them by the base.
|
|
60
43
|
prepare(_ctx, _args) {
|
|
61
44
|
return null;
|
|
62
45
|
}
|
|
@@ -80,24 +63,7 @@ class PackFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
80
63
|
const src = args[0];
|
|
81
64
|
for (const key of keys) {
|
|
82
65
|
const keyctx = ctx.descend(key);
|
|
83
|
-
// THE PLACEHOLDER BINDS THE SOURCE CHILD (G8 phase 3): inside a
|
|
84
|
-
// generator's template `_` is the datum this child is being made
|
|
85
|
-
// FROM. For a map that is the child's value; for a list of names
|
|
86
|
-
// it is the name, which is also the key -- so `_` and `key()`
|
|
87
|
-
// agree there, and differ the moment the data is a map.
|
|
88
66
|
const source = true === src?.isMap ? src.peg[key] : src.peg[keys.indexOf(key)];
|
|
89
|
-
// CLONED, never shared. A spread may share a template that holds
|
|
90
|
-
// nothing path-dependent (MapVal.spreadClone), because a spread
|
|
91
|
-
// CONSTRAINS a child that exists; a generator's template IS the
|
|
92
|
-
// child, and a child is a position. Sharing left every generated
|
|
93
|
-
// child pointing at the template's own parse-time location, which
|
|
94
|
-
// is the position the template is never used at -- visible as the
|
|
95
|
-
// site an error inside a generated child reports.
|
|
96
|
-
//
|
|
97
|
-
// A FULL INSTANCE, to the leaves (`dup`, ADR-005): a bare clone
|
|
98
|
-
// shares the inner structure of any call, preference or
|
|
99
|
-
// operation in the template, so the first child's resolution of
|
|
100
|
-
// a shared key()/ref answered for every child (BUGS.md §8, §9).
|
|
101
67
|
const inst = tmpl.clone(keyctx, { dup: true });
|
|
102
68
|
(0, Val_1.repathInstance)(inst, inst.path);
|
|
103
69
|
const child = (0, PlaceVal_1.fillPlace)(inst, source, keyctx);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PackFuncVal.js","sourceRoot":"","sources":["../../src/val/PackFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"PackFuncVal.js","sourceRoot":"","sources":["../../src/val/PackFuncVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PathFuncVal.js
CHANGED
|
@@ -58,12 +58,6 @@ class PathFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
58
58
|
if (null == arg) {
|
|
59
59
|
return [];
|
|
60
60
|
}
|
|
61
|
-
// The captured spelling, from a reference's segments or from a
|
|
62
|
-
// string literal read as address text. Both go through
|
|
63
|
-
// parseAddress, so what capture admits and what refer reads
|
|
64
|
-
// cannot drift. Anything else -- an expression, a reference to
|
|
65
|
-
// a string -- is left for the driving loop, and resolve
|
|
66
|
-
// converts the driven result below.
|
|
67
61
|
let spelling;
|
|
68
62
|
if (true === arg.isRef) {
|
|
69
63
|
spelling = captureSpelling(arg);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathFuncVal.js","sourceRoot":"","sources":["../../src/val/PathFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"PathFuncVal.js","sourceRoot":"","sources":["../../src/val/PathFuncVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PathVal.js
CHANGED
|
@@ -9,16 +9,7 @@ const err_1 = require("../err");
|
|
|
9
9
|
const utility_1 = require("../utility");
|
|
10
10
|
const ScalarVal_1 = require("./ScalarVal");
|
|
11
11
|
const ScalarKindVal_1 = require("./ScalarKindVal");
|
|
12
|
-
// A segment of a tree path: a map key or a list index. The same
|
|
13
|
-
// grammar the rest of the engine spells keys with, and a leading digit
|
|
14
|
-
// is legitimate because a list index is one.
|
|
15
12
|
const ADDR_SEGMENT = /^[A-Za-z0-9_-]+$/;
|
|
16
|
-
// The address a string spells, or undefined when it does not spell
|
|
17
|
-
// one. An address is a TREE PATH, in exactly the two spellings a
|
|
18
|
-
// reference uses: `$.services.auth` from the root, `.auth` from the
|
|
19
|
-
// link's own sibling scope. The tree is the only namespace -- which is
|
|
20
|
-
// what makes a model instantiable more than once, each instance
|
|
21
|
-
// resolving its relative links inside itself (ADR-014).
|
|
22
13
|
function parseAddress(s) {
|
|
23
14
|
if ('$' === s) {
|
|
24
15
|
// The whole document is not a relation's target: an address must
|
|
@@ -57,27 +48,9 @@ function parseAddress(s) {
|
|
|
57
48
|
}
|
|
58
49
|
return { absolute: false, up, parts };
|
|
59
50
|
}
|
|
60
|
-
// The spelling string TEXT converts by, inside a `path(...)` call:
|
|
61
|
-
// text that carries no anchor is RELATIVE (`"a.b"` is the address
|
|
62
|
-
// `.a.b`), matching the raw form (`path(a.b)` captures `.a.b`). Only
|
|
63
|
-
// the anchor is supplied -- the result still has to parse, so
|
|
64
|
-
// malformed text (`""`, `"a..b"`, a bad `$` spelling) refuses as
|
|
65
|
-
// before. The prefix is not applied to text that claims an anchor:
|
|
66
|
-
// `"$x"` is a broken absolute address, not a relative one.
|
|
67
51
|
function textAddress(s) {
|
|
68
52
|
return ('$' === s[0] || '.' === s[0]) ? s : '.' + s;
|
|
69
53
|
}
|
|
70
|
-
// The LONGER of two addresses when one spells a prefix of the other
|
|
71
|
-
// (docs/design/PATHS.0.md, amended): same anchor -- absolute or the
|
|
72
|
-
// same number of parent steps -- and the shorter's segments open the
|
|
73
|
-
// longer's. The meet of two path values, and of a refer's address
|
|
74
|
-
// with a later path peer: a path can always be told more precisely,
|
|
75
|
-
// and the more precise spelling is the result. Undefined when the two
|
|
76
|
-
// are not comparable, which refuses as any two unequal scalars do.
|
|
77
|
-
// Both arguments must already be valid addresses: every caller hands
|
|
78
|
-
// over a PathVal peg or a refer addrsrc, and both are validated at
|
|
79
|
-
// capture or conversion -- the same trust `unify`'s own address arm
|
|
80
|
-
// extends (`parseAddress(p.peg) as Address`).
|
|
81
54
|
function prefixMeet(a, b) {
|
|
82
55
|
const pa = parseAddress(a);
|
|
83
56
|
const pb = parseAddress(b);
|
|
@@ -98,11 +71,6 @@ class PathVal extends ScalarVal_1.ScalarVal {
|
|
|
98
71
|
super({ peg: spec.peg, kind: ScalarKindVal_1.Path }, ctx);
|
|
99
72
|
this.isPath = true;
|
|
100
73
|
}
|
|
101
|
-
// Two path values meet by the PREFIX rule (ADR-016): the longer
|
|
102
|
-
// when one opens the other, refusal otherwise. Exactly equal pegs
|
|
103
|
-
// are absorbed by unite's fast path before this runs, so the arm
|
|
104
|
-
// sees the unequal pairs; the winner carries both sides' marks, as
|
|
105
|
-
// the equal-scalar arm has always ratcheted them.
|
|
106
74
|
unify(peer, ctx) {
|
|
107
75
|
const p = peer;
|
|
108
76
|
if (true === p.isPath) {
|
|
@@ -123,20 +91,11 @@ class PathVal extends ScalarVal_1.ScalarVal {
|
|
|
123
91
|
get canon() {
|
|
124
92
|
return 'path(' + this.peg + ')';
|
|
125
93
|
}
|
|
126
|
-
// The super() ladder lifts a path value to its own kind, and the
|
|
127
|
-
// kind must render as `path()` -- the bare word `path` is an
|
|
128
|
-
// ordinary string. ScalarVal.superior would mint the plain
|
|
129
|
-
// ScalarKindVal, whose canon is the bare word.
|
|
130
94
|
superior() {
|
|
131
95
|
return this.place(new PathKindVal({}));
|
|
132
96
|
}
|
|
133
97
|
} /* node:coverage ignore next 4 */
|
|
134
98
|
exports.PathVal = PathVal;
|
|
135
|
-
// The path KIND, `path()`: admits every path value and defaults to
|
|
136
|
-
// nothing, as `string` does. It does NOT promote (ADR-016): a bare
|
|
137
|
-
// string meeting the kind refuses through the generic kind ladder,
|
|
138
|
-
// exactly as `integer & "x"` does -- `path("...")` is the one string
|
|
139
|
-
// conversion, and it happens at the call.
|
|
140
99
|
class PathKindVal extends ScalarKindVal_1.ScalarKindVal {
|
|
141
100
|
constructor(spec, ctx) {
|
|
142
101
|
super({ ...spec, peg: ScalarKindVal_1.Path }, ctx);
|
package/dist/val/PathVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PathVal.js","sourceRoot":"","sources":["../../src/val/PathVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;;;
|
|
1
|
+
{"version":3,"file":"PathVal.js","sourceRoot":"","sources":["../../src/val/PathVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/PlaceVal.js
CHANGED
|
@@ -32,26 +32,11 @@ class PlaceVal extends Val_1.Val {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
exports.PlaceVal = PlaceVal;
|
|
35
|
-
// A HOLE BELONGS TO ITS NEAREST ENCLOSING GENERATOR. A `_` inside a
|
|
36
|
-
// generator's template (pack/each, arg 1), condition (filter, arg 1)
|
|
37
|
-
// or rule table (emit, arg 1) is that generator's to bind — "_ is the
|
|
38
|
-
// source child" — so neither the hole test nor the fill walk may cross
|
|
39
|
-
// into those arguments from outside. Before this boundary, `close(pack(d, _ & t))` reported a
|
|
40
|
-
// hole to the OUTER call, so an ordinary overlay statement was
|
|
41
|
-
// absorbed into the template instead of merging with the generated
|
|
42
|
-
// child (use-cases/BUGS.md §10), and an outer pack's fill pass
|
|
43
|
-
// captured a NESTED pack's hole lexically, binding it to the outer
|
|
44
|
-
// source (§34). The data argument (arg 0) is not a binding position,
|
|
45
|
-
// so it stays visible: a hole there is an outer hole as before.
|
|
46
35
|
function boundArgStart(v) {
|
|
47
36
|
return true === v.isPackFunc || true === v.isEachFunc ||
|
|
48
37
|
true === v.isFilterFunc || true === v.isEmitFunc ||
|
|
49
38
|
true === v.isFormFunc ? 1 : Infinity;
|
|
50
39
|
}
|
|
51
|
-
// Does this value CONTAIN a hole? Asked of a call before it resolves:
|
|
52
|
-
// a call holding one must wait for a peer to fill it. Holes inside a
|
|
53
|
-
// generator's own binding arguments are NOT this value's holes — see
|
|
54
|
-
// boundArgStart above.
|
|
55
40
|
function hasPlace(v) {
|
|
56
41
|
if (true === v.isPlace) {
|
|
57
42
|
return true;
|
|
@@ -78,18 +63,8 @@ function hasPlace(v) {
|
|
|
78
63
|
}
|
|
79
64
|
return false;
|
|
80
65
|
}
|
|
81
|
-
// The same tree with every hole filled by `fill`. Answers the value
|
|
82
|
-
// UNCHANGED when it holds no hole, so a caller can test identity to
|
|
83
|
-
// know whether anything was filled -- and so a tree with no hole is
|
|
84
|
-
// never needlessly cloned. A nested generator's binding arguments are
|
|
85
|
-
// left untouched (boundArgStart): those holes are the inner
|
|
86
|
-
// generator's to fill with its OWN source children when it fires.
|
|
87
66
|
function fillPlace(v, fill, ctx) {
|
|
88
67
|
if (true === v.isPlace) {
|
|
89
|
-
// A FILL IS A POSITION. The hole knows where it sits in the
|
|
90
|
-
// instance; the datum arriving in it does not, and inserted as it
|
|
91
|
-
// stands it keeps the paths it had at its SOURCE, so every finding
|
|
92
|
-
// under it names a path that does not exist.
|
|
93
68
|
return fill.clone(ctx, { path: [...v.path] });
|
|
94
69
|
}
|
|
95
70
|
const peg = v.peg;
|
package/dist/val/PlaceVal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlaceVal.js","sourceRoot":"","sources":["../../src/val/PlaceVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"PlaceVal.js","sourceRoot":"","sources":["../../src/val/PlaceVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;QAqJlD,aAAa;QACb,OAAO;QACP,QAAQ;QACR,SAAS;AA5IX,+BAAsC;AAGtC,MAAM,QAAS,SAAQ,SAAO;IAG5B,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,YAAO,GAAG,IAAI,CAAA;IAOd,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,IAAkB;QACjC,mEAAmE;QACnE,kEAAkE;QAClE,8BAA8B;QAC9B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,EAAE,CAAA;YACd,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,iEAAiE;IACjE,yCAAyC;IACzC,QAAQ;QACN,OAAO,IAAI,CAAA;IACb,CAAC;CAGF;QAsGC,QAAQ;AAnGV,SAAS,aAAa,CAAC,CAAM;IAC3B,OAAO,IAAI,KAAK,CAAC,CAAC,UAAU,IAAI,IAAI,KAAK,CAAC,CAAC,UAAU;QACnD,IAAI,KAAK,CAAC,CAAC,YAAY,IAAI,IAAI,KAAK,CAAC,CAAC,UAAU;QAChD,IAAI,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxC,CAAC;AAGD,SAAS,QAAQ,CAAC,CAAM;IACtB,IAAI,IAAI,KAAM,CAAS,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,GAAG,GAAS,CAAS,CAAC,GAAG,CAAA;IAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC;YACrD,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,CAAA;YACjB,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;SACI,IAAI,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC;QAC7B,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;SACI,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAGD,SAAS,SAAS,CAAC,CAAM,EAAE,IAAS,EAAE,GAAiB;IACrD,IAAI,IAAI,KAAM,CAAS,CAAC,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,GAAI,CAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,GAAG,GAAS,CAAS,CAAC,GAAG,CAAA;IAC/B,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAE9B,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAU,EAAE,EAAE;YACzC,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBACrC,OAAO,CAAC,CAAA;YACV,CAAC;YACD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YACjC,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;QACF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,IAAI,KAAK,GAAG,EAAE,KAAK,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;QACnC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,MAAM,GAAG,GAAwB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;YAChB,6DAA6D;YAC7D,iEAAiE;YACjE,gDAAgD;YAChD,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;YACjC,OAAO,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,CAAA;YAC5B,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAGD,uEAAuE;AACvE,mEAAmE;AACnE,iEAAiE;AACjE,SAAS,OAAO,CAAC,CAAM,EAAE,GAAQ,EAAE,GAAiB;IAClD,MAAM,GAAG,GAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC7B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAA;IACb,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;IACV,OAAO,GAAG,CAAA;AACZ,CAAC,CAAC,kCAAkC"}
|
package/dist/val/PlusOpVal.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import type { Val, ValSpec } from '../type';
|
|
2
2
|
import { AontuContext } from '../ctx';
|
|
3
|
-
import { IntegerVal } from '../val/IntegerVal';
|
|
4
|
-
import { NumberVal } from '../val/NumberVal';
|
|
5
|
-
import { StringVal } from '../val/StringVal';
|
|
6
|
-
import { BooleanVal } from '../val/BooleanVal';
|
|
7
|
-
import { BigIntegerVal } from '../val/BigIntegerVal';
|
|
8
|
-
import { BigDecimalVal } from '../val/BigDecimalVal';
|
|
9
3
|
import { OpBaseVal } from './OpBaseVal';
|
|
10
4
|
declare function plusText(v: Val): string | undefined;
|
|
11
5
|
declare class PlusOpVal extends OpBaseVal {
|
|
@@ -13,7 +7,7 @@ declare class PlusOpVal extends OpBaseVal {
|
|
|
13
7
|
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
14
8
|
make(_ctx: AontuContext, spec: ValSpec): Val;
|
|
15
9
|
opname(): string;
|
|
16
|
-
operate(ctx: AontuContext, args: Val[]):
|
|
10
|
+
operate(ctx: AontuContext, args: Val[]): Val | undefined;
|
|
17
11
|
get canon(): string;
|
|
18
12
|
}
|
|
19
13
|
export { PlusOpVal, plusText, };
|