@metaobjectsdev/codegen-ts 0.20.9 → 0.20.10
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/dist/generators/api-model.d.ts.map +1 -1
- package/dist/generators/api-model.js +9 -5
- package/dist/generators/api-model.js.map +1 -1
- package/dist/generators/barrel.js +1 -1
- package/dist/generators/barrel.js.map +1 -1
- package/dist/generators/entity-file.d.ts.map +1 -1
- package/dist/generators/entity-file.js +7 -1
- package/dist/generators/entity-file.js.map +1 -1
- package/dist/generators/extractor-file.d.ts.map +1 -1
- package/dist/generators/extractor-file.js +6 -1
- package/dist/generators/extractor-file.js.map +1 -1
- package/dist/generators/output-parser-file.d.ts.map +1 -1
- package/dist/generators/output-parser-file.js +6 -1
- package/dist/generators/output-parser-file.js.map +1 -1
- package/dist/generators/queries-file.d.ts +1 -1
- package/dist/generators/queries-file.d.ts.map +1 -1
- package/dist/generators/queries-file.js +11 -6
- package/dist/generators/queries-file.js.map +1 -1
- package/dist/generators/routes-file-hono.d.ts +4 -0
- package/dist/generators/routes-file-hono.d.ts.map +1 -1
- package/dist/generators/routes-file-hono.js +6 -1
- package/dist/generators/routes-file-hono.js.map +1 -1
- package/dist/generators/routes-file.d.ts +4 -0
- package/dist/generators/routes-file.d.ts.map +1 -1
- package/dist/generators/routes-file.js +6 -1
- package/dist/generators/routes-file.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/naming/collision-names.d.ts +19 -0
- package/dist/naming/collision-names.d.ts.map +1 -0
- package/dist/naming/collision-names.js +79 -0
- package/dist/naming/collision-names.js.map +1 -0
- package/dist/payload-codegen.d.ts.map +1 -1
- package/dist/payload-codegen.js +5 -71
- package/dist/payload-codegen.js.map +1 -1
- package/dist/render-context.d.ts +35 -3
- package/dist/render-context.d.ts.map +1 -1
- package/dist/render-context.js +23 -0
- package/dist/render-context.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +36 -2
- package/dist/runner.js.map +1 -1
- package/dist/source-detect.d.ts +10 -0
- package/dist/source-detect.d.ts.map +1 -1
- package/dist/source-detect.js +22 -0
- package/dist/source-detect.js.map +1 -1
- package/dist/templates/drizzle-schema.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.js +14 -3
- package/dist/templates/drizzle-schema.js.map +1 -1
- package/dist/templates/entity-file.d.ts +1 -1
- package/dist/templates/entity-file.d.ts.map +1 -1
- package/dist/templates/entity-file.js +13 -3
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/extract-delegate-emitter.d.ts +9 -4
- package/dist/templates/extract-delegate-emitter.d.ts.map +1 -1
- package/dist/templates/extract-delegate-emitter.js +46 -30
- package/dist/templates/extract-delegate-emitter.js.map +1 -1
- package/dist/templates/extractor.d.ts +2 -1
- package/dist/templates/extractor.d.ts.map +1 -1
- package/dist/templates/extractor.js +48 -33
- package/dist/templates/extractor.js.map +1 -1
- package/dist/templates/inferred-types.d.ts +1 -1
- package/dist/templates/inferred-types.d.ts.map +1 -1
- package/dist/templates/inferred-types.js +39 -16
- package/dist/templates/inferred-types.js.map +1 -1
- package/dist/templates/output-parser.d.ts +2 -1
- package/dist/templates/output-parser.d.ts.map +1 -1
- package/dist/templates/output-parser.js +37 -12
- package/dist/templates/output-parser.js.map +1 -1
- package/dist/templates/projection-decl.d.ts +1 -1
- package/dist/templates/projection-decl.d.ts.map +1 -1
- package/dist/templates/projection-decl.js +20 -9
- package/dist/templates/projection-decl.js.map +1 -1
- package/dist/templates/value-object-file.d.ts.map +1 -1
- package/dist/templates/value-object-file.js +5 -1
- package/dist/templates/value-object-file.js.map +1 -1
- package/dist/templates/view-decl.d.ts +12 -2
- package/dist/templates/view-decl.d.ts.map +1 -1
- package/dist/templates/view-decl.js +21 -15
- package/dist/templates/view-decl.js.map +1 -1
- package/dist/templates/zod-validators.d.ts +1 -1
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +35 -22
- package/dist/templates/zod-validators.js.map +1 -1
- package/package.json +6 -6
- package/src/generators/api-model.ts +9 -5
- package/src/generators/barrel.ts +1 -1
- package/src/generators/entity-file.ts +7 -1
- package/src/generators/extractor-file.ts +6 -1
- package/src/generators/output-parser-file.ts +6 -1
- package/src/generators/queries-file.ts +12 -7
- package/src/generators/routes-file-hono.ts +7 -1
- package/src/generators/routes-file.ts +6 -1
- package/src/index.ts +1 -1
- package/src/naming/collision-names.ts +87 -0
- package/src/payload-codegen.ts +4 -79
- package/src/reference/barrel.ts +1 -1
- package/src/reference/queries.ts +14 -6
- package/src/reference/routes.ts +8 -1
- package/src/render-context.ts +51 -3
- package/src/runner.ts +36 -4
- package/src/source-detect.ts +20 -0
- package/src/templates/drizzle-schema.ts +14 -3
- package/src/templates/entity-file.ts +14 -6
- package/src/templates/extract-delegate-emitter.ts +52 -27
- package/src/templates/extractor.ts +49 -32
- package/src/templates/inferred-types.ts +39 -17
- package/src/templates/output-parser.ts +40 -12
- package/src/templates/projection-decl.ts +20 -10
- package/src/templates/value-object-file.ts +5 -1
- package/src/templates/view-decl.ts +30 -18
- package/src/templates/zod-validators.ts +35 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"drizzle-schema.js","sourceRoot":"","sources":["../../src/templates/drizzle-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-file.d.ts","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"entity-file.d.ts","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAyB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmBjF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,aAAa,EAClB,IAAI,CAAC,EAAE,oBAAoB,GAC1B,MAAM,CA6HR"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
// !hasWritableRdbSource(entity) → renderValueObjectFile (in-memory / transit shape: interface + Zod schema)
|
|
7
7
|
// vanilla / write-through entity → Drizzle table path
|
|
8
8
|
import { code, imp, joinCode } from "ts-poet";
|
|
9
|
+
import { FIELD_ATTR_OBJECT_REF } from "@metaobjectsdev/metadata";
|
|
10
|
+
import { fieldDeclaringPackage } from "../render-context.js";
|
|
9
11
|
import { renderDrizzleSchema } from "./drizzle-schema.js";
|
|
10
12
|
import { renderInferredTypes, renderEnumTypeAliases } from "./inferred-types.js";
|
|
11
13
|
import { renderZodValidators, isTphSubtype } from "./zod-validators.js";
|
|
@@ -20,7 +22,6 @@ import { projectionViewName } from "../projection/extract-view-spec.js";
|
|
|
20
22
|
import { renderExistingViewDecl, renderViewReadZodObject } from "./view-decl.js";
|
|
21
23
|
import { renderDocsFor } from "./jsdoc.js";
|
|
22
24
|
import { valueObjectModuleSpecifier } from "../import-path.js";
|
|
23
|
-
import { stripPackage } from "@metaobjectsdev/metadata";
|
|
24
25
|
import { hasWritableRdbSource } from "../source-detect.js";
|
|
25
26
|
import { renderValueObjectFile } from "./value-object-file.js";
|
|
26
27
|
import { isAbstract } from "../instance-artifacts.js";
|
|
@@ -96,9 +97,18 @@ export function renderEntityFile(entity, ctx, opts) {
|
|
|
96
97
|
if (writeThrough) {
|
|
97
98
|
const camel = entity.name.charAt(0).toLowerCase() + entity.name.slice(1);
|
|
98
99
|
const fields = entity.fields();
|
|
99
|
-
|
|
100
|
+
// ADR-0044/#228 — resolve a view column's `@objectRef` to the value object's
|
|
101
|
+
// EMITTED name + module TOGETHER (lock-step), so the read-view artifact imports
|
|
102
|
+
// `AcmeAlphaNote` from `./AcmeAlphaNote.js` (not a bare `Note` → `./Note.js`)
|
|
103
|
+
// under a cross-package short-name collision.
|
|
104
|
+
const voRef = (field) => {
|
|
105
|
+
const ref = field.attr(FIELD_ATTR_OBJECT_REF);
|
|
106
|
+
const name = ctx.resolveValueObjectName(typeof ref === "string" ? ref : "", fieldDeclaringPackage(field, entity.package));
|
|
107
|
+
const module = valueObjectModuleSpecifier(name, ctx.packageOf, entity.package, ctx.outputLayout, ctx.extStyle);
|
|
108
|
+
return { name, module };
|
|
109
|
+
};
|
|
100
110
|
const viewOpts = {
|
|
101
|
-
dialect: ctx.dialect, columnNamingStrategy: ctx.columnNamingStrategy, timestampMode: ctx.timestampMode,
|
|
111
|
+
dialect: ctx.dialect, columnNamingStrategy: ctx.columnNamingStrategy, timestampMode: ctx.timestampMode, voRef,
|
|
102
112
|
};
|
|
103
113
|
const z = imp("z@zod");
|
|
104
114
|
const docs = renderDocsFor(entity);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,0EAA0E;AAC1E,EAAE;AACF,YAAY;AACZ,oHAAoH;AACpH,mHAAmH;AACnH,4DAA4D;AAE5D,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAa,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"entity-file.js","sourceRoot":"","sources":["../../src/templates/entity-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { type MetaData } from "@metaobjectsdev/metadata";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import type { RenderContext } from "../render-context.js";
|
|
3
|
+
/** The extracted-mirror interface name for a value-object (`<Name>Extracted`). ADR-0044/#228:
|
|
4
|
+
* `ctx` (optional) resolves the collision-scoped entity-domain emitted name (Task 3's
|
|
5
|
+
* `valueObjectEmittedName`), so a cross-package short-name collision qualifies both the
|
|
6
|
+
* entity module AND its extract mirror identically (`AcmeAlphaNoteExtracted`). Omitted →
|
|
7
|
+
* the bare `vo.name` (bare template unit-test calls; byte-identical to pre-#228 output). */
|
|
8
|
+
export declare function mirrorName(vo: MetaData, ctx?: RenderContext): string;
|
|
4
9
|
/**
|
|
5
10
|
* Emit the nested-aware mirror interface for `vo` and every value-object reachable from it
|
|
6
11
|
* (deduped by simple name; cycle-safe). The payload mirror keeps the canonical `<Payload>Extracted`
|
|
7
12
|
* name (passed in) so the existing self-contained extract<Name>() and the delegating overload
|
|
8
13
|
* share one mirror type. Returns the joined interface declarations in stable (BFS) order.
|
|
9
14
|
*/
|
|
10
|
-
export declare function nestedMirrorInterfaces(vo: MetaData, root: MetaData, payloadMirror: string): string;
|
|
15
|
+
export declare function nestedMirrorInterfaces(vo: MetaData, root: MetaData, payloadMirror: string, ctx?: RenderContext): string;
|
|
11
16
|
/**
|
|
12
17
|
* Emit one `from<VO>Extracted(o)` mapper per value-object reachable from `vo` (payload + nested,
|
|
13
18
|
* deduped). Each mapper reads the assembled object via readProp() and recurses into nested
|
|
@@ -16,7 +21,7 @@ export declare function nestedMirrorInterfaces(vo: MetaData, root: MetaData, pay
|
|
|
16
21
|
* (`rootMapperFn` / `rootMirror`) so it matches the canonically-named root mirror interface — the
|
|
17
22
|
* payload VO's own name may differ from the template name.
|
|
18
23
|
*/
|
|
19
|
-
export declare function nestedMappers(vo: MetaData, root: MetaData, rootMapperFn: string, rootMirror: string): string;
|
|
24
|
+
export declare function nestedMappers(vo: MetaData, root: MetaData, rootMapperFn: string, rootMirror: string, ctx?: RenderContext): string;
|
|
20
25
|
/** The root mapper's name + mirror — derived from the template, not the payload VO. */
|
|
21
26
|
export declare function rootMapperName(template: string): string;
|
|
22
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-delegate-emitter.d.ts","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-delegate-emitter.d.ts","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAqBA,OAAO,EACL,KAAK,QAAQ,EAMd,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAuB1D;;;;6FAI6F;AAC7F,wBAAgB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,CAGpE;AAkCD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,MAAM,EACrB,GAAG,CAAC,EAAE,aAAa,GAClB,MAAM,CAKR;AA4CD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,GAAG,CAAC,EAAE,aAAa,GAClB,MAAM,CAKR;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEvD;AA4ED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,CA2CrE;AAED,qGAAqG;AACrG,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAoB/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CAoDzD"}
|
|
@@ -39,22 +39,28 @@ function refVo(field, root) {
|
|
|
39
39
|
function isObjectField(field) {
|
|
40
40
|
return field.subType === FIELD_SUBTYPE_OBJECT;
|
|
41
41
|
}
|
|
42
|
-
/** The extracted-mirror interface name for a value-object (`<Name>Extracted`).
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
/** The extracted-mirror interface name for a value-object (`<Name>Extracted`). ADR-0044/#228:
|
|
43
|
+
* `ctx` (optional) resolves the collision-scoped entity-domain emitted name (Task 3's
|
|
44
|
+
* `valueObjectEmittedName`), so a cross-package short-name collision qualifies both the
|
|
45
|
+
* entity module AND its extract mirror identically (`AcmeAlphaNoteExtracted`). Omitted →
|
|
46
|
+
* the bare `vo.name` (bare template unit-test calls; byte-identical to pre-#228 output). */
|
|
47
|
+
export function mirrorName(vo, ctx) {
|
|
48
|
+
const name = ctx ? ctx.valueObjectEmittedName(vo) : vo.name;
|
|
49
|
+
return `${name}Extracted`;
|
|
45
50
|
}
|
|
46
|
-
/** The mapper function name for a value-object (`from<Name>Extracted`). */
|
|
47
|
-
function mapperName(vo) {
|
|
48
|
-
|
|
51
|
+
/** The mapper function name for a value-object (`from<Name>Extracted`). See {@link mirrorName}. */
|
|
52
|
+
function mapperName(vo, ctx) {
|
|
53
|
+
const name = ctx ? ctx.valueObjectEmittedName(vo) : vo.name;
|
|
54
|
+
return `from${name}Extracted`;
|
|
49
55
|
}
|
|
50
56
|
// =============================================================================
|
|
51
57
|
// Nested-aware mirror interfaces (payload + every reachable nested VO)
|
|
52
58
|
// =============================================================================
|
|
53
59
|
/** The nullable mirror TS type for one field — nested-aware (recurses into nested mirror names). */
|
|
54
|
-
function nestedMirrorType(field, root) {
|
|
60
|
+
function nestedMirrorType(field, root, ctx) {
|
|
55
61
|
if (isObjectField(field)) {
|
|
56
62
|
const target = refVo(field, root);
|
|
57
|
-
const base = target !== undefined ? mirrorName(target) : "unknown";
|
|
63
|
+
const base = target !== undefined ? mirrorName(target, ctx) : "unknown";
|
|
58
64
|
const elem = `${base} | null`;
|
|
59
65
|
return isArray(field) ? `(${elem})[] | null` : elem;
|
|
60
66
|
}
|
|
@@ -79,16 +85,20 @@ function nestedMirrorType(field, root) {
|
|
|
79
85
|
* name (passed in) so the existing self-contained extract<Name>() and the delegating overload
|
|
80
86
|
* share one mirror type. Returns the joined interface declarations in stable (BFS) order.
|
|
81
87
|
*/
|
|
82
|
-
export function nestedMirrorInterfaces(vo, root, payloadMirror) {
|
|
88
|
+
export function nestedMirrorInterfaces(vo, root, payloadMirror, ctx) {
|
|
83
89
|
const out = [];
|
|
84
90
|
const seen = new Set();
|
|
85
|
-
emitMirror(vo, root, payloadMirror, seen, out);
|
|
91
|
+
emitMirror(vo, root, payloadMirror, seen, out, ctx);
|
|
86
92
|
return out.join("\n\n");
|
|
87
93
|
}
|
|
88
|
-
function emitMirror(vo, root, interfaceName, seen, out) {
|
|
89
|
-
|
|
94
|
+
function emitMirror(vo, root, interfaceName, seen, out, ctx) {
|
|
95
|
+
// ADR-0044/#228: dedupe by resolutionKey(), NOT the bare name — two distinct value-objects
|
|
96
|
+
// sharing a bare short name across packages (the collision case) are DIFFERENT nodes with
|
|
97
|
+
// DIFFERENT resolutionKey()s; bare-name dedupe would treat the second as "already seen" and
|
|
98
|
+
// silently DROP its mirror interface (and every mapper reading it downstream).
|
|
99
|
+
if (seen.has(vo.resolutionKey()))
|
|
90
100
|
return;
|
|
91
|
-
seen.add(vo.
|
|
101
|
+
seen.add(vo.resolutionKey());
|
|
92
102
|
const base = interfaceName.endsWith("Extracted")
|
|
93
103
|
? interfaceName.slice(0, -"Extracted".length)
|
|
94
104
|
: interfaceName;
|
|
@@ -96,7 +106,7 @@ function emitMirror(vo, root, interfaceName, seen, out) {
|
|
|
96
106
|
lines.push(`/** Best-effort extracted twin of \`${base}\` — every field nullable (null where lost/malformed). */`);
|
|
97
107
|
lines.push(`export interface ${interfaceName} {`);
|
|
98
108
|
for (const f of fields(vo)) {
|
|
99
|
-
lines.push(` ${f.name}: ${nestedMirrorType(f, root)};`);
|
|
109
|
+
lines.push(` ${f.name}: ${nestedMirrorType(f, root, ctx)};`);
|
|
100
110
|
}
|
|
101
111
|
lines.push("}");
|
|
102
112
|
out.push(lines.join("\n"));
|
|
@@ -105,7 +115,7 @@ function emitMirror(vo, root, interfaceName, seen, out) {
|
|
|
105
115
|
if (isObjectField(f)) {
|
|
106
116
|
const target = refVo(f, root);
|
|
107
117
|
if (target !== undefined)
|
|
108
|
-
emitMirror(target, root, mirrorName(target), seen, out);
|
|
118
|
+
emitMirror(target, root, mirrorName(target, ctx), seen, out, ctx);
|
|
109
119
|
}
|
|
110
120
|
}
|
|
111
121
|
}
|
|
@@ -120,23 +130,26 @@ function emitMirror(vo, root, interfaceName, seen, out) {
|
|
|
120
130
|
* (`rootMapperFn` / `rootMirror`) so it matches the canonically-named root mirror interface — the
|
|
121
131
|
* payload VO's own name may differ from the template name.
|
|
122
132
|
*/
|
|
123
|
-
export function nestedMappers(vo, root, rootMapperFn, rootMirror) {
|
|
133
|
+
export function nestedMappers(vo, root, rootMapperFn, rootMirror, ctx) {
|
|
124
134
|
const out = [];
|
|
125
135
|
const seen = new Set();
|
|
126
|
-
emitMapper(vo, root, seen, out, { fn: rootMapperFn, mirror: rootMirror });
|
|
136
|
+
emitMapper(vo, root, seen, out, { fn: rootMapperFn, mirror: rootMirror }, ctx);
|
|
127
137
|
return out.join("\n\n");
|
|
128
138
|
}
|
|
129
139
|
/** The root mapper's name + mirror — derived from the template, not the payload VO. */
|
|
130
140
|
export function rootMapperName(template) {
|
|
131
141
|
return `from${template}Extracted`;
|
|
132
142
|
}
|
|
133
|
-
function emitMapper(vo, root, seen, out, override) {
|
|
134
|
-
|
|
143
|
+
function emitMapper(vo, root, seen, out, override, ctx) {
|
|
144
|
+
// ADR-0044/#228: dedupe by resolutionKey() — see emitMirror for why bare-name dedupe drops
|
|
145
|
+
// the second colliding VO's mapper (silently misdirecting its extraction to the FIRST
|
|
146
|
+
// colliding VO's mapper — the exact wrong-data bug closed by this fix).
|
|
147
|
+
if (seen.has(vo.resolutionKey()))
|
|
135
148
|
return;
|
|
136
|
-
seen.add(vo.
|
|
137
|
-
const fn = override?.fn ?? mapperName(vo);
|
|
138
|
-
const mir = override?.mirror ?? mirrorName(vo);
|
|
139
|
-
const assigns = fields(vo).map((f) => ` ${f.name}: ${mapperArg(f, root)},`);
|
|
149
|
+
seen.add(vo.resolutionKey());
|
|
150
|
+
const fn = override?.fn ?? mapperName(vo, ctx);
|
|
151
|
+
const mir = override?.mirror ?? mirrorName(vo, ctx);
|
|
152
|
+
const assigns = fields(vo).map((f) => ` ${f.name}: ${mapperArg(f, root, ctx)},`);
|
|
140
153
|
const body = [
|
|
141
154
|
`/** Map an assembled ValueObject graph into a typed \`${mir}\` mirror. Generated; null-tolerant. */`,
|
|
142
155
|
`function ${fn}(o: unknown): ${mir} | null {`,
|
|
@@ -151,18 +164,18 @@ function emitMapper(vo, root, seen, out, override) {
|
|
|
151
164
|
if (isObjectField(f)) {
|
|
152
165
|
const target = refVo(f, root);
|
|
153
166
|
if (target !== undefined)
|
|
154
|
-
emitMapper(target, root, seen, out);
|
|
167
|
+
emitMapper(target, root, seen, out, undefined, ctx);
|
|
155
168
|
}
|
|
156
169
|
}
|
|
157
170
|
}
|
|
158
171
|
/** The mirror-field initializer expression that reads `field` from the assembled object `o`. */
|
|
159
|
-
function mapperArg(field, root) {
|
|
172
|
+
function mapperArg(field, root, ctx) {
|
|
160
173
|
const key = jsonStringLiteral(field.name);
|
|
161
174
|
if (isObjectField(field)) {
|
|
162
175
|
const target = refVo(field, root);
|
|
163
176
|
if (target === undefined)
|
|
164
177
|
return "null /* unresolved @objectRef */";
|
|
165
|
-
const fn = mapperName(target);
|
|
178
|
+
const fn = mapperName(target, ctx);
|
|
166
179
|
if (isArray(field)) {
|
|
167
180
|
return `mapObjectList(readProp(o, ${key}), ${fn})`;
|
|
168
181
|
}
|
|
@@ -205,9 +218,11 @@ export function usedHelpers(vo, root) {
|
|
|
205
218
|
const stack = [vo];
|
|
206
219
|
while (stack.length > 0) {
|
|
207
220
|
const cur = stack.pop();
|
|
208
|
-
|
|
221
|
+
// ADR-0044/#228: dedupe by resolutionKey() — bare-name dedupe would skip walking the
|
|
222
|
+
// SECOND colliding VO's fields entirely, silently missing a helper only IT needs.
|
|
223
|
+
if (seen.has(cur.resolutionKey()))
|
|
209
224
|
continue;
|
|
210
|
-
seen.add(cur.
|
|
225
|
+
seen.add(cur.resolutionKey());
|
|
211
226
|
for (const f of fields(cur)) {
|
|
212
227
|
if (isObjectField(f)) {
|
|
213
228
|
const target = refVo(f, root);
|
|
@@ -253,9 +268,10 @@ export function hasNested(vo, root) {
|
|
|
253
268
|
const stack = [vo];
|
|
254
269
|
while (stack.length > 0) {
|
|
255
270
|
const cur = stack.pop();
|
|
256
|
-
|
|
271
|
+
// ADR-0044/#228: dedupe by resolutionKey() (see usedHelpers).
|
|
272
|
+
if (seen.has(cur.resolutionKey()))
|
|
257
273
|
continue;
|
|
258
|
-
seen.add(cur.
|
|
274
|
+
seen.add(cur.resolutionKey());
|
|
259
275
|
for (const f of cur.children().filter((c) => c.type === TYPE_FIELD)) {
|
|
260
276
|
if (isObjectField(f)) {
|
|
261
277
|
const target = refVo(f, root);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-delegate-emitter.js","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,EAAE;AACF,6FAA6F;AAC7F,EAAE;AACF,2FAA2F;AAC3F,+EAA+E;AAC/E,EAAE;AACF,oFAAoF;AACpF,EAAE;AACF,6FAA6F;AAC7F,8FAA8F;AAC9F,6FAA6F;AAC7F,2FAA2F;AAC3F,2FAA2F;AAC3F,EAAE;AACF,6FAA6F;AAC7F,0FAA0F;AAC1F,+FAA+F;AAC/F,6FAA6F;AAC7F,uCAAuC;AAEvC,OAAO,EAEL,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-delegate-emitter.js","sourceRoot":"","sources":["../../src/templates/extract-delegate-emitter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type MetaData } from "@metaobjectsdev/metadata";
|
|
2
|
+
import type { RenderContext } from "../render-context.js";
|
|
2
3
|
/**
|
|
3
4
|
* Render the full `<TemplateName>.extractor.ts` for one `template.output` node.
|
|
4
5
|
* Throws if the template isn't found / isn't a template.output / its @payloadRef doesn't resolve,
|
|
5
6
|
* or if the target format is not json/xml (the extract tier requires the extract<Name> API, which
|
|
6
7
|
* only the json/xml output-parsers emit).
|
|
7
8
|
*/
|
|
8
|
-
export declare function renderExtractor(root: MetaData, templateName: string): string;
|
|
9
|
+
export declare function renderExtractor(root: MetaData, templateName: string, ctx?: RenderContext): string;
|
|
9
10
|
//# sourceMappingURL=extractor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,QAAQ,EAWd,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../../src/templates/extractor.ts"],"names":[],"mappings":"AAsBA,OAAO,EACL,KAAK,QAAQ,EAWd,MAAM,0BAA0B,CAAC;AAKlC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AA0P1D;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,MAAM,CAsFjG"}
|
|
@@ -70,9 +70,13 @@ function enumAlias(field, ownerName) {
|
|
|
70
70
|
function isFieldRequired(field) {
|
|
71
71
|
return field.attr(FIELD_ATTR_REQUIRED) === true;
|
|
72
72
|
}
|
|
73
|
-
/** The mirror→strict mapper name for a value-object (`toStrict<Name>`).
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
/** The mirror→strict mapper name for a value-object (`toStrict<Name>`). ADR-0044/#228: `ctx`
|
|
74
|
+
* (optional) resolves the collision-scoped entity-domain emitted name (matches Task 3's
|
|
75
|
+
* entity module), so the mapper name agrees with the strict payload type it targets under a
|
|
76
|
+
* cross-package short-name collision (`toStrictAcmeAlphaNote`). Omitted → bare `vo.name`. */
|
|
77
|
+
function mapperName(vo, ctx) {
|
|
78
|
+
const name = ctx ? ctx.valueObjectEmittedName(vo) : vo.name;
|
|
79
|
+
return `toStrict${name}`;
|
|
76
80
|
}
|
|
77
81
|
/**
|
|
78
82
|
* The mapper-body initializer expression for one field, reading mirror member `m.<name>` and
|
|
@@ -81,7 +85,7 @@ function mapperName(vo) {
|
|
|
81
85
|
* `f?: T` (= `T | undefined`, never `T | null`), so an absent optional maps to `undefined`.
|
|
82
86
|
* Nested single/array objects recurse into their toStrict<Type> mapper, guarding when optional.
|
|
83
87
|
*/
|
|
84
|
-
function strictArg(field, root, ownerName) {
|
|
88
|
+
function strictArg(field, root, ownerName, ctx) {
|
|
85
89
|
const name = field.name;
|
|
86
90
|
const required = isFieldRequired(field);
|
|
87
91
|
if (isObjectField(field)) {
|
|
@@ -90,7 +94,7 @@ function strictArg(field, root, ownerName) {
|
|
|
90
94
|
// Unresolved @objectRef — the payload type would be `unknown`; pass through as-is.
|
|
91
95
|
return required ? `m.${name}!` : `m.${name} ?? undefined`;
|
|
92
96
|
}
|
|
93
|
-
const fn = mapperName(target);
|
|
97
|
+
const fn = mapperName(target, ctx);
|
|
94
98
|
if (isArray(field)) {
|
|
95
99
|
// Required array-of-objects: each element mapped; element nulls dropped at the type level
|
|
96
100
|
// via the non-null assertion (extract never yields null elements for a present array).
|
|
@@ -144,20 +148,22 @@ function strictArg(field, root, ownerName) {
|
|
|
144
148
|
* payload interface. The ROOT mapper reads the canonically-named root mirror (`<Template>Extracted`)
|
|
145
149
|
* since the template name may differ from the payload VO name.
|
|
146
150
|
*/
|
|
147
|
-
function emitMappers(payloadVo, root, rootMirror) {
|
|
151
|
+
function emitMappers(payloadVo, root, rootMirror, ctx) {
|
|
148
152
|
const out = [];
|
|
149
153
|
const seen = new Set();
|
|
150
|
-
emitMapper(payloadVo, root, seen, out, rootMirror);
|
|
154
|
+
emitMapper(payloadVo, root, seen, out, rootMirror, ctx);
|
|
151
155
|
return out.join("\n\n");
|
|
152
156
|
}
|
|
153
|
-
function emitMapper(vo, root, seen, out, mirrorOverride) {
|
|
154
|
-
|
|
157
|
+
function emitMapper(vo, root, seen, out, mirrorOverride, ctx) {
|
|
158
|
+
// ADR-0044/#228: dedupe by resolutionKey() — see extract-delegate-emitter's emitMirror for why
|
|
159
|
+
// bare-name dedupe silently drops the second colliding VO's toStrict mapper.
|
|
160
|
+
if (seen.has(vo.resolutionKey()))
|
|
155
161
|
return;
|
|
156
|
-
seen.add(vo.
|
|
157
|
-
const fn = mapperName(vo);
|
|
158
|
-
const strict = vo.name;
|
|
159
|
-
const mir = mirrorOverride ?? mirrorName(vo);
|
|
160
|
-
const assigns = fields(vo).map((f) => ` ${f.name}: ${strictArg(f, root,
|
|
162
|
+
seen.add(vo.resolutionKey());
|
|
163
|
+
const fn = mapperName(vo, ctx);
|
|
164
|
+
const strict = ctx ? ctx.valueObjectEmittedName(vo) : vo.name;
|
|
165
|
+
const mir = mirrorOverride ?? mirrorName(vo, ctx);
|
|
166
|
+
const assigns = fields(vo).map((f) => ` ${f.name}: ${strictArg(f, root, strict, ctx)},`);
|
|
161
167
|
out.push([
|
|
162
168
|
`/** Map the all-nullable \`${mir}\` mirror onto the strict \`${strict}\` payload. Generated. */`,
|
|
163
169
|
`function ${fn}(m: ${mir}): ${strict} {`,
|
|
@@ -170,7 +176,7 @@ function emitMapper(vo, root, seen, out, mirrorOverride) {
|
|
|
170
176
|
if (isObjectField(f)) {
|
|
171
177
|
const target = refVo(f, root);
|
|
172
178
|
if (target !== undefined)
|
|
173
|
-
emitMapper(target, root, seen, out);
|
|
179
|
+
emitMapper(target, root, seen, out, undefined, ctx);
|
|
174
180
|
}
|
|
175
181
|
}
|
|
176
182
|
}
|
|
@@ -183,24 +189,30 @@ function emitMapper(vo, root, seen, out, mirrorOverride) {
|
|
|
183
189
|
* VO's interface AND the aliases for its own enum fields are imported from `./<VO>.js` — NOT from a
|
|
184
190
|
* single `payloads.ts` (which no generator emits). Deduped, in discovery order, one group per VO.
|
|
185
191
|
*/
|
|
186
|
-
function reachablePayloadGroups(vo, root) {
|
|
192
|
+
function reachablePayloadGroups(vo, root, ctx) {
|
|
187
193
|
const groups = [];
|
|
188
194
|
const seenVo = new Set();
|
|
189
195
|
const seenAlias = new Set();
|
|
190
196
|
const visit = (cur) => {
|
|
191
|
-
|
|
197
|
+
// ADR-0044/#228: dedupe by resolutionKey() — bare-name dedupe would treat a colliding
|
|
198
|
+
// second VO as "already seen" and drop its own import group entirely.
|
|
199
|
+
if (seenVo.has(cur.resolutionKey()))
|
|
192
200
|
return;
|
|
193
|
-
seenVo.add(cur.
|
|
194
|
-
// The VO interface + its OWN enum aliases share the VO's entity module.
|
|
195
|
-
|
|
201
|
+
seenVo.add(cur.resolutionKey());
|
|
202
|
+
// The VO interface + its OWN enum aliases share the VO's entity module. The module target
|
|
203
|
+
// is the ADR-0044/#228 entity-domain EMITTED name (Task 3's entityFile() writes `<emitted>.ts`),
|
|
204
|
+
// so a cross-package short-name collision imports from the SAME qualified module the entity
|
|
205
|
+
// tier emits (e.g. `AcmeAlphaNote` from `./AcmeAlphaNote.js`, never bare `Note`).
|
|
206
|
+
const emittedName = ctx ? ctx.valueObjectEmittedName(cur) : cur.name;
|
|
207
|
+
const types = [emittedName];
|
|
196
208
|
for (const f of fields(cur)) {
|
|
197
|
-
const alias = enumAlias(f,
|
|
209
|
+
const alias = enumAlias(f, emittedName);
|
|
198
210
|
if (alias !== undefined && !seenAlias.has(alias)) {
|
|
199
211
|
seenAlias.add(alias);
|
|
200
212
|
types.push(alias);
|
|
201
213
|
}
|
|
202
214
|
}
|
|
203
|
-
groups.push({ module:
|
|
215
|
+
groups.push({ module: emittedName, types });
|
|
204
216
|
// Recurse into nested object refs (their interfaces live in their own modules).
|
|
205
217
|
for (const f of fields(cur)) {
|
|
206
218
|
if (isObjectField(f)) {
|
|
@@ -214,16 +226,16 @@ function reachablePayloadGroups(vo, root) {
|
|
|
214
226
|
return groups;
|
|
215
227
|
}
|
|
216
228
|
/** Collect the mirror-interface names reachable from `vo` (root mirror + nested VO mirrors). */
|
|
217
|
-
function reachableMirrorTypes(vo, root, rootMirror) {
|
|
229
|
+
function reachableMirrorTypes(vo, root, rootMirror, ctx) {
|
|
218
230
|
const out = [rootMirror];
|
|
219
|
-
const seen = new Set([vo.
|
|
231
|
+
const seen = new Set([vo.resolutionKey()]);
|
|
220
232
|
const visit = (cur) => {
|
|
221
233
|
for (const f of fields(cur)) {
|
|
222
234
|
if (isObjectField(f)) {
|
|
223
235
|
const target = refVo(f, root);
|
|
224
|
-
if (target !== undefined && !seen.has(target.
|
|
225
|
-
seen.add(target.
|
|
226
|
-
out.push(mirrorName(target));
|
|
236
|
+
if (target !== undefined && !seen.has(target.resolutionKey())) {
|
|
237
|
+
seen.add(target.resolutionKey());
|
|
238
|
+
out.push(mirrorName(target, ctx));
|
|
227
239
|
visit(target);
|
|
228
240
|
}
|
|
229
241
|
}
|
|
@@ -238,7 +250,7 @@ function reachableMirrorTypes(vo, root, rootMirror) {
|
|
|
238
250
|
* or if the target format is not json/xml (the extract tier requires the extract<Name> API, which
|
|
239
251
|
* only the json/xml output-parsers emit).
|
|
240
252
|
*/
|
|
241
|
-
export function renderExtractor(root, templateName) {
|
|
253
|
+
export function renderExtractor(root, templateName, ctx) {
|
|
242
254
|
const tmpl = findTemplate(root, templateName);
|
|
243
255
|
if (!tmpl) {
|
|
244
256
|
throw new Error(`template "${templateName}" not found in metadata root`);
|
|
@@ -261,15 +273,18 @@ export function renderExtractor(root, templateName) {
|
|
|
261
273
|
if (format !== "json" && format !== "xml") {
|
|
262
274
|
throw new Error(`template "${templateName}" @format "${format}" has no extract API to extract over (json/xml only)`);
|
|
263
275
|
}
|
|
264
|
-
|
|
276
|
+
// ADR-0044/#228: the strict payload TYPE name is the entity-domain EMITTED name (Task 3's
|
|
277
|
+
// `valueObjectEmittedName`) — the SAME name entityFile() declared the interface under, so a
|
|
278
|
+
// cross-package short-name collision emits e.g. `AcmeAlphaNote`, matching `./AcmeAlphaNote.js`.
|
|
279
|
+
const strictType = ctx ? ctx.valueObjectEmittedName(vo) : vo.name;
|
|
265
280
|
const rootMirror = `${templateName}Extracted`;
|
|
266
281
|
const extractLenientWithName = `extractLenient${templateName}WithLoader`; // the nested-capable lenient extract (output-parser)
|
|
267
282
|
const extractLenientPublic = `extractLenient${templateName}`; // re-exposed never-throws lenient tier name
|
|
268
283
|
const extractName = `extract${templateName}`;
|
|
269
|
-
const rootMapper = mapperName(vo);
|
|
270
|
-
const payloadGroups = reachablePayloadGroups(vo, root);
|
|
271
|
-
const mirrorTypes = reachableMirrorTypes(vo, root, rootMirror);
|
|
272
|
-
const mappers = emitMappers(vo, root, rootMirror);
|
|
284
|
+
const rootMapper = mapperName(vo, ctx);
|
|
285
|
+
const payloadGroups = reachablePayloadGroups(vo, root, ctx);
|
|
286
|
+
const mirrorTypes = reachableMirrorTypes(vo, root, rootMirror, ctx);
|
|
287
|
+
const mappers = emitMappers(vo, root, rootMirror, ctx);
|
|
273
288
|
// One type-only import per VO entity module (the VO interface + its own enum
|
|
274
289
|
// union-aliases co-located there). NOT a single non-existent `./payloads.js`.
|
|
275
290
|
const payloadImports = payloadGroups
|