prisma-effect-kysely 4.2.4 → 4.2.7

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,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 4.2.7
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix StripFieldBranding type to correctly extract base types from branded ColumnType and Generated types.
8
+
9
+ Previously used `Omit` which doesn't work for intersection types like `S & { [brand]: ... }`.
10
+ Now uses conditional type inference (`T extends ColumnType<infer S, ...> ? S : ...`) to properly extract the base type.
11
+
12
+ This fixes type errors where `Selectable<T>` was returning `Omit<ColumnType<string, never, never>, symbol>` instead of `string`.
13
+
3
14
  ## 4.1.0
4
15
 
5
16
  ### Minor Changes
File without changes
@@ -1,5 +1,5 @@
1
1
  import { Schema } from 'effect';
2
- import type { Insertable as KyselyInsertable, Selectable as KyselySelectable, Updateable as KyselyUpdateable } from 'kysely';
2
+ import type { Insertable as KyselyInsertable, Selectable as KyselySelectable, Updateable as KyselyUpdateable, ColumnType as KyselyColumnType, Generated as KyselyGenerated } from 'kysely';
3
3
  import type { DeepMutable } from 'effect/Types';
4
4
  /**
5
5
  * Runtime helpers for Kysely schema integration
@@ -7,31 +7,58 @@ import type { DeepMutable } from 'effect/Types';
7
7
  *
8
8
  * ## Type Extraction Patterns
9
9
  *
10
- * For Kysely Table Interfaces (recommended for type-safe queries):
10
+ * For Effect Schemas (recommended - full type safety):
11
11
  * ```typescript
12
- * import type { Selectable, Insertable, Updateable } from 'kysely';
13
- * import { UserTable } from './generated/types';
14
- *
15
- * type UserSelect = Selectable<UserTable>; // All fields
16
- * type UserInsert = Insertable<UserTable>; // Excludes ColumnType<S, never, U>
17
- * type UserUpdate = Updateable<UserTable>; // Excludes ColumnType<S, I, never>
18
- * ```
19
- *
20
- * For Effect Schemas (runtime validation):
21
- * ```typescript
22
- * import { Selectable, Insertable, Updateable } from 'prisma-effect-kysely/kysely';
12
+ * import { Selectable, Insertable, Updateable, ColumnType, Generated } from 'prisma-effect-kysely/kysely';
23
13
  * import { User } from './generated/types';
24
14
  *
25
15
  * type UserSelect = Selectable<typeof User>;
26
16
  * type UserInsert = Insertable<typeof User>;
27
17
  * type UserUpdate = Updateable<typeof User>;
28
18
  * ```
19
+ *
20
+ * Note: This package exports branded versions of ColumnType and Generated that
21
+ * are compatible with Effect Schema's type inference. These extend the base
22
+ * select type (S) while carrying phantom insert/update type information.
29
23
  */
30
- export type { KyselySelectable, KyselyInsertable, KyselyUpdateable };
24
+ export type { KyselySelectable, KyselyInsertable, KyselyUpdateable, KyselyColumnType, KyselyGenerated, };
31
25
  export declare const ColumnTypeId: unique symbol;
32
26
  export declare const GeneratedId: unique symbol;
33
- import type { ColumnType, Generated } from 'kysely';
34
- export type { ColumnType, Generated };
27
+ /**
28
+ * Branded ColumnType that extends S while carrying phantom insert/update type information.
29
+ *
30
+ * This replaces Kysely's ColumnType because:
31
+ * 1. Kysely's ColumnType<S,I,U> = { __select__: S, __insert__: I, __update__: U } is NOT a subtype of S
32
+ * 2. Schema.make<KyselyColumnType<...>>(ast) doesn't work because AST represents S, not the struct
33
+ * 3. Our ColumnType<S,I,U> = S & Brand IS a subtype of S, so Schema.make works correctly
34
+ *
35
+ * Usage is identical to Kysely's ColumnType:
36
+ * ```typescript
37
+ * type IdField = ColumnType<string, never, never>; // Read-only ID
38
+ * type CreatedAt = ColumnType<Date, Date | undefined, Date>; // Optional on insert
39
+ * ```
40
+ */
41
+ export type ColumnType<S, I = S, U = S> = S & {
42
+ readonly [ColumnTypeId]: {
43
+ readonly __insert__: I;
44
+ readonly __update__: U;
45
+ };
46
+ };
47
+ /**
48
+ * Branded Generated type for database-generated fields.
49
+ *
50
+ * Equivalent to ColumnType<T, T | undefined, T> - the field is:
51
+ * - Required on select (T)
52
+ * - Optional on insert (T | undefined)
53
+ * - Allowed on update (T)
54
+ */
55
+ export type Generated<T> = T & {
56
+ readonly [GeneratedId]: true;
57
+ readonly [ColumnTypeId]: {
58
+ readonly __insert__: T | undefined;
59
+ readonly __update__: T;
60
+ };
61
+ };
35
62
  /**
36
63
  * Mark a field as having different types for select/insert/update
37
64
  * Used for ID fields with @default (read-only)
@@ -39,8 +66,10 @@ export type { ColumnType, Generated };
39
66
  * The insert/update schemas are stored in annotations and used at runtime
40
67
  * to determine which fields to include in Insertable/Updateable schemas.
41
68
  *
42
- * The return type uses Kysely's ColumnType<S, I, U> so that Kysely's
43
- * Insertable<T> and Updateable<T> type utilities work correctly.
69
+ * Returns a schema with our branded ColumnType<S,I,U> that extends S, ensuring:
70
+ * 1. TypeScript correctly infers the return type across module boundaries
71
+ * 2. Runtime decode returns S values (not wrapped structs)
72
+ * 3. Type utilities can extract I and U from the brand
44
73
  */
45
74
  export declare const columnType: <SType, SEncoded, SR, IType, IEncoded, IR, UType, UEncoded, UR>(selectSchema: Schema.Schema<SType, SEncoded, SR>, insertSchema: Schema.Schema<IType, IEncoded, IR>, updateSchema: Schema.Schema<UType, UEncoded, UR>) => Schema.Schema<ColumnType<SType, IType, UType>, SEncoded, SR>;
46
75
  /**
@@ -51,23 +80,33 @@ export declare const columnType: <SType, SEncoded, SR, IType, IEncoded, IR, UTyp
51
80
  * - Present in select and update schemas
52
81
  * - OMITTED from insert schema (not optional, completely absent)
53
82
  *
54
- * The return type uses Kysely's Generated<T> so that Kysely's
55
- * Insertable<T> makes this field optional.
83
+ * Returns a schema with our branded Generated<T> that extends T, ensuring:
84
+ * 1. TypeScript correctly infers the return type across module boundaries
85
+ * 2. Runtime decode returns T values (not wrapped structs)
56
86
  */
57
87
  export declare const generated: <SType, SEncoded, R>(schema: Schema.Schema<SType, SEncoded, R>) => Schema.Schema<Generated<SType>, SEncoded, R>;
58
88
  /**
59
89
  * Extract the insert type from a field:
60
- * - ColumnType<S, I, U> -> I
61
- * - Generated<T> -> T | undefined (optional)
90
+ * - ColumnType<S, I, U> -> I (via brand)
91
+ * - Generated<T> -> T | undefined (via brand)
62
92
  * - Other types -> as-is
63
93
  */
64
- type ExtractInsertType<T> = T extends ColumnType<any, infer I, any> ? I : T;
94
+ type ExtractInsertType<T> = T extends {
95
+ readonly [ColumnTypeId]: {
96
+ readonly __insert__: infer I;
97
+ };
98
+ } ? I : T;
65
99
  /**
66
100
  * Extract the update type from a field:
67
- * - ColumnType<S, I, U> -> U
101
+ * - ColumnType<S, I, U> -> U (via brand)
102
+ * - Generated<T> -> T (via brand)
68
103
  * - Other types -> as-is
69
104
  */
70
- type ExtractUpdateType<T> = T extends ColumnType<any, any, infer U> ? U : T;
105
+ type ExtractUpdateType<T> = T extends {
106
+ readonly [ColumnTypeId]: {
107
+ readonly __update__: infer U;
108
+ };
109
+ } ? U : T;
71
110
  /**
72
111
  * Custom Insertable type that properly omits fields with `never` insert types.
73
112
  * This is needed because Kysely's Insertable includes never fields which makes types unusable.
@@ -83,7 +122,28 @@ type CustomUpdateable<T> = DeepMutable<{
83
122
  }>;
84
123
  type MutableInsert<Type> = CustomInsertable<Type>;
85
124
  type MutableUpdate<Type> = CustomUpdateable<Type>;
86
- export declare const Selectable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<KyselySelectable<Type>, KyselySelectable<Encoded>, never>;
125
+ /**
126
+ * Strip branding from a single field type using conditional type inference.
127
+ * Uses inference to extract the base type S from branded types.
128
+ *
129
+ * - Generated<T> = T & {...} -> T (via infer)
130
+ * - ColumnType<S, I, U> = S & {...} -> S (via infer)
131
+ * - Other types -> as-is
132
+ */
133
+ type StripFieldBranding<T> = T extends Generated<infer S> ? S : T extends ColumnType<infer S, unknown, unknown> ? S : T;
134
+ /**
135
+ * Strip branding from all properties in an object type.
136
+ * Converts ColumnType<S,I,U> to S and Generated<T> to T.
137
+ */
138
+ type StripBrandingFromObject<T> = {
139
+ [K in keyof T]: StripFieldBranding<T[K]>;
140
+ };
141
+ /**
142
+ * Selectable type with branding stripped - used for Schema function return types.
143
+ * This ensures that `Schema.Type` returns plain types without ColumnType/Generated branding.
144
+ */
145
+ type SelectableType<T> = KyselySelectable<StripBrandingFromObject<T>>;
146
+ export declare const Selectable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<SelectableType<Type>, SelectableType<Encoded>, never>;
87
147
  /**
88
148
  * Create Insertable schema from base schema
89
149
  * Filters out generated fields (@effect/sql Model.Generated pattern)
@@ -102,7 +162,7 @@ export declare const Updateable: <Type, Encoded>(schema: Schema.Schema<Type, Enc
102
162
  */
103
163
  export interface Schemas<BaseSchema extends Schema.Schema<unknown, unknown, unknown>> {
104
164
  readonly _base: BaseSchema;
105
- readonly Selectable: Schema.Schema<KyselySelectable<Schema.Schema.Type<BaseSchema>>, KyselySelectable<Schema.Schema.Encoded<BaseSchema>>, never>;
165
+ readonly Selectable: Schema.Schema<SelectableType<Schema.Schema.Type<BaseSchema>>, SelectableType<Schema.Schema.Encoded<BaseSchema>>, never>;
106
166
  readonly Insertable: Schema.Schema<MutableInsert<Schema.Schema.Type<BaseSchema>>, MutableInsert<Schema.Schema.Encoded<BaseSchema>>, never>;
107
167
  readonly Updateable: Schema.Schema<MutableUpdate<Schema.Schema.Type<BaseSchema>>, MutableUpdate<Schema.Schema.Encoded<BaseSchema>>, never>;
108
168
  }
@@ -139,30 +199,31 @@ type OmitNever<T> = {
139
199
  type StrictType<T> = OmitNever<RemoveIndexSignature<T>>;
140
200
  /**
141
201
  * Extract SELECT type from schema (matches Kysely's Selectable<T> pattern)
202
+ * Strips ColumnType/Generated branding to return plain types.
142
203
  * @example type UserSelect = Selectable<typeof User>
143
204
  */
144
205
  export type Selectable<T extends {
145
- readonly Selectable: Schema.Schema<unknown, unknown, unknown>;
146
- }> = StrictType<Schema.Schema.Type<T['Selectable']>>;
206
+ readonly Selectable: Schema.Schema<any, any, any>;
207
+ }> = StrictType<StripBrandingFromObject<Schema.Schema.Type<T['Selectable']>>>;
147
208
  /**
148
209
  * Extract INSERT type from schema (matches Kysely's Insertable<T> pattern)
149
210
  * @example type UserInsert = Insertable<typeof User>
150
211
  */
151
212
  export type Insertable<T extends {
152
- readonly Insertable: Schema.Schema<unknown, unknown, unknown>;
213
+ readonly Insertable: Schema.Schema<any, any, any>;
153
214
  }> = StrictType<Schema.Schema.Type<T['Insertable']>>;
154
215
  /**
155
216
  * Extract UPDATE type from schema (matches Kysely's Updateable<T> pattern)
156
217
  * @example type UserUpdate = Updateable<typeof User>
157
218
  */
158
219
  export type Updateable<T extends {
159
- readonly Updateable: Schema.Schema<unknown, unknown, unknown>;
220
+ readonly Updateable: Schema.Schema<any, any, any>;
160
221
  }> = StrictType<Schema.Schema.Type<T['Updateable']>>;
161
222
  /**
162
223
  * Extract branded ID type from schema
163
224
  * @example type UserId = Id<typeof User>
164
225
  */
165
226
  export type Id<T extends {
166
- Id: Schema.Schema<unknown, unknown, unknown>;
227
+ Id: Schema.Schema<any, any, any>;
167
228
  }> = Schema.Schema.Type<T['Id']>;
168
229
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,10 @@ export const GeneratedId = Symbol.for('/GeneratedId');
9
9
  * The insert/update schemas are stored in annotations and used at runtime
10
10
  * to determine which fields to include in Insertable/Updateable schemas.
11
11
  *
12
- * The return type uses Kysely's ColumnType<S, I, U> so that Kysely's
13
- * Insertable<T> and Updateable<T> type utilities work correctly.
12
+ * Returns a schema with our branded ColumnType<S,I,U> that extends S, ensuring:
13
+ * 1. TypeScript correctly infers the return type across module boundaries
14
+ * 2. Runtime decode returns S values (not wrapped structs)
15
+ * 3. Type utilities can extract I and U from the brand
14
16
  */
15
17
  export const columnType = (selectSchema, insertSchema, updateSchema) => {
16
18
  const schemas = {
@@ -19,6 +21,8 @@ export const columnType = (selectSchema, insertSchema, updateSchema) => {
19
21
  updateSchema,
20
22
  };
21
23
  const annotated = selectSchema.annotations({ [ColumnTypeId]: schemas });
24
+ // ColumnType<S,I,U> extends S, so this type assertion is valid
25
+ // because the runtime value IS of type S
22
26
  return Schema.make(annotated.ast);
23
27
  };
24
28
  /**
@@ -29,11 +33,13 @@ export const columnType = (selectSchema, insertSchema, updateSchema) => {
29
33
  * - Present in select and update schemas
30
34
  * - OMITTED from insert schema (not optional, completely absent)
31
35
  *
32
- * The return type uses Kysely's Generated<T> so that Kysely's
33
- * Insertable<T> makes this field optional.
36
+ * Returns a schema with our branded Generated<T> that extends T, ensuring:
37
+ * 1. TypeScript correctly infers the return type across module boundaries
38
+ * 2. Runtime decode returns T values (not wrapped structs)
34
39
  */
35
40
  export const generated = (schema) => {
36
41
  const annotated = schema.annotations({ [GeneratedId]: true });
42
+ // Generated<T> extends T, so this type assertion is valid
37
43
  return Schema.make(annotated.ast);
38
44
  };
39
45
  /**
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prisma-effect-kysely",
3
- "version": "4.2.4",
3
+ "version": "4.2.7",
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",