prisma-effect-kysely 2.1.0 → 2.2.0
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 -7
- package/README.md +13 -35
- package/dist/effect/generator.d.ts +1 -4
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +6 -22
- package/dist/effect/generator.js.map +1 -1
- package/dist/generator/config.d.ts +0 -18
- package/dist/generator/config.d.ts.map +1 -1
- package/dist/generator/config.js +0 -22
- package/dist/generator/config.js.map +1 -1
- package/dist/generator/index.d.ts +2 -2
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +1 -1
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/orchestrator.js +1 -1
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/helpers.d.ts +14 -13
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js +15 -19
- 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
|
+
## 2.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`5b1bbea`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/5b1bbea2f160d84049877b655f874974c47fe4b5) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - Select/Insert/Update aliases now use `StrictType` directly, so they match Effect schemas without index signatures and the old `*Strict` exports are gone.
|
|
8
|
+
|
|
9
|
+
- [`1590bc9`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/1590bc9e7d02ad6e1ae4df0b465fa84de2eafcd1) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - Default `Select` / `Insert` / `Update` aliases now use strict typing (no `[key: string]: unknown`), so there is a single canonical type per schema and the extra `*Strict` exports/config switches have been removed.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [`33fdc8e`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/33fdc8e40e4658ceadef5ec64d78a0aeded4d96e) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - Ensure every generated Kysely schema returns the `Schema` interface by wrapping `Schema.make(...)` results with `Schema.asSchema()` and updating the mutable insert/update helpers to keep their runtime types aligned.
|
|
14
|
+
|
|
3
15
|
## 2.1.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
|
@@ -346,7 +358,7 @@ None - This is a non-breaking enhancement. The change is purely additive at the
|
|
|
346
358
|
- **Solution**: OMIT generated fields entirely from Insertable schema (not make them optional) following @effect/sql's `Model.Generated` pattern
|
|
347
359
|
- **Implementation**:
|
|
348
360
|
- Simplified `generated()` to be just a marker annotation (no schema transformation)
|
|
349
|
-
- Updated `
|
|
361
|
+
- Updated `Insertable()` to filter out fields with `GeneratedId` annotation during AST reconstruction
|
|
350
362
|
- Removed unnecessary `GeneratedSchemas` interface
|
|
351
363
|
- Simplified `extractParametersFromTypeLiteral` (generated fields are now just markers)
|
|
352
364
|
- Removed `OptionalType` detection from `isOptionalType()` (only checks for `Union(T, Undefined)` pattern)
|
|
@@ -791,7 +803,7 @@ const status = ProductStatus.ACTIVE; // "ACTIVE"
|
|
|
791
803
|
### Fixed
|
|
792
804
|
|
|
793
805
|
- **Declaration File Type Preservation** - Fixed type inference when using compiled `.d.ts` files
|
|
794
|
-
- Added explicit return type annotations to `
|
|
806
|
+
- Added explicit return type annotations to `Selectable()`, `Insertable()`, and `Updateable()` helper functions
|
|
795
807
|
- Added explicit return type annotation to `getSchemas()` function
|
|
796
808
|
- Ensures TypeScript preserves `Selectable<Type>`, `Insertable<Type>`, and `Updateable<Type>` mapped types in declaration files
|
|
797
809
|
- Resolves type inference failures when consuming libraries use dist/ paths instead of source paths
|
|
@@ -799,13 +811,13 @@ const status = ProductStatus.ACTIVE; // "ACTIVE"
|
|
|
799
811
|
|
|
800
812
|
### Technical Details
|
|
801
813
|
|
|
802
|
-
**Problem**: When TypeScript compiled helper functions to `.d.ts` files, the return types of AST transformation functions (`
|
|
814
|
+
**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.
|
|
803
815
|
|
|
804
816
|
**Solution**: Added explicit return type annotations with type assertions to all helper functions:
|
|
805
817
|
|
|
806
|
-
- `
|
|
807
|
-
- `
|
|
808
|
-
- `
|
|
818
|
+
- `Selectable()` → `: S.Schema<Selectable<Type>, Selectable<Encoded>, never>`
|
|
819
|
+
- `Insertable()` → `: S.Schema<Insertable<Type>, Insertable<Encoded>, never>`
|
|
820
|
+
- `Updateable()` → `: S.Schema<Updateable<Type>, Updateable<Encoded>, never>`
|
|
809
821
|
- `getSchemas()` → `: Schemas<Type, Encoded>`
|
|
810
822
|
|
|
811
823
|
**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`.
|
|
@@ -824,7 +836,7 @@ const status = ProductStatus.ACTIVE; // "ACTIVE"
|
|
|
824
836
|
### Fixed
|
|
825
837
|
|
|
826
838
|
- **TypeScript Type Compatibility** - Fixed `SchemaClass` to `Schema` conversion issues
|
|
827
|
-
- Added `S.asSchema()` wrapper to `
|
|
839
|
+
- Added `S.asSchema()` wrapper to `Selectable()`, `Insertable()`, and `Updateable()` helper functions
|
|
828
840
|
- Ensures generated schemas return `S.Schema<A, I, R>` interface instead of `S.SchemaClass<A, I, R>`
|
|
829
841
|
- Resolves TypeScript compilation errors when passing schemas to Effect's decode functions
|
|
830
842
|
- Uses Effect's official identity function for zero-runtime overhead type conversion
|
package/README.md
CHANGED
|
@@ -37,30 +37,6 @@ generator effect_schemas {
|
|
|
37
37
|
npx prisma generate
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
-
### Generator Options
|
|
41
|
-
|
|
42
|
-
Alongside `output`, the generator accepts the following options inside the Prisma `generator` block:
|
|
43
|
-
|
|
44
|
-
| Option | Type | Default | Description |
|
|
45
|
-
| -------------------- | ------- | -------- | --------------------------------------------------------------------------- |
|
|
46
|
-
| `multiFileDomains` | string | `"false"`| Enable multi-domain detection and generation |
|
|
47
|
-
| `scaffoldLibraries` | string | `"false"`| Scaffold contract libraries per detected domain |
|
|
48
|
-
| `libraryGenerator` | string? | `null` | Path to the monorepo library scaffolder |
|
|
49
|
-
| `previewFeatures` | string[]| `[]` | Forwarded preview features |
|
|
50
|
-
| `generateStrictTypes`| string | `"true"` | Emit strict Select/Insert/Update aliases without index signatures |
|
|
51
|
-
| `strictTypeSuffix` | string | `"Strict"`| Suffix appended to strict aliases (e.g., `UserSelectStrict`) |
|
|
52
|
-
|
|
53
|
-
Example disabling strict aliases and using a custom suffix:
|
|
54
|
-
|
|
55
|
-
```prisma
|
|
56
|
-
generator effect_schemas {
|
|
57
|
-
provider = "prisma-effect-kysely"
|
|
58
|
-
output = "./generated/effect"
|
|
59
|
-
generateStrictTypes = "false"
|
|
60
|
-
strictTypeSuffix = "Types"
|
|
61
|
-
}
|
|
62
|
-
```
|
|
63
|
-
|
|
64
40
|
## Output
|
|
65
41
|
|
|
66
42
|
Generates three files in the configured output directory:
|
|
@@ -102,21 +78,23 @@ Re-exports all generated types for easy importing
|
|
|
102
78
|
|
|
103
79
|
## Strict Type Aliases
|
|
104
80
|
|
|
105
|
-
|
|
81
|
+
The generator always emits strict `Select` / `Insert` / `Update` aliases (no extra suffix) that remove index signatures introduced by TypeScript’s structural typing rules. Under the hood we wrap the Effect schema output with the `StrictType<T>` helper:
|
|
106
82
|
|
|
107
83
|
```typescript
|
|
108
|
-
import type {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
84
|
+
import type { StrictType } from 'prisma-effect-kysely';
|
|
85
|
+
|
|
86
|
+
export type UserSelect = StrictType<Schema.Schema.Type<typeof User.Selectable>>;
|
|
87
|
+
export type UserInsert = StrictType<Omit<Schema.Schema.Type<typeof User.Insertable>, 'id'>>;
|
|
88
|
+
export type UserUpdate = StrictType<Schema.Schema.Type<typeof User.Updateable>>;
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
If you need the original Effect schema type (with the index signature), read it directly from the schema:
|
|
92
|
+
|
|
93
|
+
```ts
|
|
94
|
+
type RawUserSelect = Schema.Schema.Type<typeof User.Selectable>;
|
|
117
95
|
```
|
|
118
96
|
|
|
119
|
-
|
|
97
|
+
The `StrictSelectable`, `StrictInsertable`, and `StrictUpdateable` helpers remain exported for advanced scenarios, but the generated aliases already apply the strict typing by default.
|
|
120
98
|
|
|
121
99
|
## Type Mappings
|
|
122
100
|
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import type { DMMF } from '@prisma/generator-helper';
|
|
2
2
|
import type { JoinTableInfo } from '../prisma/relation.js';
|
|
3
|
-
import { type GeneratorConfig } from '../generator/config.js';
|
|
4
3
|
/**
|
|
5
4
|
* Effect domain generator - orchestrates Effect Schema generation
|
|
6
5
|
*/
|
|
7
6
|
export declare class EffectGenerator {
|
|
8
7
|
private readonly dmmf;
|
|
9
|
-
|
|
10
|
-
constructor(dmmf: DMMF.Document, config: GeneratorConfig);
|
|
8
|
+
constructor(dmmf: DMMF.Document);
|
|
11
9
|
/**
|
|
12
10
|
* Generate enums.ts file content
|
|
13
11
|
*/
|
|
@@ -44,6 +42,5 @@ export declare class EffectGenerator {
|
|
|
44
42
|
* Generate Kysely table interfaces for join tables
|
|
45
43
|
*/
|
|
46
44
|
generateJoinTableKyselyInterfaces(joinTables: JoinTableInfo[]): string;
|
|
47
|
-
private shouldEmitStrictTypes;
|
|
48
45
|
}
|
|
49
46
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -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;
|
|
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;;OAEG;IACH,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAgBnE;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK;IAO5C;;;;OAIG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IA2BpE;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAQ3D;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,OAAO;IA2BrC;;OAEG;IACH,wBAAwB,CAAC,UAAU,EAAE,aAAa,EAAE;IAIpD;;OAEG;IACH,iCAAiC,CAAC,UAAU,EAAE,aAAa,EAAE;CAG9D"}
|
package/dist/effect/generator.js
CHANGED
|
@@ -4,16 +4,13 @@ import { generateEnumsFile } from './enum.js';
|
|
|
4
4
|
import { generateJoinTableKyselyInterface, generateJoinTableSchema } from './join-table.js';
|
|
5
5
|
import { buildFieldType } from './type.js';
|
|
6
6
|
import { needsOmitFromInsert } from '../kysely/type.js';
|
|
7
|
-
import { getStrictTypeSuffix, shouldGenerateStrictTypes, } from '../generator/config.js';
|
|
8
7
|
/**
|
|
9
8
|
* Effect domain generator - orchestrates Effect Schema generation
|
|
10
9
|
*/
|
|
11
10
|
export class EffectGenerator {
|
|
12
11
|
dmmf;
|
|
13
|
-
|
|
14
|
-
constructor(dmmf, config) {
|
|
12
|
+
constructor(dmmf) {
|
|
15
13
|
this.dmmf = dmmf;
|
|
16
|
-
this.config = config;
|
|
17
14
|
}
|
|
18
15
|
/**
|
|
19
16
|
* Generate enums.ts file content
|
|
@@ -61,22 +58,14 @@ ${fieldDefinitions}
|
|
|
61
58
|
? `Omit<Schema.Schema.Encoded<typeof ${name}.Insertable>, ${omittedFieldsUnion}>`
|
|
62
59
|
: `Schema.Schema.Encoded<typeof ${name}.Insertable>`;
|
|
63
60
|
// Application-side types (decoded - for repository layer)
|
|
64
|
-
const applicationTypes = `export type ${name}Select = Schema.Schema.Type<typeof ${name}.Selectable
|
|
65
|
-
export type ${name}Insert =
|
|
66
|
-
export type ${name}Update = Schema.Schema.Type<typeof ${name}.Updateable
|
|
61
|
+
const applicationTypes = `export type ${name}Select = StrictType<Schema.Schema.Type<typeof ${name}.Selectable>>;
|
|
62
|
+
export type ${name}Insert = StrictType<${insertType}>;
|
|
63
|
+
export type ${name}Update = StrictType<Schema.Schema.Type<typeof ${name}.Updateable>>;`;
|
|
67
64
|
// Database-side encoded types (for queries layer)
|
|
68
65
|
const encodedTypes = `export type ${name}SelectEncoded = Schema.Schema.Encoded<typeof ${name}.Selectable>;
|
|
69
66
|
export type ${name}InsertEncoded = ${insertEncodedType};
|
|
70
67
|
export type ${name}UpdateEncoded = Schema.Schema.Encoded<typeof ${name}.Updateable>;`;
|
|
71
|
-
|
|
72
|
-
if (this.shouldEmitStrictTypes()) {
|
|
73
|
-
const strictSuffix = getStrictTypeSuffix(this.config);
|
|
74
|
-
strictTypes = `
|
|
75
|
-
export type ${name}Select${strictSuffix} = StrictSelectable<typeof ${name}>;
|
|
76
|
-
export type ${name}Insert${strictSuffix} = StrictInsertable<typeof ${name}>;
|
|
77
|
-
export type ${name}Update${strictSuffix} = StrictUpdateable<typeof ${name}>;`;
|
|
78
|
-
}
|
|
79
|
-
return `${applicationTypes}\n${encodedTypes}${strictTypes}`;
|
|
68
|
+
return `${applicationTypes}\n${encodedTypes}`;
|
|
80
69
|
}
|
|
81
70
|
/**
|
|
82
71
|
* Generate complete model schema (base + operational + types)
|
|
@@ -98,10 +87,8 @@ export type ${name}Update${strictSuffix} = StrictUpdateable<typeof ${name}>;`;
|
|
|
98
87
|
`import { Schema } from "effect";`,
|
|
99
88
|
`import type { ColumnType } from "kysely";`,
|
|
100
89
|
`import { columnType, generated, getSchemas } from "prisma-effect-kysely";`,
|
|
90
|
+
`import type { StrictType } from "prisma-effect-kysely";`,
|
|
101
91
|
];
|
|
102
|
-
if (this.shouldEmitStrictTypes()) {
|
|
103
|
-
imports.push(`import type { StrictInsertable, StrictSelectable, StrictUpdateable } from "prisma-effect-kysely";`);
|
|
104
|
-
}
|
|
105
92
|
if (hasEnums) {
|
|
106
93
|
// Only import Schema wrappers (not plain enum types)
|
|
107
94
|
// Use PascalCase naming with Schema suffix
|
|
@@ -128,8 +115,5 @@ export type ${name}Update${strictSuffix} = StrictUpdateable<typeof ${name}>;`;
|
|
|
128
115
|
generateJoinTableKyselyInterfaces(joinTables) {
|
|
129
116
|
return joinTables.map(generateJoinTableKyselyInterface).join('\n\n');
|
|
130
117
|
}
|
|
131
|
-
shouldEmitStrictTypes() {
|
|
132
|
-
return shouldGenerateStrictTypes(this.config);
|
|
133
|
-
}
|
|
134
118
|
}
|
|
135
119
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,14 +31,6 @@ declare const GeneratorConfigSchema: Schema.Struct<{
|
|
|
31
31
|
* Preview features to enable
|
|
32
32
|
*/
|
|
33
33
|
previewFeatures: Schema.Array$<typeof Schema.String>;
|
|
34
|
-
/**
|
|
35
|
-
* Emit stricter Select/Insert/Update aliases without index signatures
|
|
36
|
-
*/
|
|
37
|
-
generateStrictTypes: Schema.Literal<["true", "false"]>;
|
|
38
|
-
/**
|
|
39
|
-
* Custom suffix used for strict aliases (e.g., SelectStrict)
|
|
40
|
-
*/
|
|
41
|
-
strictTypeSuffix: typeof Schema.String;
|
|
42
34
|
}>;
|
|
43
35
|
/**
|
|
44
36
|
* Generator configuration type derived from schema
|
|
@@ -53,8 +45,6 @@ export declare function parseGeneratorConfig(options: GeneratorOptions): {
|
|
|
53
45
|
readonly scaffoldLibraries: "true" | "false";
|
|
54
46
|
readonly libraryGenerator?: string | undefined;
|
|
55
47
|
readonly previewFeatures: readonly string[];
|
|
56
|
-
readonly generateStrictTypes: "true" | "false";
|
|
57
|
-
readonly strictTypeSuffix: string;
|
|
58
48
|
};
|
|
59
49
|
/**
|
|
60
50
|
* Check if multi-domain mode is enabled
|
|
@@ -64,13 +54,5 @@ export declare function isMultiDomainEnabled(config: GeneratorConfig): boolean;
|
|
|
64
54
|
* Check if library scaffolding is enabled
|
|
65
55
|
*/
|
|
66
56
|
export declare function isScaffoldingEnabled(config: GeneratorConfig): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Check if strict Select/Insert/Update aliases should be emitted
|
|
69
|
-
*/
|
|
70
|
-
export declare function shouldGenerateStrictTypes(config: GeneratorConfig): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* Suffix to append to strict alias names
|
|
73
|
-
*/
|
|
74
|
-
export declare function getStrictTypeSuffix(config: GeneratorConfig): string;
|
|
75
57
|
export {};
|
|
76
58
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC;;GAEG;AACH,QAAA,MAAM,qBAAqB;IACzB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAOhC;;GAEG;AACH,QAAA,MAAM,qBAAqB;IACzB;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;EAEH,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE/E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,gBAAgB;;;;;;EAwB7D;AAoCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,WAE3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,WAE3D"}
|
package/dist/generator/config.js
CHANGED
|
@@ -34,14 +34,6 @@ const GeneratorConfigSchema = Schema.Struct({
|
|
|
34
34
|
* Preview features to enable
|
|
35
35
|
*/
|
|
36
36
|
previewFeatures: Schema.Array(Schema.String),
|
|
37
|
-
/**
|
|
38
|
-
* Emit stricter Select/Insert/Update aliases without index signatures
|
|
39
|
-
*/
|
|
40
|
-
generateStrictTypes: BooleanString,
|
|
41
|
-
/**
|
|
42
|
-
* Custom suffix used for strict aliases (e.g., SelectStrict)
|
|
43
|
-
*/
|
|
44
|
-
strictTypeSuffix: Schema.String,
|
|
45
37
|
});
|
|
46
38
|
/**
|
|
47
39
|
* Parse and validate generator configuration from Prisma options
|
|
@@ -62,8 +54,6 @@ export function parseGeneratorConfig(options) {
|
|
|
62
54
|
scaffoldLibraries: getStringValue(config, 'scaffoldLibraries') ?? 'false',
|
|
63
55
|
libraryGenerator: getStringValue(config, 'libraryGenerator'),
|
|
64
56
|
previewFeatures: getArrayValue(config, 'previewFeatures'),
|
|
65
|
-
generateStrictTypes: getStringValue(config, 'generateStrictTypes') ?? 'true',
|
|
66
|
-
strictTypeSuffix: getStringValue(config, 'strictTypeSuffix') ?? 'Strict',
|
|
67
57
|
};
|
|
68
58
|
// Validate with Effect Schema - throws on invalid input
|
|
69
59
|
return Schema.decodeUnknownSync(GeneratorConfigSchema)(rawConfig);
|
|
@@ -111,16 +101,4 @@ export function isMultiDomainEnabled(config) {
|
|
|
111
101
|
export function isScaffoldingEnabled(config) {
|
|
112
102
|
return config.scaffoldLibraries === 'true' && isMultiDomainEnabled(config);
|
|
113
103
|
}
|
|
114
|
-
/**
|
|
115
|
-
* Check if strict Select/Insert/Update aliases should be emitted
|
|
116
|
-
*/
|
|
117
|
-
export function shouldGenerateStrictTypes(config) {
|
|
118
|
-
return config.generateStrictTypes === 'true';
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Suffix to append to strict alias names
|
|
122
|
-
*/
|
|
123
|
-
export function getStrictTypeSuffix(config) {
|
|
124
|
-
return config.strictTypeSuffix;
|
|
125
|
-
}
|
|
126
104
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC;;GAEG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD;;GAEG;AACH,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1C;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM;IAErB;;OAEG;IACH,gBAAgB,EAAE,aAAa;IAE/B;;OAEG;IACH,iBAAiB,EAAE,aAAa;IAEhC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IAEhD;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/generator/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export type { GetTypes, Schemas, StrictInsertable, StrictSelectable, StrictUpdateable, } from '../kysely/helpers.js';
|
|
3
|
-
export { columnType, generated, getSchemas,
|
|
2
|
+
export type { GetTypes, Schemas, StrictInsertable, StrictSelectable, StrictType, StrictUpdateable, } from '../kysely/helpers.js';
|
|
3
|
+
export { columnType, generated, getSchemas, Insertable, Selectable, Updateable, } from '../kysely/helpers.js';
|
|
4
4
|
export declare const generator: void;
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAYA,YAAY,EACV,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,SAAS,MAUpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAYA,YAAY,EACV,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,eAAO,MAAM,SAAS,MAUpB,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -6,7 +6,7 @@ const { generatorHandler } = pkg;
|
|
|
6
6
|
const require = createRequire(import.meta.url);
|
|
7
7
|
const packageJson = require('../../package.json');
|
|
8
8
|
// Re-export kysely helpers for generated code
|
|
9
|
-
export { columnType, generated, getSchemas,
|
|
9
|
+
export { columnType, generated, getSchemas, Insertable, Selectable, Updateable, } from '../kysely/helpers.js';
|
|
10
10
|
export const generator = generatorHandler({
|
|
11
11
|
onManifest: () => ({
|
|
12
12
|
version: packageJson.version,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;AAEjC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAE3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,EAAE,gBAAgB,EAAE,GAAG,GAAG,CAAC;AAEjC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAwB,CAAC;AAUzE,8CAA8C;AAC9C,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,GACX,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACjB,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,aAAa,EAAE,aAAa;QAC5B,UAAU,EAAE,gCAAgC;KAC7C,CAAC;IACF,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC5B,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -23,7 +23,7 @@ export class GeneratorOrchestrator {
|
|
|
23
23
|
this.config = parseGeneratorConfig(options);
|
|
24
24
|
this.fileManager = new FileManager(this.config.output);
|
|
25
25
|
this.prismaGen = new PrismaGenerator(options.dmmf);
|
|
26
|
-
this.effectGen = new EffectGenerator(options.dmmf
|
|
26
|
+
this.effectGen = new EffectGenerator(options.dmmf);
|
|
27
27
|
this.kyselyGen = new KyselyGenerator(options.dmmf);
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAmB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAkB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAE5C,YAAY,OAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAEL,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAmB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,MAAM,CAAkB;IACxB,WAAW,CAAc;IACzB,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAC3B,SAAS,CAAkB;IAE5C,YAAY,OAAyB;QACnC,IAAI,CAAC,MAAM,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAE5C,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAyB;QACtC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEvB,wCAAwC;QACxC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB;QAChC,iCAAiC;QACjC,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEzC,wDAAwD;QACxD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IACxF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,mBAAmB,CAAC,OAAyB;QACzD,0CAA0C;QAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAExD,4CAA4C;QAC5C,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,MAAM,eAAe,GAAG,MAAM,yBAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9E,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC;QAED,sCAAsC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,MAAkB;QAChD,MAAM,gBAAgB,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,gBAAgB,CAAC;QAC9E,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAE5D,MAAM,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAE1C,qDAAqD;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACzD,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QAElC,2DAA2D;QAC3D,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,CAAC,CACxE,CAAC;QAEF,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE5D,8CAA8C;QAC9C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAExC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEzE,0CAA0C;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI;eAC5B,cAAc;EAC3B,YAAY;IACV,CAAC;YAEG,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEtE,OAAO,GAAG,WAAW,OAAO,UAAU,OAAO,iBAAiB,OAAO,WAAW,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,wDAAwD;QACxD,MAAM,yBAAyB,GAC7B,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,gBAAgB,CAAC;YACpE,CAAC,CAAC,EAAE,CAAC;QAET,8CAA8C;QAC9C,MAAM,gBAAgB,GACpB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE/F,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAExF,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,MAAM,OAAO,YAAY,EAAE,CAAC;QAC7C,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,IAAI,OAAO,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,OAAO,gBAAgB,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,OAAO,WAAW,EAAE,CAAC;QAEhC,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAEvD,sBAAsB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACxD,MAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;QAEtD,+BAA+B;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE5D,8DAA8D;QAC9D,MAAM,YAAY,GAAG,MAAM;aACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YAExC,kCAAkC;YAClC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEzE,0CAA0C;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YAChE,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI;eAC5B,cAAc;EAC3B,YAAY;IACV,CAAC;YAEG,gDAAgD;YAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAEtE,OAAO,GAAG,WAAW,OAAO,UAAU,OAAO,iBAAiB,OAAO,WAAW,EAAE,CAAC;QACrF,CAAC,CAAC;aACD,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhB,wCAAwC;QACxC,MAAM,yBAAyB,GAC7B,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,iCAAiC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5F,8BAA8B;QAC9B,MAAM,gBAAgB,GACpB,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEnF,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE3E,uCAAuC;QACvC,IAAI,OAAO,GAAG,GAAG,MAAM,OAAO,YAAY,EAAE,CAAC;QAC7C,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,IAAI,OAAO,yBAAyB,EAAE,CAAC;QAChD,CAAC;QACD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,IAAI,OAAO,gBAAgB,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,OAAO,WAAW,EAAE,CAAC;QAEhC,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,QAAQ,CAAC,OAAyB;QACxC,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAChG,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC;QAEvD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;QAErD,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,6CAA6C;QAC/C,CAAC;aAAM,CAAC;YACN,8CAA8C;QAChD,CAAC;IACH,CAAC;CACF"}
|
package/dist/kysely/helpers.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Schema } from 'effect';
|
|
2
|
-
import type { Insertable, Selectable, Updateable } from 'kysely';
|
|
2
|
+
import type { Insertable as KyselyInsertable, Selectable as KyselySelectable, Updateable as KyselyUpdateable } from 'kysely';
|
|
3
3
|
import type { DeepMutable } from 'effect/Types';
|
|
4
4
|
/**
|
|
5
5
|
* Runtime helpers for Kysely schema integration
|
|
@@ -22,22 +22,22 @@ export declare const columnType: <SType, SEncoded, SR, IType, IEncoded, IR, UTyp
|
|
|
22
22
|
*/
|
|
23
23
|
export declare const generated: <SType, SEncoded, R>(schema: Schema.Schema<SType, SEncoded, R>) => Schema.Schema<SType, SEncoded, R>;
|
|
24
24
|
/**
|
|
25
|
-
* Create
|
|
25
|
+
* Create Selectable schema from base schema
|
|
26
26
|
*/
|
|
27
|
-
type MutableInsert<Type> = DeepMutable<
|
|
28
|
-
type MutableUpdate<Type> = DeepMutable<
|
|
29
|
-
export declare const
|
|
27
|
+
type MutableInsert<Type> = DeepMutable<KyselyInsertable<Type>>;
|
|
28
|
+
type MutableUpdate<Type> = DeepMutable<KyselyUpdateable<Type>>;
|
|
29
|
+
export declare const Selectable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<KyselySelectable<Type>, KyselySelectable<Encoded>, never>;
|
|
30
30
|
/**
|
|
31
|
-
* Create
|
|
31
|
+
* Create Insertable schema from base schema
|
|
32
32
|
* Filters out generated fields (@effect/sql Model.Generated pattern)
|
|
33
33
|
*/
|
|
34
|
-
export declare const
|
|
34
|
+
export declare const Insertable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<MutableInsert<Type>, MutableInsert<Encoded>, never>;
|
|
35
35
|
/**
|
|
36
|
-
* Create
|
|
36
|
+
* Create Updateable schema from base schema
|
|
37
37
|
*/
|
|
38
|
-
export declare const
|
|
38
|
+
export declare const Updateable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<MutableUpdate<Type>, MutableUpdate<Encoded>, never>;
|
|
39
39
|
export interface Schemas<Type, Encoded> {
|
|
40
|
-
Selectable: Schema.Schema<
|
|
40
|
+
Selectable: Schema.Schema<KyselySelectable<Type>, KyselySelectable<Encoded>, never>;
|
|
41
41
|
Insertable: Schema.Schema<MutableInsert<Type>, MutableInsert<Encoded>, never>;
|
|
42
42
|
Updateable: Schema.Schema<MutableUpdate<Type>, MutableUpdate<Encoded>, never>;
|
|
43
43
|
}
|
|
@@ -54,8 +54,9 @@ export interface GetTypes<T extends Schemas<unknown, unknown>> {
|
|
|
54
54
|
type RemoveIndexSignature<T> = {
|
|
55
55
|
[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];
|
|
56
56
|
};
|
|
57
|
-
export type
|
|
58
|
-
export type
|
|
59
|
-
export type
|
|
57
|
+
export type StrictType<T> = RemoveIndexSignature<T>;
|
|
58
|
+
export type StrictSelectable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Selectable']>>;
|
|
59
|
+
export type StrictInsertable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Insertable']>>;
|
|
60
|
+
export type StrictUpdateable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Updateable']>>;
|
|
60
61
|
export {};
|
|
61
62
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/kysely/helpers.js
CHANGED
|
@@ -80,29 +80,28 @@ const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
|
80
80
|
// Apply Schema.mutable() to regular fields for insert/updateSchema to make arrays mutable
|
|
81
81
|
// Safe for all types - no-op for non-arrays
|
|
82
82
|
if (schemaType === 'updateSchema' || schemaType === 'insertSchema') {
|
|
83
|
-
return new AST.PropertySignature(prop.name, Schema.mutable(Schema.make(prop.type)).ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
83
|
+
return new AST.PropertySignature(prop.name, Schema.mutable(Schema.asSchema(Schema.make(prop.type))).ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
84
84
|
}
|
|
85
85
|
// Generated fields are just markers now, return as-is
|
|
86
86
|
return prop;
|
|
87
87
|
})
|
|
88
88
|
.filter((prop) => prop.type._tag !== 'NeverKeyword');
|
|
89
89
|
};
|
|
90
|
-
export const
|
|
90
|
+
export const Selectable = (schema) => {
|
|
91
91
|
const { ast } = schema;
|
|
92
92
|
if (!AST.isTypeLiteral(ast)) {
|
|
93
|
-
return Schema.make(ast);
|
|
93
|
+
return Schema.asSchema(Schema.make(ast));
|
|
94
94
|
}
|
|
95
|
-
return Schema.make(new AST.TypeLiteral(extractParametersFromTypeLiteral(ast, 'selectSchema'), ast.indexSignatures, ast.annotations));
|
|
95
|
+
return Schema.asSchema(Schema.make(new AST.TypeLiteral(extractParametersFromTypeLiteral(ast, 'selectSchema'), ast.indexSignatures, ast.annotations)));
|
|
96
96
|
};
|
|
97
97
|
/**
|
|
98
|
-
* Create
|
|
98
|
+
* Create Insertable schema from base schema
|
|
99
99
|
* Filters out generated fields (@effect/sql Model.Generated pattern)
|
|
100
100
|
*/
|
|
101
|
-
export const
|
|
101
|
+
export const Insertable = (schema) => {
|
|
102
102
|
const { ast } = schema;
|
|
103
103
|
if (!AST.isTypeLiteral(ast)) {
|
|
104
|
-
|
|
105
|
-
return baseSchema;
|
|
104
|
+
return Schema.asSchema(Schema.make(ast));
|
|
106
105
|
}
|
|
107
106
|
// Extract and filter out generated fields entirely
|
|
108
107
|
const nonGeneratedProps = ast.propertySignatures.filter((prop) => !isGeneratedType(prop.type));
|
|
@@ -113,30 +112,27 @@ export const insertable = (schema) => {
|
|
|
113
112
|
const isOptional = isOptionalType(prop.type);
|
|
114
113
|
return new AST.PropertySignature(prop.name, prop.type, isOptional, prop.isReadonly, prop.annotations);
|
|
115
114
|
});
|
|
116
|
-
|
|
117
|
-
return insertSchema;
|
|
115
|
+
return Schema.asSchema(Schema.make(new AST.TypeLiteral(fields, ast.indexSignatures, ast.annotations)));
|
|
118
116
|
};
|
|
119
117
|
/**
|
|
120
|
-
* Create
|
|
118
|
+
* Create Updateable schema from base schema
|
|
121
119
|
*/
|
|
122
|
-
export const
|
|
120
|
+
export const Updateable = (schema) => {
|
|
123
121
|
const { ast } = schema;
|
|
124
122
|
if (!AST.isTypeLiteral(ast)) {
|
|
125
|
-
|
|
126
|
-
return baseSchema;
|
|
123
|
+
return Schema.asSchema(Schema.make(ast));
|
|
127
124
|
}
|
|
128
125
|
const extracted = extractParametersFromTypeLiteral(ast, 'updateSchema');
|
|
129
126
|
const res = new AST.TypeLiteral(extracted.map((prop) => new AST.PropertySignature(prop.name, AST.Union.make([prop.type, new AST.UndefinedKeyword()]), true, prop.isReadonly, prop.annotations)), ast.indexSignatures, ast.annotations);
|
|
130
|
-
|
|
131
|
-
return updateSchema;
|
|
127
|
+
return Schema.asSchema(Schema.make(res));
|
|
132
128
|
};
|
|
133
129
|
/**
|
|
134
130
|
* Generate all operational schemas (Selectable/Insertable/Updateable) from base schema
|
|
135
131
|
* Used in generated code
|
|
136
132
|
*/
|
|
137
133
|
export const getSchemas = (baseSchema) => ({
|
|
138
|
-
Selectable:
|
|
139
|
-
Insertable:
|
|
140
|
-
Updateable:
|
|
134
|
+
Selectable: Selectable(baseSchema),
|
|
135
|
+
Insertable: Insertable(baseSchema),
|
|
136
|
+
Updateable: Updateable(baseSchema),
|
|
141
137
|
});
|
|
142
138
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|