prisma-effect-kysely 2.2.0 → 3.0.1
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 +85 -0
- package/README.md +2 -2
- package/dist/effect/generator.d.ts +8 -7
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +38 -33
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/join-table.d.ts +1 -2
- package/dist/effect/join-table.d.ts.map +1 -1
- package/dist/effect/join-table.js +4 -12
- package/dist/effect/join-table.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 -2
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/orchestrator.d.ts.map +1 -1
- package/dist/generator/orchestrator.js +22 -8
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/helpers.d.ts +23 -9
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js +8 -4
- package/dist/kysely/helpers.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,90 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`57771ff`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/57771ff954fcf8796d8e2ad7fefd5dc5f6ce51fb) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - Fix: Exclude Never-typed fields from Updateable and Insertable schemas
|
|
8
|
+
|
|
9
|
+
Previously, fields with `columnType(T, Schema.Never, Schema.Never)` were incorrectly included in Updateable/Insertable schemas because `Schema.mutable()` wrapped the Never type in a Transformation node, changing the AST tag from `'NeverKeyword'` to `'Transformation'`. The filter at line 155 checked for `'NeverKeyword'` but couldn't detect the wrapped Never type.
|
|
10
|
+
|
|
11
|
+
**Fix**: Check for `AST.isNeverKeyword(targetSchema.ast)` before applying the `Schema.mutable()` transformation, then filter out null values.
|
|
12
|
+
|
|
13
|
+
This ensures read-only ID fields like `id: columnType(Schema.UUID, Schema.Never, Schema.Never)` are properly excluded from update and insert operations, maintaining Kysely's type safety guarantees.
|
|
14
|
+
|
|
15
|
+
## 3.0.0
|
|
16
|
+
|
|
17
|
+
### Major Changes
|
|
18
|
+
|
|
19
|
+
- [`40a2a5e`](https://github.com/samuelho-dev/prisma-effect-kysely/commit/40a2a5ed0ec35c40cc4e4c8c58dfe34437c54050) Thanks [@samuelho-dev](https://github.com/samuelho-dev)! - **BREAKING**: Kysely-native type utility pattern
|
|
20
|
+
|
|
21
|
+
This release changes how consumers access types from generated schemas, aligning with Kysely's native patterns.
|
|
22
|
+
|
|
23
|
+
## Breaking Changes
|
|
24
|
+
|
|
25
|
+
### Removed type exports
|
|
26
|
+
|
|
27
|
+
Generated code no longer exports individual type aliases:
|
|
28
|
+
|
|
29
|
+
```typescript
|
|
30
|
+
// REMOVED - these no longer exist
|
|
31
|
+
export type UserSelect = ...
|
|
32
|
+
export type UserInsert = ...
|
|
33
|
+
export type UserUpdate = ...
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### New pattern: Type utilities
|
|
37
|
+
|
|
38
|
+
Import type utilities from the library and use with generated schemas:
|
|
39
|
+
|
|
40
|
+
```typescript
|
|
41
|
+
import { Selectable, Insertable, Updateable, Id } from 'prisma-effect-kysely';
|
|
42
|
+
import { User } from './generated';
|
|
43
|
+
|
|
44
|
+
type UserRow = Selectable<typeof User>;
|
|
45
|
+
type NewUser = Insertable<typeof User>;
|
|
46
|
+
type UserPatch = Updateable<typeof User>;
|
|
47
|
+
type UserId = Id<typeof User>;
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## New Features
|
|
51
|
+
|
|
52
|
+
### Branded ID types
|
|
53
|
+
|
|
54
|
+
Each model with an `@id` field now includes a branded ID schema:
|
|
55
|
+
|
|
56
|
+
```typescript
|
|
57
|
+
export const User = {
|
|
58
|
+
...getSchemas(_User),
|
|
59
|
+
Id: UserIdSchema, // Branded type: Schema.UUID.pipe(Schema.brand("UserId"))
|
|
60
|
+
} as const;
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Type utilities exported from library
|
|
64
|
+
- `Selectable<T>` - Row type for SELECT queries
|
|
65
|
+
- `Insertable<T>` - Type for INSERT operations
|
|
66
|
+
- `Updateable<T>` - Type for UPDATE operations
|
|
67
|
+
- `Id<T>` - Branded ID type
|
|
68
|
+
|
|
69
|
+
## Migration
|
|
70
|
+
|
|
71
|
+
Replace direct type imports with type utilities:
|
|
72
|
+
|
|
73
|
+
```typescript
|
|
74
|
+
// Before
|
|
75
|
+
import { UserSelect, UserInsert } from './generated';
|
|
76
|
+
|
|
77
|
+
// After
|
|
78
|
+
import { Selectable, Insertable } from 'prisma-effect-kysely';
|
|
79
|
+
import { User } from './generated';
|
|
80
|
+
type UserSelect = Selectable<typeof User>;
|
|
81
|
+
type UserInsert = Insertable<typeof User>;
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## Documentation
|
|
85
|
+
- Fixed README.md: DateTime correctly maps to `Schema.DateFromSelf` (not `Schema.Date`)
|
|
86
|
+
- Updated CLAUDE.md with new architecture documentation
|
|
87
|
+
|
|
3
88
|
## 2.2.0
|
|
4
89
|
|
|
5
90
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -60,7 +60,7 @@ export const User = Schema.Struct({
|
|
|
60
60
|
email: Schema.String,
|
|
61
61
|
name: Schema.optional(Schema.String),
|
|
62
62
|
role: UserRole,
|
|
63
|
-
createdAt: Schema.
|
|
63
|
+
createdAt: Schema.DateFromSelf,
|
|
64
64
|
});
|
|
65
65
|
export type User = Schema.Schema.Type<typeof User>;
|
|
66
66
|
```
|
|
@@ -105,7 +105,7 @@ The `StrictSelectable`, `StrictInsertable`, and `StrictUpdateable` helpers remai
|
|
|
105
105
|
| BigInt | `Schema.BigInt` | Exact bigint type |
|
|
106
106
|
| Decimal | `Schema.String` | String for precision |
|
|
107
107
|
| Boolean | `Schema.Boolean` | - |
|
|
108
|
-
| DateTime | `Schema.
|
|
108
|
+
| DateTime | `Schema.DateFromSelf` | Native Date for Kysely |
|
|
109
109
|
| Json | `Schema.Unknown` | Safe unknown type |
|
|
110
110
|
| Bytes | `Schema.Uint8Array` | - |
|
|
111
111
|
| Enum | Enum Schema | With `Schema.Literal` values |
|
|
@@ -15,17 +15,18 @@ export declare class EffectGenerator {
|
|
|
15
15
|
*/
|
|
16
16
|
generateBaseSchema(model: DMMF.Model, fields: readonly DMMF.Field[]): string;
|
|
17
17
|
/**
|
|
18
|
-
* Generate
|
|
18
|
+
* Generate branded ID schema for a model
|
|
19
|
+
* @returns The branded ID schema declaration, or null if no ID field
|
|
19
20
|
*/
|
|
20
|
-
|
|
21
|
+
generateBrandedIdSchema(model: DMMF.Model, fields: readonly DMMF.Field[]): string | null;
|
|
21
22
|
/**
|
|
22
|
-
* Generate
|
|
23
|
-
*
|
|
24
|
-
* Insert types omit generated fields so TS matches runtime schema filtering
|
|
23
|
+
* Generate operational schemas with branded Id
|
|
24
|
+
* Exports: { Selectable, Insertable, Updateable, Id }
|
|
25
25
|
*/
|
|
26
|
-
|
|
26
|
+
generateOperationalSchemas(model: DMMF.Model, fields: readonly DMMF.Field[]): string;
|
|
27
27
|
/**
|
|
28
|
-
* Generate complete model schema (base +
|
|
28
|
+
* Generate complete model schema (base + branded ID + operational)
|
|
29
|
+
* No type exports - consumers use type utilities: Selectable<typeof User>
|
|
29
30
|
*/
|
|
30
31
|
generateModelSchema(model: DMMF.Model, fields: DMMF.Field[]): string;
|
|
31
32
|
/**
|
|
@@ -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;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
|
|
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;;;OAGG;IACH,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,MAAM,GAAG,IAAI;IAaxF;;;OAGG;IACH,0BAA0B,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;IAe3E;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE;IAkB3D;;;;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
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { isUuidField } from '../prisma/type.js';
|
|
1
2
|
import { generateFileHeader } from '../utils/codegen.js';
|
|
2
3
|
import { toPascalCase } from '../utils/naming.js';
|
|
3
4
|
import { generateEnumsFile } from './enum.js';
|
|
4
5
|
import { generateJoinTableKyselyInterface, generateJoinTableSchema } from './join-table.js';
|
|
5
6
|
import { buildFieldType } from './type.js';
|
|
6
|
-
import { needsOmitFromInsert } from '../kysely/type.js';
|
|
7
7
|
/**
|
|
8
8
|
* Effect domain generator - orchestrates Effect Schema generation
|
|
9
9
|
*/
|
|
@@ -35,46 +35,51 @@ ${fieldDefinitions}
|
|
|
35
35
|
});`;
|
|
36
36
|
}
|
|
37
37
|
/**
|
|
38
|
-
* Generate
|
|
38
|
+
* Generate branded ID schema for a model
|
|
39
|
+
* @returns The branded ID schema declaration, or null if no ID field
|
|
39
40
|
*/
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
generateBrandedIdSchema(model, fields) {
|
|
42
|
+
const idField = fields.find((f) => f.isId);
|
|
43
|
+
if (!idField) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
const name = toPascalCase(model.name);
|
|
47
|
+
const isUuid = isUuidField(idField);
|
|
48
|
+
const baseType = isUuid ? 'Schema.UUID' : 'Schema.String';
|
|
49
|
+
return `const ${name}IdSchema = ${baseType}.pipe(Schema.brand("${name}Id"));`;
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
|
-
* Generate
|
|
47
|
-
*
|
|
48
|
-
* Insert types omit generated fields so TS matches runtime schema filtering
|
|
52
|
+
* Generate operational schemas with branded Id
|
|
53
|
+
* Exports: { Selectable, Insertable, Updateable, Id }
|
|
49
54
|
*/
|
|
50
|
-
|
|
55
|
+
generateOperationalSchemas(model, fields) {
|
|
56
|
+
const baseSchemaName = `_${model.name}`;
|
|
51
57
|
const name = toPascalCase(model.name);
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
// Application-side types (decoded - for repository layer)
|
|
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>>;`;
|
|
64
|
-
// Database-side encoded types (for queries layer)
|
|
65
|
-
const encodedTypes = `export type ${name}SelectEncoded = Schema.Schema.Encoded<typeof ${name}.Selectable>;
|
|
66
|
-
export type ${name}InsertEncoded = ${insertEncodedType};
|
|
67
|
-
export type ${name}UpdateEncoded = Schema.Schema.Encoded<typeof ${name}.Updateable>;`;
|
|
68
|
-
return `${applicationTypes}\n${encodedTypes}`;
|
|
58
|
+
const idField = fields.find((f) => f.isId);
|
|
59
|
+
if (idField) {
|
|
60
|
+
return `export const ${name} = {
|
|
61
|
+
...getSchemas(${baseSchemaName}),
|
|
62
|
+
Id: ${name}IdSchema,
|
|
63
|
+
} as const;`;
|
|
64
|
+
}
|
|
65
|
+
return `export const ${name} = getSchemas(${baseSchemaName});`;
|
|
69
66
|
}
|
|
70
67
|
/**
|
|
71
|
-
* Generate complete model schema (base +
|
|
68
|
+
* Generate complete model schema (base + branded ID + operational)
|
|
69
|
+
* No type exports - consumers use type utilities: Selectable<typeof User>
|
|
72
70
|
*/
|
|
73
71
|
generateModelSchema(model, fields) {
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
const
|
|
77
|
-
|
|
72
|
+
const parts = [];
|
|
73
|
+
// Branded ID schema (if model has ID field)
|
|
74
|
+
const brandedIdSchema = this.generateBrandedIdSchema(model, fields);
|
|
75
|
+
if (brandedIdSchema) {
|
|
76
|
+
parts.push(brandedIdSchema);
|
|
77
|
+
}
|
|
78
|
+
// Base schema
|
|
79
|
+
parts.push(this.generateBaseSchema(model, fields));
|
|
80
|
+
// Operational schemas with Id
|
|
81
|
+
parts.push(this.generateOperationalSchemas(model, fields));
|
|
82
|
+
return parts.join('\n\n');
|
|
78
83
|
}
|
|
79
84
|
/**
|
|
80
85
|
* Generate types.ts file header
|
|
@@ -83,11 +88,11 @@ export type ${name}UpdateEncoded = Schema.Schema.Encoded<typeof ${name}.Updateab
|
|
|
83
88
|
*/
|
|
84
89
|
generateTypesHeader(hasEnums) {
|
|
85
90
|
const header = generateFileHeader();
|
|
91
|
+
// No StrictType import - consumers use type utilities: Selectable<typeof User>
|
|
86
92
|
const imports = [
|
|
87
93
|
`import { Schema } from "effect";`,
|
|
88
94
|
`import type { ColumnType } from "kysely";`,
|
|
89
95
|
`import { columnType, generated, getSchemas } from "prisma-effect-kysely";`,
|
|
90
|
-
`import type { StrictType } from "prisma-effect-kysely";`,
|
|
91
96
|
];
|
|
92
97
|
if (hasEnums) {
|
|
93
98
|
// Only import Schema wrappers (not plain enum types)
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/effect/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,7 @@ export declare function generateJoinTableKyselyInterface(joinTable: JoinTableInf
|
|
|
10
10
|
* Structure:
|
|
11
11
|
* - Base schema with semantic snake_case field names mapped to A/B via fromKey
|
|
12
12
|
* - Operational schemas via getSchemas()
|
|
13
|
-
* -
|
|
14
|
-
* - Encoded type exports
|
|
13
|
+
* - No type exports - consumers use type utilities: Selectable<typeof JoinTable>
|
|
15
14
|
*
|
|
16
15
|
* Example:
|
|
17
16
|
* - Database columns: A, B (Prisma requirement)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-table.d.ts","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,aAAa,UAcxE;AAoBD
|
|
1
|
+
{"version":3,"file":"join-table.d.ts","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,aAAa,UAcxE;AAoBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,UAuCrF"}
|
|
@@ -35,8 +35,7 @@ function mapColumnType(columnType, isUuid) {
|
|
|
35
35
|
* Structure:
|
|
36
36
|
* - Base schema with semantic snake_case field names mapped to A/B via fromKey
|
|
37
37
|
* - Operational schemas via getSchemas()
|
|
38
|
-
* -
|
|
39
|
-
* - Encoded type exports
|
|
38
|
+
* - No type exports - consumers use type utilities: Selectable<typeof JoinTable>
|
|
40
39
|
*
|
|
41
40
|
* Example:
|
|
42
41
|
* - Database columns: A, B (Prisma requirement)
|
|
@@ -63,16 +62,9 @@ export const _${relationName} = Schema.Struct({
|
|
|
63
62
|
${columnAField},
|
|
64
63
|
${columnBField},
|
|
65
64
|
});`;
|
|
66
|
-
// Generate operational schemas
|
|
65
|
+
// Generate operational schemas (no Id for join tables - they use composite keys)
|
|
67
66
|
const operationalSchema = `export const ${relationName} = getSchemas(_${relationName});`;
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
export type ${relationName}Insert = Schema.Schema.Type<typeof ${relationName}.Insertable>;
|
|
71
|
-
export type ${relationName}Update = Schema.Schema.Type<typeof ${relationName}.Updateable>;`;
|
|
72
|
-
// Generate Encoded type exports
|
|
73
|
-
const encodedExports = `export type ${relationName}SelectEncoded = Schema.Schema.Encoded<typeof ${relationName}.Selectable>;
|
|
74
|
-
export type ${relationName}InsertEncoded = Schema.Schema.Encoded<typeof ${relationName}.Insertable>;
|
|
75
|
-
export type ${relationName}UpdateEncoded = Schema.Schema.Encoded<typeof ${relationName}.Updateable>;`;
|
|
76
|
-
return `${baseSchema}\n\n${operationalSchema}\n\n${typeExports}\n${encodedExports}`;
|
|
67
|
+
// No type exports - consumers use: Selectable<typeof JoinTable>
|
|
68
|
+
return `${baseSchema}\n\n${operationalSchema}`;
|
|
77
69
|
}
|
|
78
70
|
//# sourceMappingURL=join-table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-table.js","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,SAAwB;IACvE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElD,OAAO,iCAAiC,YAAY;mBACnC,YAAY;IAC3B,WAAW,gBAAgB,KAAK;IAChC,WAAW,gBAAgB,KAAK;EAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAA2B;QACxC,MAAM,EAAE,eAAe;QACvB,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC;AACnD,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"join-table.js","sourceRoot":"","sources":["../../src/effect/join-table.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,gCAAgC,CAAC,SAAwB;IACvE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAEjF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAElD,OAAO,iCAAiC,YAAY;mBACnC,YAAY;IAC3B,WAAW,gBAAgB,KAAK;IAChC,WAAW,gBAAgB,KAAK;EAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,UAAkB,EAAE,MAAe;IACxD,IAAI,UAAU,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACtC,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,MAAM,SAAS,GAA2B;QACxC,MAAM,EAAE,eAAe;QACvB,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,eAAe;KACxB,CAAC;IAEF,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,gBAAgB,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAwB,EAAE,KAAoB;IACpF,MAAM,EACJ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,GACd,GAAG,SAAS,CAAC;IAEd,0CAA0C;IAC1C,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEhE,4DAA4D;IAC5D,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAChD,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;IAEhD,0EAA0E;IAC1E,0FAA0F;IAC1F,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IACtJ,MAAM,YAAY,GAAG,KAAK,WAAW,yCAAyC,aAAa,0DAA0D,CAAC;IAEtJ,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAM,SAAS;0BACV,MAAM,SAAS,MAAM;wBACvB,WAAW,KAAK,WAAW;gBACnC,YAAY;EAC1B,YAAY;EACZ,YAAY;IACV,CAAC;IAEH,iFAAiF;IACjF,MAAM,iBAAiB,GAAG,gBAAgB,YAAY,kBAAkB,YAAY,IAAI,CAAC;IAEzF,gEAAgE;IAChE,OAAO,GAAG,UAAU,OAAO,iBAAiB,EAAE,CAAC;AACjD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
export type {
|
|
3
|
-
export { columnType, generated, getSchemas
|
|
2
|
+
export type { Schemas, Selectable, Insertable, Updateable, Id } from '../kysely/helpers.js';
|
|
3
|
+
export { columnType, generated, getSchemas } 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":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";AAaA,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE,eAAO,MAAM,SAAS,MAUpB,CAAC"}
|
package/dist/generator/index.js
CHANGED
|
@@ -5,8 +5,7 @@ import { GeneratorOrchestrator } from './orchestrator.js';
|
|
|
5
5
|
const { generatorHandler } = pkg;
|
|
6
6
|
const require = createRequire(import.meta.url);
|
|
7
7
|
const packageJson = require('../../package.json');
|
|
8
|
-
|
|
9
|
-
export { columnType, generated, getSchemas, Insertable, Selectable, Updateable, } from '../kysely/helpers.js';
|
|
8
|
+
export { columnType, generated, getSchemas } from '../kysely/helpers.js';
|
|
10
9
|
export const generator = generatorHandler({
|
|
11
10
|
onManifest: () => ({
|
|
12
11
|
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;AAIzE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzE,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAcjE;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;gBAEhC,OAAO,EAAE,gBAAgB;IASrC;;;;;;;;OAQG;IACG,QAAQ,CAAC,OAAO,EAAE,gBAAgB;IAaxC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,iBAAiB;IAwF/B;;OAEG;YACW,aAAa;IAM3B;;OAEG;YACW,aAAa;IAiE3B;;OAEG;YACW,aAAa;IAK3B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,WAAW;CASpB"}
|
|
@@ -107,10 +107,17 @@ export class GeneratorOrchestrator {
|
|
|
107
107
|
export const ${baseSchemaName} = Schema.Struct({
|
|
108
108
|
${kyselyFields}
|
|
109
109
|
});`;
|
|
110
|
-
// Generate
|
|
111
|
-
const
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
// Generate branded ID schema (if model has ID field)
|
|
111
|
+
const brandedIdSchema = this.effectGen.generateBrandedIdSchema(model, fields);
|
|
112
|
+
// Generate operational schemas (no type exports - consumers use type utilities)
|
|
113
|
+
const operationalSchema = this.effectGen.generateOperationalSchemas(model, fields);
|
|
114
|
+
// Assemble model output
|
|
115
|
+
const parts = [kyselyTable, baseSchema];
|
|
116
|
+
if (brandedIdSchema) {
|
|
117
|
+
parts.push(brandedIdSchema);
|
|
118
|
+
}
|
|
119
|
+
parts.push(operationalSchema);
|
|
120
|
+
return parts.join('\n\n');
|
|
114
121
|
})
|
|
115
122
|
.join('\n\n');
|
|
116
123
|
// Generate join table Kysely interfaces for this domain
|
|
@@ -165,10 +172,17 @@ ${kyselyFields}
|
|
|
165
172
|
export const ${baseSchemaName} = Schema.Struct({
|
|
166
173
|
${kyselyFields}
|
|
167
174
|
});`;
|
|
168
|
-
// Generate
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
175
|
+
// Generate branded ID schema (if model has ID field)
|
|
176
|
+
const brandedIdSchema = this.effectGen.generateBrandedIdSchema(model, fields);
|
|
177
|
+
// Generate operational schemas (no type exports - consumers use type utilities)
|
|
178
|
+
const operationalSchema = this.effectGen.generateOperationalSchemas(model, fields);
|
|
179
|
+
// Assemble model output
|
|
180
|
+
const parts = [kyselyTable, baseSchema];
|
|
181
|
+
if (brandedIdSchema) {
|
|
182
|
+
parts.push(brandedIdSchema);
|
|
183
|
+
}
|
|
184
|
+
parts.push(operationalSchema);
|
|
185
|
+
return parts.join('\n\n');
|
|
172
186
|
})
|
|
173
187
|
.join('\n\n');
|
|
174
188
|
// Generate join table Kysely interfaces
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/generator/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/kysely/helpers.d.ts
CHANGED
|
@@ -46,17 +46,31 @@ export interface Schemas<Type, Encoded> {
|
|
|
46
46
|
* Used in generated code
|
|
47
47
|
*/
|
|
48
48
|
export declare const getSchemas: <Type, Encoded>(baseSchema: Schema.Schema<Type, Encoded>) => Schemas<Type, Encoded>;
|
|
49
|
-
export interface GetTypes<T extends Schemas<unknown, unknown>> {
|
|
50
|
-
Selectable: Schema.Schema.Type<T['Selectable']>;
|
|
51
|
-
Insertable: Schema.Schema.Type<T['Insertable']>;
|
|
52
|
-
Updateable: Schema.Schema.Type<T['Updateable']>;
|
|
53
|
-
}
|
|
54
49
|
type RemoveIndexSignature<T> = {
|
|
55
50
|
[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
51
|
};
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
52
|
+
type StrictType<T> = RemoveIndexSignature<T>;
|
|
53
|
+
/**
|
|
54
|
+
* Extract SELECT type from schema (matches Kysely's Selectable<T> pattern)
|
|
55
|
+
* @example type UserSelect = Selectable<typeof User>
|
|
56
|
+
*/
|
|
57
|
+
export type Selectable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Selectable']>>;
|
|
58
|
+
/**
|
|
59
|
+
* Extract INSERT type from schema (matches Kysely's Insertable<T> pattern)
|
|
60
|
+
* @example type UserInsert = Insertable<typeof User>
|
|
61
|
+
*/
|
|
62
|
+
export type Insertable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Insertable']>>;
|
|
63
|
+
/**
|
|
64
|
+
* Extract UPDATE type from schema (matches Kysely's Updateable<T> pattern)
|
|
65
|
+
* @example type UserUpdate = Updateable<typeof User>
|
|
66
|
+
*/
|
|
67
|
+
export type Updateable<T extends Schemas<unknown, unknown>> = StrictType<Schema.Schema.Type<T['Updateable']>>;
|
|
68
|
+
/**
|
|
69
|
+
* Extract branded ID type from schema
|
|
70
|
+
* @example type UserId = Id<typeof User>
|
|
71
|
+
*/
|
|
72
|
+
export type Id<T extends {
|
|
73
|
+
Id: Schema.Schema<unknown, unknown, unknown>;
|
|
74
|
+
}> = Schema.Schema.Type<T['Id']>;
|
|
61
75
|
export {};
|
|
62
76
|
//# 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,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;AAQtD;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EACtF,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAChD,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,EAChD,cAAc,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAQnC,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,sCAEtF,CAAC;
|
|
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
|
@@ -70,12 +70,16 @@ const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
|
70
70
|
.map((prop) => {
|
|
71
71
|
const columnSchemas = getColumnTypeSchemas(prop.type);
|
|
72
72
|
if (columnSchemas !== null) {
|
|
73
|
+
const targetSchema = columnSchemas[schemaType];
|
|
74
|
+
// Check for Schema.Never BEFORE mutable transformation
|
|
75
|
+
// Schema.mutable() wraps in Transformation node, changing _tag
|
|
76
|
+
if (AST.isNeverKeyword(targetSchema.ast)) {
|
|
77
|
+
return null; // Will be filtered out
|
|
78
|
+
}
|
|
73
79
|
// Use Schema.mutable() for insert/update schema to make arrays mutable
|
|
74
80
|
// Kysely expects mutable T[] for insert/update operations
|
|
75
81
|
const shouldBeMutable = schemaType === 'updateSchema' || schemaType === 'insertSchema';
|
|
76
|
-
return new AST.PropertySignature(prop.name, shouldBeMutable
|
|
77
|
-
? Schema.mutable(columnSchemas[schemaType]).ast
|
|
78
|
-
: columnSchemas[schemaType].ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
82
|
+
return new AST.PropertySignature(prop.name, shouldBeMutable ? Schema.mutable(targetSchema).ast : targetSchema.ast, prop.isOptional, prop.isReadonly, prop.annotations);
|
|
79
83
|
}
|
|
80
84
|
// Apply Schema.mutable() to regular fields for insert/updateSchema to make arrays mutable
|
|
81
85
|
// Safe for all types - no-op for non-arrays
|
|
@@ -85,7 +89,7 @@ const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
|
85
89
|
// Generated fields are just markers now, return as-is
|
|
86
90
|
return prop;
|
|
87
91
|
})
|
|
88
|
-
.filter((prop) => prop
|
|
92
|
+
.filter((prop) => prop !== null);
|
|
89
93
|
};
|
|
90
94
|
export const Selectable = (schema) => {
|
|
91
95
|
const { ast } = schema;
|
|
@@ -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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"}
|