prisma-effect-kysely 4.5.1 → 4.5.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/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.5.4
4
+
5
+ ### Patch Changes
6
+
7
+ - 2d2a0e9: Fix: properly brand `generated()` return type for type-level Insertable filtering
8
+
9
+ The `generated()` function was returning `Schema<SType, ...>` instead of `Schema<Generated<SType>, ...>`, which meant the Generated brand was not present at the type level.
10
+
11
+ Also fixed `Generated<T>` type to use `__insert__: never` (instead of `T | undefined`) to match the runtime behavior where `Insertable()` completely filters out generated fields rather than making them optional.
12
+
13
+ This fixes type errors in consuming projects where `Insertable<T>` was including all fields instead of excluding generated ones.
14
+
15
+ ## 4.5.3
16
+
17
+ ### Patch Changes
18
+
19
+ - Fix FK branding to only apply when FK references target's ID field
20
+
21
+ Foreign key fields are now only given branded ID schemas (e.g., `UserIdSchema`) when the FK actually references the target model's ID field. FKs that reference other unique fields (like enum fields) will use the appropriate field type instead of an incorrect branded ID schema.
22
+
23
+ This fixes the issue where `product.market` (which references `market.code`, an enum field) was incorrectly typed as `MarketIdSchema` (a branded UUID) instead of `MarketTypeSchema` (the enum type).
24
+
3
25
  ## 4.4.1
4
26
 
5
27
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  import type { DMMF } from '@prisma/generator-helper';
2
- import type { JoinTableInfo } from '../prisma/relation.js';
2
+ import { type JoinTableInfo } from '../prisma/relation.js';
3
3
  /**
4
4
  * Effect domain generator - orchestrates Effect Schema generation
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQ3D;;GAEG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE;IAIlD;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAgBnE;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI;IAgBxF;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAuB3E;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAkB3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IA4BrC;;OAEG;IACH,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE;IAIpD;;OAEG;IACH,iCAAiC,CAAC,UAAU,EAAE,aAAa,EAAE;CAG9D"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAsB,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAQ/E;;GAEG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,CAAC,aAAa,EAAE;IAIlD;;;;OAIG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAoBnE;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI;IAgBxF;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAuB3E;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAkB3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IA4BrC;;OAEG;IACH,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE;IAIpD;;OAEG;IACH,iCAAiC,CAAC,UAAU,EAAE,aAAa,EAAE;CAG9D"}
@@ -1,3 +1,4 @@
1
+ import { buildForeignKeyMap } from '../prisma/relation.js';
1
2
  import { isUuidField } from '../prisma/type.js';
2
3
  import { generateFileHeader } from '../utils/codegen.js';
3
4
  import { toPascalCase } from '../utils/naming.js';
@@ -24,9 +25,12 @@ export class EffectGenerator {
24
25
  * (prevents type expansion that breaks SchemasWithId type params)
25
26
  */
26
27
  generateBaseSchema(model, fields) {
28
+ // Build FK map to determine which fields should use branded FK types
29
+ // Only includes FKs that reference the target model's ID field
30
+ const fkMap = buildForeignKeyMap(model, this.dmmf.datamodel.models);
27
31
  const fieldDefinitions = fields
28
32
  .map((field) => {
29
- const fieldType = buildFieldType(field, this.dmmf);
33
+ const fieldType = buildFieldType(field, this.dmmf, fkMap);
30
34
  return ` ${field.name}: ${fieldType}`;
31
35
  })
32
36
  .join(',\n');
@@ -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":"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"}
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;IAUpE;;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"}
@@ -31,7 +31,8 @@ export class KyselyGenerator {
31
31
  */
32
32
  generateModelFields(model, fields) {
33
33
  // Build FK map for this model to enable branded FK types
34
- const fkMap = buildForeignKeyMap(model);
34
+ // Pass all models so we can verify FK points to target's ID field
35
+ const fkMap = buildForeignKeyMap(model, this.dmmf.datamodel.models);
35
36
  return Array.from(fields)
36
37
  .map((field) => this.generateFieldWithKysely(field, fkMap))
37
38
  .join(',\n');
@@ -1 +1 @@
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"}
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,kEAAkE;QAClE,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEpE,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"}
@@ -50,17 +50,20 @@ export type ColumnType<S, I = S, U = S> = S & {
50
50
  /**
51
51
  * Branded Generated type for database-generated fields.
52
52
  *
53
- * Equivalent to ColumnType<T, T | undefined, T> - the field is:
53
+ * Follows @effect/sql Model.Generated pattern - the field is:
54
54
  * - Required on select (T)
55
- * - Optional on insert (T | undefined)
55
+ * - EXCLUDED from insert (never) - database generates the value
56
56
  * - Allowed on update (T)
57
57
  *
58
+ * This matches the runtime behavior of Insertable() which filters out
59
+ * generated fields entirely (not optional, completely absent).
60
+ *
58
61
  * Includes __select__ property for reliable type extraction in declaration emit.
59
62
  */
60
63
  export type Generated<T> = T & {
61
64
  readonly [GeneratedId]: true;
62
65
  readonly [ColumnTypeId]: {
63
- readonly __insert__: T | undefined;
66
+ readonly __insert__: never;
64
67
  readonly __update__: T;
65
68
  };
66
69
  readonly __select__: T;
@@ -84,10 +87,10 @@ export declare const columnType: <SType, SEncoded, SR, IType, IEncoded, IR, UTyp
84
87
  * - Present in select and update schemas
85
88
  * - OMITTED from insert schema (not optional, completely absent)
86
89
  *
87
- * Returns the base schema with annotation - branding happens at type level
88
- * in generated code via type declarations, not via runtime type assertions.
90
+ * Returns the schema branded with Generated<T> at the type level.
91
+ * This enables CustomInsertable to filter out generated fields at compile time.
89
92
  */
90
- export declare const generated: <SType, SEncoded, R>(schema: Schema.Schema<SType, SEncoded, R>) => Schema.Schema<SType, SEncoded, R>;
93
+ export declare const generated: <SType, SEncoded, R>(schema: Schema.Schema<SType, SEncoded, R>) => Schema.Schema<Generated<SType>, Generated<SEncoded>, R>;
91
94
  /**
92
95
  * Extract the insert type from a field:
93
96
  * - ColumnType<S, I, U> -> I (via brand)
@@ -112,7 +115,7 @@ type ExtractUpdateType<T> = T extends {
112
115
  } ? U : T;
113
116
  /**
114
117
  * Custom Insertable type that properly omits fields with `never` insert types.
115
- * This is needed because Kysely's Insertable includes never fields which makes types unusable.
118
+ * This handles ColumnType<S, never, U> fields (read-only ID fields).
116
119
  */
117
120
  type CustomInsertable<T> = DeepMutable<{
118
121
  [K in keyof T as ExtractInsertType<T[K]> extends never ? never : K]: ExtractInsertType<T[K]>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EACV,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC9B,UAAU,IAAI,gBAAgB,EAC9B,SAAS,IAAI,eAAe,EAC7B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,CAAC;AAEF,eAAO,MAAM,YAAY,eAA8B,CAAC;AACxD,eAAO,MAAM,WAAW,eAA6B,CAAC;AAStD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;IAC5C,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC;IAC5E,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;CACxB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG;IAC7B,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;IAC7B,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;KAAE,CAAC;IACxF,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;CACxB,CAAC;AAYF;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EACtF,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAChD,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAChD,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CASnC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC1C,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,KACxC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAGlC,CAAC;AA6IF;;;;;GAKG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAC/F,CAAC,GACD,CAAC,CAAC;AAEN;;;;;GAKG;AACH,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAC/F,CAAC,GACD,CAAC,CAAC;AAEN;;;GAGG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;KACpC,CAAC,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7F,CAAC,CAAC;AAEH;;GAEG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,WAAW,CAAC;KACpC,CAAC,IAAI,MAAM,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9F,CAAC,CAAC;AAGH,KAAK,aAAa,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAClD,KAAK,aAAa,CAAC,IAAI,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAMlD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAqBxC;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAkCnE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAiCnE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,OAAO,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG;IAC3D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAG3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAChC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACjC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EACjC,KAAK,CACN,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAChC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAC7C,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAChD,KAAK,CACN,CAAC;IACF,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAChC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAC7C,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,EAChD,KAAK,CACN,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAC5B,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EACpC,QAAQ,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,CAClC,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EACpC,QAAQ,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAClC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,GAAG,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEnF,wBAAgB,UAAU,CAAC,UAAU,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC7D,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,UAAU,CAAC,CAAC;AAoCvB;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,UAAU,CAEpB,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,IAC7D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CAEpB,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,IAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAExC;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,CAEpB,CAAC,SAAS;IAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,IAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;AAExC;;;GAGG;AAEH,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
@@ -29,11 +29,13 @@ export const columnType = (selectSchema, insertSchema, updateSchema) => {
29
29
  * - Present in select and update schemas
30
30
  * - OMITTED from insert schema (not optional, completely absent)
31
31
  *
32
- * Returns the base schema with annotation - branding happens at type level
33
- * in generated code via type declarations, not via runtime type assertions.
32
+ * Returns the schema branded with Generated<T> at the type level.
33
+ * This enables CustomInsertable to filter out generated fields at compile time.
34
34
  */
35
35
  export const generated = (schema) => {
36
- // Return annotated schema - no type assertion, just metadata marker
36
+ // Return annotated schema with Generated brand at type level
37
+ // The runtime annotation enables filtering in Insertable() function
38
+ // The type-level brand enables filtering in CustomInsertable type utility
37
39
  return schema.annotations({ [GeneratedId]: true });
38
40
  };
39
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
@@ -32,15 +32,29 @@ export declare function getModelIdField(model: DMMF.Model): DMMF.Field;
32
32
  * Detection logic: A scalar field is a FK if any relation field
33
33
  * in the same model has this field in its `relationFromFields` array.
34
34
  *
35
+ * IMPORTANT: Only includes FKs that reference the target model's ID field.
36
+ * FKs to non-ID unique fields (like enums) should use the target field's type,
37
+ * not a branded ID schema.
38
+ *
39
+ * @param model - The model to analyze
40
+ * @param models - All models in the datamodel (for looking up target model ID fields)
41
+ *
35
42
  * @example
36
43
  * // For Seller model with user_id FK:
37
44
  * // fields = [
38
45
  * // { name: "user_id", kind: "scalar", type: "String" },
39
- * // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"] }
46
+ * // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"], relationToFields: ["id"] }
40
47
  * // ]
41
48
  * // Returns: Map { "user_id" => "User" }
49
+ *
50
+ * // For Product model with market FK to market.code (enum):
51
+ * // fields = [
52
+ * // { name: "market", kind: "scalar", type: "MARKET_TYPE" },
53
+ * // { name: "market_relation", kind: "object", type: "market", relationFromFields: ["market"], relationToFields: ["code"] }
54
+ * // ]
55
+ * // Returns: Map {} (empty - code is not the ID field)
42
56
  */
43
- export declare function buildForeignKeyMap(model: DMMF.Model): Map<string, string>;
57
+ export declare function buildForeignKeyMap(model: DMMF.Model, models?: readonly DMMF.Model[]): Map<string, string>;
44
58
  /**
45
59
  * Detect all implicit many-to-many relations from DMMF models
46
60
  * 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;;;;;;;;;;;;;;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAC7B,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CA+CrB;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,EAAE,CAwBvF"}
@@ -42,20 +42,60 @@ export function getModelIdField(model) {
42
42
  * Detection logic: A scalar field is a FK if any relation field
43
43
  * in the same model has this field in its `relationFromFields` array.
44
44
  *
45
+ * IMPORTANT: Only includes FKs that reference the target model's ID field.
46
+ * FKs to non-ID unique fields (like enums) should use the target field's type,
47
+ * not a branded ID schema.
48
+ *
49
+ * @param model - The model to analyze
50
+ * @param models - All models in the datamodel (for looking up target model ID fields)
51
+ *
45
52
  * @example
46
53
  * // For Seller model with user_id FK:
47
54
  * // fields = [
48
55
  * // { name: "user_id", kind: "scalar", type: "String" },
49
- * // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"] }
56
+ * // { name: "user", kind: "object", type: "User", relationFromFields: ["user_id"], relationToFields: ["id"] }
50
57
  * // ]
51
58
  * // Returns: Map { "user_id" => "User" }
59
+ *
60
+ * // For Product model with market FK to market.code (enum):
61
+ * // fields = [
62
+ * // { name: "market", kind: "scalar", type: "MARKET_TYPE" },
63
+ * // { name: "market_relation", kind: "object", type: "market", relationFromFields: ["market"], relationToFields: ["code"] }
64
+ * // ]
65
+ * // Returns: Map {} (empty - code is not the ID field)
52
66
  */
53
- export function buildForeignKeyMap(model) {
67
+ export function buildForeignKeyMap(model, models) {
54
68
  const fkMap = new Map();
55
69
  // Find all relation fields (kind === "object")
56
70
  const relationFields = model.fields.filter((f) => f.kind === 'object');
57
71
  for (const relation of relationFields) {
58
72
  if (relation.relationFromFields && relation.relationFromFields.length > 0) {
73
+ // Check if this FK references the target model's ID field
74
+ const targetModel = models?.find((m) => m.name === relation.type);
75
+ if (!targetModel) {
76
+ // Can't verify - skip this FK to be safe
77
+ continue;
78
+ }
79
+ // Get target model's ID field name
80
+ let targetIdFieldName;
81
+ const idField = targetModel.fields.find((f) => f.isId === true);
82
+ if (idField) {
83
+ targetIdFieldName = idField.name;
84
+ }
85
+ else if (targetModel.primaryKey && targetModel.primaryKey.fields.length > 0) {
86
+ targetIdFieldName = targetModel.primaryKey.fields[0];
87
+ }
88
+ if (!targetIdFieldName) {
89
+ // Target model has no ID field - skip
90
+ continue;
91
+ }
92
+ // Check if relationToFields references the ID field
93
+ const refersToIdField = relation.relationToFields?.length === 1 &&
94
+ relation.relationToFields[0] === targetIdFieldName;
95
+ if (!refersToIdField) {
96
+ // FK points to non-ID field (e.g., enum) - don't use branded ID
97
+ continue;
98
+ }
59
99
  // Map each FK field to the target model
60
100
  for (const fkFieldName of relation.relationFromFields) {
61
101
  fkMap.set(fkFieldName, relation.type); // relation.type is the target model name
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiB,EACjB,MAA8B;IAE9B,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,0DAA0D;YAC1D,MAAM,WAAW,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,yCAAyC;gBACzC,SAAS;YACX,CAAC;YAED,mCAAmC;YACnC,IAAI,iBAAqC,CAAC;YAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAChE,IAAI,OAAO,EAAE,CAAC;gBACZ,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC;iBAAM,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9E,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,sCAAsC;gBACtC,SAAS;YACX,CAAC;YAED,oDAAoD;YACpD,MAAM,eAAe,GACnB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,KAAK,CAAC;gBACvC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,KAAK,iBAAiB,CAAC;YAErD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,gEAAgE;gBAChE,SAAS;YACX,CAAC;YAED,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prisma-effect-kysely",
3
- "version": "4.5.1",
3
+ "version": "4.5.4",
4
4
  "description": "Prisma generator that creates Effect Schema types from Prisma schema compatible with Kysely",
5
5
  "license": "MIT",
6
6
  "author": "Samuel Ho",
@@ -51,23 +51,6 @@
51
51
  "node": ">=20.0.0",
52
52
  "pnpm": ">=8.0.0"
53
53
  },
54
- "packageManager": "pnpm@10.0.0",
55
- "scripts": {
56
- "build": "tsc -p tsconfig.lib.json",
57
- "prepare": "husky",
58
- "test": "vitest run",
59
- "test:watch": "vitest",
60
- "test:coverage": "vitest run --coverage",
61
- "typecheck": "tsc --noEmit -p tsconfig.lib.json",
62
- "lint": "eslint .",
63
- "lint:fix": "eslint . --fix",
64
- "format": "prettier --write .",
65
- "format:check": "prettier --check .",
66
- "changeset": "changeset",
67
- "changeset:version": "changeset version",
68
- "changeset:publish": "changeset publish",
69
- "prepublishOnly": "npm run lint && npm run typecheck && npm run test && npm run build"
70
- },
71
54
  "lint-staged": {
72
55
  "*.ts": [
73
56
  "eslint --fix",
@@ -88,8 +71,8 @@
88
71
  }
89
72
  },
90
73
  "devDependencies": {
91
- "@changesets/cli": "^2.29.8",
92
74
  "@changesets/changelog-github": "^0.5.1",
75
+ "@changesets/cli": "^2.29.8",
93
76
  "@effect/vitest": "^0.27.0",
94
77
  "@eslint/js": "^9.39.2",
95
78
  "@prisma/internals": "^7.2.0",
@@ -98,7 +81,7 @@
98
81
  "@typescript-eslint/parser": "^8.50.0",
99
82
  "@vitest/coverage-v8": "^4.0.16",
100
83
  "@vitest/eslint-plugin": "^1.5.4",
101
- "effect": "^3.19.13",
84
+ "effect": "^3.19.14",
102
85
  "eslint": "^9.39.2",
103
86
  "eslint-import-resolver-typescript": "^4.4.4",
104
87
  "eslint-plugin-import": "^2.32.0",
@@ -110,5 +93,19 @@
110
93
  "typescript": "^5.9.3",
111
94
  "typescript-eslint": "^8.50.0",
112
95
  "vitest": "^4.0.16"
96
+ },
97
+ "scripts": {
98
+ "build": "tsc -p tsconfig.lib.json",
99
+ "test": "vitest run",
100
+ "test:watch": "vitest",
101
+ "test:coverage": "vitest run --coverage",
102
+ "typecheck": "tsc --noEmit -p tsconfig.lib.json",
103
+ "lint": "eslint .",
104
+ "lint:fix": "eslint . --fix",
105
+ "format": "prettier --write .",
106
+ "format:check": "prettier --check .",
107
+ "changeset": "changeset",
108
+ "changeset:version": "changeset version",
109
+ "changeset:publish": "changeset publish"
113
110
  }
114
- }
111
+ }