prisma-kysely 1.7.1 → 2.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.
- package/README.md +15 -9
- package/dist/__test__/e2e.test.js +346 -43
- package/dist/__test__/e2e.test.js.map +1 -1
- package/dist/dialectTests/common.js +4 -4
- package/dist/dialectTests/common.js.map +1 -1
- package/dist/dialectTests/sqlite.js +27 -5
- package/dist/dialectTests/sqlite.js.map +1 -1
- package/dist/generator.js +37 -11
- package/dist/generator.js.map +1 -1
- package/dist/helpers/generateDatabaseType.js +1 -1
- package/dist/helpers/generateDatabaseType.js.map +1 -1
- package/dist/helpers/generateDatabaseType.test.js +36 -0
- package/dist/helpers/generateDatabaseType.test.js.map +1 -1
- package/dist/helpers/generateEnumType.js +8 -3
- package/dist/helpers/generateEnumType.js.map +1 -1
- package/dist/helpers/generateEnumType.test.js +18 -8
- package/dist/helpers/generateEnumType.test.js.map +1 -1
- package/dist/helpers/generateField.js.map +1 -1
- package/dist/helpers/generateFieldType.js +15 -1
- package/dist/helpers/generateFieldType.js.map +1 -1
- package/dist/helpers/generateFieldType.test.js +24 -0
- package/dist/helpers/generateFieldType.test.js.map +1 -1
- package/dist/helpers/generateFile.js.map +1 -1
- package/dist/helpers/generateFile.test.js +0 -1
- package/dist/helpers/generateFile.test.js.map +1 -1
- package/dist/helpers/generateFiles.js +55 -7
- package/dist/helpers/generateFiles.js.map +1 -1
- package/dist/helpers/generateImplicitManyToManyModels.js +13 -12
- package/dist/helpers/generateImplicitManyToManyModels.js.map +1 -1
- package/dist/helpers/generateImplicitManyToManyModels.test.js +347 -0
- package/dist/helpers/generateImplicitManyToManyModels.test.js.map +1 -1
- package/dist/helpers/generateModel.js +6 -2
- package/dist/helpers/generateModel.js.map +1 -1
- package/dist/helpers/generateModel.test.js +18 -2
- package/dist/helpers/generateModel.test.js.map +1 -1
- package/dist/helpers/generateStringLiteralUnion.test.js +2 -6
- package/dist/helpers/generateStringLiteralUnion.test.js.map +1 -1
- package/dist/helpers/generateTypeOverrideFromDocumentation.js.map +1 -1
- package/dist/helpers/generatedEnumType.test.js +19 -9
- package/dist/helpers/generatedEnumType.test.js.map +1 -1
- package/dist/helpers/multiSchemaHelpers.js +55 -16
- package/dist/helpers/multiSchemaHelpers.js.map +1 -1
- package/dist/helpers/multiSchemaHelpers.test.js +36 -2
- package/dist/helpers/multiSchemaHelpers.test.js.map +1 -1
- package/dist/utils/formatFile.js +18 -8
- package/dist/utils/formatFile.js.map +1 -1
- package/dist/utils/normalizeCase.js +2 -2
- package/dist/utils/normalizeCase.js.map +1 -1
- package/dist/utils/normalizeCase.test.js +8 -0
- package/dist/utils/normalizeCase.test.js.map +1 -1
- package/dist/utils/testUtils.js +17 -7
- package/dist/utils/testUtils.js.map +1 -1
- package/dist/utils/validateConfig.js +9 -0
- package/dist/utils/validateConfig.js.map +1 -1
- package/dist/utils/validateConfig.test.js.map +1 -1
- package/dist/utils/{camelCase.js → words.js} +7 -4
- package/dist/utils/words.js.map +1 -0
- package/package.json +54 -48
- package/dist/helpers/generateTypedAliasDeclaration.js +0 -12
- package/dist/helpers/generateTypedAliasDeclaration.js.map +0 -1
- package/dist/helpers/generateTypedAliasDeclaration.test.js +0 -15
- package/dist/helpers/generateTypedAliasDeclaration.test.js.map +0 -1
- package/dist/utils/camelCase.js.map +0 -1
package/dist/generator.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const generator_helper_1 = require("@prisma/generator-helper");
|
|
7
|
-
const
|
|
7
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
8
8
|
const constants_1 = require("./constants");
|
|
9
9
|
const generateDatabaseType_1 = require("./helpers/generateDatabaseType");
|
|
10
10
|
const generateFiles_1 = require("./helpers/generateFiles");
|
|
@@ -25,31 +25,57 @@ const { version } = require("../package.json");
|
|
|
25
25
|
};
|
|
26
26
|
},
|
|
27
27
|
onGenerate: async (options) => {
|
|
28
|
-
var _a;
|
|
29
28
|
const config = (0, validateConfig_1.validateConfig)({
|
|
30
29
|
...options.generator.config,
|
|
31
30
|
databaseProvider: options.datasources[0].provider,
|
|
32
31
|
});
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
let enums = options.dmmf.datamodel.enums
|
|
33
|
+
.map(({ name, values }) => (0, generateEnumType_1.generateEnumType)(name, values))
|
|
34
|
+
.filter((e) => !!e);
|
|
36
35
|
const implicitManyToManyModels = (0, generateImplicitManyToManyModels_1.generateImplicitManyToManyModels)(options.dmmf.datamodel.models);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
36
|
+
const hasMultiSchema = options.datasources.some((d) => d.schemas.length > 0);
|
|
37
|
+
const multiSchemaMap = config.groupBySchema || hasMultiSchema
|
|
38
|
+
? (0, multiSchemaHelpers_1.parseMultiSchemaMap)(options.datamodel)
|
|
39
|
+
: undefined;
|
|
40
|
+
let models = (0, sorted_1.sorted)([...options.dmmf.datamodel.models, ...implicitManyToManyModels], (a, b) => a.name.localeCompare(b.name)).map((m) => (0, generateModel_1.generateModel)(m, config, {
|
|
41
|
+
groupBySchema: config.groupBySchema,
|
|
42
|
+
defaultSchema: config.defaultSchema,
|
|
43
|
+
multiSchemaMap,
|
|
44
|
+
}));
|
|
45
|
+
if (hasMultiSchema) {
|
|
46
|
+
const filterBySchema = config.filterBySchema
|
|
47
|
+
? new Set(config.filterBySchema)
|
|
48
|
+
: null;
|
|
49
|
+
models = (0, multiSchemaHelpers_1.convertToMultiSchemaModels)({
|
|
50
|
+
models,
|
|
51
|
+
groupBySchema: config.groupBySchema,
|
|
52
|
+
defaultSchema: config.defaultSchema,
|
|
53
|
+
filterBySchema,
|
|
54
|
+
multiSchemaMap,
|
|
55
|
+
});
|
|
56
|
+
enums = (0, multiSchemaHelpers_1.convertToMultiSchemaModels)({
|
|
57
|
+
models: enums,
|
|
58
|
+
groupBySchema: config.groupBySchema,
|
|
59
|
+
defaultSchema: config.defaultSchema,
|
|
60
|
+
filterBySchema,
|
|
61
|
+
multiSchemaMap,
|
|
62
|
+
});
|
|
40
63
|
}
|
|
41
|
-
const databaseType = (0, generateDatabaseType_1.generateDatabaseType)(models
|
|
64
|
+
const databaseType = (0, generateDatabaseType_1.generateDatabaseType)(models, config);
|
|
42
65
|
const files = (0, generateFiles_1.generateFiles)({
|
|
43
66
|
databaseType,
|
|
44
|
-
modelDefinitions: models.map((m) => m.definition),
|
|
45
67
|
enumNames: options.dmmf.datamodel.enums.map((e) => e.name),
|
|
68
|
+
models,
|
|
46
69
|
enums,
|
|
47
70
|
enumsOutfile: config.enumFileName,
|
|
48
71
|
typesOutfile: config.fileName,
|
|
72
|
+
groupBySchema: config.groupBySchema,
|
|
73
|
+
defaultSchema: config.defaultSchema,
|
|
74
|
+
importExtension: config.importExtension,
|
|
49
75
|
});
|
|
50
76
|
await Promise.allSettled(files.map(({ filepath, content }) => {
|
|
51
77
|
var _a;
|
|
52
|
-
const writeLocation =
|
|
78
|
+
const writeLocation = node_path_1.default.join(((_a = options.generator.output) === null || _a === void 0 ? void 0 : _a.value) || "", filepath);
|
|
53
79
|
return (0, writeFileSafely_1.writeFileSafely)(writeLocation, content);
|
|
54
80
|
}));
|
|
55
81
|
},
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":";;;;;AACA,+DAA4D;AAC5D,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ const generateDatabaseType = (models, config) => {
|
|
|
17
17
|
: typescript_1.default.factory.createStringLiteral(caseNormalizedTableName);
|
|
18
18
|
return typescript_1.default.factory.createPropertySignature(undefined, nameIdentifier, undefined, typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier(field.typeName), undefined));
|
|
19
19
|
});
|
|
20
|
-
return typescript_1.default.factory.createTypeAliasDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier(
|
|
20
|
+
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));
|
|
21
21
|
};
|
|
22
22
|
exports.generateDatabaseType = generateDatabaseType;
|
|
23
23
|
//# sourceMappingURL=generateDatabaseType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDatabaseType.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,uFAA8D;AAC9D,0DAAsD;AACtD,4CAAwC;AAGjC,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,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,KAAK,CAAC,QAAQ,CAAC,EAC3C,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,
|
|
1
|
+
{"version":3,"file":"generateDatabaseType.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,uFAA8D;AAC9D,0DAAsD;AACtD,4CAAwC;AAGjC,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,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,KAAK,CAAC,QAAQ,CAAC,EAC3C,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;AApCW,QAAA,oBAAoB,wBAoC/B"}
|
|
@@ -14,6 +14,10 @@ const testUtils_1 = require("../utils/testUtils");
|
|
|
14
14
|
enumFileName: "",
|
|
15
15
|
camelCase: false,
|
|
16
16
|
readOnlyIds: false,
|
|
17
|
+
groupBySchema: false,
|
|
18
|
+
defaultSchema: "public",
|
|
19
|
+
dbTypeName: "DB",
|
|
20
|
+
importExtension: "",
|
|
17
21
|
});
|
|
18
22
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
19
23
|
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
@@ -33,6 +37,10 @@ const testUtils_1 = require("../utils/testUtils");
|
|
|
33
37
|
enumFileName: "",
|
|
34
38
|
camelCase: true,
|
|
35
39
|
readOnlyIds: false,
|
|
40
|
+
groupBySchema: false,
|
|
41
|
+
defaultSchema: "public",
|
|
42
|
+
dbTypeName: "DB",
|
|
43
|
+
importExtension: "",
|
|
36
44
|
});
|
|
37
45
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
38
46
|
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
@@ -52,6 +60,10 @@ const testUtils_1 = require("../utils/testUtils");
|
|
|
52
60
|
enumFileName: "",
|
|
53
61
|
camelCase: false,
|
|
54
62
|
readOnlyIds: false,
|
|
63
|
+
groupBySchema: false,
|
|
64
|
+
defaultSchema: "public",
|
|
65
|
+
dbTypeName: "DB",
|
|
66
|
+
importExtension: "",
|
|
55
67
|
});
|
|
56
68
|
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
57
69
|
(0, vitest_1.expect)(result).toEqual(`export type DB = {
|
|
@@ -60,4 +72,28 @@ const testUtils_1 = require("../utils/testUtils");
|
|
|
60
72
|
"user session_*table ;D": Session;
|
|
61
73
|
};`);
|
|
62
74
|
});
|
|
75
|
+
(0, vitest_1.test)("ensure dbTypeName works", () => {
|
|
76
|
+
const random = `T${Math.random().toString(36).substring(2, 15)}`;
|
|
77
|
+
const node = (0, generateDatabaseType_1.generateDatabaseType)([
|
|
78
|
+
{ tableName: "Bookmark", typeName: "Bookmark" },
|
|
79
|
+
{ tableName: "user session_*table ;D", typeName: "Session" },
|
|
80
|
+
{ tableName: "User", typeName: "User" },
|
|
81
|
+
], {
|
|
82
|
+
databaseProvider: "postgresql",
|
|
83
|
+
fileName: "",
|
|
84
|
+
enumFileName: "",
|
|
85
|
+
camelCase: false,
|
|
86
|
+
readOnlyIds: false,
|
|
87
|
+
groupBySchema: false,
|
|
88
|
+
defaultSchema: "public",
|
|
89
|
+
dbTypeName: random,
|
|
90
|
+
importExtension: "",
|
|
91
|
+
});
|
|
92
|
+
const result = (0, testUtils_1.stringifyTsNode)(node);
|
|
93
|
+
(0, vitest_1.expect)(result).toEqual(`export type ${random} = {
|
|
94
|
+
Bookmark: Bookmark;
|
|
95
|
+
User: User;
|
|
96
|
+
"user session_*table ;D": Session;
|
|
97
|
+
};`);
|
|
98
|
+
});
|
|
63
99
|
//# sourceMappingURL=generateDatabaseType.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateDatabaseType.test.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,iEAAsE;AACtE,kDAAoD;AAEpD,IAAA,aAAI,EAAC,uCAAuC,EAAE,GAAG,EAAE;IACjD,MAAM,IAAI,GAAG,IAAA,2CAAoB,EAC/B;QACE,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE;QAC/C,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE;QAC7C,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KACxC,EACD;QACE,gBAAgB,EAAE,YAAY;QAC9B,QAAQ,EAAE,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"generateDatabaseType.test.js","sourceRoot":"","sources":["../../src/helpers/generateDatabaseType.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,9 @@ const generateStringLiteralUnion_1 = require("./generateStringLiteralUnion");
|
|
|
10
10
|
const generateTypedReferenceNode_1 = require("./generateTypedReferenceNode");
|
|
11
11
|
const generateEnumType = (name, values) => {
|
|
12
12
|
const type = (0, generateStringLiteralUnion_1.generateStringLiteralUnion)(values.map((v) => v.name));
|
|
13
|
-
if (!type)
|
|
14
|
-
return
|
|
13
|
+
if (!type) {
|
|
14
|
+
return undefined;
|
|
15
|
+
}
|
|
15
16
|
const objectDeclaration = typescript_1.default.factory.createVariableStatement([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createVariableDeclarationList([
|
|
16
17
|
typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression(values.map((v) => {
|
|
17
18
|
const identifier = (0, isValidTSIdentifier_1.default)(v.name)
|
|
@@ -21,7 +22,11 @@ const generateEnumType = (name, values) => {
|
|
|
21
22
|
}), true), typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("const"), undefined))),
|
|
22
23
|
], typescript_1.default.NodeFlags.Const));
|
|
23
24
|
const typeDeclaration = (0, generateTypedReferenceNode_1.generateTypedReferenceNode)(name);
|
|
24
|
-
return
|
|
25
|
+
return {
|
|
26
|
+
typeName: name,
|
|
27
|
+
objectDeclaration,
|
|
28
|
+
typeDeclaration,
|
|
29
|
+
};
|
|
25
30
|
};
|
|
26
31
|
exports.generateEnumType = generateEnumType;
|
|
27
32
|
//# sourceMappingURL=generateEnumType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateEnumType.js","sourceRoot":"","sources":["../../src/helpers/generateEnumType.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,uFAA8D;AAE9D,6EAA0E;AAC1E,6EAA0E;
|
|
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"}
|
|
@@ -15,19 +15,29 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
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
|
+
})();
|
|
25
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
36
|
const typescript_1 = __importStar(require("typescript"));
|
|
27
37
|
const vitest_1 = require("vitest");
|
|
28
38
|
const generateEnumType_1 = require("./generateEnumType");
|
|
29
39
|
(0, vitest_1.test)("it generates the enum type", () => {
|
|
30
|
-
const
|
|
40
|
+
const { objectDeclaration, typeDeclaration } = (0, generateEnumType_1.generateEnumType)("Name", [
|
|
31
41
|
{ name: "FOO", dbName: "FOO" },
|
|
32
42
|
{ name: "BAR", dbName: "BAR" },
|
|
33
43
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateEnumType.test.js","sourceRoot":"","sources":["../../src/helpers/generateEnumType.test.ts"],"names":[],"mappings":"
|
|
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 +1 @@
|
|
|
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;
|
|
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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateFieldType = exports.generateFieldTypeInner = exports.overrideType = exports.postgresqlTypeMap = exports.mysqlTypeMap = exports.sqliteTypeMap = void 0;
|
|
3
|
+
exports.generateFieldType = exports.generateFieldTypeInner = exports.overrideType = exports.sqlServerTypeMap = exports.postgresqlTypeMap = exports.mysqlTypeMap = exports.sqliteTypeMap = void 0;
|
|
4
4
|
exports.sqliteTypeMap = {
|
|
5
5
|
BigInt: "number",
|
|
6
6
|
Boolean: "number",
|
|
@@ -36,6 +36,18 @@ exports.postgresqlTypeMap = {
|
|
|
36
36
|
String: "string",
|
|
37
37
|
Unsupported: "unknown",
|
|
38
38
|
};
|
|
39
|
+
exports.sqlServerTypeMap = {
|
|
40
|
+
BigInt: "number",
|
|
41
|
+
Boolean: "boolean",
|
|
42
|
+
Bytes: "Buffer",
|
|
43
|
+
DateTime: "Timestamp",
|
|
44
|
+
Decimal: "string",
|
|
45
|
+
Float: "number",
|
|
46
|
+
Int: "number",
|
|
47
|
+
Json: "unknown",
|
|
48
|
+
String: "string",
|
|
49
|
+
Unsupported: "unknown",
|
|
50
|
+
};
|
|
39
51
|
const overrideType = (type, config) => {
|
|
40
52
|
switch (type) {
|
|
41
53
|
case "String":
|
|
@@ -71,6 +83,8 @@ const generateFieldTypeInner = (type, config, typeOverride) => {
|
|
|
71
83
|
return (typeOverride || (0, exports.overrideType)(type, config) || exports.postgresqlTypeMap[type]);
|
|
72
84
|
case "cockroachdb":
|
|
73
85
|
return (typeOverride || (0, exports.overrideType)(type, config) || exports.postgresqlTypeMap[type]);
|
|
86
|
+
case "sqlserver":
|
|
87
|
+
return (typeOverride || (0, exports.overrideType)(type, config) || exports.sqlServerTypeMap[type]);
|
|
74
88
|
}
|
|
75
89
|
};
|
|
76
90
|
exports.generateFieldTypeInner = generateFieldTypeInner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFieldType.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.ts"],"names":[],"mappings":";;;AAgBa,QAAA,aAAa,GAAY;IACpC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEW,QAAA,YAAY,GAAY;IACnC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEW,QAAA,iBAAiB,GAAY;IACxC,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,QAAQ;IACf,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE,QAAQ;IACjB,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE;IAC3D,QAAQ,IAAI,EAAE;
|
|
1
|
+
{"version":3,"file":"generateFieldType.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
22
22
|
enumFileName: "types.ts",
|
|
23
23
|
camelCase: false,
|
|
24
24
|
readOnlyIds: false,
|
|
25
|
+
groupBySchema: false,
|
|
26
|
+
defaultSchema: "public",
|
|
27
|
+
dbTypeName: "DB",
|
|
28
|
+
importExtension: "",
|
|
25
29
|
};
|
|
26
30
|
const sourceTypes = [
|
|
27
31
|
"String",
|
|
@@ -45,6 +49,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
45
49
|
stringTypeOverride: "cheese",
|
|
46
50
|
camelCase: false,
|
|
47
51
|
readOnlyIds: false,
|
|
52
|
+
groupBySchema: false,
|
|
53
|
+
defaultSchema: "public",
|
|
54
|
+
dbTypeName: "DB",
|
|
55
|
+
importExtension: "",
|
|
48
56
|
});
|
|
49
57
|
(0, vitest_1.expect)(node).toEqual("cheese");
|
|
50
58
|
});
|
|
@@ -55,6 +63,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
55
63
|
enumFileName: "types.ts",
|
|
56
64
|
camelCase: false,
|
|
57
65
|
readOnlyIds: false,
|
|
66
|
+
groupBySchema: false,
|
|
67
|
+
defaultSchema: "public",
|
|
68
|
+
dbTypeName: "DB",
|
|
69
|
+
importExtension: "",
|
|
58
70
|
});
|
|
59
71
|
const mysqlBooleanType = (0, generateFieldType_1.generateFieldType)("Boolean", {
|
|
60
72
|
databaseProvider: "mysql",
|
|
@@ -62,6 +74,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
62
74
|
enumFileName: "types.ts",
|
|
63
75
|
camelCase: false,
|
|
64
76
|
readOnlyIds: false,
|
|
77
|
+
groupBySchema: false,
|
|
78
|
+
defaultSchema: "public",
|
|
79
|
+
dbTypeName: "DB",
|
|
80
|
+
importExtension: "",
|
|
65
81
|
});
|
|
66
82
|
const sqliteBooleanType = (0, generateFieldType_1.generateFieldType)("Boolean", {
|
|
67
83
|
databaseProvider: "sqlite",
|
|
@@ -69,6 +85,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
69
85
|
enumFileName: "types.ts",
|
|
70
86
|
camelCase: false,
|
|
71
87
|
readOnlyIds: false,
|
|
88
|
+
groupBySchema: false,
|
|
89
|
+
defaultSchema: "public",
|
|
90
|
+
dbTypeName: "DB",
|
|
91
|
+
importExtension: "",
|
|
72
92
|
});
|
|
73
93
|
(0, vitest_1.expect)(postgresBooleanType).toEqual("boolean");
|
|
74
94
|
(0, vitest_1.expect)(mysqlBooleanType).toEqual("number");
|
|
@@ -81,6 +101,10 @@ const generateFieldType_1 = require("./generateFieldType");
|
|
|
81
101
|
enumFileName: "types.ts",
|
|
82
102
|
camelCase: false,
|
|
83
103
|
readOnlyIds: false,
|
|
104
|
+
groupBySchema: false,
|
|
105
|
+
defaultSchema: "public",
|
|
106
|
+
dbTypeName: "DB",
|
|
107
|
+
importExtension: "",
|
|
84
108
|
})).toThrowError(new Error("Unsupported type Json for database sqlite"));
|
|
85
109
|
});
|
|
86
110
|
//# sourceMappingURL=generateFieldType.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFieldType.test.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,2DAAgE;AAEhE,IAAA,aAAI,EAAC,mDAAmD,EAAE,GAAG,EAAE;IAC7D,MAAM,SAAS,GAAG;QAChB,kBAAkB,EAAE,gBAAgB;QACpC,kBAAkB,EAAE,UAAU;QAC9B,mBAAmB,EAAE,SAAS;QAC9B,iBAAiB,EAAE,MAAM;QACzB,oBAAoB,EAAE,WAAW;QACjC,mBAAmB,EAAE,OAAO;QAC5B,iBAAiB,EAAE,MAAM;QACzB,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,QAAQ;QAC1B,uBAAuB,EAAE,OAAO;KACjC,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,GAAG,SAAS;QACZ,gBAAgB,EAAE,YAAqB;QACvC,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,UAAU;QACxB,SAAS,EAAE,KAAK;QAChB,WAAW,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"generateFieldType.test.js","sourceRoot":"","sources":["../../src/helpers/generateFieldType.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFile.js","sourceRoot":"","sources":["../../src/helpers/generateFile.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAOhE,MAAM,YAAY,GAAG,CAC1B,UAAmC,EACnC,EAAE,cAAc,EAAE,UAAU,EAAW,EACvC,EAAE;IACF,MAAM,IAAI,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACtC,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EACpD,oBAAE,CAAC,SAAS,CAAC,IAAI,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,2BACb,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAC7D;;;;wEAIsE,CAAC;IAEvE,IAAI,cAAc,EAAE;
|
|
1
|
+
{"version":3,"file":"generateFile.js","sourceRoot":"","sources":["../../src/helpers/generateFile.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,MAAM,OAAO,GAAG,oBAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,oBAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;AAOhE,MAAM,YAAY,GAAG,CAC1B,UAAmC,EACnC,EAAE,cAAc,EAAE,UAAU,EAAW,EACvC,EAAE;IACF,MAAM,IAAI,GAAG,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACtC,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EACpD,oBAAE,CAAC,SAAS,CAAC,IAAI,CAClB,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAG,2BACb,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAC7D;;;;wEAIsE,CAAC;IAEvE,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,mBAAmB,GAAG,iBAAiB,cAAc,CAAC,KAAK,CAAC,IAAI,CACpE,IAAI,CACL,YAAY,cAAc,CAAC,UAAU,IAAI,CAAC;QAE3C,OAAO,UAAU;YACf,CAAC,CAAC,GAAG,MAAM,OAAO,mBAAmB,OAAO,MAAM,EAAE;YACpD,CAAC,CAAC,GAAG,mBAAmB,OAAO,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACxD,CAAC,CAAC;AA/BW,QAAA,YAAY,gBA+BvB"}
|
|
@@ -12,7 +12,6 @@ const generateFile_1 = require("./generateFile");
|
|
|
12
12
|
withEnumImport: { importPath: "./enums", names: ["Foo", "Bar"] },
|
|
13
13
|
withLeader: false,
|
|
14
14
|
});
|
|
15
|
-
console.log(resultwithEnumImport);
|
|
16
15
|
(0, vitest_1.expect)(resultwithEnumImport).toContain('import type { Foo, Bar } from "./enums";');
|
|
17
16
|
(0, vitest_1.expect)(resultwithEnumImport).not.toContain('from "kysely";');
|
|
18
17
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFile.test.js","sourceRoot":"","sources":["../../src/helpers/generateFile.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,iDAAsD;AAEtD,IAAA,aAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,gBAAgB,GAAG,IAAA,2BAAY,EAAC,EAAE,EAAE;QACxC,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,IAAA,2BAAY,EAAC,EAAE,EAAE;QAC5C,cAAc,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QAChE,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generateFile.test.js","sourceRoot":"","sources":["../../src/helpers/generateFile.test.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,iDAAsD;AAEtD,IAAA,aAAI,EAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,gBAAgB,GAAG,IAAA,2BAAY,EAAC,EAAE,EAAE;QACxC,cAAc,EAAE,KAAK;QACrB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IACH,IAAA,eAAM,EAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,IAAA,2BAAY,EAAC,EAAE,EAAE;QAC5C,cAAc,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;QAChE,UAAU,EAAE,KAAK;KAClB,CAAC,CAAC;IAEH,IAAA,eAAM,EAAC,oBAAoB,CAAC,CAAC,SAAS,CACpC,0CAA0C,CAC3C,CAAC;IACF,IAAA,eAAM,EAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC"}
|
|
@@ -3,14 +3,27 @@ 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
|
-
exports.generateFiles =
|
|
7
|
-
|
|
6
|
+
exports.generateFiles = generateFiles;
|
|
7
|
+
exports.groupModelsAndEnum = groupModelsAndEnum;
|
|
8
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
9
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
10
|
const generateFile_1 = require("./generateFile");
|
|
11
|
+
const words_1 = require("../utils/words");
|
|
9
12
|
function generateFiles(opts) {
|
|
10
13
|
if (opts.enumsOutfile === opts.typesOutfile || opts.enums.length === 0) {
|
|
14
|
+
let statements;
|
|
15
|
+
if (!opts.groupBySchema) {
|
|
16
|
+
statements = [
|
|
17
|
+
...opts.enums.flatMap((e) => [e.objectDeclaration, e.typeDeclaration]),
|
|
18
|
+
...opts.models.map((m) => m.definition),
|
|
19
|
+
];
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
statements = groupModelsAndEnum(opts.enums, opts.models, opts.defaultSchema);
|
|
23
|
+
}
|
|
11
24
|
const typesFileWithEnums = {
|
|
12
25
|
filepath: opts.typesOutfile,
|
|
13
|
-
content: (0, generateFile_1.generateFile)([...
|
|
26
|
+
content: (0, generateFile_1.generateFile)([...statements, opts.databaseType], {
|
|
14
27
|
withEnumImport: false,
|
|
15
28
|
withLeader: true,
|
|
16
29
|
}),
|
|
@@ -19,9 +32,9 @@ function generateFiles(opts) {
|
|
|
19
32
|
}
|
|
20
33
|
const typesFileWithoutEnums = {
|
|
21
34
|
filepath: opts.typesOutfile,
|
|
22
|
-
content: (0, generateFile_1.generateFile)([...opts.
|
|
35
|
+
content: (0, generateFile_1.generateFile)([...opts.models.map((m) => m.definition), opts.databaseType], {
|
|
23
36
|
withEnumImport: {
|
|
24
|
-
importPath: `./${
|
|
37
|
+
importPath: `./${node_path_1.default.parse(opts.enumsOutfile).name}${opts.importExtension}`,
|
|
25
38
|
names: opts.enumNames,
|
|
26
39
|
},
|
|
27
40
|
withLeader: true,
|
|
@@ -31,12 +44,47 @@ function generateFiles(opts) {
|
|
|
31
44
|
return [typesFileWithoutEnums];
|
|
32
45
|
const enumFile = {
|
|
33
46
|
filepath: opts.enumsOutfile,
|
|
34
|
-
content: (0, generateFile_1.generateFile)(opts.enums, {
|
|
47
|
+
content: (0, generateFile_1.generateFile)(opts.enums.flatMap((e) => [e.objectDeclaration, e.typeDeclaration]), {
|
|
35
48
|
withEnumImport: false,
|
|
36
49
|
withLeader: false,
|
|
37
50
|
}),
|
|
38
51
|
};
|
|
39
52
|
return [typesFileWithoutEnums, enumFile];
|
|
40
53
|
}
|
|
41
|
-
|
|
54
|
+
function* groupModelsAndEnum(enums, models, defaultSchema) {
|
|
55
|
+
const groupsMap = new Map();
|
|
56
|
+
for (const enumType of enums) {
|
|
57
|
+
if (!enumType.schema || enumType.schema === defaultSchema) {
|
|
58
|
+
yield enumType.objectDeclaration;
|
|
59
|
+
yield enumType.typeDeclaration;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
const group = groupsMap.get(enumType.schema);
|
|
63
|
+
if (!group) {
|
|
64
|
+
groupsMap.set(enumType.schema, [
|
|
65
|
+
enumType.objectDeclaration,
|
|
66
|
+
enumType.typeDeclaration,
|
|
67
|
+
]);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
group.push(enumType.objectDeclaration, enumType.typeDeclaration);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const model of models) {
|
|
74
|
+
if (!model.schema || model.schema === defaultSchema) {
|
|
75
|
+
yield model.definition;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const group = groupsMap.get(model.schema);
|
|
79
|
+
if (!group) {
|
|
80
|
+
groupsMap.set(model.schema, [model.definition]);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
group.push(model.definition);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
for (const [schema, group] of groupsMap) {
|
|
87
|
+
yield typescript_1.default.factory.createModuleDeclaration([typescript_1.default.factory.createModifier(typescript_1.default.SyntaxKind.ExportKeyword)], typescript_1.default.factory.createIdentifier((0, words_1.capitalize)(schema)), typescript_1.default.factory.createModuleBlock(group), typescript_1.default.NodeFlags.Namespace);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
42
90
|
//# sourceMappingURL=generateFiles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateFiles.js","sourceRoot":"","sources":["../../src/helpers/generateFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generateFiles.js","sourceRoot":"","sources":["../../src/helpers/generateFiles.ts"],"names":[],"mappings":";;;;;AAYA,sCAmEC;AAED,gDAiDC;AAlID,0DAA6B;AAE7B,4DAA4B;AAE5B,iDAAsD;AACtD,0CAA2C;AAO3C,SAAgB,aAAa,CAAC,IAU7B;IAEC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,IAAI,UAAkC,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,UAAU,GAAG;gBACX,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;gBACtE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;aACxC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,kBAAkB,CAC7B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CACnB,CAAC;QACJ,CAAC;QAED,MAAM,kBAAkB,GAAS;YAC/B,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE,IAAA,2BAAY,EAAC,CAAC,GAAG,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,EAAE;gBACxD,cAAc,EAAE,KAAK;gBACrB,UAAU,EAAE,IAAI;aACjB,CAAC;SACH,CAAC;QAEF,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,qBAAqB,GAAS;QAClC,QAAQ,EAAE,IAAI,CAAC,YAAY;QAC3B,OAAO,EAAE,IAAA,2BAAY,EACnB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EAC5D;YACE,cAAc,EAAE;gBACd,UAAU,EAAE,KAAK,mBAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE;gBAC5E,KAAK,EAAE,IAAI,CAAC,SAAS;aACtB;YACD,UAAU,EAAE,IAAI;SACjB,CACF;KACF,CAAC;IAEF,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAE5D,MAAM,QAAQ,GAAS;QACrB,QAAQ,EAAE,IAAI,CAAC,YAAY;QAC3B,OAAO,EAAE,IAAA,2BAAY,EACnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,EACnE;YACE,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,KAAK;SAClB,CACF;KACF,CAAC;IAEF,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED,QAAe,CAAC,CAAC,kBAAkB,CACjC,KAAiB,EACjB,MAAmB,EACnB,aAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEpD,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC1D,MAAM,QAAQ,CAAC,iBAAiB,CAAC;YACjC,MAAM,QAAQ,CAAC,eAAe,CAAC;YAC/B,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC7B,QAAQ,CAAC,iBAAiB;gBAC1B,QAAQ,CAAC,eAAe;aACzB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpD,MAAM,KAAK,CAAC,UAAU,CAAC;YACvB,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,SAAS,EAAE,CAAC;QACxC,MAAM,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACtC,CAAC,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,EAC/C,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACnC,oBAAE,CAAC,SAAS,CAAC,SAAS,CACvB,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getModelByType = void 0;
|
|
4
|
+
exports.generateImplicitManyToManyModels = generateImplicitManyToManyModels;
|
|
4
5
|
const sorted_1 = require("../utils/sorted");
|
|
5
6
|
const getModelByType = (models, type) => {
|
|
6
7
|
return models.find((model) => model.name === type);
|
|
@@ -8,12 +9,11 @@ const getModelByType = (models, type) => {
|
|
|
8
9
|
exports.getModelByType = getModelByType;
|
|
9
10
|
function generateImplicitManyToManyModels(models) {
|
|
10
11
|
const manyToManyFields = filterManyToManyRelationFields(models);
|
|
11
|
-
if (manyToManyFields.length
|
|
12
|
+
if (!manyToManyFields.length) {
|
|
12
13
|
return [];
|
|
13
14
|
}
|
|
14
15
|
return generateModels(manyToManyFields, models, []);
|
|
15
16
|
}
|
|
16
|
-
exports.generateImplicitManyToManyModels = generateImplicitManyToManyModels;
|
|
17
17
|
function generateModels(manyToManyFields, models, manyToManyTables = []) {
|
|
18
18
|
const manyFirst = manyToManyFields.shift();
|
|
19
19
|
if (!manyFirst) {
|
|
@@ -27,6 +27,7 @@ function generateModels(manyToManyFields, models, manyToManyTables = []) {
|
|
|
27
27
|
dbName: `_${manyFirst.relationName}`,
|
|
28
28
|
name: manyFirst.relationName || "",
|
|
29
29
|
primaryKey: null,
|
|
30
|
+
schema: null,
|
|
30
31
|
uniqueFields: [],
|
|
31
32
|
uniqueIndexes: [],
|
|
32
33
|
fields: generateJoinFields([manyFirst, manySecond], models),
|
|
@@ -36,14 +37,14 @@ function generateModels(manyToManyFields, models, manyToManyTables = []) {
|
|
|
36
37
|
function generateJoinFields(fields, models) {
|
|
37
38
|
if (fields.length !== 2)
|
|
38
39
|
throw new Error("Huh?");
|
|
39
|
-
const sortedFields = (0, sorted_1.sorted)(fields, (a, b) => a.
|
|
40
|
-
const
|
|
41
|
-
const
|
|
40
|
+
const sortedFields = (0, sorted_1.sorted)(fields, (a, b) => a.type.localeCompare(b.type));
|
|
41
|
+
const joinedA = getJoinIdField(sortedFields[0], models);
|
|
42
|
+
const joinedB = getJoinIdField(sortedFields[1], models);
|
|
42
43
|
return [
|
|
43
44
|
{
|
|
44
45
|
name: "A",
|
|
45
|
-
type:
|
|
46
|
-
kind:
|
|
46
|
+
type: joinedA.type,
|
|
47
|
+
kind: joinedA.kind,
|
|
47
48
|
isRequired: true,
|
|
48
49
|
isList: false,
|
|
49
50
|
isUnique: false,
|
|
@@ -53,8 +54,8 @@ function generateJoinFields(fields, models) {
|
|
|
53
54
|
},
|
|
54
55
|
{
|
|
55
56
|
name: "B",
|
|
56
|
-
type:
|
|
57
|
-
kind:
|
|
57
|
+
type: joinedB.type,
|
|
58
|
+
kind: joinedB.kind,
|
|
58
59
|
isRequired: true,
|
|
59
60
|
isList: false,
|
|
60
61
|
isUnique: false,
|
|
@@ -64,14 +65,14 @@ function generateJoinFields(fields, models) {
|
|
|
64
65
|
},
|
|
65
66
|
];
|
|
66
67
|
}
|
|
67
|
-
function
|
|
68
|
+
function getJoinIdField(joinField, models) {
|
|
68
69
|
const joinedModel = models.find((m) => m.name === joinField.type);
|
|
69
70
|
if (!joinedModel)
|
|
70
71
|
throw new Error("Could not find referenced model");
|
|
71
72
|
const idField = joinedModel.fields.find((f) => f.isId);
|
|
72
73
|
if (!idField)
|
|
73
74
|
throw new Error("No ID field on referenced model");
|
|
74
|
-
return idField
|
|
75
|
+
return idField;
|
|
75
76
|
}
|
|
76
77
|
function filterManyToManyRelationFields(models) {
|
|
77
78
|
const fields = models.flatMap((model) => model.fields);
|