prisma-effect-kysely 1.4.1 → 1.4.2
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
|
@@ -5,6 +5,36 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.4.2] - 2025-10-10
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **TypeScript Type Inference** - Fixed type inference for `selectable()`, `insertable()`, and `updateable()` helper functions
|
|
13
|
+
- Added explicit return type annotations to all three transformation functions
|
|
14
|
+
- TypeScript compiler can now correctly infer `Schema<Selectable<Type>, Selectable<Encoded>, R>` instead of `Schema<unknown, unknown, never>`
|
|
15
|
+
- Resolves type inference failures in strict mode when using generated schemas
|
|
16
|
+
- Added type assertions with `R` parameter preservation for Effect context propagation
|
|
17
|
+
|
|
18
|
+
### Technical Details
|
|
19
|
+
|
|
20
|
+
**Problem**: TypeScript's type inference failed for the three helper functions (`selectable`, `insertable`, `updateable`) because AST transformations using `S.asSchema(S.make(new AST.TypeLiteral(...)))` are opaque to the type system. Without explicit return type annotations, TypeScript inferred the widest possible type: `Schema<unknown, unknown, never>`.
|
|
21
|
+
|
|
22
|
+
**Solution**: Added explicit return type annotations with default type parameters:
|
|
23
|
+
```typescript
|
|
24
|
+
export const selectable = <Type, Encoded = Type, R = never>(
|
|
25
|
+
schema: S.Schema<Type, Encoded, R>
|
|
26
|
+
): S.Schema<Selectable<Type>, Selectable<Encoded>, R> => {
|
|
27
|
+
// ... implementation with type assertions
|
|
28
|
+
};
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**Impact**: Projects using `prisma-effect-kysely` v1.4.1 or earlier with TypeScript strict mode enabled experienced type inference errors where generated types resolved to `unknown`. This prevented proper type checking in analytics functions and other code consuming the generated types. This release resolves those errors by providing explicit type annotations that document the runtime transformation behavior.
|
|
32
|
+
|
|
33
|
+
**Changed files:**
|
|
34
|
+
- `src/kysely/helpers.ts`: Added return type annotations to `selectable()`, `insertable()`, `updateable()` (lines 96, 117, 147)
|
|
35
|
+
|
|
36
|
+
[1.4.2]: https://github.com/samuelho-dev/prisma-effect-kysely/compare/v1.4.1...v1.4.2
|
|
37
|
+
|
|
8
38
|
## [1.4.1] - 2025-10-09
|
|
9
39
|
|
|
10
40
|
### Fixed
|
package/dist/kysely/helpers.d.ts
CHANGED
|
@@ -19,15 +19,15 @@ export declare const generated: <SType, SEncoded, R>(schema: S.Schema<SType, SEn
|
|
|
19
19
|
/**
|
|
20
20
|
* Create selectable schema from base schema
|
|
21
21
|
*/
|
|
22
|
-
export declare const selectable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<
|
|
22
|
+
export declare const selectable: <Type, Encoded = Type, R = never>(schema: S.Schema<Type, Encoded, R>) => S.Schema<Selectable<Type>, Selectable<Encoded>, R>;
|
|
23
23
|
/**
|
|
24
24
|
* Create insertable schema from base schema
|
|
25
25
|
*/
|
|
26
|
-
export declare const insertable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<
|
|
26
|
+
export declare const insertable: <Type, Encoded = Type, R = never>(schema: S.Schema<Type, Encoded, R>) => S.Schema<Insertable<Type>, Insertable<Encoded>, R>;
|
|
27
27
|
/**
|
|
28
28
|
* Create updateable schema from base schema
|
|
29
29
|
*/
|
|
30
|
-
export declare const updateable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<
|
|
30
|
+
export declare const updateable: <Type, Encoded = Type, R = never>(schema: S.Schema<Type, Encoded, R>) => S.Schema<Updateable<Type>, Updateable<Encoded>, R>;
|
|
31
31
|
export interface Schemas<Type, Encoded> {
|
|
32
32
|
Selectable: S.Schema<Selectable<Type>, Selectable<Encoded>>;
|
|
33
33
|
Insertable: S.Schema<Insertable<Type>, Insertable<Encoded>>;
|
|
@@ -38,9 +38,9 @@ export interface Schemas<Type, Encoded> {
|
|
|
38
38
|
* Used in generated code
|
|
39
39
|
*/
|
|
40
40
|
export declare const getSchemas: <Type, Encoded>(baseSchema: S.Schema<Type, Encoded>) => {
|
|
41
|
-
Selectable: S.Schema<
|
|
42
|
-
Insertable: S.Schema<
|
|
43
|
-
Updateable: S.Schema<
|
|
41
|
+
Selectable: S.Schema<import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_1 in { [K in keyof Type]: import("kysely").SelectType<Type[K]> extends infer T ? T extends import("kysely").SelectType<Type[K]> ? T extends never ? never : K : never : never; }[keyof Type]]: import("kysely").SelectType<Type[K_1]>; }>, import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_3 in { [K_2 in keyof Encoded]: import("kysely").SelectType<Encoded[K_2]> extends infer T ? T extends import("kysely").SelectType<Encoded[K_2]> ? T extends never ? never : K_2 : never : never; }[keyof Encoded]]: import("kysely").SelectType<Encoded[K_3]>; }>, never>;
|
|
42
|
+
Insertable: S.Schema<import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_4 in import("kysely").NonNullableInsertKeys<Type>]: import("kysely").InsertType<Type[K_4]>; } & { [K_5 in import("kysely").NullableInsertKeys<Type>]?: import("kysely").InsertType<Type[K_5]> | undefined; }>, import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_6 in import("kysely").NonNullableInsertKeys<Encoded>]: import("kysely").InsertType<Encoded[K_6]>; } & { [K_7 in import("kysely").NullableInsertKeys<Encoded>]?: import("kysely").InsertType<Encoded[K_7]> | undefined; }>, never>;
|
|
43
|
+
Updateable: S.Schema<import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_8 in import("kysely").UpdateKeys<Type>]?: import("kysely").UpdateType<Type[K_8]> | undefined; }>, import("kysely/dist/cjs/util/type-utils").DrainOuterGeneric<{ [K_9 in import("kysely").UpdateKeys<Encoded>]?: import("kysely").UpdateType<Encoded[K_9]> | undefined; }>, never>;
|
|
44
44
|
};
|
|
45
45
|
export interface GetTypes<T extends Schemas<unknown, unknown>> {
|
|
46
46
|
Selectable: S.Schema.Type<T['Selectable']>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAGL,UAAU,EACV,UAAU,EACV,UAAU,EACX,MAAM,QAAQ,CAAC;AAEhB;;;GAGG;AAEH,eAAO,MAAM,YAAY,eAA8B,CAAC;AACxD,eAAO,MAAM,WAAW,eAA6B,CAAC;AAwBtD;;;GAGG;AACH,eAAO,MAAM,UAAU,GACrB,KAAK,EACL,QAAQ,EACR,EAAE,EACF,KAAK,EACL,QAAQ,EACR,EAAE,EACF,KAAK,EACL,QAAQ,EACR,EAAE,EAEF,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC3C,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAC3C,cAAc,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,kCAkB5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC1C,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,iCAQrC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,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,sDAAwC;AACxC,iDAAmC;AASnC;;;GAGG;AAEU,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAwBtD;;;GAGG;AACI,MAAM,UAAU,GAAG,CAWxB,YAA2C,EAC3C,YAA2C,EAC3C,YAA2C,EAC3C,EAAE;IACF,MAAM,OAAO,GAUT;QACF,YAAY;QACZ,YAAY;QACZ,YAAY;KACb,CAAC;IACF,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AA/BW,QAAA,UAAU,cA+BrB;AAEF;;;GAGG;AACI,MAAM,SAAS,GAAG,CACvB,MAAoC,EACpC,EAAE;IACF,MAAM,OAAO,GAAyC;QACpD,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;QAC1C,YAAY,EAAE,MAAM;KACrB,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,iDAAmC;AASnC;;;GAGG;AAEU,QAAA,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC3C,QAAA,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAwBtD;;;GAGG;AACI,MAAM,UAAU,GAAG,CAWxB,YAA2C,EAC3C,YAA2C,EAC3C,YAA2C,EAC3C,EAAE;IACF,MAAM,OAAO,GAUT;QACF,YAAY;QACZ,YAAY;QACZ,YAAY;KACb,CAAC;IACF,OAAO,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,oBAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AA/BW,QAAA,UAAU,cA+BrB;AAEF;;;GAGG;AACI,MAAM,SAAS,GAAG,CACvB,MAAoC,EACpC,EAAE;IACF,MAAM,OAAO,GAAyC;QACpD,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC;QAC1C,YAAY,EAAE,MAAM;KACrB,CAAC;IACF,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAW,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC;AATW,QAAA,SAAS,aASpB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CACxB,MAAkC,EACkB,EAAE;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAuD,CAAC;IACvF,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CACf,CAAC,CAAC,IAAI,CACJ,IAAI,GAAG,CAAC,WAAW,CACjB,gCAAgC,CAAC,GAAG,EAAE,cAAc,CAAC,EACrD,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,WAAW,CAChB,CACF,CACoD,CAAC;AAC1D,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CACxB,MAAkC,EACkB,EAAE;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAuD,CAAC;IACvF,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAC7B,SAAS,CAAC,GAAG,CACX,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,GAAG,CAAC,iBAAiB,CACvB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,IAAI,EACT,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EACzB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CACJ,EACD,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,WAAW,CAChB,CAAC;IACF,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAuD,CAAC;AACvF,CAAC,CAAC;AAzBW,QAAA,UAAU,cAyBrB;AAEF;;GAEG;AACI,MAAM,UAAU,GAAG,CACxB,MAAkC,EACkB,EAAE;IACtD,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAuD,CAAC;IACvF,CAAC;IAED,MAAM,SAAS,GAAG,gCAAgC,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAC7B,SAAS,CAAC,GAAG,CACX,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,GAAG,CAAC,iBAAiB,CACvB,IAAI,CAAC,IAAI,EACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,gBAAgB,EAAE,CAAC,CAAC,EACvD,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CACJ,EACD,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,WAAW,CAChB,CAAC;IAEF,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAuD,CAAC;AACvF,CAAC,CAAC;AA1BW,QAAA,UAAU,cA0BrB;AAQF;;;GAGG;AACI,MAAM,UAAU,GAAG,CACxB,UAAmC,EACnC,EAAE,CAAC,CAAC;IACJ,UAAU,EAAE,IAAA,kBAAU,EAAC,UAAU,CAAC;IAClC,UAAU,EAAE,IAAA,kBAAU,EAAC,UAAU,CAAC;IAClC,UAAU,EAAE,IAAA,kBAAU,EAAC,UAAU,CAAC;CACnC,CAAC,CAAC;AANU,QAAA,UAAU,cAMpB;AAoBH,MAAM,gCAAgC,GAAG,CACvC,GAAoB,EACpB,UAAsC,EACtC,EAAE;IACF,OAAO,GAAG,CAAC,kBAAkB;SAC1B,GAAG,CAAC,CAAC,IAA2B,EAAE,EAAE;QACnC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CACnC,oBAAY,CACW,CAAC;YAC1B,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAC9B,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EACvB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAW,CAIhD,CAAC;YACF,OAAO,IAAI,GAAG,CAAC,iBAAiB,CAC9B,IAAI,CAAC,IAAI,EACT,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,EACvB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,WAAW,CACjB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,IAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,oBAAY,IAAI,GAAG,CAAC,WAAW,CAAC;AAEvE,MAAM,eAAe,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,mBAAW,IAAI,GAAG,CAAC,WAAW,CAAC;AAEzE,MAAM,cAAc,GAAG,CAAC,GAAY,EAAE,EAAE;IACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACzD,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAC9C,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,EAAE,CAClC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;IAClB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,CAClC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CACf,GAAG,KAAK,GAAG,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,KAAK,KAAK,MAAM,CACpE,CAAC"}
|