aontu 0.63.0 → 0.65.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.
Files changed (101) hide show
  1. package/README.md +8 -8
  2. package/dist/agentsmd.js +3 -3
  3. package/dist/agentsmd.js.map +1 -1
  4. package/dist/aontu.d.ts +3 -3
  5. package/dist/aontu.js +4 -6
  6. package/dist/aontu.js.map +1 -1
  7. package/dist/aontumodel.js +6 -12
  8. package/dist/aontumodel.js.map +1 -1
  9. package/dist/casing.d.ts +5 -0
  10. package/dist/casing.js +90 -0
  11. package/dist/casing.js.map +1 -0
  12. package/dist/cli.d.ts +16 -3
  13. package/dist/cli.js +653 -455
  14. package/dist/cli.js.map +1 -1
  15. package/dist/compat.d.ts +7 -0
  16. package/dist/compat.js +113 -0
  17. package/dist/compat.js.map +1 -0
  18. package/dist/helpdoc.js +5 -5
  19. package/dist/helpdoc.js.map +1 -1
  20. package/dist/hints.js +14 -5
  21. package/dist/hints.js.map +1 -1
  22. package/dist/lang.d.ts +1 -0
  23. package/dist/lang.js +8 -0
  24. package/dist/lang.js.map +1 -1
  25. package/dist/lsp.d.ts +1 -1
  26. package/dist/mcp.js +0 -36
  27. package/dist/mcp.js.map +1 -1
  28. package/dist/mod.d.ts +18 -3
  29. package/dist/mod.js +117 -46
  30. package/dist/mod.js.map +1 -1
  31. package/dist/pkg-net.d.ts +227 -0
  32. package/dist/pkg-net.js +1598 -0
  33. package/dist/pkg-net.js.map +1 -0
  34. package/dist/pkg-zip.d.ts +8 -0
  35. package/dist/pkg-zip.js +196 -0
  36. package/dist/pkg-zip.js.map +1 -0
  37. package/dist/pkg.d.ts +159 -0
  38. package/dist/pkg.js +767 -0
  39. package/dist/pkg.js.map +1 -0
  40. package/dist/profile.d.ts +9 -0
  41. package/dist/profile.js +28 -0
  42. package/dist/profile.js.map +1 -0
  43. package/dist/report-sarif.js +1 -1
  44. package/dist/report-sarif.js.map +1 -1
  45. package/dist/subsume.d.ts +3 -1
  46. package/dist/subsume.js +2 -0
  47. package/dist/subsume.js.map +1 -1
  48. package/dist/trace.d.ts +21 -0
  49. package/dist/trace.js +107 -0
  50. package/dist/trace.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/dist/unify.js +1 -6
  53. package/dist/unify.js.map +1 -1
  54. package/dist/val/CmpFuncVal.d.ts +2 -0
  55. package/dist/val/CmpFuncVal.js +47 -13
  56. package/dist/val/CmpFuncVal.js.map +1 -1
  57. package/dist/val/NomFuncVal.js +11 -13
  58. package/dist/val/NomFuncVal.js.map +1 -1
  59. package/dist/val/ReferFuncVal.js +3 -0
  60. package/dist/val/ReferFuncVal.js.map +1 -1
  61. package/package.json +1 -1
  62. package/skill/SKILL.md +3 -3
  63. package/skill/error-codes.md +4 -4
  64. package/skill/examples.md +4 -4
  65. package/skill/grammar-card.md +1 -1
  66. package/skill/init/check.sh +2 -2
  67. package/skill/tasks.md +14 -12
  68. package/src/agentsmd.ts +3 -3
  69. package/src/aontu.ts +3 -8
  70. package/src/aontumodel.ts +6 -12
  71. package/src/casing.ts +95 -0
  72. package/src/cli.ts +758 -495
  73. package/src/compat.ts +148 -0
  74. package/src/helpdoc.ts +5 -5
  75. package/src/hints.ts +14 -7
  76. package/src/lang.ts +9 -1
  77. package/src/mcp.ts +0 -39
  78. package/src/mod.ts +142 -51
  79. package/src/pkg-net.ts +1945 -0
  80. package/src/pkg-zip.ts +228 -0
  81. package/src/pkg.ts +1018 -0
  82. package/src/profile.ts +42 -0
  83. package/src/report-sarif.ts +1 -1
  84. package/src/subsume.ts +2 -2
  85. package/src/trace.ts +157 -0
  86. package/src/unify.ts +1 -6
  87. package/src/val/CmpFuncVal.ts +66 -20
  88. package/src/val/NomFuncVal.ts +3 -5
  89. package/src/val/ReferFuncVal.ts +4 -0
  90. package/dist/lower.d.ts +0 -23
  91. package/dist/lower.js +0 -528
  92. package/dist/lower.js.map +0 -1
  93. package/dist/mod-tool.d.ts +0 -58
  94. package/dist/mod-tool.js +0 -403
  95. package/dist/mod-tool.js.map +0 -1
  96. package/dist/render.d.ts +0 -53
  97. package/dist/render.js +0 -432
  98. package/dist/render.js.map +0 -1
  99. package/src/lower.ts +0 -586
  100. package/src/mod-tool.ts +0 -561
  101. package/src/render.ts +0 -580
package/dist/lower.js DELETED
@@ -1,528 +0,0 @@
1
- "use strict";
2
- /* Copyright (c) 2025 Richard Rodger, MIT License */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.splitWords = splitWords;
5
- exports.lowerASCII = lowerASCII;
6
- exports.upperASCII = upperASCII;
7
- exports.capitalise = capitalise;
8
- exports.caseName = caseName;
9
- exports.ident = ident;
10
- exports.quote = quote;
11
- exports.literal = literal;
12
- exports.typeExpr = typeExpr;
13
- exports.lowerHeader = lowerHeader;
14
- exports.lowerDecl = lowerDecl;
15
- const exactjson_1 = require("./exactjson");
16
- function ln(at, text) {
17
- return { k: 'line', at, n: [text] };
18
- }
19
- const BLANK = { k: 'blank' };
20
- // --- identifiers -------------------------------------------------------
21
- function isUpper(c) {
22
- return 'A' <= c && c <= 'Z';
23
- }
24
- function isLower(c) {
25
- return 'a' <= c && c <= 'z';
26
- }
27
- function isDigit(c) {
28
- return '0' <= c && c <= '9';
29
- }
30
- function isASCII(c) {
31
- return c.codePointAt(0) < 0x80;
32
- }
33
- function splitWords(name) {
34
- const words = [];
35
- let cur = '';
36
- const chars = Array.from(name);
37
- for (let i = 0; i < chars.length; i++) {
38
- const c = chars[i];
39
- if ('_' === c || '-' === c || ' ' === c) {
40
- if ('' !== cur) {
41
- words.push(cur);
42
- }
43
- cur = '';
44
- continue;
45
- }
46
- if ('' !== cur) {
47
- const prev = chars[i - 1];
48
- const next = chars[i + 1];
49
- const boundary = isASCII(c) && isASCII(prev) && ((isUpper(c) && (isLower(prev) || isDigit(prev))) ||
50
- (isDigit(c) !== isDigit(prev)) ||
51
- (isUpper(c) && isUpper(prev) && undefined !== next && isLower(next)));
52
- if (boundary) {
53
- words.push(cur);
54
- cur = '';
55
- }
56
- }
57
- cur += c;
58
- }
59
- if ('' !== cur) {
60
- words.push(cur);
61
- }
62
- return words;
63
- }
64
- function lowerASCII(s) {
65
- return Array.from(s).map((c) => isUpper(c) ? String.fromCharCode(c.charCodeAt(0) + 32) : c).join('');
66
- }
67
- function upperASCII(s) {
68
- return Array.from(s).map((c) => isLower(c) ? String.fromCharCode(c.charCodeAt(0) - 32) : c).join('');
69
- }
70
- // A word capitalised: the acronym set wins, so `id` is `ID` under a
71
- // profile that lists it and `Id` under one that does not.
72
- function capitalise(word, acronyms) {
73
- const low = lowerASCII(word);
74
- for (const a of acronyms) {
75
- if (lowerASCII(a) === low) {
76
- return a;
77
- }
78
- }
79
- const chars = Array.from(low);
80
- return upperASCII(chars[0]) + chars.slice(1).join('');
81
- }
82
- // THE CASE STYLES of aontu:render's %case, over the words.
83
- function caseName(name, style, acronyms) {
84
- if ('as-is' === style) {
85
- return name;
86
- }
87
- const words = splitWords(name);
88
- if (0 === words.length) {
89
- return name;
90
- }
91
- if ('snake' === style) {
92
- return words.map(lowerASCII).join('_');
93
- }
94
- if ('screaming' === style) {
95
- return words.map(upperASCII).join('_');
96
- }
97
- if ('kebab' === style) {
98
- return words.map(lowerASCII).join('-');
99
- }
100
- const caps = words.map((w) => capitalise(w, acronyms));
101
- if ('pascal' === style) {
102
- return caps.join('');
103
- }
104
- // camel: the first word lower, and never an acronym.
105
- return lowerASCII(words[0]) + caps.slice(1).join('');
106
- }
107
- function ident(name, role, ctx, path, bare) {
108
- const rules = ctx.profile.ident ?? {};
109
- const style = rules.case?.[role] ?? 'as-is';
110
- const acronyms = rules.acronyms ?? [];
111
- let out = caseName(name, style, acronyms);
112
- if (bare && (rules.reserved ?? []).includes(out)) {
113
- ctx.lossy.push({
114
- unit: ctx.unit, path, tier: 1, construct: 'reserved',
115
- reason: out + ' is reserved in ' + ctx.profile.lang + '; renamed ' + out + '_',
116
- });
117
- out += '_';
118
- }
119
- return out;
120
- }
121
- // --- literals ----------------------------------------------------------
122
- function hex4(n) {
123
- return '\\u' + n.toString(16).padStart(4, '0');
124
- }
125
- // A string literal: the profile's quote, and one pass over the code
126
- // points through its escape table. A control character the table does
127
- // not name is a \u escape; so are the quote and the backslash when the
128
- // table is silent about them; everything else, non-ASCII and astral
129
- // included, is verbatim.
130
- function quote(s, profile) {
131
- const q = profile.str?.quote ?? '"';
132
- const table = profile.str?.escape ?? {};
133
- let out = q;
134
- for (const c of Array.from(s)) {
135
- const cp = c.codePointAt(0);
136
- const esc = table[String(cp)];
137
- if ('string' === typeof esc) {
138
- out += esc;
139
- }
140
- else if (cp < 0x20 || 0x7f === cp || c === q || '\\' === c) {
141
- out += hex4(cp);
142
- }
143
- else {
144
- out += c;
145
- }
146
- }
147
- return out + q;
148
- }
149
- // A literal value as the target spells it: a string quoted, a number
150
- // through exactJSON (no second number formatter), a boolean as is, and
151
- // null as the family's null.
152
- function literal(v, ctx) {
153
- if ('string' === typeof v) {
154
- return quote(v, ctx.profile);
155
- }
156
- if (null === v) {
157
- return 'go' === ctx.family ? 'nil' : 'null';
158
- }
159
- if ('boolean' === typeof v) {
160
- return v ? 'true' : 'false';
161
- }
162
- return (0, exactjson_1.exactJSON)(v);
163
- }
164
- function form(ctx, name) {
165
- return ctx.profile.types?.[name] ?? { open: '', close: '', prec: 9, childPrec: 0 };
166
- }
167
- function under(inner, f) {
168
- return inner.prec < f.childPrec ? '(' + inner.text + ')' : inner.text;
169
- }
170
- function loss(ctx, path, construct, reason) {
171
- ctx.lossy.push({ unit: ctx.unit, path, tier: 1, construct, reason });
172
- }
173
- // The primitive kind a literal set shares, for a family with no
174
- // literal type: strings, integers, floats, booleans, null, or any.
175
- function litPrim(of) {
176
- const kinds = of.map((v) => null === v ? 'null' : typeof v);
177
- const first = kinds[0];
178
- if (!kinds.every((k) => k === first)) {
179
- return 'any';
180
- }
181
- if ('number' === first) {
182
- return of.every((v) => Number.isInteger(v)) ? 'int' : 'float';
183
- }
184
- return 'string' === first ? 'string' : 'boolean' === first ? 'bool' : 'null';
185
- }
186
- function prim(ctx, name) {
187
- return ctx.profile.types?.prim?.[name] ?? name;
188
- }
189
- // THE TYPE EXPRESSION, from the profile's type forms (D6): an atom has
190
- // prec 9; a form is `open + inner + close`, its precedence its own, its
191
- // inner parenthesised below childPrec. A `text` leaf is verbatim
192
- // target syntax and tier 3, as a text declaration is.
193
- function typeExpr(t, ctx, path) {
194
- const k = t.k;
195
- if ('prim' === k) {
196
- return { text: prim(ctx, t.prim), prec: 9 };
197
- }
198
- if ('ref' === k) {
199
- return { text: ident(t.name, 'record', ctx, path, false), prec: 9 };
200
- }
201
- if ('text' === k) {
202
- ctx.lossy.push({
203
- unit: ctx.unit, path, tier: 3, construct: 'text',
204
- reason: 'verbatim ' + t.lang + ': the renderer checks nothing in it',
205
- });
206
- return { text: t.text, prec: 9 };
207
- }
208
- if ('list' === k) {
209
- const f = form(ctx, 'list');
210
- return { text: f.open + under(typeExpr(t.n, ctx, path + '.n'), f) + f.close, prec: f.prec };
211
- }
212
- if ('map' === k) {
213
- const f = form(ctx, 'map');
214
- const key = under(typeExpr(t.key, ctx, path + '.key'), f);
215
- const of = under(typeExpr(t.n, ctx, path + '.n'), f);
216
- const sep = 'go' === ctx.family ? ']' : ', ';
217
- return { text: f.open + key + sep + of + f.close, prec: f.prec };
218
- }
219
- if ('opt' === k) {
220
- const f = form(ctx, 'opt');
221
- return { text: f.open + under(typeExpr(t.n, ctx, path + '.n'), f) + f.close, prec: f.prec };
222
- }
223
- if ('union' === k) {
224
- if ('go' === ctx.family) {
225
- loss(ctx, path, 'union', 'go has no union type: any');
226
- return { text: prim(ctx, 'any'), prec: 9 };
227
- }
228
- const f = form(ctx, 'union');
229
- const members = t.n.map((m, i) => under(typeExpr(m, ctx, path + '.n.' + i), f));
230
- return { text: f.open + members.join(' | ') + f.close, prec: f.prec };
231
- }
232
- // lit
233
- if ('go' === ctx.family) {
234
- const p = litPrim(t.n);
235
- loss(ctx, path, 'lit', 'go has no literal type: ' + p);
236
- return { text: prim(ctx, p), prec: 9 };
237
- }
238
- const f = form(ctx, 'lit');
239
- const lits = t.n.map((v) => literal(v, ctx));
240
- return { text: f.open + lits.join(' | ') + f.close, prec: f.prec };
241
- }
242
- // --- comments ----------------------------------------------------------
243
- // A doc comment as pieces at a depth: the profile's doc form -- open,
244
- // a prefix per line, close -- and the line form when a profile has no
245
- // doc form. A deprecation is the last line, in the family's spelling.
246
- function doc(d, at, ctx) {
247
- if (null == d) {
248
- return [];
249
- }
250
- const forms = ctx.profile.comment ?? {};
251
- const f = forms.doc ?? forms.line ?? { prefix: '// ' };
252
- const prefix = f.prefix ?? '';
253
- const lines = String(d.text).split('\n');
254
- if (null != d.deprecated) {
255
- const dep = d.deprecated;
256
- const note = [dep.msg, dep.use ? 'use ' + dep.use : '', dep.since ? 'since ' + dep.since : '']
257
- .filter((s) => s).join('; ');
258
- lines.push('go' === ctx.family ? 'Deprecated: ' + note : '@deprecated ' + note);
259
- }
260
- const out = [];
261
- if (null != f.open) {
262
- out.push(ln(at, f.open));
263
- }
264
- for (const l of lines) {
265
- out.push(ln(at, (prefix + l).replace(/[ \t]+$/, '')));
266
- }
267
- if (null != f.close) {
268
- out.push(ln(at, f.close));
269
- }
270
- return out;
271
- }
272
- function checks(list, path, ctx) {
273
- (list ?? []).forEach((c, i) => {
274
- loss(ctx, path + '.check.' + i, 'check', 'the check ' + c.c + ' is not enforced by the ' + ctx.profile.lang + ' type system');
275
- });
276
- }
277
- // --- the unit header ---------------------------------------------------
278
- // The path from one unit's directory to another unit, for a TypeScript
279
- // import: `./other` beside, `../shared/x` across, the extension gone.
280
- function relImport(from, to) {
281
- const a = from.split('/').slice(0, -1);
282
- const b = to.split('/');
283
- const file = b.pop().replace(/\.[^.]*$/, '');
284
- let i = 0;
285
- while (i < a.length && i < b.length && a[i] === b[i]) {
286
- i++;
287
- }
288
- const up = a.slice(i).map(() => '..');
289
- const parts = [...up, ...b.slice(i), file];
290
- return (0 === up.length ? './' : '') + parts.join('/');
291
- }
292
- // Imports derived from `{k:"ref", unit}` nodes, in order of first
293
- // appearance, grouped by unit -- TypeScript only: a Go reference names
294
- // a type in the same package.
295
- function derivedImports(unit) {
296
- const groups = [];
297
- const visit = (t) => {
298
- if (null == t || 'object' !== typeof t) {
299
- return;
300
- }
301
- if (Array.isArray(t)) {
302
- t.forEach(visit);
303
- return;
304
- }
305
- if ('ref' === t.k && 'string' === typeof t.unit) {
306
- let g = groups.find((x) => x.from === t.unit);
307
- if (undefined === g) {
308
- g = { from: t.unit, names: [] };
309
- groups.push(g);
310
- }
311
- if (!g.names.includes(t.name)) {
312
- g.names.push(t.name);
313
- }
314
- return;
315
- }
316
- for (const key of ['type', 'n', 'key', 'returns', 'fields', 'params']) {
317
- visit(t[key]);
318
- }
319
- };
320
- visit(unit.decls);
321
- return groups;
322
- }
323
- // The banner from `code.source`, the package clause, and the imports:
324
- // what stands before the declarations, each part followed by a blank.
325
- function lowerHeader(unit, source, ctx) {
326
- const parts = [];
327
- const banner = ctx.profile.banner;
328
- if (null != banner && null != source?.path) {
329
- const prefix = ctx.profile.comment?.line?.prefix ?? '';
330
- parts.push([prefix + banner.split('{path}').join(source.path)
331
- .split('{hash}').join(source.hash ?? '')]);
332
- }
333
- if ('go' === ctx.family && 'string' === typeof unit.pkg) {
334
- parts.push(['package ' + unit.pkg]);
335
- }
336
- const imports = [...(unit.imports ?? [])];
337
- if ('typescript' === ctx.family) {
338
- for (const g of derivedImports(unit)) {
339
- imports.push({
340
- from: relImport(unit.path, g.from),
341
- names: g.names.map((n) => ident(n, 'record', ctx, '', false)),
342
- });
343
- }
344
- }
345
- if (0 < imports.length) {
346
- const lines = [];
347
- if ('go' === ctx.family) {
348
- const spell = (im) => (null == im.alias ? '' : im.alias + ' ') + quote(im.from, ctx.profile);
349
- if (1 === imports.length) {
350
- lines.push('import ' + spell(imports[0]));
351
- }
352
- else {
353
- lines.push('import (');
354
- for (const im of imports) {
355
- lines.push(ln(1, spell(im)));
356
- }
357
- lines.push(')');
358
- }
359
- }
360
- else {
361
- for (const im of imports) {
362
- const from = quote(im.from, ctx.profile);
363
- if (Array.isArray(im.names) && 0 < im.names.length) {
364
- lines.push('import { ' + im.names.join(', ') + ' } from ' + from + ';');
365
- }
366
- else if (null != im.alias) {
367
- lines.push('import * as ' + im.alias + ' from ' + from + ';');
368
- }
369
- else {
370
- lines.push('import ' + from + ';');
371
- }
372
- }
373
- }
374
- parts.push(lines);
375
- }
376
- // The parts, a blank between each two; the fold puts the blank
377
- // after the last when a declaration follows.
378
- const out = [];
379
- parts.forEach((part, i) => {
380
- if (0 < i) {
381
- out.push(BLANK);
382
- }
383
- out.push(...part);
384
- });
385
- return out;
386
- }
387
- // --- declarations ------------------------------------------------------
388
- // A body fragment's pieces, one level deeper: a bare string is a line
389
- // at depth 1, a line or a raw keeps its shape at `at + 1`, a blank is
390
- // a blank.
391
- function nest(pieces) {
392
- return pieces.map((p) => 'string' === typeof p ? ln(1, p)
393
- : 'blank' === p.k ? p : { ...p, at: (p.at ?? 0) + 1 });
394
- }
395
- function params(list, ctx, path) {
396
- return list.map((p, i) => {
397
- const ppath = path + '.params.' + i;
398
- const name = ident(p.name, 'param', ctx, ppath + '.name', true);
399
- const type = typeExpr(p.type, ctx, ppath + '.type').text;
400
- if ('go' === ctx.family) {
401
- if (undefined !== p.default) {
402
- loss(ctx, ppath + '.default', 'default', 'go has no default parameter: the default of ' + p.name + ' is dropped');
403
- }
404
- return name + ' ' + type;
405
- }
406
- return name + ': ' + type +
407
- (undefined === p.default ? '' : ' = ' + literal(p.default, ctx));
408
- }).join(', ');
409
- }
410
- // The lowering of one declaration to pieces. A `frag` and a `text`
411
- // never arrive here: the fold takes those itself.
412
- function lowerDecl(decl, path, ctx) {
413
- const go = 'go' === ctx.family;
414
- const out = [];
415
- const k = decl.k;
416
- if ('record' === k) {
417
- const name = ident(decl.name, 'record', ctx, path + '.name', true);
418
- out.push(...doc(decl.doc, 0, ctx));
419
- out.push(go ? 'type ' + name + ' struct {' : 'export interface ' + name + ' {');
420
- decl.fields.forEach((f, i) => {
421
- const fpath = path + '.fields.' + i;
422
- out.push(...doc(f.doc, 1, ctx));
423
- const fname = ident(f.name, 'field', ctx, fpath + '.name', false);
424
- const type = typeExpr(f.type, ctx, fpath + '.type');
425
- checks(f.check, fpath, ctx);
426
- const opt = true === f.optional;
427
- if (go) {
428
- const star = opt && 'opt' !== f.type.k ? '*' : '';
429
- out.push(ln(1, fname + ' ' + star + type.text +
430
- ' `json:"' + f.name + (opt ? ',omitempty' : '') + '"`'));
431
- }
432
- else {
433
- out.push(ln(1, fname + (opt ? '?' : '') + ': ' + type.text + ';'));
434
- }
435
- if (undefined !== f.default) {
436
- loss(ctx, fpath + '.default', 'default', 'a field default is not expressed by a ' +
437
- (go ? 'go struct' : 'typescript interface'));
438
- }
439
- });
440
- if (true === decl.open) {
441
- if (go) {
442
- loss(ctx, path + '.open', 'open', 'go has no open struct: extra keys are dropped');
443
- }
444
- else {
445
- out.push(ln(1, '[key: string]: unknown;'));
446
- }
447
- }
448
- checks(decl.check, path, ctx);
449
- out.push('}');
450
- return out;
451
- }
452
- if ('enum' === k) {
453
- const name = ident(decl.name, 'enum', ctx, path + '.name', true);
454
- out.push(...doc(decl.doc, 0, ctx));
455
- const members = decl.members;
456
- if (go) {
457
- const numeric = 0 < members.length &&
458
- members.every((m) => 'number' === typeof m.value);
459
- out.push('type ' + name + ' ' + prim(ctx, numeric ? 'int' : 'string'));
460
- out.push(BLANK, 'const (');
461
- members.forEach((m, i) => {
462
- out.push(...doc(m.doc, 1, ctx));
463
- const mname = name + ident(m.name, 'member', ctx, path + '.members.' + i + '.name', false);
464
- const value = undefined === m.value ? quote(m.name, ctx.profile) : literal(m.value, ctx);
465
- out.push(ln(1, mname + ' ' + name + ' = ' + value));
466
- });
467
- out.push(')');
468
- }
469
- else {
470
- out.push('export enum ' + name + ' {');
471
- members.forEach((m, i) => {
472
- out.push(...doc(m.doc, 1, ctx));
473
- const mname = ident(m.name, 'member', ctx, path + '.members.' + i + '.name', false);
474
- out.push(ln(1, mname + (undefined === m.value ? '' : ' = ' + literal(m.value, ctx)) + ','));
475
- });
476
- out.push('}');
477
- }
478
- return out;
479
- }
480
- if ('alias' === k) {
481
- const name = ident(decl.name, 'alias', ctx, path + '.name', true);
482
- out.push(...doc(decl.doc, 0, ctx));
483
- const type = typeExpr(decl.type, ctx, path + '.type').text;
484
- checks(decl.check, path, ctx);
485
- out.push(go ? 'type ' + name + ' ' + type : 'export type ' + name + ' = ' + type + ';');
486
- return out;
487
- }
488
- if ('const' === k) {
489
- const name = ident(decl.name, 'const', ctx, path + '.name', true);
490
- out.push(...doc(decl.doc, 0, ctx));
491
- const type = null == decl.type ? undefined : typeExpr(decl.type, ctx, path + '.type').text;
492
- const value = literal(decl.value, ctx);
493
- out.push(go
494
- ? 'const ' + name + (undefined === type ? '' : ' ' + type) + ' = ' + value
495
- : 'export const ' + name + (undefined === type ? '' : ': ' + type) + ' = ' + value + ';');
496
- return out;
497
- }
498
- // func
499
- const name = ident(decl.name, 'func', ctx, path + '.name', true);
500
- out.push(...doc(decl.doc, 0, ctx));
501
- const sig = params(decl.params, ctx, path);
502
- const returns = null == decl.returns ? undefined : typeExpr(decl.returns, ctx, path + '.returns').text;
503
- const abstract = 'abstract' === decl.body.k;
504
- if (go) {
505
- out.push('func ' + name + '(' + sig + ')' + (undefined === returns ? '' : ' ' + returns) + ' {');
506
- if (abstract) {
507
- loss(ctx, path + '.body', 'abstract', 'go has no abstract function: the body panics');
508
- out.push(ln(1, 'panic(' + quote('abstract', ctx.profile) + ')'));
509
- }
510
- else {
511
- out.push(...nest(decl.body.n));
512
- }
513
- out.push('}');
514
- }
515
- else {
516
- const ret = ': ' + (returns ?? 'void');
517
- if (abstract) {
518
- out.push('export declare function ' + name + '(' + sig + ')' + ret + ';');
519
- }
520
- else {
521
- out.push('export function ' + name + '(' + sig + ')' + ret + ' {');
522
- out.push(...nest(decl.body.n));
523
- out.push('}');
524
- }
525
- }
526
- return out;
527
- }
528
- //# sourceMappingURL=lower.js.map
package/dist/lower.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"lower.js","sourceRoot":"","sources":["../src/lower.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- export type ModLock = {
2
- mod: string;
3
- v: string;
4
- canon: string;
5
- oci: string;
6
- };
7
- export type ModTidyReport = {
8
- verdict: 'ok' | 'missing' | 'error';
9
- lock: ModLock[];
10
- missing: string[];
11
- unevaluable: string[];
12
- };
13
- export type ModVerifyReport = {
14
- verdict: 'ok' | 'mismatch' | 'unlocked' | 'missing';
15
- verified: string[];
16
- mismatched: {
17
- mod: string;
18
- want: string;
19
- got: string;
20
- }[];
21
- unlocked: string[];
22
- missing: string[];
23
- };
24
- export type ModVendorReport = {
25
- verdict: 'ok' | 'missing';
26
- vendored: string[];
27
- missing: string[];
28
- };
29
- export type ModToolEval = (src: string, path: string) => {
30
- gen: any;
31
- hash: string;
32
- canon: string;
33
- ok: boolean;
34
- };
35
- export type ModToolOptions = {
36
- cache?: string;
37
- eval: ModToolEval;
38
- };
39
- export declare function versionCompare(a: string, b: string): number;
40
- export declare function lockText(entries: ModLock[], options: ModToolOptions): string;
41
- export declare function modTidy(root: string, options: ModToolOptions): ModTidyReport;
42
- export declare function modVerify(root: string, options: ModToolOptions): ModVerifyReport;
43
- export declare function modVendor(root: string, options: ModToolOptions): ModVendorReport;
44
- export declare const MODULE_CONFIG_MEDIA_TYPE = "application/vnd.aontu.module.v1+json";
45
- export declare const MODULE_ANNOTATION_CANON = "com.github.rjrodger.aontu.canon";
46
- export declare const MODULE_ANNOTATION_MAJOR = "com.github.rjrodger.aontu.major";
47
- export type ModManifestReport = {
48
- verdict: 'ok' | 'breaking' | 'undecided' | 'error';
49
- mod: string;
50
- version: string;
51
- canon: string;
52
- config: string;
53
- files: string[];
54
- annotations: Record<string, string>;
55
- missing: string[];
56
- findings: any[];
57
- };
58
- export declare function modManifest(root: string, options: ModToolOptions, against?: string): ModManifestReport;