aontu 0.61.0 → 0.63.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/agentsmd.d.ts +1 -0
- package/dist/agentsmd.js +7 -28
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.d.ts +23 -0
- package/dist/allow.js +138 -0
- package/dist/allow.js.map +1 -0
- package/dist/aontu.d.ts +4 -2
- package/dist/aontu.js +4 -80
- package/dist/aontu.js.map +1 -1
- package/dist/aontumodel.d.ts +4 -0
- package/dist/aontumodel.js +33 -0
- package/dist/aontumodel.js.map +1 -0
- package/dist/cli.d.ts +10 -1
- package/dist/cli.js +877 -479
- package/dist/cli.js.map +1 -1
- package/dist/ctx.js +0 -48
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js +0 -32
- package/dist/diff.js.map +1 -1
- package/dist/err.js +0 -40
- package/dist/err.js.map +1 -1
- package/dist/escape.js +0 -45
- package/dist/escape.js.map +1 -1
- package/dist/exactjson.d.ts +0 -35
- package/dist/exactjson.js +0 -131
- package/dist/exactjson.js.map +1 -1
- package/dist/format.js +55 -189
- package/dist/format.js.map +1 -1
- package/dist/grammar.d.ts +9 -0
- package/dist/grammar.js +54 -0
- package/dist/grammar.js.map +1 -0
- package/dist/graph.js +0 -26
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +0 -82
- package/dist/hcanon.js.map +1 -1
- package/dist/helpdoc.d.ts +16 -0
- package/dist/helpdoc.js +59 -0
- package/dist/helpdoc.js.map +1 -0
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +59 -47
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +0 -114
- package/dist/jsonschema.js.map +1 -1
- package/dist/keyorder.d.ts +0 -7
- package/dist/keyorder.js +0 -41
- package/dist/keyorder.js.map +1 -1
- package/dist/lang.js +32 -877
- package/dist/lang.js.map +1 -1
- package/dist/lower.d.ts +3 -0
- package/dist/lower.js +14 -61
- package/dist/lower.js.map +1 -1
- package/dist/lsp-server.js +0 -16
- package/dist/lsp-server.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +12 -159
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.js +0 -26
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +0 -113
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +0 -130
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.js +0 -162
- package/dist/mod.js.map +1 -1
- package/dist/patch.js +0 -217
- package/dist/patch.js.map +1 -1
- package/dist/provenance.js +0 -140
- package/dist/provenance.js.map +1 -1
- package/dist/query.js +0 -75
- package/dist/query.js.map +1 -1
- package/dist/reach.js +0 -43
- package/dist/reach.js.map +1 -1
- package/dist/relation.d.ts +2 -0
- package/dist/relation.js +3 -58
- package/dist/relation.js.map +1 -1
- package/dist/render.js +33 -143
- package/dist/render.js.map +1 -1
- package/dist/report-sarif.d.ts +0 -11
- package/dist/report-sarif.js +0 -28
- package/dist/report-sarif.js.map +1 -1
- package/dist/sig.js +0 -35
- package/dist/sig.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/siggate.js +0 -4
- package/dist/siggate.js.map +1 -1
- package/dist/site.js +3 -29
- package/dist/site.js.map +1 -1
- package/dist/subsume.d.ts +0 -10
- package/dist/subsume.js +0 -137
- package/dist/subsume.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +58 -138
- package/dist/template.js.map +1 -1
- package/dist/trim.js +0 -41
- package/dist/trim.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.js +12 -242
- package/dist/unify.js.map +1 -1
- package/dist/utility.js +0 -22
- package/dist/utility.js.map +1 -1
- package/dist/val/AbnfFuncVal.d.ts +18 -0
- package/dist/val/AbnfFuncVal.js +132 -0
- package/dist/val/AbnfFuncVal.js.map +1 -0
- package/dist/val/AbsentVal.d.ts +11 -0
- package/dist/val/AbsentVal.js +30 -0
- package/dist/val/AbsentVal.js.map +1 -0
- package/dist/val/AggFuncVal.d.ts +10 -1
- package/dist/val/AggFuncVal.js +104 -116
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/ArithFuncVal.js +0 -12
- package/dist/val/ArithFuncVal.js.map +1 -1
- package/dist/val/BagVal.js +1 -78
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/BigDecimalVal.js +0 -16
- package/dist/val/BigDecimalVal.js.map +1 -1
- package/dist/val/BigIntegerVal.js +0 -16
- package/dist/val/BigIntegerVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +0 -9
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.d.ts +20 -0
- package/dist/val/CmpFuncVal.js +188 -0
- package/dist/val/CmpFuncVal.js.map +1 -0
- package/dist/val/ConjunctVal.js +0 -29
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +0 -500
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.js +0 -2
- package/dist/val/ContainerKindVal.js.map +1 -1
- package/dist/val/CopyFuncVal.js +0 -3
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.js +0 -179
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.js +0 -152
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.d.ts +1 -2
- package/dist/val/EachFuncVal.js +12 -29
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/EmitFuncVal.d.ts +1 -1
- package/dist/val/EmitFuncVal.js +6 -119
- package/dist/val/EmitFuncVal.js.map +1 -1
- package/dist/val/ExpectVal.js +0 -62
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FilterFuncVal.js +0 -25
- package/dist/val/FilterFuncVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +7 -127
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.js +0 -15
- package/dist/val/GraphAtomVal.js.map +1 -1
- package/dist/val/HideFuncVal.js +0 -13
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IntegerVal.js +0 -61
- package/dist/val/IntegerVal.js.map +1 -1
- package/dist/val/JunctionVal.js +0 -20
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.js +0 -46
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +0 -57
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +11 -6
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +0 -151
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.js +0 -27
- package/dist/val/MatchFuncVal.js.map +1 -1
- package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
- package/dist/val/MaybeFuncVal.js +50 -0
- package/dist/val/MaybeFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js +0 -18
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +2 -36
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.d.ts +12 -0
- package/dist/val/NomFuncVal.js +153 -0
- package/dist/val/NomFuncVal.js.map +1 -0
- package/dist/val/NumberVal.js +0 -15
- package/dist/val/NumberVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -0
- package/dist/val/OpBaseVal.js +3 -15
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/PackFuncVal.js +0 -34
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/PathFuncVal.js +0 -6
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.js +0 -41
- package/dist/val/PathVal.js.map +1 -1
- package/dist/val/PlaceVal.js +0 -25
- package/dist/val/PlaceVal.js.map +1 -1
- package/dist/val/PlusOpVal.d.ts +1 -7
- package/dist/val/PlusOpVal.js +13 -74
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js +0 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.js +0 -167
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.js +0 -55
- package/dist/val/RecurseVal.js.map +1 -1
- package/dist/val/RefVal.js +0 -282
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.js +0 -232
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +0 -49
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/ScalarVal.js +0 -11
- package/dist/val/ScalarVal.js.map +1 -1
- package/dist/val/StrFuncVal.js +0 -18
- package/dist/val/StrFuncVal.js.map +1 -1
- package/dist/val/SuperFuncVal.js +0 -32
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.js +0 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TranslateFuncVal.d.ts +12 -0
- package/dist/val/TranslateFuncVal.js +99 -0
- package/dist/val/TranslateFuncVal.js.map +1 -0
- package/dist/val/UpperFuncVal.js +11 -6
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +1 -0
- package/dist/val/Val.js +2 -133
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js +0 -12
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.js +0 -37
- package/dist/val/arith.js.map +1 -1
- package/dist/val/caserange.d.ts +3 -0
- package/dist/val/caserange.js +49 -0
- package/dist/val/caserange.js.map +1 -0
- package/dist/val/members.js +0 -6
- package/dist/val/members.js.map +1 -1
- package/dist/val/numcmp.js +0 -11
- package/dist/val/numcmp.js.map +1 -1
- package/dist/val/numkind.js +0 -145
- package/dist/val/numkind.js.map +1 -1
- package/dist/val/valutil.js +0 -16
- package/dist/val/valutil.js.map +1 -1
- package/dist/vet.d.ts +12 -0
- package/dist/vet.js +159 -412
- package/dist/vet.js.map +1 -1
- package/dist/view.js +0 -414
- package/dist/view.js.map +1 -1
- package/dist/walk.js +0 -41
- package/dist/walk.js.map +1 -1
- package/grammar/aontu.abnf +9 -7
- package/grammar/aontu.gbnf +5 -5
- package/grammar/aontu.lark +5 -5
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/skill/SKILL.md +8 -0
- package/skill/init/check.sh +28 -0
- package/skill/init/data.aon +12 -0
- package/skill/init/model.aon +19 -0
- package/skill/tasks.md +151 -0
- package/src/agentsmd.ts +8 -32
- package/src/alias.ts +0 -39
- package/src/allow.ts +221 -0
- package/src/aontu.ts +10 -108
- package/src/aontumodel.ts +32 -0
- package/src/cli.ts +1009 -540
- package/src/ctx.ts +0 -103
- package/src/diff.ts +0 -40
- package/src/err.ts +0 -40
- package/src/escape.ts +0 -46
- package/src/exactjson.ts +0 -131
- package/src/format.ts +63 -234
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +77 -0
- package/src/hints.ts +72 -49
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +39 -895
- package/src/lower.ts +15 -65
- package/src/lsp-server.ts +0 -16
- package/src/lsp.ts +12 -180
- package/src/mcp-server.ts +0 -31
- package/src/mcp.ts +0 -130
- package/src/mod-tool.ts +0 -158
- package/src/mod.ts +0 -178
- package/src/patch.ts +0 -232
- package/src/provenance.ts +0 -183
- package/src/query.ts +0 -84
- package/src/reach.ts +0 -53
- package/src/relation.ts +7 -71
- package/src/render.ts +33 -180
- package/src/report-sarif.ts +0 -48
- package/src/sig.ts +0 -35
- package/src/sigdecl.ts +1 -1
- package/src/siggate.ts +0 -30
- package/src/site.ts +3 -29
- package/src/subsume.ts +1 -161
- package/src/template.ts +69 -140
- package/src/trim.ts +0 -53
- package/src/type.ts +2 -45
- package/src/unify.ts +13 -251
- package/src/utility.ts +0 -31
- package/src/val/AbnfFuncVal.ts +181 -0
- package/src/val/AbsentVal.ts +54 -0
- package/src/val/AggFuncVal.ts +152 -188
- package/src/val/ArithFuncVal.ts +0 -20
- package/src/val/BagVal.ts +1 -78
- package/src/val/BigDecimalVal.ts +0 -16
- package/src/val/BigIntegerVal.ts +0 -16
- package/src/val/CloseFuncVal.ts +0 -9
- package/src/val/CmpFuncVal.ts +249 -0
- package/src/val/ConjunctVal.ts +0 -33
- package/src/val/ConstraintVal.ts +2 -537
- package/src/val/ContainerKindVal.ts +0 -18
- package/src/val/CopyFuncVal.ts +0 -5
- package/src/val/Decimal.ts +1 -185
- package/src/val/DeprecateFuncVal.ts +0 -10
- package/src/val/DisjunctVal.ts +0 -157
- package/src/val/EachFuncVal.ts +12 -53
- package/src/val/EmitFuncVal.ts +8 -208
- package/src/val/ExpectVal.ts +0 -62
- package/src/val/FilterFuncVal.ts +0 -55
- package/src/val/FuncBaseVal.ts +9 -130
- package/src/val/GraphAtomVal.ts +0 -42
- package/src/val/HideFuncVal.ts +0 -15
- package/src/val/IntegerVal.ts +0 -61
- package/src/val/JunctionVal.ts +0 -20
- package/src/val/KeyFuncVal.ts +0 -48
- package/src/val/ListVal.ts +0 -59
- package/src/val/LowerFuncVal.ts +12 -7
- package/src/val/MapVal.ts +0 -151
- package/src/val/MatchFuncVal.ts +0 -59
- package/src/val/MaybeFuncVal.ts +86 -0
- package/src/val/MoveFuncVal.ts +0 -20
- package/src/val/NilVal.ts +2 -36
- package/src/val/NomFuncVal.ts +200 -0
- package/src/val/NumberVal.ts +0 -16
- package/src/val/OpBaseVal.ts +4 -17
- package/src/val/PackFuncVal.ts +0 -63
- package/src/val/PathFuncVal.ts +0 -32
- package/src/val/PathVal.ts +0 -66
- package/src/val/PlaceVal.ts +0 -45
- package/src/val/PlusOpVal.ts +18 -75
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +0 -179
- package/src/val/RecurseVal.ts +0 -81
- package/src/val/RefVal.ts +1 -285
- package/src/val/ReferFuncVal.ts +0 -255
- package/src/val/ScalarKindVal.ts +0 -50
- package/src/val/ScalarVal.ts +0 -12
- package/src/val/StrFuncVal.ts +0 -44
- package/src/val/SuperFuncVal.ts +0 -42
- package/src/val/TopVal.ts +0 -1
- package/src/val/TranslateFuncVal.ts +132 -0
- package/src/val/UpperFuncVal.ts +12 -7
- package/src/val/Val.ts +3 -192
- package/src/val/VarVal.ts +0 -15
- package/src/val/arith.ts +0 -92
- package/src/val/caserange.ts +53 -0
- package/src/val/members.ts +0 -23
- package/src/val/numcmp.ts +1 -27
- package/src/val/numkind.ts +0 -149
- package/src/val/valutil.ts +0 -16
- package/src/vet.ts +209 -504
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -637
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/src/std.ts +0 -648
- package/src/val/FormFuncVal.ts +0 -119
package/dist/render.js
CHANGED
|
@@ -4,24 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.render = render;
|
|
5
5
|
exports.renderProfile = renderProfile;
|
|
6
6
|
exports.renderValue = renderValue;
|
|
7
|
-
// THE RENDERER (docs/design/RENDER.0.md; docs/capability-review/
|
|
8
|
-
// g9-transformation.md §3). `render` evaluates a document, takes the
|
|
9
|
-
// value at `--at` (the root by default), vets it against the bundled
|
|
10
|
-
// `aontu:code` vocabulary, and folds `code.units` into bytes;
|
|
11
|
-
// `renderValue` is the fold alone, over `generate()` output. The fold
|
|
12
|
-
// is pure and total: it never touches the Val tree, never reads or
|
|
13
|
-
// writes a file, never sorts and never iterates a map, and every piece
|
|
14
|
-
// of a fragment carries its own depth (`at`), so the renderer owns
|
|
15
|
-
// every prefix and no piece nests another (the second amendment's
|
|
16
|
-
// fragment algebra, RENDER.0.md D2 and D6).
|
|
17
|
-
//
|
|
18
|
-
// WHAT THIS PHASE RENDERS (RENDER.0.md P3): fragments -- a line, a
|
|
19
|
-
// blank run, a raw block, a bare string piece, a reference inline --
|
|
20
|
-
// and the `text` escape, under a profile that knows its language. The
|
|
21
|
-
// one bundled profile is `aontu:lang/text`, which every fragment-only
|
|
22
|
-
// unit falls back to; a declaration (`record`, `enum`, ...) needs a
|
|
23
|
-
// LOWERING, which P5 brings with the TypeScript and Go profiles, and
|
|
24
|
-
// until then is `render_profile`.
|
|
25
7
|
const aontu_1 = require("./aontu");
|
|
26
8
|
const vet_1 = require("./vet");
|
|
27
9
|
const hcanon_1 = require("./hcanon");
|
|
@@ -30,37 +12,18 @@ const keyorder_1 = require("./keyorder");
|
|
|
30
12
|
const utility_1 = require("./utility");
|
|
31
13
|
const lower_1 = require("./lower");
|
|
32
14
|
const VOCABULARY = '@"aontu:code"';
|
|
33
|
-
// The bundled profiles, by lang: aontu:lang/<lang>.
|
|
34
|
-
const BUNDLED_LANGS = ['go', 'text', 'typescript'];
|
|
35
|
-
const PROFILE_VOCABULARY = '@"aontu:
|
|
15
|
+
// The bundled profiles, by lang: aontu:render/lang/<lang>.
|
|
16
|
+
const BUNDLED_LANGS = ['go', 'markdown', 'text', 'typescript'];
|
|
17
|
+
const PROFILE_VOCABULARY = '@"aontu:render"';
|
|
36
18
|
function finding(code, cls, path, message) {
|
|
37
19
|
return { code, class: cls, severity: 'error', path, message, sites: [] };
|
|
38
20
|
}
|
|
39
21
|
function errorReport(errors) {
|
|
40
22
|
return { verdict: 'error', units: [], lossy: [], errors };
|
|
41
23
|
}
|
|
42
|
-
// The verb's evaluation, before the fold (RENDER.0.md D1): evaluate,
|
|
43
|
-
// anchor, vet the anchored value against the vocabulary as `aontu vet`
|
|
44
|
-
// would, and generate the MEET of the two -- so the vocabulary's
|
|
45
|
-
// defaults (`at: 0`, `n: 1`, `reindent: true`) are in the instance the
|
|
46
|
-
// fold reads, whether or not the document included the vocabulary
|
|
47
|
-
// itself. THE VET AND THE MEET READ THE SETTLED VALUE, re-sourced
|
|
48
|
-
// through its hash form (valid source that evaluates to the same
|
|
49
|
-
// value), not the document's text: a fragment's lines are what a
|
|
50
|
-
// transform COMPUTED -- an `emit`, a `join` -- and the vocabulary's
|
|
51
|
-
// alternatives are tried against values, not against calls that are
|
|
52
|
-
// still waiting to fire. A finding from that vet therefore addresses
|
|
53
|
-
// the instance by path, which is the addressing every render finding
|
|
54
|
-
// uses (G9 §3); a document that does not stand up at all is reported
|
|
55
|
-
// with its own sites, before any of this.
|
|
56
24
|
function render(src, options) {
|
|
57
25
|
const opts = options ?? {};
|
|
58
26
|
const aontu = new aontu_1.Aontu((0, utility_1.includeOpts)(opts));
|
|
59
|
-
// THE RECORDER (P7), on for a run that was asked for a trace or a
|
|
60
|
-
// coverage report and off for every other. Its presence is the one
|
|
61
|
-
// switch: the read set fills as references resolve, and the two
|
|
62
|
-
// riders that carry a read address and a dispatch stamp are written
|
|
63
|
-
// only while it is there.
|
|
64
27
|
const rec = true === opts.trace || true === opts.coverage;
|
|
65
28
|
const reads = rec ? new Set() : undefined;
|
|
66
29
|
// COLLECT MODE, so a syntax error arrives on the context rather than
|
|
@@ -83,36 +46,17 @@ function render(src, options) {
|
|
|
83
46
|
}
|
|
84
47
|
node = found;
|
|
85
48
|
}
|
|
86
|
-
// UNDER NO CALLER CAPABILITY, here and in the meet below: the
|
|
87
|
-
// vocabulary is the engine's own and the instance is a canon, which
|
|
88
|
-
// includes nothing, so the caller's include capability -- which
|
|
89
|
-
// governs the DOCUMENT -- has nothing to govern here, and `none`
|
|
90
|
-
// must not deny the renderer its own schema.
|
|
91
49
|
const value = (0, hcanon_1.hcanon)(node);
|
|
92
50
|
const report = (0, vet_1.vet)(VOCABULARY, value);
|
|
93
51
|
if ('valid' !== report.verdict) {
|
|
94
52
|
return errorReport(report.findings);
|
|
95
53
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
// with no `code` at all is the vocabulary's own empty instance.
|
|
99
|
-
const codeVal = node.peg.code;
|
|
100
|
-
const instance = new aontu_1.Aontu().generate(VOCABULARY + (undefined === codeVal ? '' : '\ncode: ' + (0, hcanon_1.hcanon)(codeVal)));
|
|
54
|
+
const codeVal = node.peg.aontu?.peg?.Code;
|
|
55
|
+
const instance = new aontu_1.Aontu().generate(VOCABULARY + (undefined === codeVal ? '' : '\naontu: Code: ' + (0, hcanon_1.hcanon)(codeVal)));
|
|
101
56
|
const folded = renderValue(instance, opts);
|
|
102
|
-
// THE TWO REPORTS ARE JOINED TO THE FOLD BY PATH (P7), which is what
|
|
103
|
-
// lets the fold stay the pure total function D6 asks for: the
|
|
104
|
-
// dispatch stamps ride the VALUE, the instance the fold reads is
|
|
105
|
-
// that value re-sourced through its hash form, and a piece is at the
|
|
106
|
-
// same path in both. Nothing to report on `error`: there are no
|
|
107
|
-
// units to attribute pieces to.
|
|
108
57
|
if (rec && 'error' !== folded.verdict) {
|
|
109
58
|
const marks = emitted(node);
|
|
110
59
|
const trace = traceOf(marks, instance, folded.units);
|
|
111
|
-
// AN EMPTY TRACE IS NO TRACE, in both ports: Go omits an empty
|
|
112
|
-
// slice, and a report shape that differed by port would be the one
|
|
113
|
-
// thing the shared rows exist to refuse. A run that emitted no
|
|
114
|
-
// piece has nothing to attribute, and the coverage report says so
|
|
115
|
-
// in its own words.
|
|
116
60
|
if (0 < trace.length) {
|
|
117
61
|
folded.trace = trace;
|
|
118
62
|
}
|
|
@@ -144,10 +88,6 @@ function walkVals(root, fn) {
|
|
|
144
88
|
}
|
|
145
89
|
else if (true === v.isMap && null != v.peg) {
|
|
146
90
|
for (const k of Object.keys(v.peg).sort(keyorder_1.cmpCodePoint)) {
|
|
147
|
-
// AN ALIAS DECLARATION IS NOT A MEMBER, here for the reason
|
|
148
|
-
// every fold has it (./val/members.ts): `%wire = …` holds a
|
|
149
|
-
// value the document never generates, so it is neither a piece
|
|
150
|
-
// to trace nor model that could be called dead.
|
|
151
91
|
if (!v.aliasKeys.includes(k)) {
|
|
152
92
|
walk(v.peg[k], [...path, k]);
|
|
153
93
|
}
|
|
@@ -173,18 +113,11 @@ function emitted(node) {
|
|
|
173
113
|
});
|
|
174
114
|
return out;
|
|
175
115
|
}
|
|
176
|
-
// The trace: one entry per stamped piece that a RENDERED unit holds. A
|
|
177
|
-
// piece is IN the unit whose path prefixes its own, which is the whole
|
|
178
|
-
// of the question -- no path is parsed, and a stamp that lies under no
|
|
179
|
-
// unit at all (a rule set held under a key of its own, and referred to
|
|
180
|
-
// from a unit) simply matches nothing. A unit the run did not render
|
|
181
|
-
// (`--unit` names one) has no bytes for a piece of it to be in, so it
|
|
182
|
-
// is not among the prefixes either.
|
|
183
116
|
function traceOf(marks, instance, units) {
|
|
184
117
|
const pre = [];
|
|
185
118
|
unitList(instance).forEach((u, i) => {
|
|
186
119
|
if (units.some((r) => r.path === u.path)) {
|
|
187
|
-
pre.push({ at: '$.
|
|
120
|
+
pre.push({ at: '$.aontu.Code.units.' + i, path: u.path });
|
|
188
121
|
}
|
|
189
122
|
});
|
|
190
123
|
const out = [];
|
|
@@ -206,10 +139,6 @@ function ancestors(a) {
|
|
|
206
139
|
}
|
|
207
140
|
return out;
|
|
208
141
|
}
|
|
209
|
-
// Is the value at `a` covered by the set -- the address itself in it,
|
|
210
|
-
// or an address above it? An address ABOVE it covers the whole subtree:
|
|
211
|
-
// a reference that read `$.schema` read everything under it, and a rule
|
|
212
|
-
// that emitted a unit emitted every declaration in it.
|
|
213
142
|
function covered(set, a) {
|
|
214
143
|
if (set.has(a)) {
|
|
215
144
|
return true;
|
|
@@ -221,18 +150,11 @@ function covered(set, a) {
|
|
|
221
150
|
}
|
|
222
151
|
return false;
|
|
223
152
|
}
|
|
224
|
-
// THE COVERAGE REPORT (P7). Dead model is measured over the DOCUMENT
|
|
225
|
-
// ROOT, or under `coverageAt` when a document keeps its model under one
|
|
226
|
-
// key (X-3, decided here): the read set is absolute, so a narrower
|
|
227
|
-
// measure is a narrower walk, not a different origin. The render's own
|
|
228
|
-
// output -- `code` under the anchor -- is not model and is never
|
|
229
|
-
// walked into: nothing reads it, so every document would otherwise
|
|
230
|
-
// report it dead.
|
|
231
153
|
function coverOf(root, node, reads, opts, marks, instance, units) {
|
|
232
|
-
// THE ANCHOR IS THE ONE render() ALREADY FOUND, so
|
|
233
|
-
// named without asking a second time: `--at` is resolved
|
|
234
|
-
// vet, and an anchor that named nothing never reached here.
|
|
235
|
-
const codeAddr = addr(node.path.concat('
|
|
154
|
+
// THE ANCHOR IS THE ONE render() ALREADY FOUND, so the namespace
|
|
155
|
+
// under it is named without asking a second time: `--at` is resolved
|
|
156
|
+
// before the vet, and an anchor that named nothing never reached here.
|
|
157
|
+
const codeAddr = addr(node.path.concat('aontu'));
|
|
236
158
|
let from = root;
|
|
237
159
|
let base = [];
|
|
238
160
|
if (null != opts.coverageAt && '' !== opts.coverageAt) {
|
|
@@ -243,8 +165,6 @@ function coverOf(root, node, reads, opts, marks, instance, units) {
|
|
|
243
165
|
from = found;
|
|
244
166
|
base = found.path;
|
|
245
167
|
}
|
|
246
|
-
// The two questions asked of the read set, as sets: is this address
|
|
247
|
-
// read (or under one that is), and does a read lie BELOW it?
|
|
248
168
|
const above = new Set(reads);
|
|
249
169
|
const below = new Set();
|
|
250
170
|
for (const r of reads) {
|
|
@@ -258,11 +178,6 @@ function coverOf(root, node, reads, opts, marks, instance, units) {
|
|
|
258
178
|
if (a === codeAddr || covered(above, a)) {
|
|
259
179
|
return false;
|
|
260
180
|
}
|
|
261
|
-
// THE ROOT OF THE MEASURE IS NEVER ITSELF DEAD MODEL, and is
|
|
262
|
-
// descended into whatever the read set holds. A document that is
|
|
263
|
-
// only a transform reads nothing above its own model, and naming
|
|
264
|
-
// the root there would report the whole document dead while its
|
|
265
|
-
// one live subtree sat inside it.
|
|
266
181
|
if (below.has(a) || 0 === path.length) {
|
|
267
182
|
return true;
|
|
268
183
|
}
|
|
@@ -286,7 +201,7 @@ function coverOf(root, node, reads, opts, marks, instance, units) {
|
|
|
286
201
|
}
|
|
287
202
|
const decls = unit.decls;
|
|
288
203
|
decls.forEach((_d, j) => {
|
|
289
|
-
const a = '$.
|
|
204
|
+
const a = '$.aontu.Code.units.' + i + '.decls.' + j;
|
|
290
205
|
if (!covered(stamped, a) && !inside.has(a)) {
|
|
291
206
|
unruled.push({ unit: unit.path, path: a });
|
|
292
207
|
}
|
|
@@ -297,23 +212,17 @@ function coverOf(root, node, reads, opts, marks, instance, units) {
|
|
|
297
212
|
// The bundled text profile, evaluated once: the profile of a unit
|
|
298
213
|
// whose declarations are fragments and text escapes only.
|
|
299
214
|
const bundled = {};
|
|
300
|
-
// A bundled profile, evaluated once: the meet of aontu:lang/<lang>
|
|
215
|
+
// A bundled profile, evaluated once: the meet of aontu:render/lang/<lang>
|
|
301
216
|
// with the vocabulary, so its defaults are in it.
|
|
302
217
|
function bundledProfile(lang) {
|
|
303
218
|
if (!BUNDLED_LANGS.includes(lang)) {
|
|
304
219
|
return undefined;
|
|
305
220
|
}
|
|
306
221
|
if (undefined === bundled[lang]) {
|
|
307
|
-
bundled[lang] = new aontu_1.Aontu().generate('@"aontu:lang/' + lang + '"').
|
|
222
|
+
bundled[lang] = new aontu_1.Aontu().generate('@"aontu:render/lang/' + lang + '"').aontu.render.Lang;
|
|
308
223
|
}
|
|
309
224
|
return bundled[lang];
|
|
310
225
|
}
|
|
311
|
-
// PROFILE SELECTION, per unit (RENDER.0.md D5): a caller-supplied
|
|
312
|
-
// profile whose `lang` is the unit's; else the bundled profile of that
|
|
313
|
-
// `lang`; else `aontu:lang/text`, if and only if every declaration in
|
|
314
|
-
// the unit is a fragment or a text escape; else nothing, which the
|
|
315
|
-
// caller reports as `render_profile`. The unit's inline `profile` is
|
|
316
|
-
// merged over whichever base was found.
|
|
317
226
|
function profileFor(lang, given, fragOnly) {
|
|
318
227
|
const supplied = (given ?? []).find((p) => p?.lang === lang);
|
|
319
228
|
if (undefined !== supplied) {
|
|
@@ -339,16 +248,6 @@ function mergeProfile(base, over) {
|
|
|
339
248
|
}
|
|
340
249
|
return out;
|
|
341
250
|
}
|
|
342
|
-
// THE FOLD (RENDER.0.md D6). `pad(at)` is `indent.unit` repeated
|
|
343
|
-
// `indent.width × at` times; a line is `pad + text + LF`, and an empty
|
|
344
|
-
// text emits no pad; a blank is its terminators alone; a raw block's
|
|
345
|
-
// lines each get the pad unless `reindent: false`, which emits them
|
|
346
|
-
// at column 0 verbatim -- and common leading indentation is never
|
|
347
|
-
// stripped. A reference inline is its name, verbatim (a
|
|
348
|
-
// declaration-capable profile puts it through its identifier rules,
|
|
349
|
-
// P5). Nothing is trimmed (D3): the text is the transform's.
|
|
350
|
-
// A profile with no indent -- a caller-supplied map the vocabulary
|
|
351
|
-
// never filled -- takes the vocabulary's own default, two spaces.
|
|
352
251
|
function pad(profile, at) {
|
|
353
252
|
const indent = profile.indent ?? { unit: ' ', width: 2 };
|
|
354
253
|
return (indent.unit ?? ' ').repeat((indent.width ?? 2) * at);
|
|
@@ -369,7 +268,7 @@ function foldPiece(piece, profile, unit, path, lossy, ctx) {
|
|
|
369
268
|
return line(profile, 0, piece);
|
|
370
269
|
}
|
|
371
270
|
if ('line' === piece.k) {
|
|
372
|
-
return line(profile, piece.at ?? 0, piece.
|
|
271
|
+
return line(profile, piece.at ?? 0, piece.n.map((p) => inline(p, ctx)).join(''));
|
|
373
272
|
}
|
|
374
273
|
if ('blank' === piece.k) {
|
|
375
274
|
return '\n'.repeat(piece.n ?? 1);
|
|
@@ -386,13 +285,6 @@ function foldPiece(piece, profile, unit, path, lossy, ctx) {
|
|
|
386
285
|
}
|
|
387
286
|
return lines.map((l) => reindent ? line(profile, at, l) : l + '\n').join('');
|
|
388
287
|
}
|
|
389
|
-
// A PROFILE DOCUMENT (RENDER.0.md D5), evaluated the way `render`
|
|
390
|
-
// evaluates its own: under the caller's include options, then vetted
|
|
391
|
-
// against aontu:profile as a settled value and met with that vocabulary
|
|
392
|
-
// so its defaults (`indent.width: 2`, ...) are in it. The answer is the
|
|
393
|
-
// `profile` map the fold reads -- what `--profile <file>` hands to
|
|
394
|
-
// RenderOptions.profiles -- or the findings that refused the document:
|
|
395
|
-
// one that does not stand up, or one the vocabulary rejects.
|
|
396
288
|
function renderProfile(src, options) {
|
|
397
289
|
const opts = options ?? {};
|
|
398
290
|
const aontu = new aontu_1.Aontu((0, utility_1.includeOpts)(opts));
|
|
@@ -407,19 +299,17 @@ function renderProfile(src, options) {
|
|
|
407
299
|
}
|
|
408
300
|
// The meet, keyed as render's is: the vocabulary requires `profile`,
|
|
409
301
|
// so a value the vet admitted has one.
|
|
410
|
-
const instance = new aontu_1.Aontu().generate(PROFILE_VOCABULARY + '\
|
|
411
|
-
|
|
302
|
+
const instance = new aontu_1.Aontu().generate(PROFILE_VOCABULARY + '\naontu: render: Lang: ' +
|
|
303
|
+
(0, hcanon_1.hcanon)(root.peg.aontu.peg.render.peg.Lang));
|
|
304
|
+
return { profile: instance.aontu.render.Lang };
|
|
412
305
|
}
|
|
413
306
|
// The instance's unit list, or none: `code` is the vocabulary's own
|
|
414
307
|
// key and is always there, `units` is not. One reader, so the fold,
|
|
415
308
|
// the trace and the coverage report all see the same list.
|
|
416
309
|
function unitList(instance) {
|
|
417
|
-
return Array.isArray(instance?.
|
|
310
|
+
return Array.isArray(instance?.aontu?.Code?.units) ?
|
|
311
|
+
instance.aontu.Code.units : [];
|
|
418
312
|
}
|
|
419
|
-
// The fold alone, over `generate()` output: the instance is
|
|
420
|
-
// `{code: {units: [...]}}` as the vocabulary shapes it, with its
|
|
421
|
-
// defaults filled -- which is what `render` hands over, and what a
|
|
422
|
-
// caller of this function is responsible for.
|
|
423
313
|
function renderValue(instance, options) {
|
|
424
314
|
const opts = options ?? {};
|
|
425
315
|
const errors = [];
|
|
@@ -429,7 +319,7 @@ function renderValue(instance, options) {
|
|
|
429
319
|
const seen = [];
|
|
430
320
|
let selected = 0;
|
|
431
321
|
list.forEach((unit, i) => {
|
|
432
|
-
const upath = '$.
|
|
322
|
+
const upath = '$.aontu.Code.units.' + i;
|
|
433
323
|
const path = unit.path;
|
|
434
324
|
const lang = unit.lang;
|
|
435
325
|
// A UNIT PATH IS RELATIVE, DESCENDS, AND IS ITS OWN (RENDER.0.md
|
|
@@ -457,20 +347,16 @@ function renderValue(instance, options) {
|
|
|
457
347
|
const base = profileFor(lang, opts.profiles, fragOnly);
|
|
458
348
|
if (undefined === base) {
|
|
459
349
|
errors.push(finding('render_profile', 'parse', upath + '.lang', 'no profile renders ' + lang + ': a declaration needs a lowering, and ' +
|
|
460
|
-
'only fragments and text escapes render under aontu:lang/text.'));
|
|
350
|
+
'only fragments and text escapes render under aontu:render/lang/text.'));
|
|
461
351
|
return;
|
|
462
352
|
}
|
|
463
353
|
const profile = null == unit.profile ? base : mergeProfile(base, unit.profile);
|
|
464
|
-
// THE LOWERING (D5, P5), when the profile names one: the unit's
|
|
465
|
-
// header -- banner, package clause, imports -- and each declaration
|
|
466
|
-
// as pieces the fold takes, a blank line between two lowered
|
|
467
|
-
// declarations. A fragment or a text escape owns its own blanks.
|
|
468
354
|
const family = profile.lowering;
|
|
469
355
|
const ctx = undefined === family ? undefined
|
|
470
356
|
: { profile, family, unit: path, lossy };
|
|
471
357
|
let text = '';
|
|
472
358
|
if (undefined !== ctx) {
|
|
473
|
-
const header = (0, lower_1.lowerHeader)(unit, instance?.
|
|
359
|
+
const header = (0, lower_1.lowerHeader)(unit, instance?.aontu?.Code?.source, ctx);
|
|
474
360
|
for (const piece of header) {
|
|
475
361
|
text += foldPiece(piece, profile, path, upath, lossy, ctx);
|
|
476
362
|
}
|
|
@@ -483,12 +369,16 @@ function renderValue(instance, options) {
|
|
|
483
369
|
const dpath = upath + '.decls.' + j;
|
|
484
370
|
if ('frag' === decl.k) {
|
|
485
371
|
lowered = false;
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
372
|
+
// Lossy only against a language whose DECLARATIONS could have
|
|
373
|
+
// been lowered instead: a fragment is all the others have.
|
|
374
|
+
if (null != profile.lowering) {
|
|
375
|
+
lossy.push({
|
|
376
|
+
unit: path, path: dpath, tier: 2, construct: 'frag',
|
|
377
|
+
reason: 'a fragment says nothing about ' + lang + ' syntax',
|
|
378
|
+
});
|
|
379
|
+
}
|
|
380
|
+
decl.n.forEach((piece, n) => {
|
|
381
|
+
text += foldPiece(piece, profile, path, dpath + '.n.' + n, lossy, ctx);
|
|
492
382
|
});
|
|
493
383
|
}
|
|
494
384
|
else if ('text' === decl.k) {
|
|
@@ -520,7 +410,7 @@ function renderValue(instance, options) {
|
|
|
520
410
|
units.push({ path, lang, text });
|
|
521
411
|
});
|
|
522
412
|
if (undefined !== opts.unit && 0 === selected) {
|
|
523
|
-
errors.push(finding('render_unit', 'reference', '$.
|
|
413
|
+
errors.push(finding('render_unit', 'reference', '$.aontu.Code.units', 'no unit has the path ' + opts.unit + '.'));
|
|
524
414
|
}
|
|
525
415
|
if (true === opts.strict) {
|
|
526
416
|
for (const loss of lossy) {
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/report-sarif.d.ts
CHANGED
|
@@ -1,14 +1,3 @@
|
|
|
1
1
|
import type { VetReport } from './vet';
|
|
2
|
-
/**
|
|
3
|
-
* Render a vet report as SARIF 2.1.0 text (a minimal profile: one run,
|
|
4
|
-
* one result per finding, the finding embedded in `properties`).
|
|
5
|
-
*
|
|
6
|
-
* @param report A report from `vet()`.
|
|
7
|
-
* @param version The producer version for `tool.driver.version` —
|
|
8
|
-
* the CLI passes its package version; the two ports'
|
|
9
|
-
* version series are independent by design.
|
|
10
|
-
* @returns The SARIF JSON text, indented two spaces, keys in
|
|
11
|
-
* the canonical emitter's sorted order.
|
|
12
|
-
*/
|
|
13
2
|
declare function sarifReport(report: VetReport, version: string): string;
|
|
14
3
|
export { sarifReport, };
|
package/dist/report-sarif.js
CHANGED
|
@@ -12,13 +12,6 @@ const SARIF_LEVEL = {
|
|
|
12
12
|
warning: 'warning',
|
|
13
13
|
info: 'note',
|
|
14
14
|
};
|
|
15
|
-
// A site's file is a filesystem path, and a SARIF artifactLocation.uri
|
|
16
|
-
// is a URI reference: `#`, `%`, spaces and every other URI-significant
|
|
17
|
-
// character must be percent-encoded or a consumer parses the path as
|
|
18
|
-
// something else (text after `#` becomes a fragment). Encoded BY BYTE
|
|
19
|
-
// over UTF-8, with RFC 3986's unreserved and path characters kept
|
|
20
|
-
// literal, so the Go twin produces identical bytes from an identical
|
|
21
|
-
// loop (go/report_sarif.go sarifURI).
|
|
22
15
|
function sarifUri(path) {
|
|
23
16
|
const bytes = Buffer.from(path, 'utf8');
|
|
24
17
|
let out = '';
|
|
@@ -46,11 +39,6 @@ function sarifLocation(site) {
|
|
|
46
39
|
return { physicalLocation: physical };
|
|
47
40
|
}
|
|
48
41
|
function sarifResult(finding) {
|
|
49
|
-
// The engine orders sites data-first (the thing to fix), so the first
|
|
50
|
-
// site is the primary location and the rest are related — which for a
|
|
51
|
-
// two-site conflict puts the schema's declaration under
|
|
52
|
-
// `relatedLocations`, exactly where a code-scanning UI shows "the
|
|
53
|
-
// other side".
|
|
54
42
|
const result = {
|
|
55
43
|
level: SARIF_LEVEL[finding.severity],
|
|
56
44
|
locations: [sarifLocation(finding.sites[0])],
|
|
@@ -64,26 +52,10 @@ function sarifResult(finding) {
|
|
|
64
52
|
}
|
|
65
53
|
return result;
|
|
66
54
|
}
|
|
67
|
-
/**
|
|
68
|
-
* Render a vet report as SARIF 2.1.0 text (a minimal profile: one run,
|
|
69
|
-
* one result per finding, the finding embedded in `properties`).
|
|
70
|
-
*
|
|
71
|
-
* @param report A report from `vet()`.
|
|
72
|
-
* @param version The producer version for `tool.driver.version` —
|
|
73
|
-
* the CLI passes its package version; the two ports'
|
|
74
|
-
* version series are independent by design.
|
|
75
|
-
* @returns The SARIF JSON text, indented two spaces, keys in
|
|
76
|
-
* the canonical emitter's sorted order.
|
|
77
|
-
*/
|
|
78
55
|
function sarifReport(report, version) {
|
|
79
56
|
return (0, exactjson_1.exactJSON)({
|
|
80
57
|
$schema: 'https://json.schemastore.org/sarif-2.1.0.json',
|
|
81
58
|
runs: [{
|
|
82
|
-
// An `error` verdict means the run could not be set up (an
|
|
83
|
-
// unusable schema): zero findings from a FAILED run must not
|
|
84
|
-
// read like zero findings from a clean one, so the failure is
|
|
85
|
-
// carried in SARIF's own invocation metadata rather than by an
|
|
86
|
-
// indistinguishable empty result list.
|
|
87
59
|
invocations: [{
|
|
88
60
|
executionSuccessful: 'error' !== report.verdict,
|
|
89
61
|
}],
|
package/dist/report-sarif.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report-sarif.js","sourceRoot":"","sources":["../src/report-sarif.ts"],"names":[],"mappings":";AAAA,oDAAoD;;
|
|
1
|
+
{"version":3,"file":"report-sarif.js","sourceRoot":"","sources":["../src/report-sarif.ts"],"names":[],"mappings":";AAAA,oDAAoD;;QAuFlD,WAAW;AAlFb,2CAAuC;AAGvC,mEAAmE;AACnE,wEAAwE;AACxE,gEAAgE;AAChE,4BAA4B;AAC5B,MAAM,WAAW,GAA2B;IAC1C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACb,CAAA;AAGD,SAAS,QAAQ,CAAC,IAAY;IAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACvC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,IAAI,CAAC,CAAA;QACV,CAAC;aACI,CAAC;YACJ,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAGD,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,QAAQ,GAAQ;QACpB,gBAAgB,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;KAC/C,CAAA;IACD,kEAAkE;IAClE,mEAAmE;IACnE,wBAAwB;IACxB,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,QAAQ,CAAC,MAAM,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAA;IAClE,CAAC;IACD,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAA;AACvC,CAAC;AAGD,SAAS,WAAW,CAAC,OAAmB;IACtC,MAAM,MAAM,GAAQ;QAClB,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;QACpC,SAAS,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;QAClC,UAAU,EAAE,OAAO;QACnB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI;KAChC,CAAA;IACD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;IACtD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAGD,SAAS,WAAW,CAAC,MAAiB,EAAE,OAAe;IACrD,OAAO,IAAA,qBAAS,EAAC;QACf,OAAO,EAAE,+CAA+C;QACxD,IAAI,EAAE,CAAC;gBACL,WAAW,EAAE,CAAC;wBACZ,mBAAmB,EAAE,OAAO,KAAK,MAAM,CAAC,OAAO;qBAChD,CAAC;gBACF,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC;gBACzC,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,cAAc,EAAE,mCAAmC;wBACnD,IAAI,EAAE,OAAO;wBACb,OAAO;qBACR;iBACF;aACF,CAAC;QACF,OAAO,EAAE,OAAO;KACjB,EAAE,CAAC,CAAC,CAAA;AACP,CAAC,CAAC,iCAAiC"}
|
package/dist/sig.js
CHANGED
|
@@ -6,40 +6,11 @@ exports.parseSigLine = parseSigLine;
|
|
|
6
6
|
exports.parseSigText = parseSigText;
|
|
7
7
|
exports.renderSig = renderSig;
|
|
8
8
|
exports.renderSigArg = renderSigArg;
|
|
9
|
-
// THE SIGNATURE REGISTRY (docs/design/SIGNATURES.0.md). The call
|
|
10
|
-
// surface of the built-in functions is DECLARED, in the signature
|
|
11
|
-
// syntax itself, in test/spec/signature.tsv; this module is the
|
|
12
|
-
// TypeScript half of the pair that reads it. The declaration text is
|
|
13
|
-
// inlined at build time (ts/src/sigdecl.ts, `make sig`) and parsed at
|
|
14
|
-
// initialisation by the signature grammar -- a custom tabnas grammar,
|
|
15
|
-
// the same engine the aontu grammar itself is built on -- into the
|
|
16
|
-
// registry the runtime signature checker, the error-message builder,
|
|
17
|
-
// the docs table and the LSP all consume. Neither port authors a
|
|
18
|
-
// table: go/sig.go parses the same text with the same grammar, and
|
|
19
|
-
// the shared suite round-trips every line (render(parse(line)) is the
|
|
20
|
-
// line) so the two parsers cannot drift.
|
|
21
|
-
//
|
|
22
|
-
// line = name '(' [ arg {',' arg} ] ')' ':' type
|
|
23
|
-
// arg = [mode] name ['?'] ':' type
|
|
24
|
-
// | '...' name ':' ( type | '(' [mode] type {',' [mode] type} ')' )
|
|
25
|
-
// type = word {'|' word}
|
|
26
|
-
// mode = 'capture' | 'template' | 'trial' | 'projector' | 'text'
|
|
27
|
-
//
|
|
28
|
-
// `value` mode is unmarked; the five marked modes are the vocabulary
|
|
29
|
-
// plain pseudo-TypeScript cannot say (a captured spelling is not a
|
|
30
|
-
// string value). The grammar is line-oriented: the loader strips
|
|
31
|
-
// comment and blank lines and parses each declaration line alone, so
|
|
32
|
-
// the grammar never sees line structure.
|
|
33
9
|
const parser_1 = require("@tabnas/parser");
|
|
34
10
|
const sigdecl_1 = require("./sigdecl");
|
|
35
11
|
const ARG_MODES = {
|
|
36
12
|
capture: true, template: true, trial: true, projector: true, text: true,
|
|
37
13
|
};
|
|
38
|
-
// The signature grammar, as a tabnas grammar plugin. Rules: sig (the
|
|
39
|
-
// line) -> args -> arg -> argtype -> type | group -> gmember. Alts
|
|
40
|
-
// match at most two tokens, the engine's shape; lists loop the
|
|
41
|
-
// json-grammar way (the element rule replaces itself on ',' and
|
|
42
|
-
// backtracks the closer for its parent to consume).
|
|
43
14
|
function sigGrammar(tn) {
|
|
44
15
|
tn.options({
|
|
45
16
|
fixed: {
|
|
@@ -266,12 +237,6 @@ function parseSigText(text) {
|
|
|
266
237
|
}
|
|
267
238
|
return reg;
|
|
268
239
|
}
|
|
269
|
-
// The parsed registry, built once from the inlined declaration -- the
|
|
270
|
-
// one source every consumer (the arity tables, the runtime gate, the
|
|
271
|
-
// hints, the docs table, the LSP) reads. A parse failure here throws
|
|
272
|
-
// at module load: the inlined text is repository content whose parse
|
|
273
|
-
// the round-trip suite gates, so a failure is a build defect, not a
|
|
274
|
-
// runtime condition. Twin: funcSig in go/sig.go.
|
|
275
240
|
const funcSig = parseSigText(sigdecl_1.SIGDECL); /* node:coverage ignore next 9 */
|
|
276
241
|
exports.funcSig = funcSig;
|
|
277
242
|
//# sourceMappingURL=sig.js.map
|
package/dist/sig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"sig.js","sourceRoot":"","sources":["../src/sig.ts"],"names":[],"mappings":"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"}
|