aontu 0.61.0 → 0.62.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 +3 -3
- package/dist/agentsmd.d.ts +1 -0
- package/dist/agentsmd.js +7 -1
- package/dist/agentsmd.js.map +1 -1
- package/dist/allow.d.ts +23 -0
- package/dist/allow.js +230 -0
- package/dist/allow.js.map +1 -0
- package/dist/aontu.d.ts +4 -2
- package/dist/aontu.js +4 -2
- package/dist/aontu.js.map +1 -1
- package/dist/cli.d.ts +10 -1
- package/dist/cli.js +941 -24
- package/dist/cli.js.map +1 -1
- package/dist/format.js +57 -1
- package/dist/format.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.js +15 -2
- package/dist/hints.js.map +1 -1
- package/dist/lang.js +93 -40
- package/dist/lang.js.map +1 -1
- package/dist/lower.d.ts +3 -0
- package/dist/lower.js +3 -0
- package/dist/lower.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +1 -1
- package/dist/lsp.js.map +1 -1
- package/dist/relation.d.ts +2 -0
- package/dist/relation.js +7 -1
- package/dist/relation.js.map +1 -1
- package/dist/render.js +26 -21
- package/dist/render.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/std.js +104 -69
- package/dist/std.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/val/AggFuncVal.js +2 -2
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.d.ts +20 -0
- package/dist/val/CmpFuncVal.js +245 -0
- package/dist/val/CmpFuncVal.js.map +1 -0
- package/dist/val/EachFuncVal.d.ts +1 -2
- package/dist/val/EachFuncVal.js +15 -29
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/FormFuncVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +17 -1
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/NamerFuncVal.d.ts +12 -0
- package/dist/val/NamerFuncVal.js +176 -0
- package/dist/val/NamerFuncVal.js.map +1 -0
- package/dist/val/NilVal.js +29 -3
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.d.ts +12 -0
- package/dist/val/NomFuncVal.js +187 -0
- package/dist/val/NomFuncVal.js.map +1 -0
- package/dist/val/PackFuncVal.js +3 -3
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/RefVal.js +1 -1
- package/dist/val/TranslateFuncVal.d.ts +12 -0
- package/dist/val/TranslateFuncVal.js +101 -0
- package/dist/val/TranslateFuncVal.js.map +1 -0
- package/dist/val/UpperFuncVal.js +17 -1
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/caserange.d.ts +3 -0
- package/dist/val/caserange.js +110 -0
- package/dist/val/caserange.js.map +1 -0
- package/dist/vet.d.ts +12 -0
- package/dist/vet.js +209 -1
- package/dist/vet.js.map +1 -1
- package/grammar/aontu.abnf +1 -1
- package/grammar/aontu.gbnf +1 -1
- package/grammar/aontu.lark +1 -1
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +1 -1
- 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 +13 -2
- package/src/allow.ts +316 -0
- package/src/aontu.ts +10 -1
- package/src/cli.ts +1066 -28
- package/src/format.ts +75 -3
- package/src/helpdoc.ts +77 -0
- package/src/hints.ts +16 -2
- package/src/lang.ts +98 -42
- package/src/lower.ts +3 -3
- package/src/lsp.ts +1 -1
- package/src/relation.ts +21 -1
- package/src/render.ts +26 -21
- package/src/sigdecl.ts +1 -1
- package/src/std.ts +104 -69
- package/src/val/AggFuncVal.ts +2 -2
- package/src/val/CmpFuncVal.ts +411 -0
- package/src/val/EachFuncVal.ts +49 -50
- package/src/val/LowerFuncVal.ts +18 -1
- package/src/val/NilVal.ts +29 -3
- package/src/val/NomFuncVal.ts +287 -0
- package/src/val/PackFuncVal.ts +3 -3
- package/src/val/RefVal.ts +1 -1
- package/src/val/TranslateFuncVal.ts +182 -0
- package/src/val/UpperFuncVal.ts +18 -1
- package/src/val/caserange.ts +115 -0
- package/src/vet.ts +287 -1
- package/src/val/FormFuncVal.ts +0 -119
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggFuncVal.js","sourceRoot":"","sources":["../../src/val/AggFuncVal.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AggFuncVal.js","sourceRoot":"","sources":["../../src/val/AggFuncVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Val, ValSpec } from '../type';
|
|
2
|
+
import { AontuContext } from '../ctx';
|
|
3
|
+
import { FuncBaseVal } from './FuncBaseVal';
|
|
4
|
+
type CmpDef = {
|
|
5
|
+
cmp: string;
|
|
6
|
+
children: string[];
|
|
7
|
+
text?: string;
|
|
8
|
+
req: boolean;
|
|
9
|
+
bag?: string;
|
|
10
|
+
};
|
|
11
|
+
declare const CMP_DEF: Record<string, CmpDef>;
|
|
12
|
+
declare class CmpFuncVal extends FuncBaseVal {
|
|
13
|
+
isCmpFunc: boolean;
|
|
14
|
+
cmp: string;
|
|
15
|
+
constructor(cmp: string, spec: ValSpec, ctx?: AontuContext);
|
|
16
|
+
funcname(): string;
|
|
17
|
+
resolve(ctx: AontuContext, args: Val[]): Val;
|
|
18
|
+
}
|
|
19
|
+
declare const CMP_FUNCS: Record<string, any>;
|
|
20
|
+
export { CMP_DEF, CMP_FUNCS, CmpFuncVal, };
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* Copyright (c) 2026 Richard Rodger, MIT License */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CmpFuncVal = exports.CMP_FUNCS = exports.CMP_DEF = void 0;
|
|
5
|
+
const err_1 = require("../err");
|
|
6
|
+
const MapVal_1 = require("./MapVal");
|
|
7
|
+
const ListVal_1 = require("./ListVal");
|
|
8
|
+
const StringVal_1 = require("./StringVal");
|
|
9
|
+
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
10
|
+
// EIGHT OF JOSTRACA'S TEN COMPONENTS. `Copy` and `List` are missing and
|
|
11
|
+
// cannot be added under these rules: `copy` and `list` are already
|
|
12
|
+
// aontu builtins with settled, unrelated meanings -- `copy(v)` copies a
|
|
13
|
+
// VALUE and `list()` is the list container kind, both declared in
|
|
14
|
+
// test/spec/signature.tsv and implemented in both ports. Lower-casing
|
|
15
|
+
// jostraca's names onto them would either shadow landed language
|
|
16
|
+
// surface or make one name mean two things by arity, and neither is a
|
|
17
|
+
// trade a spike gets to make. See docs/design/JOSTRACA.0.md.
|
|
18
|
+
const CMP_DEF = {
|
|
19
|
+
// The output root. Its `folder` is refused an absolute path or a
|
|
20
|
+
// `..` segment on the jostraca side, where the tree is data.
|
|
21
|
+
project: {
|
|
22
|
+
cmp: 'Project', text: 'folder', req: false,
|
|
23
|
+
children: ['project', 'folder', 'file', 'copyfiles'],
|
|
24
|
+
},
|
|
25
|
+
folder: {
|
|
26
|
+
cmp: 'Folder', text: 'name', req: true,
|
|
27
|
+
children: ['folder', 'file', 'copyfiles'],
|
|
28
|
+
},
|
|
29
|
+
file: {
|
|
30
|
+
cmp: 'File', text: 'name', req: true,
|
|
31
|
+
children: ['content', 'line', 'fragment', 'inject', 'listitems', 'copyfiles'],
|
|
32
|
+
},
|
|
33
|
+
// A span of text, exactly as written. `FileOp` joins a file's spans
|
|
34
|
+
// with the empty string, so a `content` carries its own terminator.
|
|
35
|
+
content: {
|
|
36
|
+
cmp: 'Content', text: 'src', req: true,
|
|
37
|
+
children: [],
|
|
38
|
+
},
|
|
39
|
+
// A span with a newline added, which is the whole difference.
|
|
40
|
+
line: {
|
|
41
|
+
cmp: 'Line', text: 'src', req: true,
|
|
42
|
+
children: [],
|
|
43
|
+
},
|
|
44
|
+
// A file read from disk with its `<[SLOT]>` markers filled.
|
|
45
|
+
fragment: {
|
|
46
|
+
cmp: 'Fragment', text: 'from', req: true,
|
|
47
|
+
children: ['slot', 'content', 'line', 'listitems'],
|
|
48
|
+
},
|
|
49
|
+
slot: {
|
|
50
|
+
cmp: 'Slot', text: 'name', req: true,
|
|
51
|
+
children: ['content', 'line', 'fragment', 'listitems'],
|
|
52
|
+
},
|
|
53
|
+
// A body written between markers in a file that already exists.
|
|
54
|
+
inject: {
|
|
55
|
+
cmp: 'Inject', text: 'name', req: true,
|
|
56
|
+
children: ['content', 'line', 'listitems'],
|
|
57
|
+
},
|
|
58
|
+
// `Copy` under a name aontu has free: `copy` is taken by the builtin
|
|
59
|
+
// that copies a VALUE, and a file copy is a different verb.
|
|
60
|
+
copyfiles: {
|
|
61
|
+
cmp: 'CopyFiles', text: 'from', req: true,
|
|
62
|
+
children: [],
|
|
63
|
+
},
|
|
64
|
+
// `List` under a name that says what it does: it renders its children
|
|
65
|
+
// ONCE PER ELEMENT of `item`, binding jostraca's `{item}` and
|
|
66
|
+
// `{item.path}` macros, and adds a trailing blank line unless
|
|
67
|
+
// `line: false`.
|
|
68
|
+
//
|
|
69
|
+
// IT IS THE ONE COMPONENT THE AONTU SIDE ALREADY SUBSUMES, and a
|
|
70
|
+
// generator should reach for `each()` first. `each($.rows, content(...))`
|
|
71
|
+
// repeats in the MODEL, so the repetition is finished before the tree
|
|
72
|
+
// exists and every produced node is data a document can reference,
|
|
73
|
+
// vet and diff. `listitems` defers it into jostraca's define phase behind
|
|
74
|
+
// a string macro aontu cannot see into -- which is the layer this
|
|
75
|
+
// spike exists to remove. It is here so the component set is
|
|
76
|
+
// complete, not because it is the better spelling.
|
|
77
|
+
listitems: {
|
|
78
|
+
cmp: 'ListItems', req: true, bag: 'item',
|
|
79
|
+
children: ['content', 'line', 'fragment'],
|
|
80
|
+
},
|
|
81
|
+
};
|
|
82
|
+
exports.CMP_DEF = CMP_DEF;
|
|
83
|
+
// The component name a value carries, when the value is a node this
|
|
84
|
+
// vocabulary built. Read structurally rather than by class, because a
|
|
85
|
+
// node reaches a children list as a MAP -- through a reference, a
|
|
86
|
+
// `each()` instance, a spread -- long after the call that made it has
|
|
87
|
+
// resolved away.
|
|
88
|
+
const BY_CMP = {};
|
|
89
|
+
for (const fname of Object.keys(CMP_DEF)) {
|
|
90
|
+
BY_CMP[CMP_DEF[fname].cmp] = fname;
|
|
91
|
+
}
|
|
92
|
+
function nodeCmp(v) {
|
|
93
|
+
if (true !== v?.isMap) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
const cmp = v.peg?.cmp;
|
|
97
|
+
const name = (true === cmp?.isScalar && 'string' === typeof cmp.peg) ?
|
|
98
|
+
cmp.peg : undefined;
|
|
99
|
+
// The node carries the JOSTRACA name; the grammar is written in aontu
|
|
100
|
+
// names, so read it back through the one table.
|
|
101
|
+
return (undefined === name) ? undefined : BY_CMP[name];
|
|
102
|
+
}
|
|
103
|
+
// A prop's text, when the prop is a concrete string.
|
|
104
|
+
function propText(props, key) {
|
|
105
|
+
const v = props?.peg?.[key];
|
|
106
|
+
return (true === v?.isScalar && 'string' === typeof v.peg) ? v.peg : undefined;
|
|
107
|
+
}
|
|
108
|
+
class CmpFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
109
|
+
constructor(cmp, spec, ctx) {
|
|
110
|
+
super(spec, ctx);
|
|
111
|
+
this.isCmpFunc = true;
|
|
112
|
+
this.cmp = cmp;
|
|
113
|
+
}
|
|
114
|
+
funcname() {
|
|
115
|
+
return this.cmp;
|
|
116
|
+
}
|
|
117
|
+
resolve(ctx, args) {
|
|
118
|
+
const def = CMP_DEF[this.cmp];
|
|
119
|
+
const leaf = 0 === def.children.length;
|
|
120
|
+
// ARITY, refused here (see the spike-scope note above): a leaf
|
|
121
|
+
// takes its spec alone, a container takes a spec and an optional
|
|
122
|
+
// children list.
|
|
123
|
+
// A component whose text prop is OPTIONAL may be called with
|
|
124
|
+
// nothing at all: `project()` is the defaulted root, as
|
|
125
|
+
// `project({})` is on the other side. Everything else needs its
|
|
126
|
+
// spec.
|
|
127
|
+
if (args.length < (def.req ? 1 : 0) || args.length > (leaf ? 1 : 2)) {
|
|
128
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, undefined, 'arity');
|
|
129
|
+
}
|
|
130
|
+
// THE SPEC IS A STRING OR A PROPS MAP. The string spelling fills
|
|
131
|
+
// the one prop the component cannot work without, so the common
|
|
132
|
+
// case reads as the component does -- `file("main.ts", ...)` --
|
|
133
|
+
// and the map spelling is there the moment a second prop is
|
|
134
|
+
// wanted: `file({name: "run.sh", mode: 0o755}, ...)`.
|
|
135
|
+
const spec = args[0];
|
|
136
|
+
let props;
|
|
137
|
+
if (undefined === spec) {
|
|
138
|
+
props = new MapVal_1.MapVal({ peg: {} }, ctx);
|
|
139
|
+
}
|
|
140
|
+
else if (true === spec?.isScalar && 'string' === typeof spec.peg) {
|
|
141
|
+
if (undefined === def.text) {
|
|
142
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, spec, 'spec');
|
|
143
|
+
}
|
|
144
|
+
props = new MapVal_1.MapVal({ peg: { [def.text]: spec } }, ctx);
|
|
145
|
+
}
|
|
146
|
+
else if (true === spec?.isMap) {
|
|
147
|
+
props = spec;
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, spec, 'spec');
|
|
151
|
+
}
|
|
152
|
+
// The one prop that is not the component's own business: without
|
|
153
|
+
// it there is no file to write and no content to write into one.
|
|
154
|
+
if (undefined !== def.text) {
|
|
155
|
+
const text = propText(props, def.text);
|
|
156
|
+
if (def.req && (undefined === text || '' === text)) {
|
|
157
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, props, def.text);
|
|
158
|
+
}
|
|
159
|
+
if (!def.req && undefined !== props.peg?.[def.text] &&
|
|
160
|
+
undefined === text) {
|
|
161
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, props, def.text);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
// A bag prop is required and must be a list: `listitems` with no
|
|
165
|
+
// `item` renders nothing, silently, which is the failure a data
|
|
166
|
+
// path must not have.
|
|
167
|
+
if (undefined !== def.bag) {
|
|
168
|
+
const bag = props.peg?.[def.bag];
|
|
169
|
+
if (true !== bag?.isList) {
|
|
170
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, props, def.bag);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
// THE CHILDREN, flattened, then the containment grammar. Absent
|
|
174
|
+
// is empty -- an empty folder and a file with no content are both
|
|
175
|
+
// things a model may legitimately say -- and every node that
|
|
176
|
+
// survives the flattening must be one this component admits.
|
|
177
|
+
const kids = args[1];
|
|
178
|
+
let children;
|
|
179
|
+
if (undefined === kids) {
|
|
180
|
+
children = new ListVal_1.ListVal({ peg: [] }, ctx);
|
|
181
|
+
}
|
|
182
|
+
else if (true === kids?.isList) {
|
|
183
|
+
const flat = [];
|
|
184
|
+
const splice = (list) => {
|
|
185
|
+
for (const kid of list) {
|
|
186
|
+
if (true === kid?.isList) {
|
|
187
|
+
const bad = splice(kid.peg);
|
|
188
|
+
if (undefined !== bad) {
|
|
189
|
+
return bad;
|
|
190
|
+
}
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
const kcmp = nodeCmp(kid);
|
|
194
|
+
if (undefined === kcmp || !def.children.includes(kcmp)) {
|
|
195
|
+
return kid;
|
|
196
|
+
}
|
|
197
|
+
flat.push(kid);
|
|
198
|
+
}
|
|
199
|
+
return undefined;
|
|
200
|
+
};
|
|
201
|
+
const bad = splice(kids.peg);
|
|
202
|
+
if (undefined !== bad) {
|
|
203
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, bad, 'children');
|
|
204
|
+
}
|
|
205
|
+
children = new ListVal_1.ListVal({ peg: flat }, ctx);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
return (0, err_1.makeNilErr)(ctx, 'invalid-arg', this, kids, 'children');
|
|
209
|
+
}
|
|
210
|
+
const node = new MapVal_1.MapVal({
|
|
211
|
+
peg: {
|
|
212
|
+
cmp: new StringVal_1.StringVal({ peg: def.cmp }, ctx),
|
|
213
|
+
props,
|
|
214
|
+
children,
|
|
215
|
+
}
|
|
216
|
+
}, ctx);
|
|
217
|
+
// Closed: the three keys ARE the node vocabulary (see the note
|
|
218
|
+
// above). `props` is left open on purpose.
|
|
219
|
+
node.closed = true;
|
|
220
|
+
return this.place(node);
|
|
221
|
+
}
|
|
222
|
+
} /* node:coverage ignore next 3 */
|
|
223
|
+
exports.CmpFuncVal = CmpFuncVal;
|
|
224
|
+
// ONE CLASS PER COMPONENT, generated from the table, because the
|
|
225
|
+
// registry constructs by `new funcval({peg: args})` and so needs a
|
|
226
|
+
// constructor per name. Written as a factory rather than eight
|
|
227
|
+
// near-identical subclasses: the table is the single statement of what
|
|
228
|
+
// exists, and a ninth component is a row in it and nothing else.
|
|
229
|
+
function cmpFuncClass(fname) {
|
|
230
|
+
class Cmp extends CmpFuncVal {
|
|
231
|
+
constructor(spec, ctx) {
|
|
232
|
+
super(fname, spec, ctx);
|
|
233
|
+
}
|
|
234
|
+
make(_ctx, spec) {
|
|
235
|
+
return new Cmp(spec);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return Cmp;
|
|
239
|
+
}
|
|
240
|
+
const CMP_FUNCS = {};
|
|
241
|
+
exports.CMP_FUNCS = CMP_FUNCS;
|
|
242
|
+
for (const fname of Object.keys(CMP_DEF)) {
|
|
243
|
+
CMP_FUNCS[fname] = cmpFuncClass(fname);
|
|
244
|
+
} /* node:coverage ignore next 7 */
|
|
245
|
+
//# sourceMappingURL=CmpFuncVal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmpFuncVal.js","sourceRoot":"","sources":["../../src/val/CmpFuncVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,6 @@ import type { Val, ValSpec } from '../type';
|
|
|
2
2
|
import { AontuContext } from '../ctx';
|
|
3
3
|
import { ListVal } from './ListVal';
|
|
4
4
|
import { FuncBaseVal } from './FuncBaseVal';
|
|
5
|
-
declare function dataValues(data: Val | undefined, ctx: AontuContext): Val[] | string;
|
|
6
5
|
declare class EachFuncVal extends FuncBaseVal {
|
|
7
6
|
isEachFunc: boolean;
|
|
8
7
|
staged: boolean;
|
|
@@ -12,4 +11,4 @@ declare class EachFuncVal extends FuncBaseVal {
|
|
|
12
11
|
unify(peer: Val, ctx: AontuContext): Val;
|
|
13
12
|
resolve(ctx: AontuContext, args: Val[]): ListVal | import("./NilVal").NilVal;
|
|
14
13
|
}
|
|
15
|
-
export {
|
|
14
|
+
export { EachFuncVal, };
|
package/dist/val/EachFuncVal.js
CHANGED
|
@@ -2,26 +2,18 @@
|
|
|
2
2
|
/* Copyright (c) 2025 Richard Rodger, MIT License */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.EachFuncVal = void 0;
|
|
5
|
-
exports.dataValues = dataValues;
|
|
6
|
-
const unify_1 = require("../unify");
|
|
7
5
|
const err_1 = require("../err");
|
|
8
6
|
const ListVal_1 = require("./ListVal");
|
|
9
7
|
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
10
8
|
const Val_1 = require("./Val");
|
|
11
9
|
const PlaceVal_1 = require("./PlaceVal");
|
|
12
10
|
const members_1 = require("./members");
|
|
13
|
-
// The members a data bag holds, in the order the result must carry
|
|
14
|
-
// them -- what generation would emit (./members.ts, BUGS.md §79) --
|
|
15
|
-
// or the code naming what is wrong with the argument.
|
|
16
|
-
function dataValues(data, ctx) {
|
|
17
|
-
const vals = (0, members_1.memberVals)(data, ctx);
|
|
18
|
-
return undefined === vals ? 'each_data' : vals;
|
|
19
|
-
}
|
|
20
11
|
class EachFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
21
12
|
constructor(spec, ctx) {
|
|
22
13
|
super(spec, ctx);
|
|
23
14
|
this.isEachFunc = true;
|
|
24
|
-
// THE STAGING RULE, for the reason given in PackFuncVal
|
|
15
|
+
// THE STAGING RULE, for the reason given in PackFuncVal: the data
|
|
16
|
+
// is not settled merely by being `done` once.
|
|
25
17
|
this.staged = true;
|
|
26
18
|
}
|
|
27
19
|
funcname() {
|
|
@@ -33,37 +25,31 @@ class EachFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
33
25
|
}
|
|
34
26
|
unify(peer, ctx) {
|
|
35
27
|
// ONE argument is driven: the data. The template is not (see
|
|
36
|
-
// prepare above)
|
|
37
|
-
// settled -- the other half of "ready to fire".
|
|
28
|
+
// prepare above).
|
|
38
29
|
if (!this.stagedReady(peer, ctx, 1)) {
|
|
39
30
|
return this.residuate(peer, ctx);
|
|
40
31
|
}
|
|
41
32
|
return super.unify(peer, ctx);
|
|
42
33
|
}
|
|
43
34
|
resolve(ctx, args) {
|
|
44
|
-
const vals =
|
|
45
|
-
if (
|
|
46
|
-
return (0, err_1.makeNilErr)(ctx,
|
|
35
|
+
const vals = (0, members_1.memberVals)(args?.[0], ctx);
|
|
36
|
+
if (undefined === vals) {
|
|
37
|
+
return (0, err_1.makeNilErr)(ctx, 'each_data', this);
|
|
47
38
|
}
|
|
48
|
-
|
|
39
|
+
// Arity is checked at parse (funcArity), so the template is here.
|
|
40
|
+
const tmpl = args[1];
|
|
49
41
|
const peg = [];
|
|
50
42
|
for (let i = 0; i < vals.length; i++) {
|
|
51
43
|
const elctx = ctx.descend(String(i));
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (undefined !== tmpl) {
|
|
59
|
-
inst = tmpl.clone(elctx, { dup: true });
|
|
60
|
-
(0, Val_1.repathInstance)(inst, inst.path);
|
|
61
|
-
}
|
|
62
|
-
peg.push(undefined === inst ? el :
|
|
63
|
-
(0, unify_1.unite)(elctx, el, (0, PlaceVal_1.fillPlace)(inst, vals[i], elctx), 'each'));
|
|
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));
|
|
64
50
|
}
|
|
65
51
|
return new ListVal_1.ListVal({ peg }, ctx);
|
|
66
52
|
}
|
|
67
|
-
} /* node:coverage ignore next
|
|
53
|
+
} /* node:coverage ignore next 6 */
|
|
68
54
|
exports.EachFuncVal = EachFuncVal;
|
|
69
55
|
//# sourceMappingURL=EachFuncVal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
1
|
+
{"version":3,"file":"EachFuncVal.js","sourceRoot":"","sources":["../../src/val/EachFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAgDpD,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormFuncVal.js","sourceRoot":"","sources":["../../src/val/FormFuncVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;
|
|
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"}
|
package/dist/val/LowerFuncVal.js
CHANGED
|
@@ -6,6 +6,7 @@ const err_1 = require("../err");
|
|
|
6
6
|
const ScalarKindVal_1 = require("../val/ScalarKindVal");
|
|
7
7
|
const valutil_1 = require("../val/valutil");
|
|
8
8
|
const Decimal_1 = require("../val/Decimal");
|
|
9
|
+
const caserange_1 = require("./caserange");
|
|
9
10
|
const FuncBaseVal_1 = require("./FuncBaseVal");
|
|
10
11
|
class LowerFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
11
12
|
constructor(spec, ctx) {
|
|
@@ -25,7 +26,22 @@ class LowerFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
25
26
|
// internal error.
|
|
26
27
|
const arg = args?.[0];
|
|
27
28
|
const oldpeg = arg?.peg;
|
|
28
|
-
|
|
29
|
+
// THE RANGE (ts/src/val/caserange.ts): `start` names the first
|
|
30
|
+
// character of the run when it is zero or positive and the last
|
|
31
|
+
// when it is negative; `len` of -1, and the absent argument, are
|
|
32
|
+
// the source's length. Refused on a NUMBER, where a run of
|
|
33
|
+
// characters means nothing -- the numeric arm below is a ceiling,
|
|
34
|
+
// not a case mapping.
|
|
35
|
+
const start = (0, caserange_1.rangeArg)(args?.[1]);
|
|
36
|
+
const len = (0, caserange_1.rangeArg)(args?.[2]);
|
|
37
|
+
const ranged = undefined !== start || undefined !== len;
|
|
38
|
+
if (ranged &&
|
|
39
|
+
(Number.isNaN(start) || Number.isNaN(len) ||
|
|
40
|
+
'string' !== typeof oldpeg)) {
|
|
41
|
+
return this.place((0, err_1.makeNilErr)(ctx, 'invalid-arg', this, arg, 'range'));
|
|
42
|
+
}
|
|
43
|
+
const peg = 'string' === typeof oldpeg ?
|
|
44
|
+
(0, caserange_1.caseRange)(oldpeg, start ?? 0, len ?? -1, false) :
|
|
29
45
|
'number' === typeof oldpeg ? Math.floor(oldpeg) :
|
|
30
46
|
// The exact leaves take an EXACT floor and keep their kind: a
|
|
31
47
|
// biginteger is already integral so it is its own floor, and a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LowerFuncVal.js","sourceRoot":"","sources":["../../src/val/LowerFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,wDAAoD;AACpD,4CAA+C;AAC/C,4CAAwC;
|
|
1
|
+
{"version":3,"file":"LowerFuncVal.js","sourceRoot":"","sources":["../../src/val/LowerFuncVal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
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, };
|