@webda/content-mapper 0.0.0-stage → 4.0.0-beta.4
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/LICENSE +166 -0
- package/lib/coercions.d.ts +22 -0
- package/lib/coercions.d.ts.map +1 -0
- package/lib/coercions.js +10 -0
- package/lib/coercions.js.map +1 -0
- package/lib/context.d.ts +56 -0
- package/lib/context.d.ts.map +1 -0
- package/lib/context.js +111 -0
- package/lib/context.js.map +1 -0
- package/lib/defaults.d.ts +31 -0
- package/lib/defaults.d.ts.map +1 -0
- package/lib/defaults.js +33 -0
- package/lib/defaults.js.map +1 -0
- package/lib/generators/accessors.d.ts +15 -0
- package/lib/generators/accessors.d.ts.map +1 -0
- package/lib/generators/accessors.js +567 -0
- package/lib/generators/accessors.js.map +1 -0
- package/lib/generators/behaviors.d.ts +21 -0
- package/lib/generators/behaviors.d.ts.map +1 -0
- package/lib/generators/behaviors.js +292 -0
- package/lib/generators/behaviors.js.map +1 -0
- package/lib/generators/imports.d.ts +86 -0
- package/lib/generators/imports.d.ts.map +1 -0
- package/lib/generators/imports.js +205 -0
- package/lib/generators/imports.js.map +1 -0
- package/lib/generators/loadparameters.d.ts +7 -0
- package/lib/generators/loadparameters.d.ts.map +1 -0
- package/lib/generators/loadparameters.js +175 -0
- package/lib/generators/loadparameters.js.map +1 -0
- package/lib/generators/qlvalidator.d.ts +53 -0
- package/lib/generators/qlvalidator.d.ts.map +1 -0
- package/lib/generators/qlvalidator.js +238 -0
- package/lib/generators/qlvalidator.js.map +1 -0
- package/lib/index.d.ts +53 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +36 -0
- package/lib/index.js.map +1 -0
- package/lib/module-discovery.d.ts +211 -0
- package/lib/module-discovery.d.ts.map +1 -0
- package/lib/module-discovery.js +662 -0
- package/lib/module-discovery.js.map +1 -0
- package/lib/module.d.ts +213 -0
- package/lib/module.d.ts.map +1 -0
- package/lib/module.js +1243 -0
- package/lib/module.js.map +1 -0
- package/lib/plan.d.ts +101 -0
- package/lib/plan.d.ts.map +1 -0
- package/lib/plan.js +61 -0
- package/lib/plan.js.map +1 -0
- package/lib/property-order.d.ts +37 -0
- package/lib/property-order.d.ts.map +1 -0
- package/lib/property-order.js +141 -0
- package/lib/property-order.js.map +1 -0
- package/lib/schema/action.d.ts +46 -0
- package/lib/schema/action.d.ts.map +1 -0
- package/lib/schema/action.js +190 -0
- package/lib/schema/action.js.map +1 -0
- package/lib/schema/annotations.d.ts +63 -0
- package/lib/schema/annotations.d.ts.map +1 -0
- package/lib/schema/annotations.js +116 -0
- package/lib/schema/annotations.js.map +1 -0
- package/lib/schema/converter.d.ts +363 -0
- package/lib/schema/converter.d.ts.map +1 -0
- package/lib/schema/converter.js +1377 -0
- package/lib/schema/converter.js.map +1 -0
- package/lib/schema/jsdoc.d.ts +34 -0
- package/lib/schema/jsdoc.d.ts.map +1 -0
- package/lib/schema/jsdoc.js +206 -0
- package/lib/schema/jsdoc.js.map +1 -0
- package/lib/schema/model.d.ts +27 -0
- package/lib/schema/model.d.ts.map +1 -0
- package/lib/schema/model.js +86 -0
- package/lib/schema/model.js.map +1 -0
- package/lib/schema/project.d.ts +34 -0
- package/lib/schema/project.d.ts.map +1 -0
- package/lib/schema/project.js +305 -0
- package/lib/schema/project.js.map +1 -0
- package/lib/schema/service.d.ts +62 -0
- package/lib/schema/service.d.ts.map +1 -0
- package/lib/schema/service.js +130 -0
- package/lib/schema/service.js.map +1 -0
- package/lib/schema/types.d.ts +61 -0
- package/lib/schema/types.d.ts.map +1 -0
- package/lib/schema/types.js +36 -0
- package/lib/schema/types.js.map +1 -0
- package/lib/schema/worker-cli.d.ts +3 -0
- package/lib/schema/worker-cli.d.ts.map +1 -0
- package/lib/schema/worker-cli.js +7 -0
- package/lib/schema/worker-cli.js.map +1 -0
- package/lib/schema/worker.d.ts +81 -0
- package/lib/schema/worker.d.ts.map +1 -0
- package/lib/schema/worker.js +186 -0
- package/lib/schema/worker.js.map +1 -0
- package/lib/server.d.ts +2 -0
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +133 -0
- package/lib/server.js.map +1 -0
- package/lib/session.d.ts +84 -0
- package/lib/session.d.ts.map +1 -0
- package/lib/session.js +141 -0
- package/lib/session.js.map +1 -0
- package/lib/spans.d.ts +46 -0
- package/lib/spans.d.ts.map +1 -0
- package/lib/spans.js +64 -0
- package/lib/spans.js.map +1 -0
- package/lib/twopass.d.ts +45 -0
- package/lib/twopass.d.ts.map +1 -0
- package/lib/twopass.js +87 -0
- package/lib/twopass.js.map +1 -0
- package/lib/vite.d.ts +20 -0
- package/lib/vite.d.ts.map +1 -0
- package/lib/vite.js +41 -0
- package/lib/vite.js.map +1 -0
- package/package.json +89 -3
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/lib/plan.d.ts
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plan model shared by both passes.
|
|
3
|
+
*
|
|
4
|
+
* Pass 1 runs every {@link Generator} against a real `Program` + `Checker` and
|
|
5
|
+
* collects {@link Edit}s. Pass 2 applies those edits through a virtual
|
|
6
|
+
* filesystem, so nothing is ever written to disk.
|
|
7
|
+
*
|
|
8
|
+
* Edits are offset-based text splices rather than AST nodes, which lets
|
|
9
|
+
* independent generators compose without knowing about each other, and keeps
|
|
10
|
+
* every byte of untouched source byte-identical.
|
|
11
|
+
*/
|
|
12
|
+
import type { Checker, Program, Project } from "typescript/unstable/sync";
|
|
13
|
+
import type { SourceFile } from "typescript/unstable/ast";
|
|
14
|
+
/** A single text splice within one file. */
|
|
15
|
+
export interface Edit {
|
|
16
|
+
/** Start offset, inclusive. */
|
|
17
|
+
start: number;
|
|
18
|
+
/** End offset, exclusive. `start === end` means pure insertion. */
|
|
19
|
+
end: number;
|
|
20
|
+
/** Replacement text. */
|
|
21
|
+
text: string;
|
|
22
|
+
/** Generator that produced this edit, for diagnostics and conflict reports. */
|
|
23
|
+
source: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A diagnostic produced by a generator, reported against the authored source.
|
|
27
|
+
*
|
|
28
|
+
* The content mapper protocol carries these in `TransformResult.diagnostics`,
|
|
29
|
+
* so a generator can report a problem in the original file rather than only
|
|
30
|
+
* rewriting it. Positions are offsets into the authored text.
|
|
31
|
+
*/
|
|
32
|
+
export interface GeneratedDiagnostic {
|
|
33
|
+
/** Offset into the authored file. */
|
|
34
|
+
start: number;
|
|
35
|
+
/** Length in characters. */
|
|
36
|
+
length: number;
|
|
37
|
+
/** Diagnostic code, e.g. 9001 for an unknown WebdaQL attribute. */
|
|
38
|
+
code: number;
|
|
39
|
+
/** Human-readable message. */
|
|
40
|
+
messageText: string;
|
|
41
|
+
}
|
|
42
|
+
/** All edits for one file, plus anything the generator wants to report. */
|
|
43
|
+
export interface FileEdits {
|
|
44
|
+
fileName: string;
|
|
45
|
+
edits: Edit[];
|
|
46
|
+
/** Problems found while analysing this file. */
|
|
47
|
+
diagnostics?: GeneratedDiagnostic[];
|
|
48
|
+
}
|
|
49
|
+
/** What a generator receives. */
|
|
50
|
+
export interface AnalysisContext {
|
|
51
|
+
project: Project;
|
|
52
|
+
program: Program;
|
|
53
|
+
checker: Checker;
|
|
54
|
+
/** Source files belonging to the project root, in deterministic order. */
|
|
55
|
+
sourceFiles: SourceFile[];
|
|
56
|
+
/** Read a node's source text, skipping leading trivia. */
|
|
57
|
+
textOf(sf: SourceFile, node: any): string;
|
|
58
|
+
/** Read a node's leading trivia, used for JSDoc tag detection. */
|
|
59
|
+
triviaOf(sf: SourceFile, node: any): string;
|
|
60
|
+
/** Resolve the declared base class name chain for a class declaration. */
|
|
61
|
+
baseNames(sf: SourceFile, cls: any): string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* A unit of code generation.
|
|
65
|
+
*
|
|
66
|
+
* Generators are intentionally independent: each returns edits, and the planner
|
|
67
|
+
* merges them. That mirrors how the existing pipeline is structured
|
|
68
|
+
* (`morpher.ts` composes `unserializer`, `loadParameters`, `accessors`,
|
|
69
|
+
* `capabilities`), so the same features can be ported one at a time.
|
|
70
|
+
*/
|
|
71
|
+
export interface Generator {
|
|
72
|
+
/** Stable identifier, used in edit provenance. */
|
|
73
|
+
name: string;
|
|
74
|
+
/**
|
|
75
|
+
* Produce edits for the project.
|
|
76
|
+
* @param ctx - typed analysis context
|
|
77
|
+
* @returns edits grouped by file
|
|
78
|
+
*/
|
|
79
|
+
analyze(ctx: AnalysisContext): FileEdits[];
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Merge per-generator edits into one map, detecting overlaps.
|
|
83
|
+
* @param all - edits from every generator
|
|
84
|
+
* @returns edits per file, sorted, plus any conflicts found
|
|
85
|
+
*/
|
|
86
|
+
export declare function mergePlan(all: FileEdits[]): {
|
|
87
|
+
plan: Map<string, Edit[]>;
|
|
88
|
+
conflicts: {
|
|
89
|
+
fileName: string;
|
|
90
|
+
a: Edit;
|
|
91
|
+
b: Edit;
|
|
92
|
+
}[];
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Apply edits to a source text.
|
|
96
|
+
* @param text - original file text
|
|
97
|
+
* @param edits - edits for that file
|
|
98
|
+
* @returns the rewritten text
|
|
99
|
+
*/
|
|
100
|
+
export declare function applyEdits(text: string, edits: Edit[]): string;
|
|
101
|
+
//# sourceMappingURL=plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,4CAA4C;AAC5C,MAAM,WAAW,IAAI;IACnB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,2EAA2E;AAC3E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,gDAAgD;IAChD,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,iCAAiC;AACjC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,0EAA0E;IAC1E,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,MAAM,CAAC;IAC5C,0EAA0E;IAC1E,SAAS,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,CAAC;CAC/C;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACxB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,eAAe,GAAG,SAAS,EAAE,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG;IAC3C,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1B,SAAS,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,IAAI,CAAC;QAAC,CAAC,EAAE,IAAI,CAAA;KAAE,EAAE,CAAC;CACrD,CAgCA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAc9D"}
|
package/lib/plan.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Merge per-generator edits into one map, detecting overlaps.
|
|
3
|
+
* @param all - edits from every generator
|
|
4
|
+
* @returns edits per file, sorted, plus any conflicts found
|
|
5
|
+
*/
|
|
6
|
+
export function mergePlan(all) {
|
|
7
|
+
const plan = new Map();
|
|
8
|
+
for (const fe of all) {
|
|
9
|
+
const list = plan.get(fe.fileName) ?? [];
|
|
10
|
+
list.push(...fe.edits);
|
|
11
|
+
plan.set(fe.fileName, list);
|
|
12
|
+
}
|
|
13
|
+
const conflicts = [];
|
|
14
|
+
for (const [fileName, edits] of plan) {
|
|
15
|
+
edits.sort((x, y) => x.start - y.start || x.end - y.end);
|
|
16
|
+
// Generators are independent, so several can reach the same conclusion —
|
|
17
|
+
// every one that needs WEBDA_STORAGE injects the same import at offset 0.
|
|
18
|
+
// Emitting it twice is TS2300.
|
|
19
|
+
const seen = new Set();
|
|
20
|
+
const deduped = edits.filter(edit => {
|
|
21
|
+
const key = `${edit.start}:${edit.end}:${edit.text}`;
|
|
22
|
+
if (seen.has(key))
|
|
23
|
+
return false;
|
|
24
|
+
seen.add(key);
|
|
25
|
+
return true;
|
|
26
|
+
});
|
|
27
|
+
edits.length = 0;
|
|
28
|
+
edits.push(...deduped);
|
|
29
|
+
for (let i = 1; i < edits.length; i++) {
|
|
30
|
+
const prev = edits[i - 1];
|
|
31
|
+
const cur = edits[i];
|
|
32
|
+
// Pure insertions at the same point are fine; real overlaps are not.
|
|
33
|
+
if (cur.start < prev.end)
|
|
34
|
+
conflicts.push({ fileName, a: prev, b: cur });
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return { plan, conflicts };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Apply edits to a source text.
|
|
41
|
+
* @param text - original file text
|
|
42
|
+
* @param edits - edits for that file
|
|
43
|
+
* @returns the rewritten text
|
|
44
|
+
*/
|
|
45
|
+
export function applyEdits(text, edits) {
|
|
46
|
+
// Forward, matching `buildMappedText` exactly. An earlier version spliced
|
|
47
|
+
// back-to-front, which reverses insertions sharing an offset — so the build
|
|
48
|
+
// and the editor emitted the same members in a different order. Both paths
|
|
49
|
+
// must walk edits identically or they drift silently.
|
|
50
|
+
const ordered = [...edits].sort((a, b) => a.start - b.start || a.end - b.end);
|
|
51
|
+
let out = "";
|
|
52
|
+
let cursor = 0;
|
|
53
|
+
for (const edit of ordered) {
|
|
54
|
+
if (edit.start < cursor)
|
|
55
|
+
continue;
|
|
56
|
+
out += text.slice(cursor, edit.start) + edit.text;
|
|
57
|
+
cursor = edit.end;
|
|
58
|
+
}
|
|
59
|
+
return out + text.slice(cursor);
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=plan.js.map
|
package/lib/plan.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class properties in the order TypeScript 6 reports them.
|
|
3
|
+
*
|
|
4
|
+
* `webda.module.json` is committed, and several of its maps — `Reflection`,
|
|
5
|
+
* `Relations`, `Actions` — are filled by iterating `type.getProperties()`, so
|
|
6
|
+
* their key order is whatever order the TypeScript 6 checker returned. The
|
|
7
|
+
* 7.1 checker returns the same *set* in a different order, so reproducing the
|
|
8
|
+
* artefact byte for byte means reconstructing the 6.x order.
|
|
9
|
+
*
|
|
10
|
+
* TypeScript 6 resolves a class's members as its own symbol table — members
|
|
11
|
+
* in declaration order, constructor parameter properties at the constructor's
|
|
12
|
+
* position — followed by each base type's properties that are not already
|
|
13
|
+
* present (`addInheritedMembers`), recursively. Symbol-keyed (late-bound)
|
|
14
|
+
* members come after the early-bound ones. That is what is rebuilt here, and
|
|
15
|
+
* the 7.1 property list is then sorted by it; anything the rebuild does not
|
|
16
|
+
* know about keeps its 7.1 position at the end.
|
|
17
|
+
*/
|
|
18
|
+
import type { ClassDeclaration } from "typescript/unstable/ast";
|
|
19
|
+
import type { Symbol as TsSymbol, Type } from "typescript/unstable/sync";
|
|
20
|
+
import type { AnalysisContext } from "./plan.ts";
|
|
21
|
+
/**
|
|
22
|
+
* Sort a property list into TypeScript 6 order.
|
|
23
|
+
* @param ctx - analysis context
|
|
24
|
+
* @param type - the type the properties belong to
|
|
25
|
+
* @param properties - the 7.1 property list
|
|
26
|
+
* @returns the same symbols, reordered
|
|
27
|
+
*/
|
|
28
|
+
export declare function ts6PropertyOrder(ctx: AnalysisContext, type: Type, properties: readonly TsSymbol[]): TsSymbol[];
|
|
29
|
+
/**
|
|
30
|
+
* Properties of a class's instance type, inherited ones included, in the
|
|
31
|
+
* order TypeScript 6's `type.getProperties()` returns them.
|
|
32
|
+
* @param ctx - analysis context
|
|
33
|
+
* @param cls - the class declaration
|
|
34
|
+
* @returns the property symbols
|
|
35
|
+
*/
|
|
36
|
+
export declare function classPropertiesInTs6Order(ctx: AnalysisContext, cls: ClassDeclaration): TsSymbol[];
|
|
37
|
+
//# sourceMappingURL=property-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-order.d.ts","sourceRoot":"","sources":["../src/property-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAQ,MAAM,yBAAyB,CAAC;AAGtE,OAAO,KAAK,EAAE,MAAM,IAAI,QAAQ,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAyGjD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAQ9G;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,gBAAgB,GAAG,QAAQ,EAAE,CAKjG"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { SyntaxKind } from "typescript/unstable/ast";
|
|
2
|
+
import * as is from "typescript/unstable/ast/is";
|
|
3
|
+
/** Modifiers that turn a constructor parameter into a property. */
|
|
4
|
+
const PARAMETER_PROPERTY_MODIFIERS = new Set([
|
|
5
|
+
SyntaxKind.PublicKeyword,
|
|
6
|
+
SyntaxKind.PrivateKeyword,
|
|
7
|
+
SyntaxKind.ProtectedKeyword,
|
|
8
|
+
SyntaxKind.ReadonlyKeyword,
|
|
9
|
+
SyntaxKind.OverrideKeyword
|
|
10
|
+
]);
|
|
11
|
+
/**
|
|
12
|
+
* The property name a declaration binds, for an early-bound name.
|
|
13
|
+
* @param name - the name node
|
|
14
|
+
* @returns the name, or undefined for computed and private names
|
|
15
|
+
*/
|
|
16
|
+
function boundName(name) {
|
|
17
|
+
if (!name)
|
|
18
|
+
return undefined;
|
|
19
|
+
if (is.isIdentifier(name) || is.isStringLiteral(name) || is.isNumericLiteral(name))
|
|
20
|
+
return name.text;
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether a node carries the `static` keyword.
|
|
25
|
+
* @param node - the node
|
|
26
|
+
* @returns true when static
|
|
27
|
+
*/
|
|
28
|
+
function isStatic(node) {
|
|
29
|
+
return (node.modifiers ?? []).some((modifier) => modifier.kind === SyntaxKind.StaticKeyword);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Early-bound instance member names of one class or interface declaration.
|
|
33
|
+
* @param declaration - the declaration
|
|
34
|
+
* @returns names in binding order
|
|
35
|
+
*/
|
|
36
|
+
function ownNames(declaration) {
|
|
37
|
+
const names = [];
|
|
38
|
+
for (const member of declaration.members ?? []) {
|
|
39
|
+
if (isStatic(member))
|
|
40
|
+
continue;
|
|
41
|
+
if (member.kind === SyntaxKind.Constructor) {
|
|
42
|
+
for (const parameter of member.parameters ?? []) {
|
|
43
|
+
const modifiers = parameter.modifiers ?? [];
|
|
44
|
+
if (!modifiers.some((modifier) => PARAMETER_PROPERTY_MODIFIERS.has(modifier.kind)))
|
|
45
|
+
continue;
|
|
46
|
+
const name = boundName(parameter.name);
|
|
47
|
+
if (name !== undefined)
|
|
48
|
+
names.push(name);
|
|
49
|
+
}
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const name = boundName(member.name);
|
|
53
|
+
if (name !== undefined)
|
|
54
|
+
names.push(name);
|
|
55
|
+
}
|
|
56
|
+
return names;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Property names of a type in TypeScript 6 order.
|
|
60
|
+
* @param ctx - analysis context
|
|
61
|
+
* @param type - the type
|
|
62
|
+
* @param depth - recursion guard
|
|
63
|
+
* @returns names, first occurrence wins
|
|
64
|
+
*/
|
|
65
|
+
function orderedNames(ctx, type, depth = 0) {
|
|
66
|
+
if (!type || depth > 64)
|
|
67
|
+
return [];
|
|
68
|
+
const out = [];
|
|
69
|
+
const seen = new Set();
|
|
70
|
+
const add = (name) => {
|
|
71
|
+
if (seen.has(name))
|
|
72
|
+
return;
|
|
73
|
+
seen.add(name);
|
|
74
|
+
out.push(name);
|
|
75
|
+
};
|
|
76
|
+
if (type.isIntersectionType?.()) {
|
|
77
|
+
for (const member of type.getTypes?.() ?? [])
|
|
78
|
+
orderedNames(ctx, member, depth + 1).forEach(add);
|
|
79
|
+
return out;
|
|
80
|
+
}
|
|
81
|
+
const symbol = type.getSymbol?.();
|
|
82
|
+
let declared;
|
|
83
|
+
try {
|
|
84
|
+
declared = symbol ? ctx.checker.getDeclaredTypeOfSymbol(symbol) : undefined;
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
declared = undefined;
|
|
88
|
+
}
|
|
89
|
+
if (!symbol || !declared?.isClassOrInterface?.()) {
|
|
90
|
+
for (const property of ctx.checker.getPropertiesOfType(type))
|
|
91
|
+
add(property.name);
|
|
92
|
+
return out;
|
|
93
|
+
}
|
|
94
|
+
for (const handle of symbol.declarations ?? []) {
|
|
95
|
+
const declaration = handle.resolve(ctx.project);
|
|
96
|
+
if (declaration && (is.isClassDeclaration(declaration) || is.isInterfaceDeclaration(declaration) || is.isClassExpression(declaration))) {
|
|
97
|
+
ownNames(declaration).forEach(add);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
let bases = [];
|
|
101
|
+
try {
|
|
102
|
+
bases = ctx.checker.getBaseTypes(declared);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
bases = [];
|
|
106
|
+
}
|
|
107
|
+
for (const base of bases)
|
|
108
|
+
orderedNames(ctx, base, depth + 1).forEach(add);
|
|
109
|
+
return out;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Sort a property list into TypeScript 6 order.
|
|
113
|
+
* @param ctx - analysis context
|
|
114
|
+
* @param type - the type the properties belong to
|
|
115
|
+
* @param properties - the 7.1 property list
|
|
116
|
+
* @returns the same symbols, reordered
|
|
117
|
+
*/
|
|
118
|
+
export function ts6PropertyOrder(ctx, type, properties) {
|
|
119
|
+
const rank = new Map();
|
|
120
|
+
orderedNames(ctx, type).forEach((name, index) => rank.set(name, index));
|
|
121
|
+
const unknown = rank.size;
|
|
122
|
+
return properties
|
|
123
|
+
.map((property, index) => ({ property, index, rank: rank.get(property.name) ?? unknown }))
|
|
124
|
+
.sort((a, b) => a.rank - b.rank || a.index - b.index)
|
|
125
|
+
.map(entry => entry.property);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Properties of a class's instance type, inherited ones included, in the
|
|
129
|
+
* order TypeScript 6's `type.getProperties()` returns them.
|
|
130
|
+
* @param ctx - analysis context
|
|
131
|
+
* @param cls - the class declaration
|
|
132
|
+
* @returns the property symbols
|
|
133
|
+
*/
|
|
134
|
+
export function classPropertiesInTs6Order(ctx, cls) {
|
|
135
|
+
const symbol = cls.name ? ctx.checker.getSymbolAtLocation(cls.name) : undefined;
|
|
136
|
+
const type = symbol ? ctx.checker.getDeclaredTypeOfSymbol(symbol) : undefined;
|
|
137
|
+
if (!type)
|
|
138
|
+
return [];
|
|
139
|
+
return ts6PropertyOrder(ctx, type, ctx.checker.getPropertiesOfType(type));
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=property-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-order.js","sourceRoot":"","sources":["../src/property-order.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Checker, Project } from "typescript/unstable/sync";
|
|
2
|
+
import type { MethodDeclaration } from "typescript/unstable/ast";
|
|
3
|
+
import type { JSONSchema7 } from "./types.ts";
|
|
4
|
+
/** What is needed to convert an action. */
|
|
5
|
+
export interface ActionSchemaOptions {
|
|
6
|
+
/** Project the checker belongs to. */
|
|
7
|
+
project: Project;
|
|
8
|
+
/** The resident checker. */
|
|
9
|
+
checker: Checker;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Schema for an action's arguments.
|
|
13
|
+
*
|
|
14
|
+
* Every parameter is included — there is no filter for `context` / `ctx`, so
|
|
15
|
+
* an `OperationContext` argument is expanded in full. That is odd for
|
|
16
|
+
* something called an operation *input*, and it is what the committed
|
|
17
|
+
* artefact contains, so it is reproduced rather than improved here.
|
|
18
|
+
* @param method - the decorated method
|
|
19
|
+
* @param options - project and checker
|
|
20
|
+
* @returns the arguments schema
|
|
21
|
+
*/
|
|
22
|
+
export declare function generateActionInput(method: MethodDeclaration, options: ActionSchemaOptions): JSONSchema7;
|
|
23
|
+
/**
|
|
24
|
+
* Schema for what an action resolves to.
|
|
25
|
+
* @param method - the decorated method
|
|
26
|
+
* @param options - project and checker
|
|
27
|
+
* @returns the return schema, or undefined when it cannot be resolved
|
|
28
|
+
*/
|
|
29
|
+
export declare function generateActionOutput(method: MethodDeclaration, options: ActionSchemaOptions): JSONSchema7 | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Hoist every nested `definitions` block to the root and drop dangling refs.
|
|
32
|
+
*
|
|
33
|
+
* Applied to action schemas only. Two real failures motivate it, both of
|
|
34
|
+
* which crash AJV rather than merely looking untidy: a bound generic keeps
|
|
35
|
+
* its `definitions` on a sub-schema where a root-relative `$ref` cannot see
|
|
36
|
+
* it, and an unbound generic produces a definition whose key does not match
|
|
37
|
+
* the `$ref` pointing at it. Hoisting fixes the first; pruning the `$ref` —
|
|
38
|
+
* leaving an unconstrained `{}` — contains the second.
|
|
39
|
+
* Accepts any JSON value: the guard against non-objects is deliberate, so
|
|
40
|
+
* callers never have to check before flattening.
|
|
41
|
+
* @param schema - the schema to flatten, mutated in place
|
|
42
|
+
* @returns the same value
|
|
43
|
+
* @typeParam T - the value type, preserved
|
|
44
|
+
*/
|
|
45
|
+
export declare function normalizeDefinitions<T>(schema: T): T;
|
|
46
|
+
//# sourceMappingURL=action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../src/schema/action.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAA4B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,2CAA2C;AAC3C,MAAM,WAAW,mBAAmB;IAClC,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,CAuBxG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAWrH;AA8CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAsDpD"}
|