prisma-kysely 2.3.0 → 3.0.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 (93) hide show
  1. package/dist/bin.js +1 -4
  2. package/dist/generator.js +868 -80
  3. package/package.json +29 -17
  4. package/dist/__test__/e2e.test.js +0 -651
  5. package/dist/__test__/e2e.test.js.map +0 -1
  6. package/dist/bin.js.map +0 -1
  7. package/dist/constants.js +0 -5
  8. package/dist/constants.js.map +0 -1
  9. package/dist/dialectTests/common.js +0 -59
  10. package/dist/dialectTests/common.js.map +0 -1
  11. package/dist/dialectTests/mysql.js +0 -37
  12. package/dist/dialectTests/mysql.js.map +0 -1
  13. package/dist/dialectTests/postgresql.js +0 -33
  14. package/dist/dialectTests/postgresql.js.map +0 -1
  15. package/dist/dialectTests/sqlite.js +0 -56
  16. package/dist/dialectTests/sqlite.js.map +0 -1
  17. package/dist/generator.js.map +0 -1
  18. package/dist/helpers/generateDatabaseType.js +0 -27
  19. package/dist/helpers/generateDatabaseType.js.map +0 -1
  20. package/dist/helpers/generateDatabaseType.test.js +0 -127
  21. package/dist/helpers/generateDatabaseType.test.js.map +0 -1
  22. package/dist/helpers/generateEnumType.js +0 -32
  23. package/dist/helpers/generateEnumType.js.map +0 -1
  24. package/dist/helpers/generateEnumType.test.js +0 -52
  25. package/dist/helpers/generateEnumType.test.js.map +0 -1
  26. package/dist/helpers/generateField.js +0 -38
  27. package/dist/helpers/generateField.js.map +0 -1
  28. package/dist/helpers/generateField.test.js +0 -132
  29. package/dist/helpers/generateField.test.js.map +0 -1
  30. package/dist/helpers/generateFieldType.js +0 -99
  31. package/dist/helpers/generateFieldType.js.map +0 -1
  32. package/dist/helpers/generateFieldType.test.js +0 -118
  33. package/dist/helpers/generateFieldType.test.js.map +0 -1
  34. package/dist/helpers/generateFile.js +0 -26
  35. package/dist/helpers/generateFile.js.map +0 -1
  36. package/dist/helpers/generateFile.test.js +0 -29
  37. package/dist/helpers/generateFile.test.js.map +0 -1
  38. package/dist/helpers/generateFiles.js +0 -100
  39. package/dist/helpers/generateFiles.js.map +0 -1
  40. package/dist/helpers/generateImplicitManyToManyModels.js +0 -86
  41. package/dist/helpers/generateImplicitManyToManyModels.js.map +0 -1
  42. package/dist/helpers/generateImplicitManyToManyModels.test.js +0 -636
  43. package/dist/helpers/generateImplicitManyToManyModels.test.js.map +0 -1
  44. package/dist/helpers/generateModel.js +0 -59
  45. package/dist/helpers/generateModel.js.map +0 -1
  46. package/dist/helpers/generateModel.test.js +0 -173
  47. package/dist/helpers/generateModel.test.js.map +0 -1
  48. package/dist/helpers/generateStringLiteralUnion.js +0 -16
  49. package/dist/helpers/generateStringLiteralUnion.js.map +0 -1
  50. package/dist/helpers/generateStringLiteralUnion.test.js +0 -22
  51. package/dist/helpers/generateStringLiteralUnion.test.js.map +0 -1
  52. package/dist/helpers/generateTypeOverrideFromDocumentation.js +0 -43
  53. package/dist/helpers/generateTypeOverrideFromDocumentation.js.map +0 -1
  54. package/dist/helpers/generateTypeOverrideFromDocumentation.test.js +0 -33
  55. package/dist/helpers/generateTypeOverrideFromDocumentation.test.js.map +0 -1
  56. package/dist/helpers/generateTypedReferenceNode.js +0 -12
  57. package/dist/helpers/generateTypedReferenceNode.js.map +0 -1
  58. package/dist/helpers/generateTypedReferenceNode.test.js +0 -11
  59. package/dist/helpers/generateTypedReferenceNode.test.js.map +0 -1
  60. package/dist/helpers/generatedEnumType.test.js +0 -65
  61. package/dist/helpers/generatedEnumType.test.js.map +0 -1
  62. package/dist/helpers/multiSchemaHelpers.js +0 -66
  63. package/dist/helpers/multiSchemaHelpers.js.map +0 -1
  64. package/dist/helpers/multiSchemaHelpers.test.js +0 -76
  65. package/dist/helpers/multiSchemaHelpers.test.js.map +0 -1
  66. package/dist/helpers/wrappedTypeHelpers.js +0 -27
  67. package/dist/helpers/wrappedTypeHelpers.js.map +0 -1
  68. package/dist/helpers/wrappedTypeHelpers.test.js +0 -27
  69. package/dist/helpers/wrappedTypeHelpers.test.js.map +0 -1
  70. package/dist/utils/applyJSDocWorkaround.js +0 -8
  71. package/dist/utils/applyJSDocWorkaround.js.map +0 -1
  72. package/dist/utils/formatFile.js +0 -53
  73. package/dist/utils/formatFile.js.map +0 -1
  74. package/dist/utils/formatFile.test.js +0 -13
  75. package/dist/utils/formatFile.test.js.map +0 -1
  76. package/dist/utils/isValidTSIdentifier.js +0 -5
  77. package/dist/utils/isValidTSIdentifier.js.map +0 -1
  78. package/dist/utils/normalizeCase.js +0 -12
  79. package/dist/utils/normalizeCase.js.map +0 -1
  80. package/dist/utils/normalizeCase.test.js +0 -37
  81. package/dist/utils/normalizeCase.test.js.map +0 -1
  82. package/dist/utils/sorted.js +0 -10
  83. package/dist/utils/sorted.js.map +0 -1
  84. package/dist/utils/testUtils.js +0 -42
  85. package/dist/utils/testUtils.js.map +0 -1
  86. package/dist/utils/validateConfig.js +0 -71
  87. package/dist/utils/validateConfig.js.map +0 -1
  88. package/dist/utils/validateConfig.test.js +0 -20
  89. package/dist/utils/validateConfig.test.js.map +0 -1
  90. package/dist/utils/words.js +0 -96
  91. package/dist/utils/words.js.map +0 -1
  92. package/dist/utils/writeFileSafely.js +0 -24
  93. package/dist/utils/writeFileSafely.js.map +0 -1
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.preparePrisma = exports.generateSchema = exports.MYSQL_URL = exports.POSTGRES_URL = void 0;
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
- exports.POSTGRES_URL = "postgres://postgres:postgres@localhost:22331/postgres";
12
- exports.MYSQL_URL = "mysql://root:mysql@localhost:22332/test";
13
- function generateDatasource(dialect) {
14
- switch (dialect) {
15
- case "sqlite":
16
- return 'provider = "sqlite"\nurl = "file:./dev.db"';
17
- case "postgresql":
18
- return `provider = "postgresql"\nurl = "${exports.POSTGRES_URL}"`;
19
- case "mysql":
20
- return `provider = "mysql"\nurl = "${exports.MYSQL_URL}"`;
21
- }
22
- }
23
- const generateSchema = (dialect) => {
24
- return `datasource db {
25
- ${generateDatasource(dialect)}
26
- }
27
-
28
- generator kysely {
29
- provider = "node ./dist/bin.js"
30
- }
31
-
32
- model Widget {
33
- int Int @id @default(autoincrement())
34
- dateTime DateTime @default(now())
35
- string String @default("hello")
36
- boolean Boolean @default(true)
37
- bytes Bytes
38
- decimal Decimal @default(1.0)
39
- bigInt BigInt @default(1)
40
- float Float @default(1.0)
41
- }`;
42
- };
43
- exports.generateSchema = generateSchema;
44
- const preparePrisma = async (dialect) => {
45
- console.log("🪄 Deleting old prisma directory");
46
- await promises_1.default.rm("./prisma", { recursive: true, force: true });
47
- console.log("🪄 Recreating prisma directory");
48
- await promises_1.default.mkdir("./prisma");
49
- console.log("🪄 Writing new schema");
50
- await promises_1.default.writeFile("./prisma/schema.prisma", (0, exports.generateSchema)(dialect), {
51
- encoding: "utf-8",
52
- });
53
- console.log("🪄 Pushing schema to db");
54
- await exec("bun prisma db push --force-reset");
55
- console.log("🪄 Generating new types");
56
- await exec("bun prisma generate");
57
- };
58
- exports.preparePrisma = preparePrisma;
59
- //# sourceMappingURL=common.js.map
@@ -1 +0,0 @@
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,kCAAkC,CAAC,CAAC;IAE/C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACpC,CAAC,CAAC;AAhBW,QAAA,aAAa,iBAgBxB"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const kysely_1 = require("kysely");
4
- const mysql2_1 = require("mysql2");
5
- const common_1 = require("./common");
6
- const main = async () => {
7
- await (0, common_1.preparePrisma)("mysql");
8
- const db = new kysely_1.Kysely({
9
- dialect: new kysely_1.MysqlDialect({
10
- pool: (0, mysql2_1.createPool)({
11
- user: "root",
12
- password: "mysql",
13
- host: "localhost",
14
- database: "test",
15
- port: 22332,
16
- }),
17
- }),
18
- });
19
- await db
20
- .insertInto("Widget")
21
- .values({ bytes: Buffer.from([]) })
22
- .execute();
23
- const result = await db
24
- .selectFrom("Widget")
25
- .selectAll()
26
- .executeTakeFirstOrThrow();
27
- const entries = Object.entries(result).map(([key, value]) => ({
28
- key,
29
- value,
30
- typeOf: typeof value,
31
- }));
32
- entries.sort((a, b) => a.key.localeCompare(b.key));
33
- console.table(entries);
34
- await db.destroy();
35
- };
36
- main();
37
- //# sourceMappingURL=mysql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mysql.js","sourceRoot":"","sources":["../../src/dialectTests/mysql.ts"],"names":[],"mappings":";;AAAA,mCAA8C;AAC9C,mCAAoC;AAEpC,qCAAsD;AAEtD,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,qBAAY,CAAC;YACxB,IAAI,EAAE,IAAA,mBAAU,EAAC;gBACf,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,WAAW;gBACjB,QAAQ,EAAE,MAAM;gBAChB,IAAI,EAAE,KAAK;aACZ,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const kysely_1 = require("kysely");
4
- const pg_1 = require("pg");
5
- const common_1 = require("./common");
6
- const main = async () => {
7
- await (0, common_1.preparePrisma)("postgresql");
8
- const db = new kysely_1.Kysely({
9
- dialect: new kysely_1.PostgresDialect({
10
- pool: new pg_1.Pool({
11
- connectionString: common_1.POSTGRES_URL,
12
- }),
13
- }),
14
- });
15
- await db
16
- .insertInto("Widget")
17
- .values({ bytes: Buffer.from([]) })
18
- .execute();
19
- const result = await db
20
- .selectFrom("Widget")
21
- .selectAll()
22
- .executeTakeFirstOrThrow();
23
- const entries = Object.entries(result).map(([key, value]) => ({
24
- key,
25
- value,
26
- typeOf: typeof value,
27
- }));
28
- entries.sort((a, b) => a.key.localeCompare(b.key));
29
- console.table(entries);
30
- await db.destroy();
31
- };
32
- main();
33
- //# sourceMappingURL=postgresql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"postgresql.js","sourceRoot":"","sources":["../../src/dialectTests/postgresql.ts"],"names":[],"mappings":";;AAAA,mCAAiD;AACjD,2BAA0B;AAE1B,qCAAoE;AAEpE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,wBAAe,CAAC;YAC3B,IAAI,EAAE,IAAI,SAAI,CAAC;gBACb,gBAAgB,EAAE,qBAAY;aAC/B,CAAC;SACH,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -1,56 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const kysely_1 = require("kysely");
4
- const node_sqlite_1 = require("node:sqlite");
5
- const common_1 = require("./common");
6
- class KyselyNodeSQLiteDatabase {
7
- constructor(url, options) {
8
- this.database = new node_sqlite_1.DatabaseSync(url, options);
9
- }
10
- close() {
11
- this.database.close();
12
- }
13
- prepare(sql) {
14
- return new KyselyNodeSQLiteStatement(this.database.prepare(sql));
15
- }
16
- }
17
- class KyselyNodeSQLiteStatement {
18
- constructor(statement) {
19
- this.statement = statement;
20
- }
21
- iterate(parameters) {
22
- return this.statement.iterate(...parameters);
23
- }
24
- all(parameters) {
25
- return this.statement.all(...parameters);
26
- }
27
- run(parameters) {
28
- return this.statement.run(...parameters);
29
- }
30
- }
31
- const main = async () => {
32
- await (0, common_1.preparePrisma)("sqlite");
33
- const db = new kysely_1.Kysely({
34
- dialect: new kysely_1.SqliteDialect({
35
- database: new KyselyNodeSQLiteDatabase("./prisma/dev.db"),
36
- }),
37
- });
38
- await db
39
- .insertInto("Widget")
40
- .values({ bytes: Buffer.from([]) })
41
- .execute();
42
- const result = await db
43
- .selectFrom("Widget")
44
- .selectAll()
45
- .executeTakeFirstOrThrow();
46
- const entries = Object.entries(result).map(([key, value]) => ({
47
- key,
48
- value,
49
- typeOf: typeof value,
50
- }));
51
- entries.sort((a, b) => a.key.localeCompare(b.key));
52
- console.table(entries);
53
- await db.destroy();
54
- };
55
- main();
56
- //# sourceMappingURL=sqlite.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sqlite.js","sourceRoot":"","sources":["../../src/dialectTests/sqlite.ts"],"names":[],"mappings":";;AACA,mCAA+C;AAM/C,6CAA2C;AAE3C,qCAAsD;AAEtD,MAAM,wBAAwB;IAG5B,YAAY,GAA0B,EAAE,OAA6B;QACnE,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAY,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IACD,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,CAAC;CACF;AAED,MAAM,yBAAyB;IAG7B,YAAY,SAAwB;QAClC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,UAAwC;QAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;IAC/C,CAAC;IAGD,GAAG,CAAC,UAAwC;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,UAAwC;QAI1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACtB,MAAM,IAAA,sBAAa,EAAC,QAAQ,CAAC,CAAC;IAE9B,MAAM,EAAE,GAAG,IAAI,eAAM,CAAQ;QAC3B,OAAO,EAAE,IAAI,sBAAa,CAAC;YACzB,QAAQ,EAAE,IAAI,wBAAwB,CAAC,iBAAiB,CAAC;SAC1D,CAAC;KACH,CAAC,CAAC;IAEH,MAAM,EAAE;SACL,UAAU,CAAC,QAAQ,CAAC;SACpB,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;SAClC,OAAO,EAAE,CAAC;IAEb,MAAM,MAAM,GAAG,MAAM,EAAE;SACpB,UAAU,CAAC,QAAQ,CAAC;SACpB,SAAS,EAAE;SACX,uBAAuB,EAAE,CAAC;IAE7B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,GAAG;QACH,KAAK;QACL,MAAM,EAAE,OAAO,KAAK;KACrB,CAAC,CAAC,CAAC;IACJ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACrB,CAAC,CAAC;AAEF,IAAI,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateDatabaseType = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
9
- const normalizeCase_1 = require("../utils/normalizeCase");
10
- const sorted_1 = require("../utils/sorted");
11
- const wrappedTypeHelpers_1 = require("./wrappedTypeHelpers");
12
- const generateDatabaseType = (models, config) => {
13
- const sortedModels = (0, sorted_1.sorted)(models, (a, b) => a.tableName.localeCompare(b.tableName));
14
- const properties = sortedModels.map((field) => {
15
- const caseNormalizedTableName = (0, normalizeCase_1.normalizeCase)(field.tableName, config);
16
- const nameIdentifier = (0, isValidTSIdentifier_1.default)(caseNormalizedTableName)
17
- ? typescript_1.default.factory.createIdentifier(caseNormalizedTableName)
18
- : typescript_1.default.factory.createStringLiteral(caseNormalizedTableName);
19
- const typeName = config.exportWrappedTypes
20
- ? (0, wrappedTypeHelpers_1.toTableTypeName)(field.typeName)
21
- : field.typeName;
22
- return typescript_1.default.factory.createPropertySignature(undefined, nameIdentifier, undefined, typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier(typeName), undefined));
23
- });
24
- return typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(config.dbTypeName), undefined, typescript_1.default.factory.createTypeLiteralNode(properties));
25
- };
26
- exports.generateDatabaseType = generateDatabaseType;
27
- //# sourceMappingURL=generateDatabaseType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateDatabaseType.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,uFAA8D;AAC9D,0DAAsD;AACtD,4CAAwC;AAGxC,6DAAuD;AAEhD,MAAM,oBAAoB,GAAG,CAClC,MAAiD,EACjD,MAAc,EACd,EAAE;IACF,MAAM,YAAY,GAAG,IAAA,eAAM,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3C,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CACvC,CAAC;IAEF,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,MAAM,uBAAuB,GAAG,IAAA,6BAAa,EAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAMvE,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,uBAAuB,CAAC;YACjE,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;YACtD,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;QAE5D,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB;YACxC,CAAC,CAAC,IAAA,oCAAe,EAAC,KAAK,CAAC,QAAQ,CAAC;YACjC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAEnB,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,SAAS,EACT,cAAc,EACd,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,CACV,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CAC1C,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAC9C,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAC7C,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,oBAAoB,wBAwC/B"}
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const generateDatabaseType_1 = require("./generateDatabaseType");
5
- const testUtils_1 = require("../utils/testUtils");
6
- (0, vitest_1.test)("it works for plain vanilla type names", () => {
7
- const node = (0, generateDatabaseType_1.generateDatabaseType)([
8
- { tableName: "Bookmark", typeName: "Bookmark" },
9
- { tableName: "Session", typeName: "Session" },
10
- { tableName: "User", typeName: "User" },
11
- ], {
12
- databaseProvider: "postgresql",
13
- fileName: "",
14
- enumFileName: "",
15
- camelCase: false,
16
- readOnlyIds: false,
17
- groupBySchema: false,
18
- defaultSchema: "public",
19
- dbTypeName: "DB",
20
- importExtension: "",
21
- exportWrappedTypes: false,
22
- });
23
- const result = (0, testUtils_1.stringifyTsNode)(node);
24
- (0, vitest_1.expect)(result).toEqual(`export type DB = {
25
- Bookmark: Bookmark;
26
- Session: Session;
27
- User: User;
28
- };`);
29
- });
30
- (0, vitest_1.test)("it respects camelCase option names", () => {
31
- const node = (0, generateDatabaseType_1.generateDatabaseType)([
32
- { tableName: "book_mark", typeName: "Bookmark" },
33
- { tableName: "session", typeName: "Session" },
34
- { tableName: "user_table", typeName: "User" },
35
- ], {
36
- databaseProvider: "postgresql",
37
- fileName: "",
38
- enumFileName: "",
39
- camelCase: true,
40
- readOnlyIds: false,
41
- groupBySchema: false,
42
- defaultSchema: "public",
43
- dbTypeName: "DB",
44
- importExtension: "",
45
- exportWrappedTypes: false,
46
- });
47
- const result = (0, testUtils_1.stringifyTsNode)(node);
48
- (0, vitest_1.expect)(result).toEqual(`export type DB = {
49
- bookMark: Bookmark;
50
- session: Session;
51
- userTable: User;
52
- };`);
53
- });
54
- (0, vitest_1.test)("it respects exportWrappedTypes option", () => {
55
- const node = (0, generateDatabaseType_1.generateDatabaseType)([
56
- { tableName: "book_mark", typeName: "Bookmark" },
57
- { tableName: "session", typeName: "Session" },
58
- { tableName: "user_table", typeName: "User" },
59
- ], {
60
- databaseProvider: "postgresql",
61
- fileName: "",
62
- enumFileName: "",
63
- camelCase: false,
64
- readOnlyIds: false,
65
- groupBySchema: false,
66
- defaultSchema: "public",
67
- dbTypeName: "DB",
68
- importExtension: "",
69
- exportWrappedTypes: true,
70
- });
71
- const result = (0, testUtils_1.stringifyTsNode)(node);
72
- (0, vitest_1.expect)(result).toEqual(`export type DB = {
73
- book_mark: BookmarkTable;
74
- session: SessionTable;
75
- user_table: UserTable;
76
- };`);
77
- });
78
- (0, vitest_1.test)("it works for table names with spaces and weird symbols", () => {
79
- const node = (0, generateDatabaseType_1.generateDatabaseType)([
80
- { tableName: "Bookmark", typeName: "Bookmark" },
81
- { tableName: "user session_*table ;D", typeName: "Session" },
82
- { tableName: "User", typeName: "User" },
83
- ], {
84
- databaseProvider: "postgresql",
85
- fileName: "",
86
- enumFileName: "",
87
- camelCase: false,
88
- readOnlyIds: false,
89
- groupBySchema: false,
90
- defaultSchema: "public",
91
- dbTypeName: "DB",
92
- importExtension: "",
93
- exportWrappedTypes: false,
94
- });
95
- const result = (0, testUtils_1.stringifyTsNode)(node);
96
- (0, vitest_1.expect)(result).toEqual(`export type DB = {
97
- Bookmark: Bookmark;
98
- User: User;
99
- "user session_*table ;D": Session;
100
- };`);
101
- });
102
- (0, vitest_1.test)("ensure dbTypeName works", () => {
103
- const random = `T${Math.random().toString(36).substring(2, 15)}`;
104
- const node = (0, generateDatabaseType_1.generateDatabaseType)([
105
- { tableName: "Bookmark", typeName: "Bookmark" },
106
- { tableName: "user session_*table ;D", typeName: "Session" },
107
- { tableName: "User", typeName: "User" },
108
- ], {
109
- databaseProvider: "postgresql",
110
- fileName: "",
111
- enumFileName: "",
112
- camelCase: false,
113
- readOnlyIds: false,
114
- groupBySchema: false,
115
- defaultSchema: "public",
116
- dbTypeName: random,
117
- importExtension: "",
118
- exportWrappedTypes: false,
119
- });
120
- const result = (0, testUtils_1.stringifyTsNode)(node);
121
- (0, vitest_1.expect)(result).toEqual(`export type ${random} = {
122
- Bookmark: Bookmark;
123
- User: User;
124
- "user session_*table ;D": Session;
125
- };`);
126
- });
127
- //# sourceMappingURL=generateDatabaseType.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateDatabaseType.test.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.test.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateEnumType = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
9
- const generateStringLiteralUnion_1 = require("./generateStringLiteralUnion");
10
- const generateTypedReferenceNode_1 = require("./generateTypedReferenceNode");
11
- const generateEnumType = (name, values) => {
12
- const type = (0, generateStringLiteralUnion_1.generateStringLiteralUnion)(values.map((v) => v.name));
13
- if (!type) {
14
- return undefined;
15
- }
16
- const objectDeclaration = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
17
- typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression(values.map((v) => {
18
- const identifier = (0, isValidTSIdentifier_1.default)(v.name)
19
- ? typescript_1.default.factory.createIdentifier(v.name)
20
- : typescript_1.default.factory.createStringLiteral(v.name);
21
- return typescript_1.default.factory.createPropertyAssignment(identifier, typescript_1.default.factory.createStringLiteral(v.dbName || v.name));
22
- }), true), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("const"), undefined))),
23
- ], typescript_1.default.NodeFlags.Const));
24
- const typeDeclaration = (0, generateTypedReferenceNode_1.generateTypedReferenceNode)(name);
25
- return {
26
- typeName: name,
27
- objectDeclaration,
28
- typeDeclaration,
29
- };
30
- };
31
- exports.generateEnumType = generateEnumType;
32
- //# sourceMappingURL=generateEnumType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateEnumType.js","sourceRoot":"","sources":["../../src/helpers/generateEnumType.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,uFAA8D;AAE9D,6EAA0E;AAC1E,6EAA0E;AASnE,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,MAAiC,EACX,EAAE;IACxB,MAAM,IAAI,GAAG,IAAA,uDAA0B,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,iBAAiB,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC1D,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;QACE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,IAAA,6BAAmB,EAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC;gBACrC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE3C,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACxC,UAAU,EAEV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CACnD,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CACL,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,CACV,CACF,CACF;KACF,EACD,oBAAE,CAAC,SAAS,CAAC,KAAK,CACnB,CACF,CAAC;IAEF,MAAM,eAAe,GAAG,IAAA,uDAA0B,EAAC,IAAI,CAAC,CAAC;IAEzD,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,iBAAiB;QACjB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAnDW,QAAA,gBAAgB,oBAmD3B"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
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
- const typescript_1 = __importStar(require("typescript"));
37
- const vitest_1 = require("vitest");
38
- const generateEnumType_1 = require("./generateEnumType");
39
- (0, vitest_1.test)("it generates the enum type", () => {
40
- const { objectDeclaration, typeDeclaration } = (0, generateEnumType_1.generateEnumType)("Name", [
41
- { name: "FOO", dbName: "FOO" },
42
- { name: "BAR", dbName: "BAR" },
43
- ]);
44
- const printer = (0, typescript_1.createPrinter)();
45
- const result = printer.printList(typescript_1.default.ListFormat.MultiLine, typescript_1.default.factory.createNodeArray([objectDeclaration, typeDeclaration]), typescript_1.default.createSourceFile("", "", typescript_1.default.ScriptTarget.Latest));
46
- (0, vitest_1.expect)(result).toEqual(`export const Name = {
47
- FOO: "FOO",
48
- BAR: "BAR"
49
- } as const;
50
- export type Name = (typeof Name)[keyof typeof Name];\n`);
51
- });
52
- //# sourceMappingURL=generateEnumType.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateEnumType.test.js","sourceRoot":"","sources":["../../src/helpers/generateEnumType.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yDAA+C;AAC/C,mCAAsC;AAEtC,yDAAsD;AAEtD,IAAA,aAAI,EAAC,4BAA4B,EAAE,GAAG,EAAE;IACtC,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,IAAA,mCAAgB,EAAC,MAAM,EAAE;QACtE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;QAC9B,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;KAC/B,CAAE,CAAC;IAEJ,MAAM,OAAO,GAAG,IAAA,0BAAa,GAAE,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAC9B,oBAAE,CAAC,UAAU,CAAC,SAAS,EACvB,oBAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAChE,oBAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,oBAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CACpD,CAAC;IAEF,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,OAAO,CAAC;;;;uDAI8B,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.generateField = void 0;
7
- const typescript_1 = __importDefault(require("typescript"));
8
- const applyJSDocWorkaround_1 = require("../utils/applyJSDocWorkaround");
9
- const isValidTSIdentifier_1 = __importDefault(require("../utils/isValidTSIdentifier"));
10
- const generateField = (args) => {
11
- const { name, type, nullable, generated, list, documentation, isId, config } = args;
12
- let fieldType = type;
13
- if (nullable)
14
- fieldType = typescript_1.default.factory.createUnionTypeNode([
15
- fieldType,
16
- typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.NullKeyword)),
17
- ]);
18
- if (list)
19
- fieldType = typescript_1.default.factory.createArrayTypeNode(fieldType);
20
- if (generated) {
21
- if (isId && config.readOnlyIds) {
22
- fieldType = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("GeneratedAlways"), [fieldType]);
23
- }
24
- else {
25
- fieldType = typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Generated"), [fieldType]);
26
- }
27
- }
28
- const nameIdentifier = (0, isValidTSIdentifier_1.default)(name)
29
- ? typescript_1.default.factory.createIdentifier(name)
30
- : typescript_1.default.factory.createStringLiteral(name);
31
- const propertySignature = typescript_1.default.factory.createPropertySignature(undefined, nameIdentifier, undefined, fieldType);
32
- if (documentation) {
33
- return typescript_1.default.addSyntheticLeadingComment(propertySignature, typescript_1.default.SyntaxKind.MultiLineCommentTrivia, (0, applyJSDocWorkaround_1.applyJSDocWorkaround)(documentation), true);
34
- }
35
- return propertySignature;
36
- };
37
- exports.generateField = generateField;
38
- //# sourceMappingURL=generateField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateField.js","sourceRoot":"","sources":["../../src/helpers/generateField.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,wEAAoE;AACpE,uFAA8D;AAevD,MAAM,aAAa,GAAG,CAAC,IAAuB,EAAE,EAAE;IACvD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAC1E,IAAI,CAAC;IASP,IAAI,SAAS,GAAG,IAAI,CAAC;IAErB,IAAI,QAAQ;QACV,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;YACzC,SAAS;YACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAClD;SACF,CAAC,CAAC;IAEL,IAAI,IAAI;QAAE,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAEhE,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC/B,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC5C,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC9C,CAAC,SAAS,CAAC,CACZ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC5C,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,CAAC,SAAS,CAAC,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,cAAc,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACnC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,iBAAiB,GAAG,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC1D,SAAS,EACT,cAAc,EACd,SAAS,EACT,SAAS,CACV,CAAC;IAEF,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAE,CAAC,0BAA0B,CAClC,iBAAiB,EACjB,oBAAE,CAAC,UAAU,CAAC,sBAAsB,EACpC,IAAA,2CAAoB,EAAC,aAAa,CAAC,EACnC,IAAI,CACL,CAAC;IACJ,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AA1DW,QAAA,aAAa,iBA0DxB"}