prisma-effect-kysely 4.4.0 → 4.5.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/CHANGELOG.md +8 -0
- package/dist/effect/generator.js +1 -1
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/join-table.d.ts.map +1 -1
- package/dist/effect/join-table.js +2 -8
- package/dist/effect/join-table.js.map +1 -1
- package/dist/effect/type.d.ts +11 -3
- package/dist/effect/type.d.ts.map +1 -1
- package/dist/effect/type.js +22 -8
- package/dist/effect/type.js.map +1 -1
- package/dist/generator/index.js +0 -0
- package/dist/generator/orchestrator.d.ts.map +1 -1
- package/dist/generator/orchestrator.js +40 -22
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/generator.d.ts +9 -3
- package/dist/kysely/generator.d.ts.map +1 -1
- package/dist/kysely/generator.js +14 -5
- package/dist/kysely/generator.js.map +1 -1
- package/dist/prisma/relation.d.ts +16 -0
- package/dist/prisma/relation.d.ts.map +1 -1
- package/dist/prisma/relation.js +29 -0
- package/dist/prisma/relation.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.4.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Fix: use getSchemas() for join tables instead of individual Selectable/Insertable/Updateable function calls
|
|
8
|
+
|
|
9
|
+
Join tables were generating code that called Selectable(), Insertable(), Updateable() as functions but these were imported as types only, causing TypeScript compilation errors. Now join tables use getSchemas() like regular models.
|
|
10
|
+
|
|
3
11
|
## 4.4.0
|
|
4
12
|
|
|
5
13
|
### Minor Changes
|
package/dist/effect/generator.js
CHANGED
|
@@ -107,7 +107,7 @@ export const ${name}: Schemas<typeof ${baseSchemaName}> = _${name}Schemas;`;
|
|
|
107
107
|
`import { Schema } from "effect";`,
|
|
108
108
|
`import type { ColumnType } from "kysely";`,
|
|
109
109
|
`import { columnType, generated, getSchemas } from "prisma-effect-kysely";`,
|
|
110
|
-
`import type { Schemas, SchemasWithId
|
|
110
|
+
`import type { Schemas, SchemasWithId } from "prisma-effect-kysely";`,
|
|
111
111
|
];
|
|
112
112
|
if (hasEnums) {
|
|
113
113
|
// Only import Schema wrappers (not plain enum types)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-table.d.ts","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,aAAa,UAcxE;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,
|
|
1
|
+
{"version":3,"file":"join-table.d.ts","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,aAAa,UAcxE;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,UAuCrF"}
|
|
@@ -62,14 +62,8 @@ const _${relationName} = Schema.Struct({
|
|
|
62
62
|
${columnAField},
|
|
63
63
|
${columnBField},
|
|
64
64
|
});`;
|
|
65
|
-
// Generate operational schemas using
|
|
66
|
-
|
|
67
|
-
const operationalSchema = `export const ${relationName} = {
|
|
68
|
-
_base: _${relationName},
|
|
69
|
-
Selectable: Selectable(_${relationName}),
|
|
70
|
-
Insertable: Insertable(_${relationName}),
|
|
71
|
-
Updateable: Updateable(_${relationName}),
|
|
72
|
-
} as const;`;
|
|
65
|
+
// Generate operational schemas using getSchemas() (no Id for join tables - they use composite keys)
|
|
66
|
+
const operationalSchema = `export const ${relationName} = getSchemas(_${relationName});`;
|
|
73
67
|
// No type exports - consumers use: Selectable<typeof JoinTable>
|
|
74
68
|
return `${baseSchema}\n\n${operationalSchema}`;
|
|
75
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-table.js","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,SAAwB;IACvE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElD,OAAO,iCAAiC,YAAY;YAC1C,YAAY;IACpB,WAAW,gBAAgB,KAAK;IAChC,WAAW,gBAAgB,KAAK;EAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAA2B;QACxC,MAAM,EAAE,eAAe;QACvB,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAwB,EAAE,KAAoB;IACpF,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,GACd,GAAG,SAAS,CAAC;IAEd,0CAA0C;IAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAEhD,0EAA0E;IAC1E,0FAA0F;IAC1F,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IACtJ,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IAEtJ,kCAAkC;IAClC,MAAM,UAAU,GAAG,MAAM,SAAS;0BACV,MAAM,SAAS,MAAM;wBACvB,WAAW,KAAK,WAAW;SAC1C,YAAY;EACnB,YAAY;EACZ,YAAY;IACV,CAAC;IAEH
|
|
1
|
+
{"version":3,"file":"join-table.js","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,SAAwB;IACvE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElD,OAAO,iCAAiC,YAAY;YAC1C,YAAY;IACpB,WAAW,gBAAgB,KAAK;IAChC,WAAW,gBAAgB,KAAK;EAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAA2B;QACxC,MAAM,EAAE,eAAe;QACvB,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAwB,EAAE,KAAoB;IACpF,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,GACd,GAAG,SAAS,CAAC;IAEd,0CAA0C;IAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAEhD,0EAA0E;IAC1E,0FAA0F;IAC1F,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IACtJ,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IAEtJ,kCAAkC;IAClC,MAAM,UAAU,GAAG,MAAM,SAAS;0BACV,MAAM,SAAS,MAAM;wBACvB,WAAW,KAAK,WAAW;SAC1C,YAAY;EACnB,YAAY;EACZ,YAAY;IACV,CAAC;IAEH,oGAAoG;IACpG,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,kBAAkB,YAAY,IAAI,CAAC;IAEzF,gEAAgE;IAChE,OAAO,GAAG,UAAU,OAAO,iBAAiB,EAAE,CAAC;AACjD,CAAC"}
|
package/dist/effect/type.d.ts
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import type { DMMF } from '@prisma/generator-helper';
|
|
2
2
|
/**
|
|
3
3
|
* Map Prisma field type to Effect Schema type
|
|
4
|
-
* Priority order: annotation → UUID → scalar → enum → unknown fallback
|
|
4
|
+
* Priority order: annotation → FK branded → UUID → scalar → enum → unknown fallback
|
|
5
|
+
*
|
|
6
|
+
* @param field - The Prisma field to map
|
|
7
|
+
* @param dmmf - The full DMMF document for enum lookups
|
|
8
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
5
9
|
*/
|
|
6
|
-
export declare function mapFieldToEffectType(field: DMMF.Field, dmmf: DMMF.Document): string;
|
|
10
|
+
export declare function mapFieldToEffectType(field: DMMF.Field, dmmf: DMMF.Document, fkMap?: Map<string, string>): string;
|
|
7
11
|
/**
|
|
8
12
|
* Build complete field type with array and optional wrapping
|
|
13
|
+
*
|
|
14
|
+
* @param field - The Prisma field to build type for
|
|
15
|
+
* @param dmmf - The full DMMF document for enum lookups
|
|
16
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
9
17
|
*/
|
|
10
|
-
export declare function buildFieldType(field: DMMF.Field, dmmf: DMMF.Document): string;
|
|
18
|
+
export declare function buildFieldType(field: DMMF.Field, dmmf: DMMF.Document, fkMap?: Map<string, string>): string;
|
|
11
19
|
//# sourceMappingURL=type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AA2BrD
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AA2BrD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,UAqC5B;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,UAe5B"}
|
package/dist/effect/type.js
CHANGED
|
@@ -24,24 +24,34 @@ const PRISMA_SCALAR_MAP = {
|
|
|
24
24
|
};
|
|
25
25
|
/**
|
|
26
26
|
* Map Prisma field type to Effect Schema type
|
|
27
|
-
* Priority order: annotation → UUID → scalar → enum → unknown fallback
|
|
27
|
+
* Priority order: annotation → FK branded → UUID → scalar → enum → unknown fallback
|
|
28
|
+
*
|
|
29
|
+
* @param field - The Prisma field to map
|
|
30
|
+
* @param dmmf - The full DMMF document for enum lookups
|
|
31
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
28
32
|
*/
|
|
29
|
-
export function mapFieldToEffectType(field, dmmf) {
|
|
33
|
+
export function mapFieldToEffectType(field, dmmf, fkMap) {
|
|
30
34
|
// PRIORITY 1: Check for @customType annotation
|
|
31
35
|
const typeOverride = extractEffectTypeOverride(field);
|
|
32
36
|
if (typeOverride) {
|
|
33
37
|
return typeOverride;
|
|
34
38
|
}
|
|
35
|
-
// PRIORITY 2:
|
|
39
|
+
// PRIORITY 2: Check if this is a FK field with branded target
|
|
40
|
+
// FK fields use the referenced model's branded ID schema (e.g., UserIdSchema for user_id)
|
|
41
|
+
if (fkMap && fkMap.has(field.name)) {
|
|
42
|
+
const targetModel = fkMap.get(field.name);
|
|
43
|
+
return `${toPascalCase(targetModel)}IdSchema`;
|
|
44
|
+
}
|
|
45
|
+
// PRIORITY 3: Handle String type with UUID detection (non-FK UUIDs)
|
|
36
46
|
if (field.type === 'String' && isUuidField(field)) {
|
|
37
47
|
return 'Schema.UUID';
|
|
38
48
|
}
|
|
39
|
-
// PRIORITY
|
|
49
|
+
// PRIORITY 4: Handle scalar types with const assertion lookup
|
|
40
50
|
const scalarType = PRISMA_SCALAR_MAP[field.type];
|
|
41
51
|
if (scalarType) {
|
|
42
52
|
return scalarType;
|
|
43
53
|
}
|
|
44
|
-
// PRIORITY
|
|
54
|
+
// PRIORITY 5: Check if it's an enum
|
|
45
55
|
// TDD: Satisfies tests 11-12 in field-type-generation.test.ts
|
|
46
56
|
const enumDef = dmmf.datamodel.enums.find((e) => e.name === field.type);
|
|
47
57
|
if (enumDef) {
|
|
@@ -49,14 +59,18 @@ export function mapFieldToEffectType(field, dmmf) {
|
|
|
49
59
|
// Use PascalCase + Schema suffix (Test 12)
|
|
50
60
|
return toPascalCase(field.type, 'Schema');
|
|
51
61
|
}
|
|
52
|
-
// PRIORITY
|
|
62
|
+
// PRIORITY 6: Fallback to Unknown
|
|
53
63
|
return 'Schema.Unknown';
|
|
54
64
|
}
|
|
55
65
|
/**
|
|
56
66
|
* Build complete field type with array and optional wrapping
|
|
67
|
+
*
|
|
68
|
+
* @param field - The Prisma field to build type for
|
|
69
|
+
* @param dmmf - The full DMMF document for enum lookups
|
|
70
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
57
71
|
*/
|
|
58
|
-
export function buildFieldType(field, dmmf) {
|
|
59
|
-
let baseType = mapFieldToEffectType(field, dmmf);
|
|
72
|
+
export function buildFieldType(field, dmmf, fkMap) {
|
|
73
|
+
let baseType = mapFieldToEffectType(field, dmmf, fkMap);
|
|
60
74
|
// Handle arrays
|
|
61
75
|
if (isListField(field)) {
|
|
62
76
|
baseType = `Schema.Array(${baseType})`;
|
package/dist/effect/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,eAAe;IACvB,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB;IAC1C,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,qBAAqB,EAAE,4CAA4C;IAC7E,IAAI,EAAE,gBAAgB,EAAE,oBAAoB;IAC5C,KAAK,EAAE,mBAAmB;CAClB,CAAC;AAEX
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/effect/type.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,eAAe;IACvB,GAAG,EAAE,eAAe;IACpB,KAAK,EAAE,eAAe;IACtB,MAAM,EAAE,eAAe;IACvB,OAAO,EAAE,eAAe,EAAE,gBAAgB;IAC1C,OAAO,EAAE,gBAAgB;IACzB,QAAQ,EAAE,qBAAqB,EAAE,4CAA4C;IAC7E,IAAI,EAAE,gBAAgB,EAAE,oBAAoB;IAC5C,KAAK,EAAE,mBAAmB;CAClB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAAiB,EACjB,IAAmB,EACnB,KAA2B;IAE3B,+CAA+C;IAC/C,MAAM,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,8DAA8D;IAC9D,0FAA0F;IAC1F,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC;QAC3C,OAAO,GAAG,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC;IAChD,CAAC;IAED,oEAAoE;IACpE,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAsC,CAAC,CAAC;IACnF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,oCAAoC;IACpC,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IACxE,IAAI,OAAO,EAAE,CAAC;QACZ,gDAAgD;QAChD,2CAA2C;QAC3C,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,kCAAkC;IAClC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAiB,EACjB,IAAmB,EACnB,KAA2B;IAE3B,IAAI,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAExD,gBAAgB;IAChB,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,QAAQ,GAAG,gBAAgB,QAAQ,GAAG,CAAC;IACzC,CAAC;IAED,4DAA4D;IAC5D,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACxD,QAAQ,GAAG,iBAAiB,QAAQ,GAAG,CAAC;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
File without changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,iBAAiB;IAiG/B;;OAEG;YACW,aAAa;IAM3B;;OAEG;YACW,aAAa;IA0E3B;;OAEG;YACW,aAAa;IAK3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -94,7 +94,16 @@ export class GeneratorOrchestrator {
|
|
|
94
94
|
const domainJoinTables = joinTables.filter((jt) => domain.models.some((m) => m.name === jt.modelA || m.name === jt.modelB));
|
|
95
95
|
// Generate header with imports
|
|
96
96
|
const header = this.effectGen.generateTypesHeader(hasEnums);
|
|
97
|
-
// Generate
|
|
97
|
+
// PHASE 1: Generate ALL branded ID schemas first (before any model structs)
|
|
98
|
+
// This ensures FK references can find their target ID schemas
|
|
99
|
+
const allBrandedIdSchemas = domain.models
|
|
100
|
+
.map((model) => {
|
|
101
|
+
const fields = this.prismaGen.getModelFields(model);
|
|
102
|
+
return this.effectGen.generateBrandedIdSchema(model, fields);
|
|
103
|
+
})
|
|
104
|
+
.filter((schema) => schema !== null)
|
|
105
|
+
.join('\n\n');
|
|
106
|
+
// PHASE 2: Generate model schemas for this domain only
|
|
98
107
|
const modelSchemas = domain.models
|
|
99
108
|
.map((model) => {
|
|
100
109
|
const fields = this.prismaGen.getModelFields(model);
|
|
@@ -102,21 +111,16 @@ export class GeneratorOrchestrator {
|
|
|
102
111
|
// Generate Kysely table interface
|
|
103
112
|
const kyselyTable = this.kyselyGen.generateTableInterface(model, fields);
|
|
104
113
|
// Generate base schema with Kysely fields (EXPORTED for TypeScript declaration emit)
|
|
105
|
-
|
|
114
|
+
// Pass full model for FK detection and branded type generation
|
|
115
|
+
const kyselyFields = this.kyselyGen.generateModelFields(model, fields);
|
|
106
116
|
const baseSchema = `// ${model.name} Base Schema (exported for TypeScript declaration emit)
|
|
107
117
|
export const ${baseSchemaName} = Schema.Struct({
|
|
108
118
|
${kyselyFields}
|
|
109
119
|
});`;
|
|
110
|
-
// Generate branded ID schema (if model has ID field)
|
|
111
|
-
const brandedIdSchema = this.effectGen.generateBrandedIdSchema(model, fields);
|
|
112
120
|
// Generate operational schemas (no type exports - consumers use type utilities)
|
|
113
121
|
const operationalSchema = this.effectGen.generateOperationalSchemas(model, fields);
|
|
114
|
-
// Assemble model output
|
|
115
|
-
const parts = [kyselyTable, baseSchema];
|
|
116
|
-
if (brandedIdSchema) {
|
|
117
|
-
parts.push(brandedIdSchema);
|
|
118
|
-
}
|
|
119
|
-
parts.push(operationalSchema);
|
|
122
|
+
// Assemble model output (ID schemas already generated in Phase 1)
|
|
123
|
+
const parts = [kyselyTable, baseSchema, operationalSchema];
|
|
120
124
|
return parts.join('\n\n');
|
|
121
125
|
})
|
|
122
126
|
.join('\n\n');
|
|
@@ -129,7 +133,12 @@ ${kyselyFields}
|
|
|
129
133
|
// Generate DB interface for this domain
|
|
130
134
|
const dbInterface = this.kyselyGen.generateDBInterface(domain.models, domainJoinTables);
|
|
131
135
|
// Assemble content with proper spacing
|
|
132
|
-
|
|
136
|
+
// Order: header → branded ID schemas → model schemas → join tables → DB interface
|
|
137
|
+
let content = `${header}`;
|
|
138
|
+
if (allBrandedIdSchemas) {
|
|
139
|
+
content += `\n\n// ===== Branded ID Schemas =====\n${allBrandedIdSchemas}`;
|
|
140
|
+
}
|
|
141
|
+
content += `\n\n// ===== Model Schemas =====\n${modelSchemas}`;
|
|
133
142
|
if (joinTableKyselyInterfaces) {
|
|
134
143
|
content += `\n\n${joinTableKyselyInterfaces}`;
|
|
135
144
|
}
|
|
@@ -159,7 +168,16 @@ ${kyselyFields}
|
|
|
159
168
|
const hasEnums = this.prismaGen.getEnums().length > 0;
|
|
160
169
|
// Generate header with imports
|
|
161
170
|
const header = this.effectGen.generateTypesHeader(hasEnums);
|
|
162
|
-
// Generate
|
|
171
|
+
// PHASE 1: Generate ALL branded ID schemas first (before any model structs)
|
|
172
|
+
// This ensures FK references can find their target ID schemas
|
|
173
|
+
const allBrandedIdSchemas = models
|
|
174
|
+
.map((model) => {
|
|
175
|
+
const fields = this.prismaGen.getModelFields(model);
|
|
176
|
+
return this.effectGen.generateBrandedIdSchema(model, fields);
|
|
177
|
+
})
|
|
178
|
+
.filter((schema) => schema !== null)
|
|
179
|
+
.join('\n\n');
|
|
180
|
+
// PHASE 2: Generate all model schemas (Kysely tables + Effect structs + operational schemas)
|
|
163
181
|
const modelSchemas = models
|
|
164
182
|
.map((model) => {
|
|
165
183
|
const fields = this.prismaGen.getModelFields(model);
|
|
@@ -167,21 +185,16 @@ ${kyselyFields}
|
|
|
167
185
|
// Generate Kysely table interface
|
|
168
186
|
const kyselyTable = this.kyselyGen.generateTableInterface(model, fields);
|
|
169
187
|
// Generate base schema with Kysely fields (EXPORTED for TypeScript declaration emit)
|
|
170
|
-
|
|
188
|
+
// Pass full model for FK detection and branded type generation
|
|
189
|
+
const kyselyFields = this.kyselyGen.generateModelFields(model, fields);
|
|
171
190
|
const baseSchema = `// ${model.name} Base Schema (exported for TypeScript declaration emit)
|
|
172
191
|
export const ${baseSchemaName} = Schema.Struct({
|
|
173
192
|
${kyselyFields}
|
|
174
193
|
});`;
|
|
175
|
-
// Generate branded ID schema (if model has ID field)
|
|
176
|
-
const brandedIdSchema = this.effectGen.generateBrandedIdSchema(model, fields);
|
|
177
194
|
// Generate operational schemas (no type exports - consumers use type utilities)
|
|
178
195
|
const operationalSchema = this.effectGen.generateOperationalSchemas(model, fields);
|
|
179
|
-
// Assemble model output
|
|
180
|
-
const parts = [kyselyTable, baseSchema];
|
|
181
|
-
if (brandedIdSchema) {
|
|
182
|
-
parts.push(brandedIdSchema);
|
|
183
|
-
}
|
|
184
|
-
parts.push(operationalSchema);
|
|
196
|
+
// Assemble model output (ID schemas already generated in Phase 1)
|
|
197
|
+
const parts = [kyselyTable, baseSchema, operationalSchema];
|
|
185
198
|
return parts.join('\n\n');
|
|
186
199
|
})
|
|
187
200
|
.join('\n\n');
|
|
@@ -192,7 +205,12 @@ ${kyselyFields}
|
|
|
192
205
|
// Generate DB interface with join tables
|
|
193
206
|
const dbInterface = this.kyselyGen.generateDBInterface(models, joinTables);
|
|
194
207
|
// Assemble content with proper spacing
|
|
195
|
-
|
|
208
|
+
// Order: header → branded ID schemas → model schemas → join tables → DB interface
|
|
209
|
+
let content = `${header}`;
|
|
210
|
+
if (allBrandedIdSchemas) {
|
|
211
|
+
content += `\n\n// ===== Branded ID Schemas =====\n${allBrandedIdSchemas}`;
|
|
212
|
+
}
|
|
213
|
+
content += `\n\n// ===== Model Schemas =====\n${modelSchemas}`;
|
|
196
214
|
if (joinTableKyselyInterfaces) {
|
|
197
215
|
content += `\n\n${joinTableKyselyInterfaces}`;
|
|
198
216
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DMMF } from '@prisma/generator-helper';
|
|
2
|
-
import type
|
|
2
|
+
import { type JoinTableInfo } from '../prisma/relation.js';
|
|
3
3
|
/**
|
|
4
4
|
* Kysely domain generator - orchestrates Kysely integration
|
|
5
5
|
* Applies Kysely helpers to Effect schemas
|
|
@@ -9,12 +9,18 @@ export declare class KyselyGenerator {
|
|
|
9
9
|
constructor(dmmf: DMMF.Document);
|
|
10
10
|
/**
|
|
11
11
|
* Generate field definition with Kysely helpers applied
|
|
12
|
+
*
|
|
13
|
+
* @param field - The field to generate
|
|
14
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
12
15
|
*/
|
|
13
|
-
generateFieldWithKysely(field: DMMF.Field): string;
|
|
16
|
+
generateFieldWithKysely(field: DMMF.Field, fkMap?: Map<string, string>): string;
|
|
14
17
|
/**
|
|
15
18
|
* Generate all fields for a model with Kysely integration
|
|
19
|
+
*
|
|
20
|
+
* @param model - The full model (needed for FK detection)
|
|
21
|
+
* @param fields - The filtered/sorted fields to generate
|
|
16
22
|
*/
|
|
17
|
-
generateModelFields(fields: readonly DMMF.Field[]): string;
|
|
23
|
+
generateModelFields(model: DMMF.Model, fields: readonly DMMF.Field[]): string;
|
|
18
24
|
/**
|
|
19
25
|
* Generate Kysely table interface for a model
|
|
20
26
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG/E;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAUtE;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IASpE;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAIvE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,GAAE,aAAa,EAAO;IAInF;;OAEG;IACH,iBAAiB;CAGlB"}
|
package/dist/kysely/generator.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { buildFieldType } from '../effect/type.js';
|
|
2
|
+
import { buildForeignKeyMap } from '../prisma/relation.js';
|
|
2
3
|
import { buildKyselyFieldType, generateDBInterface, generateKyselyTableInterface } from './type.js';
|
|
3
4
|
/**
|
|
4
5
|
* Kysely domain generator - orchestrates Kysely integration
|
|
@@ -11,20 +12,28 @@ export class KyselyGenerator {
|
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
13
14
|
* Generate field definition with Kysely helpers applied
|
|
15
|
+
*
|
|
16
|
+
* @param field - The field to generate
|
|
17
|
+
* @param fkMap - Optional FK field → target model mapping for branded FK types
|
|
14
18
|
*/
|
|
15
|
-
generateFieldWithKysely(field) {
|
|
16
|
-
// Get base Effect type
|
|
17
|
-
const baseFieldType = buildFieldType(field, this.dmmf);
|
|
19
|
+
generateFieldWithKysely(field, fkMap) {
|
|
20
|
+
// Get base Effect type (pass FK map for branded FK types)
|
|
21
|
+
const baseFieldType = buildFieldType(field, this.dmmf, fkMap);
|
|
18
22
|
// Apply Kysely helpers and @map
|
|
19
23
|
const kyselyFieldType = buildKyselyFieldType(baseFieldType, field);
|
|
20
24
|
return ` ${field.name}: ${kyselyFieldType}`;
|
|
21
25
|
}
|
|
22
26
|
/**
|
|
23
27
|
* Generate all fields for a model with Kysely integration
|
|
28
|
+
*
|
|
29
|
+
* @param model - The full model (needed for FK detection)
|
|
30
|
+
* @param fields - The filtered/sorted fields to generate
|
|
24
31
|
*/
|
|
25
|
-
generateModelFields(fields) {
|
|
32
|
+
generateModelFields(model, fields) {
|
|
33
|
+
// Build FK map for this model to enable branded FK types
|
|
34
|
+
const fkMap = buildForeignKeyMap(model);
|
|
26
35
|
return Array.from(fields)
|
|
27
|
-
.map((field) => this.generateFieldWithKysely(field))
|
|
36
|
+
.map((field) => this.generateFieldWithKysely(field, fkMap))
|
|
28
37
|
.join(',\n');
|
|
29
38
|
}
|
|
30
39
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/kysely/generator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAsB,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,MAAM,WAAW,CAAC;AAEpG;;;GAGG;AACH,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,uBAAuB,CAAC,KAAiB,EAAE,KAA2B;QACpE,0DAA0D;QAC1D,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE9D,gCAAgC;QAChC,MAAM,eAAe,GAAG,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEnE,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,KAAiB,EAAE,MAA6B;QAClE,yDAAyD;QACzD,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;aACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aAC1D,IAAI,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,sBAAsB,CAAC,KAAiB,EAAE,MAA6B;QACrE,OAAO,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,mBAAmB,CAAC,MAA6B,EAAE,aAA8B,EAAE;QACjF,OAAO,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,OAAO,0DAA0D,CAAC;IACpE,CAAC;CACF"}
|
|
@@ -25,6 +25,22 @@ export interface JoinTableInfo {
|
|
|
25
25
|
* Handles both single @id and composite @@id
|
|
26
26
|
*/
|
|
27
27
|
export declare function getModelIdField(model: DMMF.Model): DMMF.Field;
|
|
28
|
+
/**
|
|
29
|
+
* Build FK field → target model mapping for a model
|
|
30
|
+
* Returns map from FK field name to target model name
|
|
31
|
+
*
|
|
32
|
+
* Detection logic: A scalar field is a FK if any relation field
|
|
33
|
+
* in the same model has this field in its `relationFromFields` array.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // For Seller model with user_id FK:
|
|
37
|
+
* // fields = [
|
|
38
|
+
* // { name: "user_id", kind: "scalar", type: "String" },
|
|
39
|
+
* // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"] }
|
|
40
|
+
* // ]
|
|
41
|
+
* // Returns: Map { "user_id" => "User" }
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildForeignKeyMap(model: DMMF.Model): Map<string, string>;
|
|
28
44
|
/**
|
|
29
45
|
* Detect all implicit many-to-many relations from DMMF models
|
|
30
46
|
* Returns metadata for generating join table schemas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAiB7D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,EAAE,CAwBvF"}
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAiB7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgBzE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,EAAE,CAwBvF"}
|
package/dist/prisma/relation.js
CHANGED
|
@@ -35,6 +35,35 @@ export function getModelIdField(model) {
|
|
|
35
35
|
}
|
|
36
36
|
throw new Error(`Model ${model.name} has no ID field (@id or @@id required)`);
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Build FK field → target model mapping for a model
|
|
40
|
+
* Returns map from FK field name to target model name
|
|
41
|
+
*
|
|
42
|
+
* Detection logic: A scalar field is a FK if any relation field
|
|
43
|
+
* in the same model has this field in its `relationFromFields` array.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* // For Seller model with user_id FK:
|
|
47
|
+
* // fields = [
|
|
48
|
+
* // { name: "user_id", kind: "scalar", type: "String" },
|
|
49
|
+
* // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"] }
|
|
50
|
+
* // ]
|
|
51
|
+
* // Returns: Map { "user_id" => "User" }
|
|
52
|
+
*/
|
|
53
|
+
export function buildForeignKeyMap(model) {
|
|
54
|
+
const fkMap = new Map();
|
|
55
|
+
// Find all relation fields (kind === "object")
|
|
56
|
+
const relationFields = model.fields.filter((f) => f.kind === 'object');
|
|
57
|
+
for (const relation of relationFields) {
|
|
58
|
+
if (relation.relationFromFields && relation.relationFromFields.length > 0) {
|
|
59
|
+
// Map each FK field to the target model
|
|
60
|
+
for (const fkFieldName of relation.relationFromFields) {
|
|
61
|
+
fkMap.set(fkFieldName, relation.type); // relation.type is the target model name
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return fkMap;
|
|
66
|
+
}
|
|
38
67
|
/**
|
|
39
68
|
* Detect all implicit many-to-many relations from DMMF models
|
|
40
69
|
* Returns metadata for generating join table schemas
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relation.js","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAwBxC;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAAC,KAAiB;IAClD,OAAO,CACL,KAAK,CAAC,IAAI,KAAK,QAAQ;QACvB,KAAK,CAAC,MAAM,KAAK,IAAI;QACrB,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACtC,KAAK,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC;QACrC,KAAK,CAAC,gBAAgB,KAAK,SAAS;QACpC,KAAK,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,CACpC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,+BAA+B;IAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0DAA0D;IAC1D,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3D,MAAM,gBAAgB,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QACpE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,yCAAyC,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAiB;IAClD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAExC,+CAA+C;IAC/C,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAEvE,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,kBAAkB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1E,wCAAwC;YACxC,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;gBACtD,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,yCAAyC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAA6B;IACpE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEpD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAE7F,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/D,IAAI,CAAC,CAAC,YAAY,IAAI,uBAAuB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACpE,SAAS;YACX,CAAC;YAED,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;YAC9E,IAAI,aAAa,EAAE,CAAC;gBAClB,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CACzB,KAAiB,EACjB,KAAiB,EACjB,MAA6B;IAE7B,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAAiB,EACjB,KAAiB,EACjB,YAAwB,EACxB,MAA6B;IAE7B,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAExC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI,YAAY,EAAE;QAC7B,YAAY;QACZ,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;QACrB,WAAW,EAAE,aAAa,CAAC,IAAI;QAC/B,WAAW,EAAE,aAAa,CAAC,IAAI;QAC/B,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC;QACzC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAiB,EAAE,YAAwB;IAC1E,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAClE,CAAC;IAEF,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,yBAAyB,CAAC,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC"}
|