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/FormFuncVal.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.FormFuncVal = void 0;
|
|
5
|
-
const err_1 = require("../err");
|
|
6
|
-
const ListVal_1 = require("./ListVal");
|
|
7
|
-
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
8
|
-
const Val_1 = require("./Val");
|
|
9
|
-
const PlaceVal_1 = require("./PlaceVal");
|
|
10
|
-
const members_1 = require("./members");
|
|
11
|
-
class FormFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
12
|
-
constructor(spec, ctx) {
|
|
13
|
-
super(spec, ctx);
|
|
14
|
-
this.isFormFunc = true;
|
|
15
|
-
// THE STAGING RULE, for the reason given in PackFuncVal: the data
|
|
16
|
-
// is not settled merely by being `done` once.
|
|
17
|
-
this.staged = true;
|
|
18
|
-
}
|
|
19
|
-
funcname() {
|
|
20
|
-
return 'form';
|
|
21
|
-
}
|
|
22
|
-
// The template is not an argument to drive (see PackFuncVal.prepare).
|
|
23
|
-
prepare(_ctx, _args) {
|
|
24
|
-
return null;
|
|
25
|
-
}
|
|
26
|
-
unify(peer, ctx) {
|
|
27
|
-
// ONE argument is driven: the data. The template is not (see
|
|
28
|
-
// prepare above).
|
|
29
|
-
if (!this.stagedReady(peer, ctx, 1)) {
|
|
30
|
-
return this.residuate(peer, ctx);
|
|
31
|
-
}
|
|
32
|
-
return super.unify(peer, ctx);
|
|
33
|
-
}
|
|
34
|
-
resolve(ctx, args) {
|
|
35
|
-
const vals = (0, members_1.memberVals)(args?.[0], ctx);
|
|
36
|
-
if (undefined === vals) {
|
|
37
|
-
return (0, err_1.makeNilErr)(ctx, 'form_data', this);
|
|
38
|
-
}
|
|
39
|
-
// Arity is checked at parse (funcArity), so the template is here.
|
|
40
|
-
const tmpl = args[1];
|
|
41
|
-
const peg = [];
|
|
42
|
-
for (let i = 0; i < vals.length; i++) {
|
|
43
|
-
const elctx = ctx.descend(String(i));
|
|
44
|
-
// A FULL INSTANCE per element, to the leaves (`dup`, ADR-005),
|
|
45
|
-
// at the element's own position -- see PackFuncVal.resolve --
|
|
46
|
-
// with `_` bound to the source child and NOTHING met into it.
|
|
47
|
-
const inst = tmpl.clone(elctx, { dup: true });
|
|
48
|
-
(0, Val_1.repathInstance)(inst, inst.path);
|
|
49
|
-
peg.push((0, PlaceVal_1.fillPlace)(inst, vals[i], elctx));
|
|
50
|
-
}
|
|
51
|
-
return new ListVal_1.ListVal({ peg }, ctx);
|
|
52
|
-
}
|
|
53
|
-
} /* node:coverage ignore next 6 */
|
|
54
|
-
exports.FormFuncVal = FormFuncVal;
|
|
55
|
-
//# sourceMappingURL=FormFuncVal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FormFuncVal.js","sourceRoot":"","sources":["../../src/val/FormFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAkDpD,gCAAmC;AACnC,uCAAmC;AACnC,+CAA2C;AAC3C,+BAAsC;AACtC,yCAAsC;AACtC,uCAAsC;AAGtC,MAAM,WAAY,SAAQ,yBAAW;IAOnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAVlB,eAAU,GAAG,IAAI,CAAA;QAEjB,kEAAkE;QAClE,8CAA8C;QAC9C,WAAM,GAAG,IAAI,CAAA;IAOb,CAAC;IAGD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,sEAAsE;IACtE,OAAO,CAAC,IAAkB,EAAE,KAAY;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,6DAA6D;QAC7D,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,MAAM,IAAI,GAAG,IAAA,oBAAU,EAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACvC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC3C,CAAC;QAED,kEAAkE;QAClE,MAAM,IAAI,GAAQ,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,MAAM,GAAG,GAAU,EAAE,CAAA;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,+DAA+D;YAC/D,8DAA8D;YAC9D,8DAA8D;YAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,IAAA,oBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,OAAO,IAAI,iBAAO,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;CAEF,CAAC,iCAAiC;QAIjC,WAAW"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Val, ValSpec } from '../type';
|
|
2
|
-
import { AontuContext } from '../ctx';
|
|
3
|
-
import { FuncBaseVal } from './FuncBaseVal';
|
|
4
|
-
declare const NAMER_STYLES: string[];
|
|
5
|
-
declare class NamerFuncVal extends FuncBaseVal {
|
|
6
|
-
isNamerFunc: boolean;
|
|
7
|
-
constructor(spec: ValSpec, ctx?: AontuContext);
|
|
8
|
-
make(_ctx: AontuContext, spec: ValSpec): Val;
|
|
9
|
-
funcname(): string;
|
|
10
|
-
resolve(ctx: AontuContext, args: Val[]): Val;
|
|
11
|
-
}
|
|
12
|
-
export { NAMER_STYLES, NamerFuncVal, };
|
package/dist/val/NamerFuncVal.js
DELETED
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* Copyright (c) 2026 Richard Rodger, MIT License */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.NamerFuncVal = exports.NAMER_STYLES = void 0;
|
|
5
|
-
const err_1 = require("../err");
|
|
6
|
-
const lower_1 = require("../lower");
|
|
7
|
-
const MapVal_1 = require("./MapVal");
|
|
8
|
-
const StringVal_1 = require("./StringVal");
|
|
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 namer'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
|
-
const NAMER_STYLES = [
|
|
16
|
-
'camel', // userId
|
|
17
|
-
'dot', // user.id
|
|
18
|
-
'human', // User id
|
|
19
|
-
'kebab', // user-id
|
|
20
|
-
'pascal', // UserId
|
|
21
|
-
'path', // user/id
|
|
22
|
-
'screaming', // USER_ID
|
|
23
|
-
'snake', // user_id
|
|
24
|
-
'title', // User Id
|
|
25
|
-
];
|
|
26
|
-
exports.NAMER_STYLES = NAMER_STYLES;
|
|
27
|
-
const CASENAME_STYLES = ['camel', 'kebab', 'pascal', 'screaming', 'snake'];
|
|
28
|
-
// One name in one style, or undefined when the style is not one, or
|
|
29
|
-
// when the name holds no words at all.
|
|
30
|
-
function styleName(name, style, acronyms) {
|
|
31
|
-
// `.` and `/` are namer's separators, folded before the shared
|
|
32
|
-
// splitter is asked (see the note above). Everything else that is
|
|
33
|
-
// not a separator is word content: a `$` or a `@` rides into the
|
|
34
|
-
// word it sits in, which is why `namer` renames a spelled path's
|
|
35
|
-
// text and does not tidy it.
|
|
36
|
-
const src = name.replace(/[./]/g, '_');
|
|
37
|
-
// A NAME WITH NO WORDS IS NOT A NAME, and it is refused in every
|
|
38
|
-
// style. `caseName` answers its INPUT for one (it is lowering a
|
|
39
|
-
// declaration, where the name has already been vetted), so
|
|
40
|
-
// `namer("_", pascal)` came back as `"_"` while `namer("_")`
|
|
41
|
-
// refused -- the same argument, accepted by one spelling of the
|
|
42
|
-
// call and refused by the other.
|
|
43
|
-
const words = (0, lower_1.splitWords)(src);
|
|
44
|
-
if (0 === words.length) {
|
|
45
|
-
return undefined;
|
|
46
|
-
}
|
|
47
|
-
if (CASENAME_STYLES.includes(style)) {
|
|
48
|
-
return (0, lower_1.caseName)(src, style, acronyms);
|
|
49
|
-
}
|
|
50
|
-
if ('dot' === style) {
|
|
51
|
-
return words.map(lower_1.lowerASCII).join('.');
|
|
52
|
-
}
|
|
53
|
-
if ('path' === style) {
|
|
54
|
-
return words.map(lower_1.lowerASCII).join('/');
|
|
55
|
-
}
|
|
56
|
-
if ('title' === style) {
|
|
57
|
-
return words.map((w) => (0, lower_1.capitalise)(w, acronyms)).join(' ');
|
|
58
|
-
}
|
|
59
|
-
if ('human' === style) {
|
|
60
|
-
// Sentence case: the first word capitalised, the rest lower --
|
|
61
|
-
// EXCEPT an acronym, which stays one, because `ledger id` loses
|
|
62
|
-
// what `ID` was. Membership in the set decides that, not how the
|
|
63
|
-
// input happened to spell the word: asking whether `capitalise`
|
|
64
|
-
// changed it made `namer("ledgerId", human, [ID])` answer
|
|
65
|
-
// `Ledger id` while `namer("ledgerID", human, [ID])` answered
|
|
66
|
-
// `Ledger ID` -- the same name, two answers, decided by its
|
|
67
|
-
// source spelling, which is the one thing a namer must not do.
|
|
68
|
-
const isAcronym = (w) => acronyms.some((a) => (0, lower_1.lowerASCII)(a) === (0, lower_1.lowerASCII)(w));
|
|
69
|
-
return [(0, lower_1.capitalise)(words[0], acronyms)]
|
|
70
|
-
.concat(words.slice(1).map((w) => isAcronym(w) ? (0, lower_1.capitalise)(w, acronyms) : (0, lower_1.lowerASCII)(w)))
|
|
71
|
-
.join(' ');
|
|
72
|
-
}
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
// The text a value carries, when it is a concrete string. A path is a
|
|
76
|
-
// string too (ScalarKindVal's Path sits under String), so a spelled
|
|
77
|
-
// address may be renamed like any other text.
|
|
78
|
-
function textOf(v) {
|
|
79
|
-
const s = v;
|
|
80
|
-
return (true === s?.isScalar && 'string' === typeof s.peg) ? s.peg : undefined;
|
|
81
|
-
}
|
|
82
|
-
// An acronym set: a list of concrete strings, or undefined when the
|
|
83
|
-
// value is not one.
|
|
84
|
-
function acronymsOf(v) {
|
|
85
|
-
const l = v;
|
|
86
|
-
if (true !== l?.isList) {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
const out = [];
|
|
90
|
-
for (const el of l.peg) {
|
|
91
|
-
const t = textOf(el);
|
|
92
|
-
if (undefined === t || '' === t) {
|
|
93
|
-
return undefined;
|
|
94
|
-
}
|
|
95
|
-
out.push(t);
|
|
96
|
-
}
|
|
97
|
-
return out;
|
|
98
|
-
}
|
|
99
|
-
class NamerFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
100
|
-
constructor(spec, ctx) {
|
|
101
|
-
super(spec, ctx);
|
|
102
|
-
this.isNamerFunc = true;
|
|
103
|
-
}
|
|
104
|
-
make(_ctx, spec) {
|
|
105
|
-
return new NamerFuncVal(spec);
|
|
106
|
-
}
|
|
107
|
-
funcname() {
|
|
108
|
-
return 'namer';
|
|
109
|
-
}
|
|
110
|
-
resolve(ctx, args) {
|
|
111
|
-
if (args.length < 1 || 3 < args.length) {
|
|
112
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, undefined, 'arity');
|
|
113
|
-
}
|
|
114
|
-
const name = textOf(args[0]);
|
|
115
|
-
if (undefined === name || '' === name) {
|
|
116
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[0], 'name');
|
|
117
|
-
}
|
|
118
|
-
// THE SECOND ARGUMENT SAYS WHICH OF THE FOUR CALLS THIS IS, by
|
|
119
|
-
// its shape rather than by its position: a STRING is the style, a
|
|
120
|
-
// LIST is the acronym set. The same rule the component primitives
|
|
121
|
-
// read their spec by, and it is what keeps the acronym set
|
|
122
|
-
// reachable from the map form without a placeholder argument.
|
|
123
|
-
let style;
|
|
124
|
-
let acronyms = [];
|
|
125
|
-
if (2 <= args.length) {
|
|
126
|
-
const second = args[1];
|
|
127
|
-
if (true === second?.isList) {
|
|
128
|
-
if (3 === args.length) {
|
|
129
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[2], 'arity');
|
|
130
|
-
}
|
|
131
|
-
const acr = acronymsOf(second);
|
|
132
|
-
if (undefined === acr) {
|
|
133
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, second, 'acronyms');
|
|
134
|
-
}
|
|
135
|
-
acronyms = acr;
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
style = textOf(second);
|
|
139
|
-
if (undefined === style) {
|
|
140
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, second, 'style');
|
|
141
|
-
}
|
|
142
|
-
if (3 === args.length) {
|
|
143
|
-
const acr = acronymsOf(args[2]);
|
|
144
|
-
if (undefined === acr) {
|
|
145
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[2], 'acronyms');
|
|
146
|
-
}
|
|
147
|
-
acronyms = acr;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// One style: the string.
|
|
152
|
-
if (undefined !== style) {
|
|
153
|
-
const out = styleName(name, style, acronyms);
|
|
154
|
-
if (undefined === out) {
|
|
155
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[1], 'style');
|
|
156
|
-
}
|
|
157
|
-
return this.place(new StringVal_1.StringVal({ peg: out }, ctx));
|
|
158
|
-
}
|
|
159
|
-
// Every style: the map. Closed, because the nine keys ARE the
|
|
160
|
-
// vocabulary and a tenth is a typo -- `namer($.n).pascel` is
|
|
161
|
-
// refused where every other mistake in an aontu document is.
|
|
162
|
-
const peg = {};
|
|
163
|
-
for (const s of NAMER_STYLES) {
|
|
164
|
-
const out = styleName(name, s, acronyms);
|
|
165
|
-
if (undefined === out) {
|
|
166
|
-
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, args[0], 'name');
|
|
167
|
-
}
|
|
168
|
-
peg[s] = new StringVal_1.StringVal({ peg: out }, ctx);
|
|
169
|
-
}
|
|
170
|
-
const map = new MapVal_1.MapVal({ peg }, ctx);
|
|
171
|
-
map.closed = true;
|
|
172
|
-
return this.place(map);
|
|
173
|
-
}
|
|
174
|
-
} /* node:coverage ignore next 6 */
|
|
175
|
-
exports.NamerFuncVal = NamerFuncVal;
|
|
176
|
-
//# sourceMappingURL=NamerFuncVal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NamerFuncVal.js","sourceRoot":"","sources":["../../src/val/NamerFuncVal.ts"],"names":[],"mappings":"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"}
|