drizzle-kit 0.9.28 → 0.9.31

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 (108) hide show
  1. package/dev/data/column_rename/with_talbe_rename/new.js +15 -0
  2. package/dev/data/column_rename/with_talbe_rename/new.js.map +1 -0
  3. package/dev/data/column_rename/with_talbe_rename/prev.js +15 -0
  4. package/dev/data/column_rename/with_talbe_rename/prev.js.map +1 -0
  5. package/dev/data/column_rename/without_table_rename/v1/usersTable.js +15 -0
  6. package/dev/data/column_rename/without_table_rename/v1/usersTable.js.map +1 -0
  7. package/dev/data/column_rename/without_table_rename/v2/usersTable.js +15 -0
  8. package/dev/data/column_rename/without_table_rename/v2/usersTable.js.map +1 -0
  9. package/dev/data/jobs/from/from.js +22 -0
  10. package/dev/data/jobs/from/from.js.map +1 -0
  11. package/dev/data/jobs/to/to.js +23 -0
  12. package/dev/data/jobs/to/to.js.map +1 -0
  13. package/dev/data/leha/UsersTable.js +36 -0
  14. package/dev/data/leha/UsersTable.js.map +1 -0
  15. package/dev/data/leha/types.js +13 -0
  16. package/dev/data/leha/types.js.map +1 -0
  17. package/dev/data/v1/authOtpTable.js +20 -0
  18. package/dev/data/v1/authOtpTable.js.map +1 -0
  19. package/dev/data/v1/deletedTable.js +14 -0
  20. package/dev/data/v1/deletedTable.js.map +1 -0
  21. package/dev/data/v1/types.js +9 -0
  22. package/dev/data/v1/types.js.map +1 -0
  23. package/dev/data/v1/usersTable.js +18 -0
  24. package/dev/data/v1/usersTable.js.map +1 -0
  25. package/dev/data/v2/authOtpTable.js +29 -0
  26. package/dev/data/v2/authOtpTable.js.map +1 -0
  27. package/dev/data/v2/cityTable.js +15 -0
  28. package/dev/data/v2/cityTable.js.map +1 -0
  29. package/dev/data/v2/types.js +13 -0
  30. package/dev/data/v2/types.js.map +1 -0
  31. package/dev/data/v2/usersTable.js +21 -0
  32. package/dev/data/v2/usersTable.js.map +1 -0
  33. package/dev/data/v3/authOtpTable.js +27 -0
  34. package/dev/data/v3/authOtpTable.js.map +1 -0
  35. package/dev/data/v3/cityTable.js +23 -0
  36. package/dev/data/v3/cityTable.js.map +1 -0
  37. package/dev/data/v3/types.js +13 -0
  38. package/dev/data/v3/types.js.map +1 -0
  39. package/dev/data/v3/usersTable.js +22 -0
  40. package/dev/data/v3/usersTable.js.map +1 -0
  41. package/dev/data/v4/multi.js +46 -0
  42. package/dev/data/v4/multi.js.map +1 -0
  43. package/dev/diff.js +28 -0
  44. package/dev/diff.js.map +1 -0
  45. package/dev/factory.js +78 -0
  46. package/dev/factory.js.map +1 -0
  47. package/dev/fstest.js +45 -0
  48. package/dev/fstest.js.map +1 -0
  49. package/dev/index.js +16 -0
  50. package/dev/index.js.map +1 -0
  51. package/dev/prepare-snapshot.js +19 -0
  52. package/dev/prepare-snapshot.js.map +1 -0
  53. package/dev/quokka.js +90 -0
  54. package/dev/quokka.js.map +1 -0
  55. package/dev/serialiser.js +30 -0
  56. package/dev/serialiser.js.map +1 -0
  57. package/dev/simulate.js +29 -0
  58. package/dev/simulate.js.map +1 -0
  59. package/dev/test-build.js +32 -0
  60. package/dev/test-build.js.map +1 -0
  61. package/dev/testFactory.js +42 -0
  62. package/dev/testFactory.js.map +1 -0
  63. package/dev/testiko.js +57 -0
  64. package/dev/testiko.js.map +1 -0
  65. package/dev/yuup.js +36 -0
  66. package/dev/yuup.js.map +1 -0
  67. package/index.js +6649 -2337
  68. package/jest.config.js +7 -0
  69. package/jest.config.js.map +1 -0
  70. package/package.json +7 -6
  71. package/src/cli/commands/migrate.js +64 -0
  72. package/src/cli/commands/migrate.js.map +1 -0
  73. package/src/cli/components-api/index.js +205 -0
  74. package/src/cli/components-api/index.js.map +1 -0
  75. package/src/cli/enq.js +38 -0
  76. package/src/cli/enq.js.map +1 -0
  77. package/src/cli/index.js +15 -0
  78. package/src/cli/index.js.map +1 -0
  79. package/src/cli/machines/resolveColumnsMachine.js +116 -0
  80. package/src/cli/machines/resolveColumnsMachine.js.map +1 -0
  81. package/src/cli/machines/resolveTablesMachine.js +114 -0
  82. package/src/cli/machines/resolveTablesMachine.js.map +1 -0
  83. package/src/cli/utils/formatDataForTable.js +21 -0
  84. package/src/cli/utils/formatDataForTable.js.map +1 -0
  85. package/src/cli/utils/valuesForPrompts.js +38 -0
  86. package/src/cli/utils/valuesForPrompts.js.map +1 -0
  87. package/src/diff.js +28 -0
  88. package/src/diff.js.map +1 -0
  89. package/src/jsonDiffer.js +178 -0
  90. package/src/jsonDiffer.js.map +1 -0
  91. package/src/jsonStatements.js +197 -0
  92. package/src/jsonStatements.js.map +1 -0
  93. package/src/migrationPreparator.js +37 -0
  94. package/src/migrationPreparator.js.map +1 -0
  95. package/src/serializer/factory.js +113 -0
  96. package/src/serializer/factory.js.map +1 -0
  97. package/src/serializer/index.js +25 -0
  98. package/src/serializer/index.js.map +1 -0
  99. package/src/simulator.js +105 -0
  100. package/src/simulator.js.map +1 -0
  101. package/src/snapshotsDiffer.js +127 -0
  102. package/src/snapshotsDiffer.js.map +1 -0
  103. package/src/sqlgenerator.js +241 -0
  104. package/src/sqlgenerator.js.map +1 -0
  105. package/src/tests/columnsMachine.test.js +270 -0
  106. package/src/tests/columnsMachine.test.js.map +1 -0
  107. package/src/tests/tablesMachine.test.js +272 -0
  108. package/src/tests/tablesMachine.test.js.map +1 -0
package/dev/factory.js ADDED
@@ -0,0 +1,78 @@
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
+ const typescript_1 = __importDefault(require("typescript"));
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const printer = typescript_1.default.createPrinter();
9
+ const prepareFabricFile = (folder) => {
10
+ const staticImports = [
11
+ typescript_1.default.createImportDeclaration(undefined, undefined, typescript_1.default.createImportClause(undefined, typescript_1.default.createNamedImports([
12
+ typescript_1.default.createImportSpecifier(undefined, typescript_1.default.createIdentifier("AbstractTable")),
13
+ typescript_1.default.createImportSpecifier(undefined, typescript_1.default.createIdentifier("DB")),
14
+ ])), typescript_1.default.createStringLiteral("@lambda-team/ltdl")),
15
+ typescript_1.default.createImportDeclaration(undefined, undefined, typescript_1.default.createImportClause(undefined, typescript_1.default.createNamedImports([
16
+ typescript_1.default.createImportSpecifier(undefined, typescript_1.default.createIdentifier("Pool")),
17
+ ])), typescript_1.default.createStringLiteral("pg")),
18
+ typescript_1.default.createImportDeclaration(undefined, undefined, typescript_1.default.createImportClause(typescript_1.default.createIdentifier("Serializer"), undefined), typescript_1.default.createStringLiteral("./serializer")),
19
+ ];
20
+ const dynamicImports = [];
21
+ const filenames = fs_1.default.readdirSync(folder);
22
+ for (let i = 0; i < filenames.length; i++) {
23
+ const filename = filenames[i];
24
+ const importPath = `${folder}/${filename.split(".")[0]}/`;
25
+ dynamicImports.push(typescript_1.default.createImportDeclaration(undefined, undefined, typescript_1.default.createImportClause(undefined, typescript_1.default.createNamespaceImport(typescript_1.default.createIdentifier(`i${i}`))), typescript_1.default.createStringLiteral(importPath)));
26
+ }
27
+ const variablesStatements = [
28
+ typescript_1.default.createVariableStatement(undefined, typescript_1.default.createVariableDeclarationList([
29
+ typescript_1.default.createVariableDeclaration(typescript_1.default.createIdentifier("db"), undefined, typescript_1.default.createNew(typescript_1.default.createIdentifier("DB"), undefined, [
30
+ typescript_1.default.createNew(typescript_1.default.createIdentifier("Pool"), undefined, []),
31
+ ])),
32
+ ], typescript_1.default.NodeFlags.Const)),
33
+ typescript_1.default.createVariableStatement(undefined, typescript_1.default.createVariableDeclarationList([
34
+ typescript_1.default.createVariableDeclaration(typescript_1.default.createIdentifier("serializer"), undefined, typescript_1.default.createNew(typescript_1.default.createIdentifier("Serializer"), undefined, [])),
35
+ ], typescript_1.default.NodeFlags.Const)),
36
+ ];
37
+ const blockStatements = [];
38
+ // const tables = []
39
+ blockStatements.push(typescript_1.default.createVariableStatement(undefined, typescript_1.default.createVariableDeclarationList([
40
+ typescript_1.default.createVariableDeclaration(typescript_1.default.createIdentifier("tables"), undefined, typescript_1.default.createArrayLiteral([], false)),
41
+ ], typescript_1.default.NodeFlags.Const)));
42
+ for (let i = 0; i < filenames.length; i++) {
43
+ // const t1 = (new i1.default(db) as unknown as AbstractTable<any>);
44
+ // tables.push(t1)
45
+ const blockStatement = [
46
+ typescript_1.default.createVariableStatement(undefined, typescript_1.default.createVariableDeclarationList([
47
+ typescript_1.default.createVariableDeclaration(typescript_1.default.createIdentifier("t" + i), undefined, typescript_1.default.createParen(typescript_1.default.createAsExpression(typescript_1.default.createAsExpression(typescript_1.default.createNew(typescript_1.default.createPropertyAccess(typescript_1.default.createIdentifier("i" + i), typescript_1.default.createIdentifier("default")), undefined, [typescript_1.default.createIdentifier("db")]), typescript_1.default.createKeywordTypeNode(typescript_1.default.SyntaxKind.UnknownKeyword)), typescript_1.default.createTypeReferenceNode(typescript_1.default.createIdentifier("AbstractTable"), [
48
+ typescript_1.default.createKeywordTypeNode(typescript_1.default.SyntaxKind.AnyKeyword),
49
+ ])))),
50
+ ], typescript_1.default.NodeFlags.Const)),
51
+ typescript_1.default.createExpressionStatement(typescript_1.default.createCall(typescript_1.default.createPropertyAccess(typescript_1.default.createIdentifier("tables"), typescript_1.default.createIdentifier("push")), undefined, [typescript_1.default.createIdentifier("t" + i)])),
52
+ ];
53
+ blockStatements.push(...blockStatement);
54
+ }
55
+ // return serializer.generate(tables)
56
+ blockStatements.push(typescript_1.default.createReturn(typescript_1.default.createCall(typescript_1.default.createPropertyAccess(typescript_1.default.createIdentifier("serializer"), typescript_1.default.createIdentifier("generate")), undefined, [typescript_1.default.createIdentifier("tables")])));
57
+ const funcStatement = [
58
+ typescript_1.default.createVariableStatement(undefined, typescript_1.default.createVariableDeclarationList([
59
+ typescript_1.default.createVariableDeclaration(typescript_1.default.createIdentifier("testFun"), undefined, typescript_1.default.createArrowFunction(undefined, undefined, [], undefined, typescript_1.default.createToken(typescript_1.default.SyntaxKind.EqualsGreaterThanToken),
60
+ // function body
61
+ typescript_1.default.createBlock(blockStatements, true))),
62
+ ], typescript_1.default.NodeFlags.Const)),
63
+ ];
64
+ const invocationStatement = [
65
+ typescript_1.default.createExpressionStatement(typescript_1.default.createCall(typescript_1.default.createIdentifier("testFun"), undefined, [])),
66
+ ];
67
+ const outFile = typescript_1.default.createSourceFile("outfile.ts", "", typescript_1.default.ScriptTarget.ES2015, true, typescript_1.default.ScriptKind.TS);
68
+ const source = [];
69
+ source.push(...staticImports);
70
+ source.push(...dynamicImports);
71
+ source.push(...variablesStatements);
72
+ source.push(...funcStatement);
73
+ source.push(...invocationStatement);
74
+ const newFile = typescript_1.default.factory.updateSourceFile(outFile, source);
75
+ return printer.printFile(newFile);
76
+ };
77
+ exports.default = prepareFabricFile;
78
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../dev/factory.ts"],"names":[],"mappings":"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"}
package/dev/fstest.js ADDED
@@ -0,0 +1,45 @@
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
+ const fs_1 = __importDefault(require("fs"));
7
+ const serializer_1 = __importDefault(require("./src/serializer"));
8
+ // TODO: export as a function w
9
+ const dry = {
10
+ version: "1",
11
+ tables: {},
12
+ enums: {}
13
+ };
14
+ const prepareMigration = (path = 'drizzle') => {
15
+ const root = path;
16
+ const files = fs_1.default.readdirSync('./');
17
+ const drizzleFolder = files.find((it) => {
18
+ return it === root;
19
+ });
20
+ if (!drizzleFolder) {
21
+ fs_1.default.mkdirSync(root);
22
+ }
23
+ const migrationFolders = fs_1.default.readdirSync(`./${root}`);
24
+ let prevSnapshot;
25
+ if (migrationFolders.length === 0) {
26
+ prevSnapshot = dry;
27
+ }
28
+ else {
29
+ migrationFolders.sort();
30
+ const lastSnapshotFolder = migrationFolders[migrationFolders.length - 1];
31
+ prevSnapshot = fs_1.default.readFileSync(`./${root}/${lastSnapshotFolder}/snapshot.json`).toJSON();
32
+ }
33
+ const timestamp = Date.now();
34
+ const migrationFolder = `./${root}/${timestamp}`;
35
+ fs_1.default.mkdirSync(migrationFolder);
36
+ const version = 'v3';
37
+ const dir = `./data/${version}`;
38
+ const tbls = `${dir}/tables/`;
39
+ const tps = `${dir}/types/`;
40
+ const result = serializer_1.default(tbls, tps);
41
+ fs_1.default.writeFileSync(`${migrationFolder}/snapshot.json`, JSON.stringify(result, null, 2));
42
+ return { prev: prevSnapshot, cur: result };
43
+ };
44
+ exports.default = prepareMigration;
45
+ //# sourceMappingURL=fstest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fstest.js","sourceRoot":"","sources":["../../dev/fstest.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,kEAAwC;AAExC,+BAA+B;AAE/B,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACZ,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,OAAe,SAAS,EAAM,EAAE;IACtD,MAAM,IAAI,GAAG,IAAI,CAAA;IACjB,MAAM,KAAK,GAAG,YAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACpC,OAAO,EAAE,KAAK,IAAI,CAAA;IACtB,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa,EAAE;QAChB,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;KACrB;IAED,MAAM,gBAAgB,GAAG,YAAE,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IAEpD,IAAI,YAAY,CAAC;IAEjB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;QAC/B,YAAY,GAAG,GAAG,CAAA;KACrB;SAAM;QACH,gBAAgB,CAAC,IAAI,EAAE,CAAA;QACvB,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxE,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,kBAAkB,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAA;KAC3F;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,eAAe,GAAG,KAAK,IAAI,IAAI,SAAS,EAAE,CAAA;IAChD,YAAE,CAAC,SAAS,CAAC,eAAe,CAAC,CAAA;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAA;IACpB,MAAM,GAAG,GAAG,UAAU,OAAO,EAAE,CAAA;IAC/B,MAAM,IAAI,GAAG,GAAG,GAAG,UAAU,CAAA;IAC7B,MAAM,GAAG,GAAG,GAAG,GAAG,SAAS,CAAA;IAE3B,MAAM,MAAM,GAAG,oBAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACnC,YAAE,CAAC,aAAa,CAAC,GAAG,eAAe,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAErF,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,CAAA;AAC9C,CAAC,CAAA;AAED,kBAAe,gBAAgB,CAAC"}
package/dev/index.js ADDED
@@ -0,0 +1,16 @@
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
+ const serializer_1 = __importDefault(require("./src/serializer"));
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const version = 'v2';
9
+ const dir = `./data/${version}`;
10
+ // const config: Config = yaml.load(fs.readFileSync('config.yml', {encoding: 'utf-8'})) as Config;
11
+ // console.log(config)
12
+ const result = serializer_1.default(dir);
13
+ const outName = `${version}_${new Date().getTime()}.json`;
14
+ fs_1.default.writeFileSync(`./out/${outName}`, JSON.stringify(result, null, 2));
15
+ console.log(`-----> .../${outName}`);
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../dev/index.ts"],"names":[],"mappings":";;;;;AAAA,kEAAwC;AAExC,4CAAmB;AAEnB,MAAM,OAAO,GAAG,IAAI,CAAA;AACpB,MAAM,GAAG,GAAG,UAAU,OAAO,EAAE,CAAA;AAE/B,kGAAkG;AAClG,sBAAsB;AAEtB,MAAM,MAAM,GAAG,oBAAS,CAAC,GAAG,CAAC,CAAA;AAC7B,MAAM,OAAO,GAAG,GAAG,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,CAAA;AACzD,YAAE,CAAC,aAAa,CAAC,SAAS,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;AACrE,OAAO,CAAC,GAAG,CAAC,cAAc,OAAO,EAAE,CAAC,CAAA"}
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const commander_1 = require("commander");
8
+ require("source-map-support/register");
9
+ require("pretty-error/start");
10
+ const serializer_1 = __importDefault(require("../src/serializer"));
11
+ const prepareSnapshotCommand = new commander_1.Command('prepare')
12
+ .argument('<path>')
13
+ .action((path) => {
14
+ const result = serializer_1.default(path);
15
+ console.log(JSON.stringify(result));
16
+ });
17
+ commander_1.program.addCommand(prepareSnapshotCommand);
18
+ commander_1.program.parse();
19
+ //# sourceMappingURL=prepare-snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare-snapshot.js","sourceRoot":"","sources":["../../dev/prepare-snapshot.ts"],"names":[],"mappings":";;;;;;AACA,yCAA6C;AAC7C,uCAAqC;AACrC,8BAA4B;AAC5B,mEAA0C;AAE1C,MAAM,sBAAsB,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC;KAChD,QAAQ,CAAC,QAAQ,CAAC;KAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;IACb,MAAM,MAAM,GAAG,oBAAS,CAAC,IAAI,CAAC,CAAA;IAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEN,mBAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC1C,mBAAO,CAAC,KAAK,EAAE,CAAC"}
package/dev/quokka.js ADDED
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const json1 = {
4
+ name: {
5
+ __old: "oldvalue",
6
+ __new: "newvalue"
7
+ }
8
+ };
9
+ const json2 = {
10
+ name: "name",
11
+ type: {
12
+ __old: "oldtype",
13
+ __new: "newtype"
14
+ }
15
+ };
16
+ const json3 = {
17
+ name: "name",
18
+ defaultValue__added: "default"
19
+ };
20
+ const json4 = {
21
+ name: "name",
22
+ defaultValue: {
23
+ __old: "default",
24
+ __new: "default2"
25
+ }
26
+ };
27
+ const json5 = {
28
+ name: "name",
29
+ defaultValue__deleted: "default2"
30
+ };
31
+ const json6 = {
32
+ name: "name",
33
+ notNull__added: true
34
+ };
35
+ const json7 = {
36
+ name: "name",
37
+ notNull: {
38
+ __old: true,
39
+ __new: false
40
+ }
41
+ };
42
+ const json8 = {
43
+ name: "name",
44
+ notNull__deleted: false
45
+ };
46
+ const jsons = [json1, json2, json3, json4, json5, json6, json7, json8].map(it => {
47
+ if (typeof it.name !== 'string' && '__old' in it.name) {
48
+ // rename
49
+ return { ...it, name: { type: 'changed', old: it.name.__old, new: it.name.__new } };
50
+ }
51
+ return it;
52
+ }).map(it => {
53
+ if ('type' in it) {
54
+ // type change
55
+ return { ...it, type: { type: 'changed', old: it.type.__old, new: it.type.__new } };
56
+ }
57
+ return it;
58
+ }).map(it => {
59
+ if ('defaultValue' in it) {
60
+ return { ...it, defaultValue: { type: 'changed', old: it.defaultValue.__old, new: it.defaultValue.__new } };
61
+ }
62
+ if ('defaultValue__added' in it) {
63
+ const { defaultValue__added, ...others } = it;
64
+ return { ...others, defaultValue: { type: 'added', value: it.defaultValue__added } };
65
+ }
66
+ if ('defaultValue__deleted' in it) {
67
+ const { defaultValue__deleted, ...others } = it;
68
+ return { ...others, defaultValue: { type: 'deleted', value: it.defaultValue__deleted } };
69
+ }
70
+ return it;
71
+ }).map(it => {
72
+ if ('notNull' in it) {
73
+ return { ...it, notNull: { type: 'changed', old: it.notNull.__old, new: it.notNull.__new } };
74
+ }
75
+ if ('notNull__added' in it) {
76
+ const { notNull__added, ...others } = it;
77
+ return { ...others, notNull: { type: 'added', value: it.notNull__added } };
78
+ }
79
+ if ('notNull__deleted' in it) {
80
+ const { notNull__deleted, ...others } = it;
81
+ return { ...others, notNull: { type: 'deleted', value: it.notNull__deleted } };
82
+ }
83
+ return it;
84
+ }).map(it => it);
85
+ jsons.forEach(it => {
86
+ if (it.notNull?.type === 'added') {
87
+ console.log(it);
88
+ }
89
+ });
90
+ //# sourceMappingURL=quokka.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quokka.js","sourceRoot":"","sources":["../../dev/quokka.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ const first = ['users', 'cities', 'redundant_table'];
3
+ const second = ['users1', 'cities1', 'subscriptions'];
4
+ const sequence = ['0-0', '1-1', '2-', '-2'];
5
+ const applier = (f1, f2, seq) => {
6
+ const created = [];
7
+ const deleted = [];
8
+ const renamed = [];
9
+ for (const item of seq) {
10
+ const split = item.split('-', 2);
11
+ if (split[0] && split[1]) {
12
+ // rename
13
+ const renameFrom = f1[split[0]];
14
+ const renameTo = f2[split[1]];
15
+ renamed.push({ from: renameFrom, to: renameTo });
16
+ }
17
+ else if (split[0]) {
18
+ // delete
19
+ deleted.push(f1[split[0]]);
20
+ }
21
+ else if (split[1]) {
22
+ // create
23
+ created.push(f2[split[1]]);
24
+ }
25
+ }
26
+ return { created, deleted, renamed };
27
+ };
28
+ const result = applier(first, second, sequence);
29
+ console.log(result);
30
+ //# sourceMappingURL=serialiser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialiser.js","sourceRoot":"","sources":["../../dev/serialiser.ts"],"names":[],"mappings":";AACA,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;AACpD,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC,CAAA;AACrD,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AAE3C,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,MAAM,OAAO,GAAG,EAAE,CAAA;IAClB,MAAM,OAAO,GAAG,EAAE,CAAA;IAElB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAChC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACtB,SAAS;YACT,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAA;SACnD;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACjB,SAAS;YACT,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7B;aAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE;YACjB,SAAS;YACT,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7B;KACJ;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAA;AAE/C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA"}
@@ -0,0 +1,29 @@
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
+ const fs_1 = __importDefault(require("fs"));
7
+ const migrate_1 = require("../src/cli/commands/migrate");
8
+ require("pretty-error/start");
9
+ const dry = {
10
+ version: "1",
11
+ tables: {},
12
+ enums: {}
13
+ };
14
+ const j1 = dry;
15
+ // const j1 = JSON.parse(fs.readFileSync('./out/snapshot1.json', 'utf8'))
16
+ // const j1 = JSON.parse(fs.readFileSync('./out/j1.json', 'utf8'))
17
+ // const j2 = JSON.parse(fs.readFileSync('./out/snapshot2.json', 'utf8'))
18
+ const j2 = JSON.parse(fs_1.default.readFileSync('./out/snapshot_1.json', 'utf8'));
19
+ const main = async () => {
20
+ try {
21
+ const result = await migrate_1.prepareSQL(j1, j2);
22
+ console.log(result);
23
+ }
24
+ catch (e) {
25
+ console.error(e);
26
+ }
27
+ };
28
+ main();
29
+ //# sourceMappingURL=simulate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulate.js","sourceRoot":"","sources":["../../dev/simulate.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,yDAAwD;AACxD,8BAA4B;AAE5B,MAAM,GAAG,GAAG;IACR,OAAO,EAAE,GAAG;IACZ,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACZ,CAAA;AACD,MAAM,EAAE,GAAG,GAAG,CAAA;AACd,yEAAyE;AACzE,kEAAkE;AAClE,yEAAyE;AACzE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAA;AAEvE,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;IACpB,IAAI;QACA,MAAM,MAAM,GAAG,MAAM,oBAAU,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;KACtB;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;KACnB;AACL,CAAC,CAAA;AAED,IAAI,EAAE,CAAA"}
@@ -0,0 +1,32 @@
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
+ const fs_1 = __importDefault(require("fs"));
7
+ const factory_1 = __importDefault(require("../src/serializer/factory"));
8
+ // const decoder = new TextDecoder()
9
+ // const functionBody = decoder.decode(fs.readFileSync('./testFactory.js'))
10
+ // new Function(functionBody)(1,2,3)
11
+ const prepared = factory_1.default('./dev/data/jobs/from');
12
+ fs_1.default.writeFileSync('__factory.ts', prepared, 'utf-8');
13
+ const result = require('esbuild').buildSync({
14
+ entryPoints: ['__factory.ts'],
15
+ bundle: true,
16
+ platform: 'node',
17
+ write: false,
18
+ external: ['pg-native'],
19
+ });
20
+ const decoder = new TextDecoder();
21
+ const ts = eval(decoder.decode(result.outputFiles[0].contents));
22
+ console.log(ts);
23
+ // fs.writeFileSync('__out.ts', ts, 'utf-8')
24
+ // const result2 = require('esbuild').buildSync({
25
+ // entryPoints: ['__out.ts'],
26
+ // bundle: true,
27
+ // platform: 'node',
28
+ // write: false,
29
+ // external: ['pg-native'],
30
+ // });
31
+ // console.log(eval(decoder.decode(result2.outputFiles[0].contents)))
32
+ //# sourceMappingURL=test-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-build.js","sourceRoot":"","sources":["../../dev/test-build.ts"],"names":[],"mappings":";;;;;AAAA,4CAAmB;AACnB,wEAAyD;AAEzD,oCAAoC;AACpC,2EAA2E;AAC3E,oCAAoC;AAEpC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,sBAAsB,CAAC,CAAA;AAC1D,YAAE,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAEnD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;IACxC,WAAW,EAAE,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,CAAC,WAAW,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAEf,4CAA4C;AAC5C,iDAAiD;AACjD,iCAAiC;AACjC,oBAAoB;AACpB,wBAAwB;AACxB,oBAAoB;AACpB,+BAA+B;AAC/B,MAAM;AACN,qEAAqE"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ const drizzle = __importStar(require("drizzle-orm"));
26
+ const serializer_1 = __importDefault(require("drizzle-orm/serializer/serializer"));
27
+ const pg = __importStar(require("pg"));
28
+ const i1 = __importStar(require("./data/v1/authOtpTable"));
29
+ const db = new drizzle.DB(new pg.Pool());
30
+ const serializer = new serializer_1.default();
31
+ const testFun = () => {
32
+ const tables = [];
33
+ const t1 = new i1.default(db);
34
+ tables.push(t1);
35
+ const enums = [];
36
+ Object.values(t1).forEach((t) => {
37
+ enums.push(t);
38
+ });
39
+ return serializer.generate(tables, enums);
40
+ };
41
+ testFun();
42
+ //# sourceMappingURL=testFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testFactory.js","sourceRoot":"","sources":["../../dev/testFactory.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,mFAAoE;AAEpE,uCAAyB;AACzB,2DAA6C;AAG7C,MAAM,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,MAAM,UAAU,GAAG,IAAI,oBAAmB,EAAE,CAAC;AAE7C,MAAM,OAAO,GAAG,GAAG,EAAE;IACnB,MAAM,MAAM,GAAiC,EAAE,CAAA;IAC/C,MAAM,EAAE,GAAI,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAA2C,CAAC;IACzE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAEf,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,CAAc,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,OAAO,EAAE,CAAC"}
package/dev/testiko.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __importDefault = (this && this.__importDefault) || function (mod) {
22
+ return (mod && mod.__esModule) ? mod : { "default": mod };
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ exports.testFun = void 0;
26
+ const drizzle_orm_1 = require("drizzle-orm");
27
+ const serializer_1 = __importDefault(require("drizzle-orm/serializer/serializer"));
28
+ const type_1 = __importDefault(require("drizzle-orm/types/type"));
29
+ const pg_1 = require("pg");
30
+ const i1 = __importStar(require("./data/_prev/multi"));
31
+ const db = new drizzle_orm_1.DB(new pg_1.Pool());
32
+ const serializer = new serializer_1.default();
33
+ // type Constructor<T = any> = new (...args: any[]) => T;
34
+ // function isConstructor<T>(type: Constructor<T>): boolean {
35
+ // if (typeof type !== 'function') return false;
36
+ // return !!Reflect.get('__class__', type);
37
+ // }
38
+ const testFun = () => {
39
+ const tables = [];
40
+ const enums = [];
41
+ const i1values = Object.values(i1);
42
+ i1values.forEach((t) => {
43
+ if (t instanceof type_1.default) {
44
+ enums.push(t);
45
+ return;
46
+ }
47
+ if (typeof t === 'function' && t.prototype && t.prototype.constructor) {
48
+ const instance = new t(db);
49
+ if (instance instanceof drizzle_orm_1.AbstractTable) {
50
+ tables.push(instance);
51
+ }
52
+ }
53
+ });
54
+ return serializer.generate(tables, enums);
55
+ };
56
+ exports.testFun = testFun;
57
+ //# sourceMappingURL=testiko.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testiko.js","sourceRoot":"","sources":["../../dev/testiko.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAgD;AAChD,mFAAoE;AACpE,kEAA0C;AAC1C,2BAA0B;AAC1B,uDAAyC;AAGzC,MAAM,EAAE,GAAG,IAAI,gBAAE,CAAC,IAAI,SAAI,EAAE,CAAC,CAAC;AAC9B,MAAM,UAAU,GAAG,IAAI,oBAAmB,EAAE,CAAC;AAE7C,yDAAyD;AACzD,6DAA6D;AAC7D,kDAAkD;AAClD,6CAA6C;AAC7C,IAAI;AAEG,MAAM,OAAO,GAAG,GAAG,EAAE;IAC1B,MAAM,MAAM,GAAyB,EAAE,CAAA;IACvC,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAClC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACrB,IAAI,CAAC,YAAY,cAAI,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACd,OAAM;SACP;QAED,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAA;YAE1B,IAAI,QAAQ,YAAY,2BAAa,EAAE;gBACrC,MAAM,CAAC,IAAI,CAAC,QAAyC,CAAC,CAAA;aACvD;SACF;IACH,CAAC,CAAC,CAAC;IACH,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AApBW,QAAA,OAAO,WAoBlB"}
package/dev/yuup.js ADDED
@@ -0,0 +1,36 @@
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
+ const yup_1 = require("yup");
7
+ const mapValues_1 = __importDefault(require("lodash/mapValues"));
8
+ const columnSchema = yup_1.object({
9
+ name: yup_1.string().required(),
10
+ default: yup_1.string().optional()
11
+ }).noUnknown();
12
+ const col = yup_1.lazy(obj => yup_1.object(mapValues_1.default(obj, (value, key) => {
13
+ // if (key === 'name') {
14
+ // return string().required();
15
+ // }
16
+ // if (key === 'default') {
17
+ // return string().optional();
18
+ // }
19
+ return columnSchema.validateSync(value);
20
+ })));
21
+ const tableSchema = yup_1.object({
22
+ name: yup_1.string().required().defined().nullable(false),
23
+ columns: col
24
+ }).noUnknown();
25
+ const parsed = tableSchema.validateSync({
26
+ name: 'table',
27
+ // default: "fuck you"
28
+ columns: {
29
+ 'first': {
30
+ name: 'column1',
31
+ default: 'default value 1',
32
+ }
33
+ }
34
+ }, { strict: true });
35
+ console.log(parsed);
36
+ //# sourceMappingURL=yuup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yuup.js","sourceRoot":"","sources":["../../dev/yuup.ts"],"names":[],"mappings":";;;;;AAAA,6BAAoE;AACpE,iEAAyC;AAEzC,MAAM,YAAY,GAAG,YAAM,CAAC;IACxB,IAAI,EAAE,YAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,OAAO,EAAE,YAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC,SAAS,EAAE,CAAA;AAEd,MAAM,GAAG,GAAG,UAAI,CAAC,GAAG,CAAC,EAAE,CACnB,YAAM,CACF,mBAAS,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC1B,wBAAwB;IACxB,8BAA8B;IAC9B,IAAI;IACJ,2BAA2B;IAC3B,8BAA8B;IAC9B,IAAI;IACJ,OAAO,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC,CAAC,CACL,CACJ,CAAA;AAID,MAAM,WAAW,GAAG,YAAM,CAAC;IACvB,IAAI,EAAE,YAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;IACnD,OAAO,EAAE,GAAG;CACf,CAAC,CAAC,SAAS,EAAE,CAAA;AAQd,MAAM,MAAM,GAAU,WAAW,CAAC,YAAY,CAC1C;IACI,IAAI,EAAE,OAAO;IACb,sBAAsB;IAEtB,OAAO,EAAE;QACL,OAAO,EAAE;YACL,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,iBAAiB;SAC7B;KACJ;CACJ,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AACxB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA"}