prisma-effect-kysely 1.13.0 → 1.14.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 +45 -0
- package/README.md +30 -0
- package/dist/effect/enum.d.ts +1 -1
- package/dist/effect/enum.d.ts.map +1 -1
- package/dist/effect/enum.js +19 -22
- package/dist/effect/enum.js.map +1 -1
- package/dist/effect/generator.d.ts +1 -1
- package/dist/effect/generator.d.ts.map +1 -1
- package/dist/effect/generator.js +17 -20
- package/dist/effect/generator.js.map +1 -1
- package/dist/effect/join-table.d.ts +1 -1
- package/dist/effect/join-table.d.ts.map +1 -1
- package/dist/effect/join-table.js +7 -11
- package/dist/effect/join-table.js.map +1 -1
- package/dist/effect/type.js +10 -14
- package/dist/effect/type.js.map +1 -1
- package/dist/generator/config.d.ts +1 -1
- package/dist/generator/config.d.ts.map +1 -1
- package/dist/generator/config.js +10 -15
- package/dist/generator/config.js.map +1 -1
- package/dist/generator/contract-scaffolder.d.ts +2 -2
- package/dist/generator/contract-scaffolder.d.ts.map +1 -1
- package/dist/generator/contract-scaffolder.js +21 -65
- package/dist/generator/contract-scaffolder.js.map +1 -1
- package/dist/generator/domain-detector.d.ts.map +1 -1
- package/dist/generator/domain-detector.js +5 -43
- package/dist/generator/domain-detector.js.map +1 -1
- package/dist/generator/index.d.ts +2 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +9 -27
- package/dist/generator/index.js.map +1 -1
- package/dist/generator/orchestrator.d.ts.map +1 -1
- package/dist/generator/orchestrator.js +33 -40
- package/dist/generator/orchestrator.js.map +1 -1
- package/dist/kysely/generator.d.ts +1 -1
- package/dist/kysely/generator.d.ts.map +1 -1
- package/dist/kysely/generator.js +9 -12
- package/dist/kysely/generator.js.map +1 -1
- package/dist/kysely/helpers.d.ts +4 -8
- package/dist/kysely/helpers.d.ts.map +1 -1
- package/dist/kysely/helpers.js +29 -71
- package/dist/kysely/helpers.js.map +1 -1
- package/dist/kysely/type.d.ts +2 -1
- package/dist/kysely/type.d.ts.map +1 -1
- package/dist/kysely/type.js +27 -39
- package/dist/kysely/type.js.map +1 -1
- package/dist/prisma/enum.d.ts +1 -1
- package/dist/prisma/enum.d.ts.map +1 -1
- package/dist/prisma/enum.js +3 -8
- package/dist/prisma/enum.js.map +1 -1
- package/dist/prisma/generator.d.ts +2 -2
- package/dist/prisma/generator.d.ts.map +1 -1
- package/dist/prisma/generator.js +6 -42
- package/dist/prisma/generator.js.map +1 -1
- package/dist/prisma/relation.d.ts.map +1 -1
- package/dist/prisma/relation.js +45 -48
- package/dist/prisma/relation.js.map +1 -1
- package/dist/prisma/type.d.ts +1 -1
- package/dist/prisma/type.d.ts.map +1 -1
- package/dist/prisma/type.js +16 -29
- package/dist/prisma/type.js.map +1 -1
- package/dist/utils/annotations.d.ts.map +1 -1
- package/dist/utils/annotations.js +3 -9
- package/dist/utils/annotations.js.map +1 -1
- package/dist/utils/codegen.js +1 -4
- package/dist/utils/codegen.js.map +1 -1
- package/dist/utils/file-manager.js +9 -12
- package/dist/utils/file-manager.js.map +1 -1
- package/dist/utils/naming.d.ts +11 -0
- package/dist/utils/naming.d.ts.map +1 -1
- package/dist/utils/naming.js +15 -6
- package/dist/utils/naming.js.map +1 -1
- package/dist/utils/templates.d.ts.map +1 -1
- package/dist/utils/templates.js +5 -43
- package/dist/utils/templates.js.map +1 -1
- package/package.json +33 -25
- package/dist/utils/unsupported-config.d.ts +0 -26
- package/dist/utils/unsupported-config.d.ts.map +0 -1
- package/dist/utils/unsupported-config.js +0 -36
- package/dist/utils/unsupported-config.js.map +0 -1
package/dist/kysely/helpers.d.ts
CHANGED
|
@@ -34,19 +34,15 @@ export declare const insertable: <Type, Encoded>(schema: Schema.Schema<Type, Enc
|
|
|
34
34
|
*/
|
|
35
35
|
export declare const updateable: <Type, Encoded>(schema: Schema.Schema<Type, Encoded>) => Schema.Schema<Updateable<Type>, Updateable<Encoded>, never>;
|
|
36
36
|
export interface Schemas<Type, Encoded> {
|
|
37
|
-
Selectable: Schema.Schema<Selectable<Type>, Selectable<Encoded
|
|
38
|
-
Insertable: Schema.Schema<Insertable<Type>, Insertable<Encoded
|
|
39
|
-
Updateable: Schema.Schema<Updateable<Type>, Updateable<Encoded
|
|
37
|
+
Selectable: Schema.Schema<Selectable<Type>, Selectable<Encoded>, never>;
|
|
38
|
+
Insertable: Schema.Schema<Insertable<Type>, Insertable<Encoded>, never>;
|
|
39
|
+
Updateable: Schema.Schema<Updateable<Type>, Updateable<Encoded>, never>;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Generate all operational schemas (Selectable/Insertable/Updateable) from base schema
|
|
43
43
|
* Used in generated code
|
|
44
44
|
*/
|
|
45
|
-
export declare const getSchemas: <Type, Encoded>(baseSchema: Schema.Schema<Type, Encoded>) =>
|
|
46
|
-
Selectable: Schema.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>;
|
|
47
|
-
Insertable: Schema.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>;
|
|
48
|
-
Updateable: Schema.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>;
|
|
49
|
-
};
|
|
45
|
+
export declare const getSchemas: <Type, Encoded>(baseSchema: Schema.Schema<Type, Encoded>) => Schemas<Type, Encoded>;
|
|
50
46
|
export interface GetTypes<T extends Schemas<unknown, unknown>> {
|
|
51
47
|
Selectable: Schema.Schema.Type<T['Selectable']>;
|
|
52
48
|
Insertable: Schema.Schema.Type<T['Insertable']>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"
|
|
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,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEjE;;;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;AA8FF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAY5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CA4C5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,QAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KACnC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAwB5D,CAAC;AAEF,MAAM,WAAW,OAAO,CAAC,IAAI,EAAE,OAAO;IACpC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IACxE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;CACzE;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,EAAE,OAAO,EACtC,YAAY,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,KACvC,OAAO,CAAC,IAAI,EAAE,OAAO,CAItB,CAAC;AAEH,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC;IAC3D,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CACjD"}
|
package/dist/kysely/helpers.js
CHANGED
|
@@ -1,60 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getSchemas = exports.updateable = exports.insertable = exports.selectable = exports.generated = exports.columnType = exports.GeneratedId = exports.ColumnTypeId = void 0;
|
|
37
|
-
const AST = __importStar(require("effect/SchemaAST"));
|
|
38
|
-
const effect_1 = require("effect");
|
|
1
|
+
import { Schema } from 'effect';
|
|
2
|
+
import * as AST from 'effect/SchemaAST';
|
|
39
3
|
/**
|
|
40
4
|
* Runtime helpers for Kysely schema integration
|
|
41
5
|
* These are imported by generated code
|
|
42
6
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
7
|
+
export const ColumnTypeId = Symbol.for('/ColumnTypeId');
|
|
8
|
+
export const GeneratedId = Symbol.for('/GeneratedId');
|
|
45
9
|
/**
|
|
46
10
|
* Mark a field as having different types for select/insert/update
|
|
47
11
|
* Used for ID fields with @default (read-only)
|
|
48
12
|
*/
|
|
49
|
-
const columnType = (selectSchema, insertSchema, updateSchema) => {
|
|
13
|
+
export const columnType = (selectSchema, insertSchema, updateSchema) => {
|
|
50
14
|
const schemas = {
|
|
51
15
|
selectSchema,
|
|
52
16
|
insertSchema,
|
|
53
17
|
updateSchema,
|
|
54
18
|
};
|
|
55
|
-
return
|
|
19
|
+
return Schema.asSchema(selectSchema.annotations({ [ColumnTypeId]: schemas }));
|
|
56
20
|
};
|
|
57
|
-
exports.columnType = columnType;
|
|
58
21
|
/**
|
|
59
22
|
* Mark a field as database-generated (omitted from insert)
|
|
60
23
|
* Used for fields with @default
|
|
@@ -63,28 +26,27 @@ exports.columnType = columnType;
|
|
|
63
26
|
* - Present in select and update schemas
|
|
64
27
|
* - OMITTED from insert schema (not optional, completely absent)
|
|
65
28
|
*/
|
|
66
|
-
const generated = (schema) => {
|
|
67
|
-
return
|
|
29
|
+
export const generated = (schema) => {
|
|
30
|
+
return Schema.asSchema(schema.annotations({ [GeneratedId]: true }));
|
|
68
31
|
};
|
|
69
|
-
exports.generated = generated;
|
|
70
32
|
/**
|
|
71
33
|
* Schema for validating column type annotations structure
|
|
72
34
|
*/
|
|
73
|
-
const ColumnTypeSchemasValidator =
|
|
74
|
-
selectSchema:
|
|
75
|
-
insertSchema:
|
|
76
|
-
updateSchema:
|
|
35
|
+
const ColumnTypeSchemasValidator = Schema.Struct({
|
|
36
|
+
selectSchema: Schema.Any,
|
|
37
|
+
insertSchema: Schema.Any,
|
|
38
|
+
updateSchema: Schema.Any,
|
|
77
39
|
});
|
|
78
40
|
/**
|
|
79
41
|
* Extract and validate column type schemas from AST annotations
|
|
80
42
|
* Returns null if not a column type or validation fails
|
|
81
43
|
*/
|
|
82
44
|
function getColumnTypeSchemas(ast) {
|
|
83
|
-
if (!(
|
|
45
|
+
if (!(ColumnTypeId in ast.annotations)) {
|
|
84
46
|
return null;
|
|
85
47
|
}
|
|
86
|
-
const annotation = ast.annotations[
|
|
87
|
-
const decoded =
|
|
48
|
+
const annotation = ast.annotations[ColumnTypeId];
|
|
49
|
+
const decoded = Schema.decodeUnknownOption(ColumnTypeSchemasValidator)(annotation);
|
|
88
50
|
if (decoded._tag === 'None') {
|
|
89
51
|
return null;
|
|
90
52
|
}
|
|
@@ -92,7 +54,7 @@ function getColumnTypeSchemas(ast) {
|
|
|
92
54
|
// was created by columnType() which ensures proper Schema types
|
|
93
55
|
return annotation;
|
|
94
56
|
}
|
|
95
|
-
const isGeneratedType = (ast) =>
|
|
57
|
+
const isGeneratedType = (ast) => GeneratedId in ast.annotations;
|
|
96
58
|
const isOptionalType = (ast) => {
|
|
97
59
|
// Check for Union(T, Undefined) pattern
|
|
98
60
|
if (!AST.isUnion(ast)) {
|
|
@@ -121,22 +83,21 @@ const extractParametersFromTypeLiteral = (ast, schemaType) => {
|
|
|
121
83
|
/**
|
|
122
84
|
* Create selectable schema from base schema
|
|
123
85
|
*/
|
|
124
|
-
const selectable = (schema) => {
|
|
86
|
+
export const selectable = (schema) => {
|
|
125
87
|
const { ast } = schema;
|
|
126
88
|
if (!AST.isTypeLiteral(ast)) {
|
|
127
|
-
return
|
|
89
|
+
return Schema.make(ast);
|
|
128
90
|
}
|
|
129
|
-
return
|
|
91
|
+
return Schema.make(new AST.TypeLiteral(extractParametersFromTypeLiteral(ast, 'selectSchema'), ast.indexSignatures, ast.annotations));
|
|
130
92
|
};
|
|
131
|
-
exports.selectable = selectable;
|
|
132
93
|
/**
|
|
133
94
|
* Create insertable schema from base schema
|
|
134
95
|
* Filters out generated fields (@effect/sql Model.Generated pattern)
|
|
135
96
|
*/
|
|
136
|
-
const insertable = (schema) => {
|
|
97
|
+
export const insertable = (schema) => {
|
|
137
98
|
const { ast } = schema;
|
|
138
99
|
if (!AST.isTypeLiteral(ast)) {
|
|
139
|
-
return
|
|
100
|
+
return Schema.make(ast);
|
|
140
101
|
}
|
|
141
102
|
// Extract and filter out generated fields entirely
|
|
142
103
|
const extracted = ast.propertySignatures
|
|
@@ -161,30 +122,27 @@ const insertable = (schema) => {
|
|
|
161
122
|
return new AST.PropertySignature(prop.name, prop.type, isOptional, prop.isReadonly, prop.annotations);
|
|
162
123
|
});
|
|
163
124
|
const res = new AST.TypeLiteral(extracted, ast.indexSignatures, ast.annotations);
|
|
164
|
-
return
|
|
125
|
+
return Schema.make(res);
|
|
165
126
|
};
|
|
166
|
-
exports.insertable = insertable;
|
|
167
127
|
/**
|
|
168
128
|
* Create updateable schema from base schema
|
|
169
129
|
*/
|
|
170
|
-
const updateable = (schema) => {
|
|
130
|
+
export const updateable = (schema) => {
|
|
171
131
|
const { ast } = schema;
|
|
172
132
|
if (!AST.isTypeLiteral(ast)) {
|
|
173
|
-
return
|
|
133
|
+
return Schema.make(ast);
|
|
174
134
|
}
|
|
175
135
|
const extracted = extractParametersFromTypeLiteral(ast, 'updateSchema');
|
|
176
136
|
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);
|
|
177
|
-
return
|
|
137
|
+
return Schema.make(res);
|
|
178
138
|
};
|
|
179
|
-
exports.updateable = updateable;
|
|
180
139
|
/**
|
|
181
140
|
* Generate all operational schemas (Selectable/Insertable/Updateable) from base schema
|
|
182
141
|
* Used in generated code
|
|
183
142
|
*/
|
|
184
|
-
const getSchemas = (baseSchema) => ({
|
|
185
|
-
Selectable:
|
|
186
|
-
Insertable:
|
|
187
|
-
Updateable:
|
|
143
|
+
export const getSchemas = (baseSchema) => ({
|
|
144
|
+
Selectable: selectable(baseSchema),
|
|
145
|
+
Insertable: insertable(baseSchema),
|
|
146
|
+
Updateable: updateable(baseSchema),
|
|
188
147
|
});
|
|
189
|
-
exports.getSchemas = getSchemas;
|
|
190
148
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/kysely/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/kysely/type.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DMMF } from '@prisma/generator-helper';
|
|
2
|
-
import type { JoinTableInfo } from '../prisma/relation';
|
|
2
|
+
import type { JoinTableInfo } from '../prisma/relation.js';
|
|
3
3
|
/**
|
|
4
4
|
* Determine if field needs Kysely columnType wrapper
|
|
5
5
|
* ID fields with @default are read-only (can't insert/update)
|
|
@@ -25,6 +25,7 @@ export declare function applyMapDirective(fieldType: string, field: DMMF.Field):
|
|
|
25
25
|
export declare function buildKyselyFieldType(baseFieldType: string, field: DMMF.Field): string;
|
|
26
26
|
/**
|
|
27
27
|
* Map Prisma scalar types to plain TypeScript types (for Kysely)
|
|
28
|
+
* For enums, uses Schema.Schema.Type extraction to get the type from the imported Schema
|
|
28
29
|
*/
|
|
29
30
|
export declare function mapPrismaTypeToTS(field: DMMF.Field, _dmmf: DMMF.Document): string;
|
|
30
31
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,WAE/C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAOtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAMrE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,UAQ5E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,UA2BxE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAY5E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,UAe7E;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,IAAI,EAAE,IAAI,CAAC,QAAQ,GAClB,MAAM,CAcR;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,UAIzD;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,aAAa,UAGzE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,EAC7B,UAAU,GAAE,aAAa,EAAO,UAajC"}
|
package/dist/kysely/type.js
CHANGED
|
@@ -1,37 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.needsColumnType = needsColumnType;
|
|
4
|
-
exports.needsGenerated = needsGenerated;
|
|
5
|
-
exports.applyKyselyHelpers = applyKyselyHelpers;
|
|
6
|
-
exports.applyMapDirective = applyMapDirective;
|
|
7
|
-
exports.buildKyselyFieldType = buildKyselyFieldType;
|
|
8
|
-
exports.mapPrismaTypeToTS = mapPrismaTypeToTS;
|
|
9
|
-
exports.generateColumnTypeWrapper = generateColumnTypeWrapper;
|
|
10
|
-
exports.generateKyselyFieldType = generateKyselyFieldType;
|
|
11
|
-
exports.generateKyselyTableInterface = generateKyselyTableInterface;
|
|
12
|
-
exports.generateDBInterfaceEntry = generateDBInterfaceEntry;
|
|
13
|
-
exports.generateJoinTableDBInterfaceEntry = generateJoinTableDBInterfaceEntry;
|
|
14
|
-
exports.generateDBInterface = generateDBInterface;
|
|
15
|
-
const type_1 = require("../prisma/type");
|
|
16
|
-
const naming_1 = require("../utils/naming");
|
|
1
|
+
import { getFieldDbName, hasDefaultValue, isIdField, isUuidField } from '../prisma/type.js';
|
|
2
|
+
import { toEnumSchemaName, toPascalCase } from '../utils/naming.js';
|
|
17
3
|
/**
|
|
18
4
|
* Determine if field needs Kysely columnType wrapper
|
|
19
5
|
* ID fields with @default are read-only (can't insert/update)
|
|
20
6
|
*/
|
|
21
|
-
function needsColumnType(field) {
|
|
22
|
-
return
|
|
7
|
+
export function needsColumnType(field) {
|
|
8
|
+
return hasDefaultValue(field) && isIdField(field);
|
|
23
9
|
}
|
|
24
10
|
/**
|
|
25
11
|
* Determine if field needs Kysely generated wrapper
|
|
26
12
|
* Regular fields with @default are optional on insert
|
|
27
13
|
*/
|
|
28
|
-
function needsGenerated(field) {
|
|
29
|
-
return
|
|
14
|
+
export function needsGenerated(field) {
|
|
15
|
+
return hasDefaultValue(field) && !isIdField(field);
|
|
30
16
|
}
|
|
31
17
|
/**
|
|
32
18
|
* Apply Kysely helper wrappers to a field type
|
|
33
19
|
*/
|
|
34
|
-
function applyKyselyHelpers(fieldType, field) {
|
|
20
|
+
export function applyKyselyHelpers(fieldType, field) {
|
|
35
21
|
if (needsColumnType(field)) {
|
|
36
22
|
return `columnType(${fieldType}, Schema.Never, Schema.Never)`;
|
|
37
23
|
}
|
|
@@ -43,8 +29,8 @@ function applyKyselyHelpers(fieldType, field) {
|
|
|
43
29
|
/**
|
|
44
30
|
* Apply @map directive wrapper if field has different DB name
|
|
45
31
|
*/
|
|
46
|
-
function applyMapDirective(fieldType, field) {
|
|
47
|
-
const dbName =
|
|
32
|
+
export function applyMapDirective(fieldType, field) {
|
|
33
|
+
const dbName = getFieldDbName(field);
|
|
48
34
|
if (field.dbName && field.dbName !== field.name) {
|
|
49
35
|
return `Schema.propertySignature(${fieldType}).pipe(Schema.fromKey("${dbName}"))`;
|
|
50
36
|
}
|
|
@@ -54,7 +40,7 @@ function applyMapDirective(fieldType, field) {
|
|
|
54
40
|
* Build complete field type with Kysely helpers and @map
|
|
55
41
|
* Order: base type � Kysely helpers � @map wrapper
|
|
56
42
|
*/
|
|
57
|
-
function buildKyselyFieldType(baseFieldType, field) {
|
|
43
|
+
export function buildKyselyFieldType(baseFieldType, field) {
|
|
58
44
|
// Step 1: Apply Kysely helpers (domain transformation)
|
|
59
45
|
let fieldType = applyKyselyHelpers(baseFieldType, field);
|
|
60
46
|
// Step 2: Apply @map wrapper (structural transformation)
|
|
@@ -63,14 +49,16 @@ function buildKyselyFieldType(baseFieldType, field) {
|
|
|
63
49
|
}
|
|
64
50
|
/**
|
|
65
51
|
* Map Prisma scalar types to plain TypeScript types (for Kysely)
|
|
52
|
+
* For enums, uses Schema.Schema.Type extraction to get the type from the imported Schema
|
|
66
53
|
*/
|
|
67
|
-
function mapPrismaTypeToTS(field, _dmmf) {
|
|
68
|
-
// Handle enums
|
|
54
|
+
export function mapPrismaTypeToTS(field, _dmmf) {
|
|
55
|
+
// Handle enums - use Schema type extraction since we only import Schema wrappers
|
|
69
56
|
if (field.kind === 'enum') {
|
|
70
|
-
|
|
57
|
+
const schemaName = toEnumSchemaName(field.type);
|
|
58
|
+
return `Schema.Schema.Type<typeof ${schemaName}>`;
|
|
71
59
|
}
|
|
72
60
|
// UUID detection
|
|
73
|
-
if (
|
|
61
|
+
if (isUuidField(field)) {
|
|
74
62
|
return 'string'; // Kysely uses string for UUIDs
|
|
75
63
|
}
|
|
76
64
|
// Standard Prisma → TS mappings
|
|
@@ -92,13 +80,13 @@ function mapPrismaTypeToTS(field, _dmmf) {
|
|
|
92
80
|
* Generate ColumnType wrapper for a field based on Prisma metadata
|
|
93
81
|
* Returns parameters for ColumnType<SelectType, InsertType, UpdateType>
|
|
94
82
|
*/
|
|
95
|
-
function generateColumnTypeWrapper(field, baseType) {
|
|
83
|
+
export function generateColumnTypeWrapper(field, baseType) {
|
|
96
84
|
// Read-only fields (ID with @default)
|
|
97
|
-
if (
|
|
85
|
+
if (hasDefaultValue(field) && isIdField(field)) {
|
|
98
86
|
return 'never, never'; // ColumnType<T, never, never>
|
|
99
87
|
}
|
|
100
88
|
// Generated fields (@default, @updatedAt)
|
|
101
|
-
if (
|
|
89
|
+
if (hasDefaultValue(field) || field.isUpdatedAt) {
|
|
102
90
|
return `${baseType} | undefined, ${baseType} | undefined`; // ColumnType<T, T?, T?>
|
|
103
91
|
}
|
|
104
92
|
return null; // Plain type, no wrapper needed
|
|
@@ -106,7 +94,7 @@ function generateColumnTypeWrapper(field, baseType) {
|
|
|
106
94
|
/**
|
|
107
95
|
* Generate field type for Kysely table interface
|
|
108
96
|
*/
|
|
109
|
-
function generateKyselyFieldType(field, dmmf) {
|
|
97
|
+
export function generateKyselyFieldType(field, dmmf) {
|
|
110
98
|
const baseType = mapPrismaTypeToTS(field, dmmf);
|
|
111
99
|
const columnTypeParams = generateColumnTypeWrapper(field, baseType);
|
|
112
100
|
if (columnTypeParams) {
|
|
@@ -122,8 +110,8 @@ function generateKyselyFieldType(field, dmmf) {
|
|
|
122
110
|
/**
|
|
123
111
|
* Generate Kysely table interface for a model
|
|
124
112
|
*/
|
|
125
|
-
function generateKyselyTableInterface(model, fields, dmmf) {
|
|
126
|
-
const tableName = `${
|
|
113
|
+
export function generateKyselyTableInterface(model, fields, dmmf) {
|
|
114
|
+
const tableName = `${toPascalCase(model.name)}Table`;
|
|
127
115
|
const fieldDefs = fields
|
|
128
116
|
.map((field) => {
|
|
129
117
|
const fieldType = generateKyselyFieldType(field, dmmf);
|
|
@@ -139,26 +127,26 @@ ${fieldDefs}
|
|
|
139
127
|
* Generate DB interface entry for a model
|
|
140
128
|
* Uses Kysely table interface for native compatibility
|
|
141
129
|
*/
|
|
142
|
-
function generateDBInterfaceEntry(model) {
|
|
130
|
+
export function generateDBInterfaceEntry(model) {
|
|
143
131
|
const tableName = model.dbName || model.name;
|
|
144
|
-
const pascalName =
|
|
132
|
+
const pascalName = toPascalCase(model.name);
|
|
145
133
|
return ` ${tableName}: ${pascalName}Table;`;
|
|
146
134
|
}
|
|
147
135
|
/**
|
|
148
136
|
* Generate DB interface entry for a join table
|
|
149
137
|
* Uses Kysely table interface for native compatibility
|
|
150
138
|
*/
|
|
151
|
-
function generateJoinTableDBInterfaceEntry(joinTable) {
|
|
139
|
+
export function generateJoinTableDBInterfaceEntry(joinTable) {
|
|
152
140
|
const { tableName, relationName } = joinTable;
|
|
153
141
|
return ` ${tableName}: ${relationName}Table;`;
|
|
154
142
|
}
|
|
155
143
|
/**
|
|
156
144
|
* Generate complete DB interface including join tables
|
|
157
145
|
*/
|
|
158
|
-
function generateDBInterface(models, joinTables = []) {
|
|
146
|
+
export function generateDBInterface(models, joinTables = []) {
|
|
159
147
|
const modelEntries = Array.from(models).map(generateDBInterfaceEntry).join('\n');
|
|
160
148
|
const joinTableEntries = joinTables.length > 0
|
|
161
|
-
?
|
|
149
|
+
? `\n${joinTables.map(generateJoinTableDBInterfaceEntry).join('\n')}`
|
|
162
150
|
: '';
|
|
163
151
|
return `// Kysely Database Interface
|
|
164
152
|
export interface DB {
|
package/dist/kysely/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../src/kysely/type.ts"],"names":[],"mappings":"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"}
|
package/dist/prisma/enum.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/prisma/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;GAGG;AACH,wBAAgB,YAAY,
|
|
1
|
+
{"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/prisma/enum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,SAAS,IAAI,CAAC,aAAa,EAAE,CAE/E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,UAE3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,YAE1D"}
|
package/dist/prisma/enum.js
CHANGED
|
@@ -1,25 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.extractEnums = extractEnums;
|
|
4
|
-
exports.getEnumValueDbName = getEnumValueDbName;
|
|
5
|
-
exports.getEnumDbValues = getEnumDbValues;
|
|
6
1
|
/**
|
|
7
2
|
* Extract enum definitions from Prisma DMMF
|
|
8
3
|
* Handles @map directive for database-level enum values
|
|
9
4
|
*/
|
|
10
|
-
function extractEnums(dmmf) {
|
|
5
|
+
export function extractEnums(dmmf) {
|
|
11
6
|
return dmmf.datamodel.enums;
|
|
12
7
|
}
|
|
13
8
|
/**
|
|
14
9
|
* Get the database value for an enum value (respects @map directive)
|
|
15
10
|
*/
|
|
16
|
-
function getEnumValueDbName(enumValue) {
|
|
11
|
+
export function getEnumValueDbName(enumValue) {
|
|
17
12
|
return enumValue.dbName ?? enumValue.name;
|
|
18
13
|
}
|
|
19
14
|
/**
|
|
20
15
|
* Get all database values for an enum
|
|
21
16
|
*/
|
|
22
|
-
function getEnumDbValues(enumDef) {
|
|
17
|
+
export function getEnumDbValues(enumDef) {
|
|
23
18
|
return enumDef.values.map(getEnumValueDbName);
|
|
24
19
|
}
|
|
25
20
|
//# sourceMappingURL=enum.js.map
|
package/dist/prisma/enum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/prisma/enum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/prisma/enum.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,IAAmB;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyB;IAC1D,OAAO,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B;IACzD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { DMMF } from
|
|
2
|
-
import { type JoinTableInfo } from
|
|
1
|
+
import type { DMMF } from '@prisma/generator-helper';
|
|
2
|
+
import { type JoinTableInfo } from './relation.js';
|
|
3
3
|
/**
|
|
4
4
|
* Prisma domain generator - orchestrates DMMF parsing and extraction
|
|
5
5
|
* No schema generation here, just native Prisma data extraction
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/prisma/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../src/prisma/generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAG7E;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI,CAAC,QAAQ;IAEhD;;OAEG;IACH,QAAQ,IAAI,SAAS,IAAI,CAAC,aAAa,EAAE;IAIzC;;OAEG;IACH,SAAS,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE;IAKlC;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,SAAS,IAAI,CAAC,KAAK,EAAE;IAKxD;;OAEG;IACH,uBAAuB,IAAI,aAAa,EAAE;CAG3C"}
|
package/dist/prisma/generator.js
CHANGED
|
@@ -1,47 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PrismaGenerator = void 0;
|
|
37
|
-
const PrismaEnum = __importStar(require("./enum"));
|
|
38
|
-
const PrismaType = __importStar(require("./type"));
|
|
39
|
-
const relation_1 = require("./relation");
|
|
1
|
+
import * as PrismaEnum from './enum.js';
|
|
2
|
+
import { detectImplicitManyToMany } from './relation.js';
|
|
3
|
+
import * as PrismaType from './type.js';
|
|
40
4
|
/**
|
|
41
5
|
* Prisma domain generator - orchestrates DMMF parsing and extraction
|
|
42
6
|
* No schema generation here, just native Prisma data extraction
|
|
43
7
|
*/
|
|
44
|
-
class PrismaGenerator {
|
|
8
|
+
export class PrismaGenerator {
|
|
9
|
+
dmmf;
|
|
45
10
|
constructor(dmmf) {
|
|
46
11
|
this.dmmf = dmmf;
|
|
47
12
|
}
|
|
@@ -69,8 +34,7 @@ class PrismaGenerator {
|
|
|
69
34
|
* Get implicit many-to-many join tables
|
|
70
35
|
*/
|
|
71
36
|
getManyToManyJoinTables() {
|
|
72
|
-
return
|
|
37
|
+
return detectImplicitManyToMany(this.dmmf.datamodel.models);
|
|
73
38
|
}
|
|
74
39
|
}
|
|
75
|
-
exports.PrismaGenerator = PrismaGenerator;
|
|
76
40
|
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/prisma/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/prisma/generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAsB,MAAM,eAAe,CAAC;AAC7E,OAAO,KAAK,UAAU,MAAM,WAAW,CAAC;AAExC;;;GAGG;AACH,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;IAAG,CAAC;IAEpD;;OAEG;IACH,QAAQ;QACN,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,MAAM,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,KAAiB;QAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAiB7D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../src/prisma/relation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAGrD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;IACvB,iCAAiC;IACjC,aAAa,EAAE,OAAO,CAAC;CACxB;AAqBD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAiB7D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,GAAG,aAAa,EAAE,CAwBvF"}
|