prisma-kysely 1.8.0 → 2.1.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.
Files changed (63) hide show
  1. package/README.md +15 -9
  2. package/dist/__test__/e2e.test.js +406 -43
  3. package/dist/__test__/e2e.test.js.map +1 -1
  4. package/dist/dialectTests/common.js +4 -4
  5. package/dist/dialectTests/common.js.map +1 -1
  6. package/dist/dialectTests/sqlite.js +27 -5
  7. package/dist/dialectTests/sqlite.js.map +1 -1
  8. package/dist/generator.js +37 -11
  9. package/dist/generator.js.map +1 -1
  10. package/dist/helpers/generateDatabaseType.js +1 -1
  11. package/dist/helpers/generateDatabaseType.js.map +1 -1
  12. package/dist/helpers/generateDatabaseType.test.js +36 -0
  13. package/dist/helpers/generateDatabaseType.test.js.map +1 -1
  14. package/dist/helpers/generateEnumType.js +8 -3
  15. package/dist/helpers/generateEnumType.js.map +1 -1
  16. package/dist/helpers/generateEnumType.test.js +18 -8
  17. package/dist/helpers/generateEnumType.test.js.map +1 -1
  18. package/dist/helpers/generateField.js.map +1 -1
  19. package/dist/helpers/generateFieldType.js +1 -0
  20. package/dist/helpers/generateFieldType.js.map +1 -1
  21. package/dist/helpers/generateFieldType.test.js +29 -3
  22. package/dist/helpers/generateFieldType.test.js.map +1 -1
  23. package/dist/helpers/generateFile.js.map +1 -1
  24. package/dist/helpers/generateFile.test.js +0 -1
  25. package/dist/helpers/generateFile.test.js.map +1 -1
  26. package/dist/helpers/generateFiles.js +55 -7
  27. package/dist/helpers/generateFiles.js.map +1 -1
  28. package/dist/helpers/generateImplicitManyToManyModels.js +12 -11
  29. package/dist/helpers/generateImplicitManyToManyModels.js.map +1 -1
  30. package/dist/helpers/generateImplicitManyToManyModels.test.js +129 -0
  31. package/dist/helpers/generateImplicitManyToManyModels.test.js.map +1 -1
  32. package/dist/helpers/generateModel.js +6 -2
  33. package/dist/helpers/generateModel.js.map +1 -1
  34. package/dist/helpers/generateModel.test.js +18 -2
  35. package/dist/helpers/generateModel.test.js.map +1 -1
  36. package/dist/helpers/generateStringLiteralUnion.test.js +2 -6
  37. package/dist/helpers/generateStringLiteralUnion.test.js.map +1 -1
  38. package/dist/helpers/generateTypeOverrideFromDocumentation.js.map +1 -1
  39. package/dist/helpers/generatedEnumType.test.js +19 -9
  40. package/dist/helpers/generatedEnumType.test.js.map +1 -1
  41. package/dist/helpers/multiSchemaHelpers.js +55 -16
  42. package/dist/helpers/multiSchemaHelpers.js.map +1 -1
  43. package/dist/helpers/multiSchemaHelpers.test.js +36 -2
  44. package/dist/helpers/multiSchemaHelpers.test.js.map +1 -1
  45. package/dist/utils/formatFile.js +18 -8
  46. package/dist/utils/formatFile.js.map +1 -1
  47. package/dist/utils/normalizeCase.js +2 -2
  48. package/dist/utils/normalizeCase.js.map +1 -1
  49. package/dist/utils/normalizeCase.test.js +8 -0
  50. package/dist/utils/normalizeCase.test.js.map +1 -1
  51. package/dist/utils/testUtils.js +17 -7
  52. package/dist/utils/testUtils.js.map +1 -1
  53. package/dist/utils/validateConfig.js +8 -0
  54. package/dist/utils/validateConfig.js.map +1 -1
  55. package/dist/utils/validateConfig.test.js.map +1 -1
  56. package/dist/utils/{camelCase.js → words.js} +7 -4
  57. package/dist/utils/words.js.map +1 -0
  58. package/package.json +54 -48
  59. package/dist/helpers/generateTypedAliasDeclaration.js +0 -12
  60. package/dist/helpers/generateTypedAliasDeclaration.js.map +0 -1
  61. package/dist/helpers/generateTypedAliasDeclaration.test.js +0 -15
  62. package/dist/helpers/generateTypedAliasDeclaration.test.js.map +0 -1
  63. package/dist/utils/camelCase.js.map +0 -1
package/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  <p align="center">
4
4
  <a href="https://www.npmjs.com/package/prisma-kysely"><img src="https://badge.fury.io/js/prisma-kysely.svg"></a>
5
+ <a href="https://ko-fi.com/N4N7QQZVA"><img height=20 src="https://ko-fi.com/img/githubbutton_sm.svg"></a>
5
6
  </p>
6
7
 
7
8
  <br/>
@@ -39,7 +40,7 @@ without losing the safety of the TypeScript type system?
39
40
  output = "../src/db"
40
41
  fileName = "types.ts"
41
42
  // Optionally generate runtime enums to a separate file
42
- enumFileName = "enums.ts"
43
+ enumFileName = "enums.ts"
43
44
  }
44
45
  ```
45
46
 
@@ -74,14 +75,19 @@ hope it's just as useful for you! 😎
74
75
 
75
76
  ### Config
76
77
 
77
- | Key | Description |
78
- | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
79
- | `output` | The directory where generated code will be saved |
80
- | `fileName` | The filename for the generated file |
81
- | `enumFileName` | The filename for the generated enums. Omitting this will generate enums and files in the same file. |
82
- | `camelCase` | Enable support for Kysely's camelCase plugin |
83
- | `readOnlyIds` | Use Kysely's `GeneratedAlways` for `@id` fields with default values, preventing insert and update. |
84
- | `[typename]TypeOverride` | Allows you to override the resulting TypeScript type for any Prisma type. Useful when targeting a different environment than Node (e.g. WinterCG compatible runtimes that use UInt8Arrays instead of Buffers for binary types etc.) Check out the [config validator](https://github.com/valtyr/prisma-kysely/blob/main/src/utils/validateConfig.ts) for a complete list of options. |
78
+ | Key | Description | Default |
79
+ | :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
80
+ | `output` | The directory where generated code will be saved | |
81
+ | `fileName` | The filename for the generated file | `types.ts` |
82
+ | `importExtension` | The extension to append to imports. E.g: `".js"` or `".ts"`. Use `""` to append nothing. | `""` |
83
+ | `enumFileName` | The filename for the generated enums. Omitting this will generate enums and files in the same file. | |
84
+ | `camelCase` | Enable support for Kysely's camelCase plugin | `false` |
85
+ | `readOnlyIds` | Use Kysely's `GeneratedAlways` for `@id` fields with default values, preventing insert and update. | `false` |
86
+ | `[typename]TypeOverride` | Allows you to override the resulting TypeScript type for any Prisma type. Useful when targeting a different environment than Node (e.g. WinterCG compatible runtimes that use UInt8Arrays instead of Buffers for binary types etc.) Check out the [config validator](https://github.com/valtyr/prisma-kysely/blob/main/src/utils/validateConfig.ts) for a complete list of options. | |
87
+ | `dbTypeName` | Allows you to override the exported type with all tables | `DB` |
88
+ | `groupBySchema` | When using `multiSchema` preview features, group all models and enums for a schema into their own namespace. (Ex: `model Dog { @@schema("animals") }` will be available under `Animals.Dog`) | `false` |
89
+ | `filterBySchema` | When using `multiSchema` preview features, only include models and enums for the specified schema. | `false` |
90
+ | `defaultSchema` | When using `multiSchema` preview features, which schema should not be wrapped by a namespace. | `'public'` |
85
91
 
86
92
  ### Per-field type overrides
87
93
 
@@ -3,11 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const child_process_1 = require("child_process");
7
- const promises_1 = __importDefault(require("fs/promises"));
8
- const util_1 = require("util");
6
+ const node_child_process_1 = require("node:child_process");
7
+ const promises_1 = __importDefault(require("node:fs/promises"));
8
+ const node_util_1 = require("node:util");
9
9
  const vitest_1 = require("vitest");
10
- const exec = (0, util_1.promisify)(child_process_1.exec);
10
+ const exec = (0, node_util_1.promisify)(node_child_process_1.exec);
11
11
  (0, vitest_1.beforeEach)(async () => {
12
12
  await promises_1.default.rename("./prisma", "./prisma-old").catch(() => { });
13
13
  });
@@ -20,7 +20,7 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
20
20
  .catch(() => { });
21
21
  await promises_1.default.rename("./prisma-old", "./prisma").catch(() => { });
22
22
  });
23
- (0, vitest_1.test)("End to end test", async () => {
23
+ (0, vitest_1.test)("End to end test", { timeout: 20000 }, async () => {
24
24
  await exec("yarn prisma init --datasource-provider sqlite");
25
25
  await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
26
26
  provider = "sqlite"
@@ -30,7 +30,7 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
30
30
  generator kysely {
31
31
  provider = "node ./dist/bin.js"
32
32
  }
33
-
33
+
34
34
  model TestUser {
35
35
  id String @id
36
36
  name String
@@ -39,7 +39,7 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
39
39
  updatedAt DateTime
40
40
  sprockets Sprocket[]
41
41
  }
42
-
42
+
43
43
  model Sprocket {
44
44
  id Int @id
45
45
  users TestUser[]
@@ -48,13 +48,13 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
48
48
  const generatedSource = await promises_1.default.readFile("./prisma/generated/types.ts", {
49
49
  encoding: "utf-8",
50
50
  });
51
- (0, vitest_1.expect)(generatedSource.includes(`export type SprocketToTestUser = {
52
- A: number;
53
- B: string;
54
- };`)).toBeTruthy();
55
- (0, vitest_1.expect)(generatedSource.includes("_SprocketToTestUser: SprocketToTestUser")).toBeTruthy();
56
- }, { timeout: 20000 });
57
- (0, vitest_1.test)("End to end test - with custom type override", async () => {
51
+ (0, vitest_1.expect)(generatedSource).toContain(`export type SprocketToTestUser = {
52
+ A: number;
53
+ B: string;
54
+ };`);
55
+ (0, vitest_1.expect)(generatedSource).toContain("_SprocketToTestUser: SprocketToTestUser");
56
+ });
57
+ (0, vitest_1.test)("End to end test - with custom type override", { timeout: 20000 }, async () => {
58
58
  await exec("yarn prisma init --datasource-provider sqlite");
59
59
  await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
60
60
  provider = "sqlite"
@@ -64,7 +64,7 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
64
64
  generator kysely {
65
65
  provider = "node ./dist/bin.js"
66
66
  }
67
-
67
+
68
68
  model TestUser {
69
69
  id String @id
70
70
  name String
@@ -76,16 +76,16 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
76
76
  const generatedSource = await promises_1.default.readFile("./prisma/generated/types.ts", {
77
77
  encoding: "utf-8",
78
78
  });
79
- (0, vitest_1.expect)(generatedSource.includes(`export type TestUser = {
80
- id: string;
81
- name: string;
82
- /**
83
- * @kyselyType('member' | 'owner')
84
- */
85
- role: "member" | "owner";
86
- };`)).toBeTruthy();
87
- }, { timeout: 20000 });
88
- (0, vitest_1.test)("End to end test - separate entrypoints", async () => {
79
+ (0, vitest_1.expect)(generatedSource).toContain(`export type TestUser = {
80
+ id: string;
81
+ name: string;
82
+ /**
83
+ * @kyselyType('member' | 'owner')
84
+ */
85
+ role: 'member' | 'owner';
86
+ };`);
87
+ });
88
+ (0, vitest_1.test)("End to end test - separate entrypoints", { timeout: 20000 }, async () => {
89
89
  await exec("yarn prisma init --datasource-provider mysql");
90
90
  await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
91
91
  provider = "mysql"
@@ -102,7 +102,7 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
102
102
  B
103
103
  C
104
104
  }
105
-
105
+
106
106
  model TestUser {
107
107
  id String @id
108
108
  name String
@@ -121,14 +121,14 @@ const exec = (0, util_1.promisify)(child_process_1.exec);
121
121
  encoding: "utf-8",
122
122
  });
123
123
  (0, vitest_1.expect)(enumFile).toEqual(`export const TestEnum = {
124
- A: "A",
125
- B: "B",
126
- C: "C",
124
+ A: "A",
125
+ B: "B",
126
+ C: "C"
127
127
  } as const;
128
128
  export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
129
129
  `);
130
- }, { timeout: 20000 });
131
- (0, vitest_1.test)("End to end test - separate entrypoints but no enums", async () => {
130
+ });
131
+ (0, vitest_1.test)("End to end test - separate entrypoints but no enums", { timeout: 20000 }, async () => {
132
132
  await exec("yarn prisma init --datasource-provider sqlite");
133
133
  await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
134
134
  provider = "sqlite"
@@ -139,7 +139,7 @@ export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
139
139
  provider = "node ./dist/bin.js"
140
140
  enumFileName = "enums.ts"
141
141
  }
142
-
142
+
143
143
  model TestUser {
144
144
  id String @id
145
145
  name String
@@ -153,35 +153,73 @@ export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
153
153
  encoding: "utf-8",
154
154
  });
155
155
  (0, vitest_1.expect)(typeFile).not.toContain('from "./enums"');
156
- (0, vitest_1.expect)(promises_1.default.readFile("./prisma/generated/enums.ts", {
156
+ await (0, vitest_1.expect)(promises_1.default.readFile("./prisma/generated/enums.ts", {
157
157
  encoding: "utf-8",
158
158
  })).rejects.toThrow();
159
- }, { timeout: 20000 });
160
- (0, vitest_1.test)("End to end test - multi-schema support", async () => {
159
+ });
160
+ (0, vitest_1.test)("End to end test - multi-schema support", { timeout: 20000 }, async () => {
161
+ await exec("yarn prisma init --datasource-provider postgresql");
162
+ await promises_1.default.writeFile("./prisma/schema.prisma", `generator kysely {
163
+ provider = "node ./dist/bin.js"
164
+ previewFeatures = ["multiSchema"]
165
+ }
166
+
167
+ datasource db {
168
+ provider = "postgresql"
169
+ schemas = ["mammals", "birds"]
170
+ url = env("TEST_DATABASE_URL")
171
+ }
172
+
173
+ model Elephant {
174
+ id Int @id
175
+ name String
176
+
177
+ @@map("elephants")
178
+ @@schema("mammals")
179
+ }
180
+
181
+ model Eagle {
182
+ id Int @id
183
+ name String
184
+
185
+ @@map("eagles")
186
+ @@schema("birds")
187
+ }`);
188
+ await exec("yarn prisma generate");
189
+ const typeFile = await promises_1.default.readFile("./prisma/generated/types.ts", {
190
+ encoding: "utf-8",
191
+ });
192
+ (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
193
+ "birds.eagles": Eagle;
194
+ "mammals.elephants": Elephant;
195
+ };`);
196
+ });
197
+ (0, vitest_1.test)("End to end test - multi-schema and filterBySchema support", { timeout: 20000 }, async () => {
161
198
  await exec("yarn prisma init --datasource-provider postgresql");
162
199
  await promises_1.default.writeFile("./prisma/schema.prisma", `generator kysely {
163
200
  provider = "node ./dist/bin.js"
164
201
  previewFeatures = ["multiSchema"]
202
+ filterBySchema = ["mammals"]
165
203
  }
166
-
204
+
167
205
  datasource db {
168
206
  provider = "postgresql"
169
207
  schemas = ["mammals", "birds"]
170
208
  url = env("TEST_DATABASE_URL")
171
209
  }
172
-
210
+
173
211
  model Elephant {
174
212
  id Int @id
175
213
  name String
176
-
214
+
177
215
  @@map("elephants")
178
216
  @@schema("mammals")
179
217
  }
180
-
218
+
181
219
  model Eagle {
182
220
  id Int @id
183
221
  name String
184
-
222
+
185
223
  @@map("eagles")
186
224
  @@schema("birds")
187
225
  }`);
@@ -190,8 +228,333 @@ export type TestEnum = (typeof TestEnum)[keyof typeof TestEnum];
190
228
  encoding: "utf-8",
191
229
  });
192
230
  (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
193
- "birds.eagles": Eagle;
194
- "mammals.elephants": Elephant;
231
+ "mammals.elephants": Elephant;
232
+ };`);
233
+ });
234
+ (0, vitest_1.test)("End to end test - multi-schema and groupBySchema support", { timeout: 20000 }, async () => {
235
+ await exec("yarn prisma init --datasource-provider postgresql");
236
+ await promises_1.default.writeFile("./prisma/schema.prisma", `
237
+ generator kysely {
238
+ provider = "node ./dist/bin.js"
239
+ previewFeatures = ["multiSchema"]
240
+ groupBySchema = true
241
+ }
242
+
243
+ datasource db {
244
+ provider = "postgresql"
245
+ schemas = ["mammals", "birds", "world"]
246
+ url = env("TEST_DATABASE_URL")
247
+ }
248
+
249
+ model Elephant {
250
+ id Int @id
251
+ name String
252
+ ability Ability @default(WALK)
253
+ color Color
254
+
255
+ @@map("elephants")
256
+ @@schema("mammals")
257
+ }
258
+
259
+ model Eagle {
260
+ id Int @id
261
+ name String
262
+ ability Ability @default(FLY)
263
+
264
+ @@map("eagles")
265
+ @@schema("birds")
266
+ }
267
+
268
+ enum Ability {
269
+ FLY
270
+ WALK
271
+
272
+ @@schema("world")
273
+ }
274
+
275
+ enum Color {
276
+ GRAY
277
+ PINK
278
+
279
+ @@schema("mammals")
280
+ }
281
+ `);
282
+ await exec("yarn prisma generate");
283
+ const typeFile = await promises_1.default.readFile("./prisma/generated/types.ts", {
284
+ encoding: "utf-8",
285
+ });
286
+ (0, vitest_1.expect)(typeFile).toContain(`export namespace Birds {
287
+ export type Eagle = {`);
288
+ (0, vitest_1.expect)(typeFile).toContain(`export namespace Mammals {
289
+ export const Color = {`);
290
+ (0, vitest_1.expect)(typeFile).toContain("color: Mammals.Color;");
291
+ (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
292
+ "birds.eagles": Birds.Eagle;
293
+ "mammals.elephants": Mammals.Elephant;
294
+ };`);
295
+ });
296
+ (0, vitest_1.test)("End to end test - multi-schema, groupBySchema and defaultSchema support", { timeout: 20000 }, async () => {
297
+ await exec("yarn prisma init --datasource-provider postgresql");
298
+ await promises_1.default.writeFile("./prisma/schema.prisma", `
299
+ generator kysely {
300
+ provider = "node ./dist/bin.js"
301
+ previewFeatures = ["multiSchema"]
302
+ groupBySchema = true
303
+ defaultSchema = "fish"
304
+ }
305
+
306
+ datasource db {
307
+ provider = "postgresql"
308
+ schemas = ["mammals", "birds", "world", "fish"]
309
+ url = env("TEST_DATABASE_URL")
310
+ }
311
+
312
+ model Elephant {
313
+ id Int @id
314
+ name String
315
+ ability Ability @default(WALK)
316
+ color Color
317
+
318
+ @@map("elephants")
319
+ @@schema("mammals")
320
+ }
321
+
322
+ model Eagle {
323
+ id Int @id
324
+ name String
325
+ ability Ability @default(FLY)
326
+
327
+ @@map("eagles")
328
+ @@schema("birds")
329
+ }
330
+
331
+ model Shark {
332
+ id Int @id
333
+ name String
334
+ color Color
335
+
336
+ @@map("shark")
337
+ @@schema("fish")
338
+ }
339
+
340
+ enum Ability {
341
+ FLY
342
+ WALK
343
+
344
+ @@schema("world")
345
+ }
346
+
347
+ enum Color {
348
+ GRAY
349
+ PINK
350
+
351
+ @@schema("mammals")
352
+ }
353
+ `);
354
+ await exec("yarn prisma generate");
355
+ const typeFile = await promises_1.default.readFile("./prisma/generated/types.ts", {
356
+ encoding: "utf-8",
357
+ });
358
+ (0, vitest_1.expect)(typeFile).toContain(`export namespace Birds {
359
+ export type Eagle = {`);
360
+ (0, vitest_1.expect)(typeFile).toContain(`export namespace Mammals {
361
+ export const Color = {`);
362
+ (0, vitest_1.expect)(typeFile).toContain("export type Shark = {");
363
+ (0, vitest_1.expect)(typeFile).toContain("color: Mammals.Color;");
364
+ (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
365
+ "birds.eagles": Birds.Eagle;
366
+ "mammals.elephants": Mammals.Elephant;
367
+ shark: Shark;
368
+ };`);
369
+ });
370
+ (0, vitest_1.test)("End to end test - multi-schema, groupBySchema and filterBySchema support", { timeout: 20000 }, async () => {
371
+ await exec("yarn prisma init --datasource-provider postgresql");
372
+ await promises_1.default.writeFile("./prisma/schema.prisma", `
373
+ generator kysely {
374
+ provider = "node ./dist/bin.js"
375
+ previewFeatures = ["multiSchema"]
376
+ groupBySchema = true
377
+ filterBySchema = ["mammals", "world"]
378
+ }
379
+
380
+ datasource db {
381
+ provider = "postgresql"
382
+ schemas = ["mammals", "birds", "world"]
383
+ url = env("TEST_DATABASE_URL")
384
+ }
385
+
386
+ model Elephant {
387
+ id Int @id
388
+ name String
389
+ ability Ability @default(WALK)
390
+ color Color
391
+
392
+ @@map("elephants")
393
+ @@schema("mammals")
394
+ }
395
+
396
+ model Eagle {
397
+ id Int @id
398
+ name String
399
+ ability Ability @default(FLY)
400
+
401
+ @@map("eagles")
402
+ @@schema("birds")
403
+ }
404
+
405
+ enum Ability {
406
+ FLY
407
+ WALK
408
+
409
+ @@schema("world")
410
+ }
411
+
412
+ enum Color {
413
+ GRAY
414
+ PINK
415
+
416
+ @@schema("mammals")
417
+ }
418
+ `);
419
+ await exec("yarn prisma generate");
420
+ const typeFile = await promises_1.default.readFile("./prisma/generated/types.ts", {
421
+ encoding: "utf-8",
422
+ });
423
+ (0, vitest_1.expect)(typeFile).not.toContain(`export namespace Birds {
424
+ export type Eagle = {`);
425
+ (0, vitest_1.expect)(typeFile).toContain(`export namespace Mammals {
426
+ export const Color = {`);
427
+ (0, vitest_1.expect)(typeFile).toContain("color: Mammals.Color;");
428
+ (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
429
+ "mammals.elephants": Mammals.Elephant;
430
+ };`);
431
+ });
432
+ (0, vitest_1.test)("End to end test - SQLite with JSON support", { timeout: 20000 }, async () => {
433
+ await exec("yarn prisma init --datasource-provider sqlite");
434
+ await promises_1.default.writeFile("./prisma/schema.prisma", `datasource db {
435
+ provider = "sqlite"
436
+ url = "file:./dev.db"
437
+ }
438
+
439
+ generator kysely {
440
+ provider = "node ./dist/bin.js"
441
+ }
442
+
443
+ model TestUser {
444
+ id String @id
445
+ name String
446
+ metadata Json // JSON field supported in SQLite since Prisma 6.2
447
+ preferences Json? // Optional JSON field
448
+
449
+ /// @kyselyType({ theme: 'light' | 'dark', language: string })
450
+ settings Json
451
+
452
+ createdAt DateTime @default(now())
453
+ }
454
+
455
+ model Product {
456
+ id Int @id @default(autoincrement())
457
+ name String
458
+ details Json // Product details as JSON
459
+
460
+ /// @kyselyType(string[])
461
+ tags Json? // Optional tags as JSON array
462
+ }`);
463
+ await exec("yarn prisma generate");
464
+ const generatedSource = await promises_1.default.readFile("./prisma/generated/types.ts", {
465
+ encoding: "utf-8",
466
+ });
467
+ (0, vitest_1.expect)(generatedSource).toContain(`export type TestUser = {
468
+ id: string;
469
+ name: string;
470
+ metadata: unknown;
471
+ preferences: unknown | null;
472
+ /**
473
+ * @kyselyType({ theme: 'light' | 'dark', language: string })
474
+ */
475
+ settings: { theme: 'light' | 'dark', language: string };
476
+ createdAt: Generated<string>;
477
+ };`);
478
+ (0, vitest_1.expect)(generatedSource).toContain(`export type Product = {
479
+ id: Generated<number>;
480
+ name: string;
481
+ details: unknown;
482
+ /**
483
+ * @kyselyType(string[])
484
+ */
485
+ tags: string[] | null;
486
+ };`);
487
+ (0, vitest_1.expect)(generatedSource).toContain(`export type DB = {
488
+ Product: Product;
489
+ TestUser: TestUser;
490
+ };`);
491
+ });
492
+ (0, vitest_1.test)("End to end test - multi-schema with views support", { timeout: 20000 }, async () => {
493
+ await exec("yarn prisma init --datasource-provider postgresql");
494
+ await promises_1.default.writeFile("./prisma/schema.prisma", `generator kysely {
495
+ provider = "node ./dist/bin.js"
496
+ previewFeatures = ["multiSchema", "views"]
497
+ }
498
+
499
+ datasource db {
500
+ provider = "postgresql"
501
+ schemas = ["public", "analytics"]
502
+ url = env("TEST_DATABASE_URL")
503
+ }
504
+
505
+ model User {
506
+ id Int @id
507
+ name String
508
+ email String
509
+ posts Post[]
510
+
511
+ @@schema("public")
512
+ }
513
+
514
+ model Post {
515
+ id Int @id
516
+ title String
517
+ content String
518
+ authorId Int
519
+ author User @relation(fields: [authorId], references: [id])
520
+
521
+ @@schema("public")
522
+ }
523
+
524
+ view UserStats {
525
+ id Int @unique
526
+ name String
527
+ postCount Int
528
+
529
+ @@schema("analytics")
530
+ }
531
+
532
+ view PostSummary {
533
+ id Int @unique
534
+ title String
535
+ author String
536
+
537
+ @@schema("public")
538
+ }`);
539
+ await exec("yarn prisma generate");
540
+ const typeFile = await promises_1.default.readFile("./prisma/generated/types.ts", {
541
+ encoding: "utf-8",
542
+ });
543
+ (0, vitest_1.expect)(typeFile).toContain(`export type DB = {
544
+ "analytics.UserStats": UserStats;
545
+ Post: Post;
546
+ PostSummary: PostSummary;
547
+ User: User;
548
+ };`);
549
+ (0, vitest_1.expect)(typeFile).toContain(`export type UserStats = {
550
+ id: number;
551
+ name: string;
552
+ postCount: number;
195
553
  };`);
196
- }, { timeout: 20000 });
554
+ (0, vitest_1.expect)(typeFile).toContain(`export type PostSummary = {
555
+ id: number;
556
+ title: string;
557
+ author: string;
558
+ };`);
559
+ });
197
560
  //# sourceMappingURL=e2e.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"e2e.test.js","sourceRoot":"","sources":["../../src/__test__/e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"e2e.test.js","sourceRoot":"","sources":["../../src/__test__/e2e.test.ts"],"names":[],"mappings":";;;;;AAAA,2DAAoD;AACpD,gEAAkC;AAClC,yCAAsC;AACtC,mCAA6D;AAE7D,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,yBAAM,CAAC,CAAC;AAE/B,IAAA,mBAAU,EAAC,KAAK,IAAI,EAAE;IACpB,MAAM,kBAAE,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAA,kBAAS,EAAC,KAAK,IAAI,EAAE;IACnB,MAAM,kBAAE;SACL,EAAE,CAAC,UAAU,EAAE;QACd,KAAK,EAAE,IAAI;QACX,SAAS,EAAE,IAAI;KAChB,CAAC;SACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnB,MAAM,kBAAE,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC9D,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;IAErD,MAAM,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAG5D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;MAqBE,CACH,CAAC;IAGF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QACvE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC;;;GAGjC,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC,yCAAyC,CAAC,CAAC;AAC/E,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,6CAA6C,EAC7C,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAG5D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;MAeA,CACD,CAAC;IAGF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QACvE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAGH,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAC/B;;;;;;;GAOH,CACE,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EAAC,wCAAwC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;IAE5E,MAAM,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAG3D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;MAuBE,CACH,CAAC;IAIF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC/C,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAEvE,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;;;;;;CAM1B,CAAC,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,qDAAqD,EACrD,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAG5D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;MAgBA,CACD,CAAC;IAGF,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAGjD,MAAM,IAAA,eAAM,EACV,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QACzC,QAAQ,EAAE,OAAO;KAClB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;AACtB,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EAAC,wCAAwC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAE;IAE5E,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;MAyBE,CACH,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;GAG1B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EACF,2DAA2D,EAC3D,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BA,CACD,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;GAE5B,CAAC,CAAC;AACH,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EACF,0DAA0D,EAC1D,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6CD,CACA,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;0BACL,CAAC,CAAC;IAExB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;2BACJ,CAAC,CAAC;IAGzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAEpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;GAG5B,CAAC,CAAC;AACH,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EACF,yEAAyE,EACzE,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuDD,CACA,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;0BACL,CAAC,CAAC;IAExB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;2BACJ,CAAC,CAAC;IAGzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAGpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAEpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;;GAI5B,CAAC,CAAC;AACH,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EACF,0EAA0E,EAC1E,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8CD,CACA,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAGnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;0BACT,CAAC,CAAC;IAExB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;2BACJ,CAAC,CAAC;IAGzB,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;IAEpD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;GAE5B,CAAC,CAAC;AACH,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EACF,4CAA4C,EAC5C,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IACT,MAAM,IAAI,CAAC,+CAA+C,CAAC,CAAC;IAE5D,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4BA,CACD,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,eAAe,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QACvE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC;;;;;;;;;;GAUnC,CAAC,CAAC;IAED,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC;;;;;;;;GAQnC,CAAC,CAAC;IAED,IAAA,eAAM,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC;;;GAGnC,CAAC,CAAC;AACH,CAAC,CACF,CAAC;AAEF,IAAA,aAAI,EACF,mDAAmD,EACnD,EAAE,OAAO,EAAE,KAAK,EAAE,EAClB,KAAK,IAAI,EAAE;IAET,MAAM,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAGhE,MAAM,kBAAE,CAAC,SAAS,CAChB,wBAAwB,EACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CA,CACD,CAAC;IAEF,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,6BAA6B,EAAE;QAChE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAGH,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;;;GAK5B,CAAC,CAAC;IAGD,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;;GAI5B,CAAC,CAAC;IAED,IAAA,eAAM,EAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;;;;GAI5B,CAAC,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.preparePrisma = exports.generateSchema = exports.MYSQL_URL = exports.POSTGRES_URL = void 0;
7
- const child_process_1 = require("child_process");
8
- const promises_1 = __importDefault(require("fs/promises"));
9
- const util_1 = require("util");
10
- const exec = (0, util_1.promisify)(child_process_1.exec);
7
+ const node_child_process_1 = require("node:child_process");
8
+ const promises_1 = __importDefault(require("node:fs/promises"));
9
+ const node_util_1 = require("node:util");
10
+ const exec = (0, node_util_1.promisify)(node_child_process_1.exec);
11
11
  exports.POSTGRES_URL = "postgres://postgres:postgres@localhost:22331/postgres";
12
12
  exports.MYSQL_URL = "mysql://root:mysql@localhost:22332/test";
13
13
  function generateDatasource(dialect) {
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/dialectTests/common.ts"],"names":[],"mappings":";;;;;;AAAA,iDAA+C;AAC/C,2DAA6B;AAC7B,+BAAiC;AAEjC,MAAM,IAAI,GAAG,IAAA,gBAAS,EAAC,oBAAM,CAAC,CAAC;AAIlB,QAAA,YAAY,GACvB,uDAAuD,CAAC;AAC7C,QAAA,SAAS,GAAG,yCAAyC,CAAC;AAEnE,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,QAAQ,OAAO,EAAE;QACf,KAAK,QAAQ;YACX,OAAO,4CAA4C,CAAC;QACtD,KAAK,YAAY;YACf,OAAO,mCAAmC,oBAAY,GAAG,CAAC;QAC5D,KAAK,OAAO;YACV,OAAO,8BAA8B,iBAAS,GAAG,CAAC;KACrD;AACH,CAAC;AAEM,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IACjD,OAAO;UACC,kBAAkB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;MAgB/B,CAAC;AACP,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,kBAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,kBAAE,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;QACpE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACrC,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/dialectTests/common.ts"],"names":[],"mappings":";;;;;;AAAA,2DAAoD;AACpD,gEAAkC;AAClC,yCAAsC;AAEtC,MAAM,IAAI,GAAG,IAAA,qBAAS,EAAC,yBAAM,CAAC,CAAC;AAIlB,QAAA,YAAY,GACvB,uDAAuD,CAAC;AAC7C,QAAA,SAAS,GAAG,yCAAyC,CAAC;AAEnE,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,4CAA4C,CAAC;QACtD,KAAK,YAAY;YACf,OAAO,mCAAmC,oBAAY,GAAG,CAAC;QAC5D,KAAK,OAAO;YACV,OAAO,8BAA8B,iBAAS,GAAG,CAAC;IACtD,CAAC;AACH,CAAC;AAEM,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAE,EAAE;IACjD,OAAO;UACC,kBAAkB,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;MAgB/B,CAAC;AACP,CAAC,CAAC;AAnBW,QAAA,cAAc,kBAmBzB;AAEK,MAAM,aAAa,GAAG,KAAK,EAAE,OAAgB,EAAE,EAAE;IACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,MAAM,kBAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IAC9C,MAAM,kBAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAE3B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,kBAAE,CAAC,SAAS,CAAC,wBAAwB,EAAE,IAAA,sBAAc,EAAC,OAAO,CAAC,EAAE;QACpE,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC;AACrC,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}