prisma-effect-kysely 4.0.8 → 4.0.9
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 +12 -0
- package/dist/kysely/helpers.d.ts +12 -35
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.0.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`cdcb3cb`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/cdcb3cb2d0dd4a094461081689bd4b9c3e2ba527) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - fix: Insertable<T> type utility now correctly excludes generated() fields at compile-time
|
|
8
|
+
|
|
9
|
+
The previous implementation used phantom types with unique symbols which don't maintain identity across module boundaries when compiled to .d.ts files. This caused the type utility to include generated() fields even though the runtime schema correctly excluded them.
|
|
10
|
+
|
|
11
|
+
The fix simplifies the type utilities to trust the pre-computed runtime schemas. Since getSchemas() already computes the correct Insertable/Updateable schemas with generated() fields excluded, the type utility now simply extracts types from these schemas rather than re-computing field exclusions using phantom types.
|
|
12
|
+
|
|
13
|
+
This aligns with the @effect/sql pattern where schema variants are pre-computed and trusted.
|
|
14
|
+
|
|
3
15
|
## 4.0.8
|
|
4
16
|
|
|
5
17
|
### Patch Changes
|
package/dist/kysely/helpers.d.ts
CHANGED
|
@@ -26,14 +26,6 @@ export type ColumnTypeSchema<SType, SEncoded, SR, IType, UType> = Schema.Schema<
|
|
|
26
26
|
export type GeneratedSchema<SType, SEncoded, SR> = Schema.Schema<SType, SEncoded, SR> & {
|
|
27
27
|
readonly [GeneratedInsertPhantom]: never;
|
|
28
28
|
};
|
|
29
|
-
type ExtractInsertPhantom<T> = T extends {
|
|
30
|
-
readonly [GeneratedInsertPhantom]: never;
|
|
31
|
-
} ? never : T extends {
|
|
32
|
-
readonly [ColumnTypeInsertPhantom]: infer I;
|
|
33
|
-
} ? I : T extends Schema.Schema<infer S, unknown, unknown> ? S : never;
|
|
34
|
-
type ExtractUpdatePhantom<T> = T extends {
|
|
35
|
-
readonly [ColumnTypeUpdatePhantom]: infer U;
|
|
36
|
-
} ? U : T extends Schema.Schema<infer S, unknown, unknown> ? S : never;
|
|
37
29
|
/**
|
|
38
30
|
* Mark a field as having different types for select/insert/update
|
|
39
31
|
* Used for ID fields with @default (read-only)
|
|
@@ -96,29 +88,6 @@ type RemoveIndexSignature<T> = {
|
|
|
96
88
|
[K in keyof T as K extends string ? string extends K ? never : K : K extends number ? number extends K ? never : K : K extends symbol ? symbol extends K ? never : K : K]: T[K];
|
|
97
89
|
};
|
|
98
90
|
type StrictType<T> = RemoveIndexSignature<T>;
|
|
99
|
-
type ExtractStructFields<T> = T extends {
|
|
100
|
-
readonly _base: Schema.Struct<infer F>;
|
|
101
|
-
} ? F : never;
|
|
102
|
-
type HasNeverInsert<T> = T extends {
|
|
103
|
-
readonly [GeneratedInsertPhantom]: never;
|
|
104
|
-
} ? true : T extends {
|
|
105
|
-
readonly [ColumnTypeInsertPhantom]: never;
|
|
106
|
-
} ? true : false;
|
|
107
|
-
type HasNeverUpdate<T> = T extends {
|
|
108
|
-
readonly [ColumnTypeUpdatePhantom]: never;
|
|
109
|
-
} ? true : false;
|
|
110
|
-
type InsertableFields<Fields> = {
|
|
111
|
-
[K in keyof Fields as HasNeverInsert<Fields[K]> extends true ? never : K]: Fields[K];
|
|
112
|
-
};
|
|
113
|
-
type UpdateableFields<Fields> = {
|
|
114
|
-
[K in keyof Fields as HasNeverUpdate<Fields[K]> extends true ? never : K]: Fields[K];
|
|
115
|
-
};
|
|
116
|
-
type ComputeInsertableType<Fields> = StrictType<{
|
|
117
|
-
[K in keyof InsertableFields<Fields>]: ExtractInsertPhantom<Fields[K]>;
|
|
118
|
-
}>;
|
|
119
|
-
type ComputeUpdateableType<Fields> = StrictType<{
|
|
120
|
-
[K in keyof UpdateableFields<Fields>]?: ExtractUpdatePhantom<Fields[K]>;
|
|
121
|
-
}>;
|
|
122
91
|
/**
|
|
123
92
|
* Extract SELECT type from schema (matches Kysely's Selectable<T> pattern)
|
|
124
93
|
* @example type UserSelect = Selectable<typeof User>
|
|
@@ -129,21 +98,29 @@ export type Selectable<T extends {
|
|
|
129
98
|
/**
|
|
130
99
|
* Extract INSERT type from schema (matches Kysely's Insertable<T> pattern)
|
|
131
100
|
* Excludes fields with never insert type (e.g., columnType(T, Schema.Never, ...))
|
|
101
|
+
* and generated fields (marked with generated()).
|
|
102
|
+
*
|
|
103
|
+
* Note: This extracts types from the pre-computed Insertable schema which already
|
|
104
|
+
* correctly excludes generated fields at runtime. This avoids phantom type issues
|
|
105
|
+
* with unique symbols that don't maintain identity across module boundaries.
|
|
106
|
+
*
|
|
132
107
|
* @example type UserInsert = Insertable<typeof User>
|
|
133
108
|
*/
|
|
134
109
|
export type Insertable<T extends {
|
|
135
|
-
readonly _base: Schema.Schema.Any;
|
|
136
110
|
readonly Insertable: Schema.Schema.Any;
|
|
137
|
-
}> =
|
|
111
|
+
}> = StrictType<Schema.Schema.Type<T['Insertable']>>;
|
|
138
112
|
/**
|
|
139
113
|
* Extract UPDATE type from schema (matches Kysely's Updateable<T> pattern)
|
|
140
114
|
* Excludes fields with never update type (e.g., columnType(T, ..., Schema.Never))
|
|
115
|
+
*
|
|
116
|
+
* Note: This extracts types from the pre-computed Updateable schema which already
|
|
117
|
+
* correctly handles field transformations at runtime.
|
|
118
|
+
*
|
|
141
119
|
* @example type UserUpdate = Updateable<typeof User>
|
|
142
120
|
*/
|
|
143
121
|
export type Updateable<T extends {
|
|
144
|
-
readonly _base: Schema.Schema.Any;
|
|
145
122
|
readonly Updateable: Schema.Schema.Any;
|
|
146
|
-
}> =
|
|
123
|
+
}> = StrictType<Schema.Schema.Type<T['Updateable']>>;
|
|
147
124
|
/**
|
|
148
125
|
* Extract branded ID type from schema
|
|
149
126
|
* @example type UserId = Id<typeof User>
|
|
@@ -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,EAC/B,MAAM,QAAQ,CAAC;AAChB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD;;;GAGG;AAEH,eAAO,MAAM,YAAY,eAA8B,CAAC;AACxD,eAAO,MAAM,WAAW,eAA6B,CAAC;AAGtD,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,OAAO,CAAC,MAAM,uBAAuB,EAAE,OAAO,MAAM,CAAC;AACrD,OAAO,CAAC,MAAM,sBAAsB,EAAE,OAAO,MAAM,CAAC;AAEpD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAC7E,KAAK,EACL,QAAQ,EACR,EAAE,CACH,GAAG;IACF,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC;IAC1C,QAAQ,CAAC,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC;CAC3C,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG;IACtF,QAAQ,CAAC,CAAC,sBAAsB,CAAC,EAAE,KAAK,CAAC;CAC1C,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AAQxC;;;GAGG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|