prisma-effect-kysely 1.4.2 → 1.4.3
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 +19 -18
- package/dist/kysely/helpers.d.ts +4 -8
- 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
|
@@ -5,35 +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.
|
|
8
|
+
## [1.4.3] - 2025-10-10
|
|
9
9
|
|
|
10
10
|
### Fixed
|
|
11
11
|
|
|
12
|
-
- **
|
|
13
|
-
- Added explicit return type annotations to
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
12
|
+
- **Declaration File Type Preservation** - Fixed type inference when using compiled `.d.ts` files
|
|
13
|
+
- Added explicit return type annotations to `selectable()`, `insertable()`, and `updateable()` helper functions
|
|
14
|
+
- Added explicit return type annotation to `getSchemas()` function
|
|
15
|
+
- Ensures TypeScript preserves `Selectable<Type>`, `Insertable<Type>`, and `Updateable<Type>` mapped types in declaration files
|
|
16
|
+
- Resolves type inference failures when consuming libraries use dist/ paths instead of source paths
|
|
17
|
+
- Fixes `Schema.Schema.Type<>` resolving to `unknown` when types are accessed from compiled declarations
|
|
17
18
|
|
|
18
19
|
### Technical Details
|
|
19
20
|
|
|
20
|
-
**Problem**: TypeScript
|
|
21
|
+
**Problem**: When TypeScript compiled helper functions to `.d.ts` files, the return types of AST transformation functions (`selectable()`, `insertable()`, `updateable()`) were inferred as `S.Schema<unknown, unknown, never>` instead of preserving the Kysely mapped types. This caused downstream type resolution to fail when consumers used compiled declaration files (dist/ paths) instead of source files.
|
|
21
22
|
|
|
22
|
-
**Solution**: Added explicit return type annotations with
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
```
|
|
23
|
+
**Solution**: Added explicit return type annotations with type assertions to all helper functions:
|
|
24
|
+
- `selectable()` → `: S.Schema<Selectable<Type>, Selectable<Encoded>, never>`
|
|
25
|
+
- `insertable()` → `: S.Schema<Insertable<Type>, Insertable<Encoded>, never>`
|
|
26
|
+
- `updateable()` → `: S.Schema<Updateable<Type>, Updateable<Encoded>, never>`
|
|
27
|
+
- `getSchemas()` → `: Schemas<Type, Encoded>`
|
|
28
|
+
|
|
29
|
+
**Impact**: Projects using prisma-effect-kysely with TypeScript path aliases pointing to `dist/` directories (compiled output) will now have proper type inference. Generated types like `EmbeddingOperationSelect` will resolve to proper object types instead of `unknown`.
|
|
30
30
|
|
|
31
|
-
**
|
|
31
|
+
**Testing**: Added comprehensive test suite (`declaration-inference.test.ts`) with 7 tests validating type preservation in compiled declarations, following TDD principles (Red-Green-Refactor).
|
|
32
32
|
|
|
33
33
|
**Changed files:**
|
|
34
|
-
- `src/kysely/helpers.ts`: Added return type annotations
|
|
34
|
+
- `src/kysely/helpers.ts`: Added return type annotations (4 functions)
|
|
35
|
+
- `src/__tests__/declaration-inference.test.ts`: New test suite (260 lines)
|
|
35
36
|
|
|
36
|
-
[1.4.
|
|
37
|
+
[1.4.3]: https://github.com/samuelho-dev/prisma-effect-kysely/compare/v1.4.1...v1.4.3
|
|
37
38
|
|
|
38
39
|
## [1.4.1] - 2025-10-09
|
|
39
40
|
|
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
|
|
22
|
+
export declare const selectable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<Selectable<Type>, Selectable<Encoded>, never>;
|
|
23
23
|
/**
|
|
24
24
|
* Create insertable schema from base schema
|
|
25
25
|
*/
|
|
26
|
-
export declare const insertable: <Type, Encoded
|
|
26
|
+
export declare const insertable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<Insertable<Type>, Insertable<Encoded>, never>;
|
|
27
27
|
/**
|
|
28
28
|
* Create updateable schema from base schema
|
|
29
29
|
*/
|
|
30
|
-
export declare const updateable: <Type, Encoded
|
|
30
|
+
export declare const updateable: <Type, Encoded>(schema: S.Schema<Type, Encoded>) => S.Schema<Updateable<Type>, Updateable<Encoded>, never>;
|
|
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>>;
|
|
@@ -37,11 +37,7 @@ export interface Schemas<Type, Encoded> {
|
|
|
37
37
|
* Generate all operational schemas (Selectable/Insertable/Updateable) from base schema
|
|
38
38
|
* Used in generated code
|
|
39
39
|
*/
|
|
40
|
-
export declare const getSchemas: <Type, Encoded>(baseSchema: S.Schema<Type, Encoded>) =>
|
|
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
|
-
};
|
|
40
|
+
export declare const getSchemas: <Type, Encoded>(baseSchema: S.Schema<Type, Encoded>) => Schemas<Type, Encoded>;
|
|
45
41
|
export interface GetTypes<T extends Schemas<unknown, unknown>> {
|
|
46
42
|
Selectable: S.Schema.Type<T['Selectable']>;
|
|
47
43
|
Insertable: S.Schema.Type<T['Insertable']>;
|
|
@@ -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,
|
|
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,EACtC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAC9B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAcvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAC9B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAuBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAC9B,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAwBvD,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,IAAI,EAAE,OAAO;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7D;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KAClC,OAAO,CAAC,IAAI,EAAE,OAAO,CAItB,CAAC;AAEH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC3C,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CAC5C"}
|
|
@@ -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,CACxB,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|