kysely-kodegen 0.18.6
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/.cspell.json +88 -0
- package/.github/FUNDING.yml +1 -0
- package/.kysely-codegenrc.ts +30 -0
- package/.ncurc.json +3 -0
- package/.prettierignore +1 -0
- package/LICENSE +18 -0
- package/README.md +373 -0
- package/assets/kysely-codegen-logo.svg +28 -0
- package/dist/cli/bin.d.ts +2 -0
- package/dist/cli/bin.js +6 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/cli.d.ts +17 -0
- package/dist/cli/cli.js +238 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/config-error.d.ts +6 -0
- package/dist/cli/config-error.js +11 -0
- package/dist/cli/config-error.js.map +1 -0
- package/dist/cli/config.d.ts +167 -0
- package/dist/cli/config.js +85 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/constants.d.ts +5 -0
- package/dist/cli/constants.js +23 -0
- package/dist/cli/constants.js.map +1 -0
- package/dist/cli/flags.d.ts +76 -0
- package/dist/cli/flags.js +142 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/index.d.ts +4 -0
- package/dist/cli/index.js +21 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/db.d.ts +1 -0
- package/dist/db.js +3 -0
- package/dist/db.js.map +1 -0
- package/dist/generator/adapter.d.ts +16 -0
- package/dist/generator/adapter.js +18 -0
- package/dist/generator/adapter.js.map +1 -0
- package/dist/generator/ast/alias-declaration-node.d.ts +9 -0
- package/dist/generator/ast/alias-declaration-node.js +13 -0
- package/dist/generator/ast/alias-declaration-node.js.map +1 -0
- package/dist/generator/ast/array-expression-node.d.ts +6 -0
- package/dist/generator/ast/array-expression-node.js +11 -0
- package/dist/generator/ast/array-expression-node.js.map +1 -0
- package/dist/generator/ast/column-type-node.d.ts +5 -0
- package/dist/generator/ast/column-type-node.js +11 -0
- package/dist/generator/ast/column-type-node.js.map +1 -0
- package/dist/generator/ast/definition-node.d.ts +3 -0
- package/dist/generator/ast/definition-node.js +3 -0
- package/dist/generator/ast/definition-node.js.map +1 -0
- package/dist/generator/ast/export-statement-node.d.ts +8 -0
- package/dist/generator/ast/export-statement-node.js +11 -0
- package/dist/generator/ast/export-statement-node.js.map +1 -0
- package/dist/generator/ast/expression-node.d.ts +11 -0
- package/dist/generator/ast/expression-node.js +3 -0
- package/dist/generator/ast/expression-node.js.map +1 -0
- package/dist/generator/ast/extends-clause-node.d.ts +9 -0
- package/dist/generator/ast/extends-clause-node.js +14 -0
- package/dist/generator/ast/extends-clause-node.js.map +1 -0
- package/dist/generator/ast/generic-expression-node.d.ts +7 -0
- package/dist/generator/ast/generic-expression-node.js +12 -0
- package/dist/generator/ast/generic-expression-node.js.map +1 -0
- package/dist/generator/ast/identifier-node.d.ts +11 -0
- package/dist/generator/ast/identifier-node.js +18 -0
- package/dist/generator/ast/identifier-node.js.map +1 -0
- package/dist/generator/ast/import-clause-node.d.ts +6 -0
- package/dist/generator/ast/import-clause-node.js +12 -0
- package/dist/generator/ast/import-clause-node.js.map +1 -0
- package/dist/generator/ast/import-statement-node.d.ts +7 -0
- package/dist/generator/ast/import-statement-node.js +12 -0
- package/dist/generator/ast/import-statement-node.js.map +1 -0
- package/dist/generator/ast/infer-clause-node.d.ts +5 -0
- package/dist/generator/ast/infer-clause-node.js +11 -0
- package/dist/generator/ast/infer-clause-node.js.map +1 -0
- package/dist/generator/ast/interface-declaration-node.d.ts +8 -0
- package/dist/generator/ast/interface-declaration-node.js +12 -0
- package/dist/generator/ast/interface-declaration-node.js.map +1 -0
- package/dist/generator/ast/json-column-type-node.d.ts +5 -0
- package/dist/generator/ast/json-column-type-node.js +11 -0
- package/dist/generator/ast/json-column-type-node.js.map +1 -0
- package/dist/generator/ast/literal-node.d.ts +7 -0
- package/dist/generator/ast/literal-node.js +11 -0
- package/dist/generator/ast/literal-node.js.map +1 -0
- package/dist/generator/ast/mapped-type-node.d.ts +6 -0
- package/dist/generator/ast/mapped-type-node.js +11 -0
- package/dist/generator/ast/mapped-type-node.js.map +1 -0
- package/dist/generator/ast/module-reference-node.d.ts +5 -0
- package/dist/generator/ast/module-reference-node.js +11 -0
- package/dist/generator/ast/module-reference-node.js.map +1 -0
- package/dist/generator/ast/object-expression-node.d.ts +6 -0
- package/dist/generator/ast/object-expression-node.js +11 -0
- package/dist/generator/ast/object-expression-node.js.map +1 -0
- package/dist/generator/ast/property-node.d.ts +8 -0
- package/dist/generator/ast/property-node.js +13 -0
- package/dist/generator/ast/property-node.js.map +1 -0
- package/dist/generator/ast/raw-expression-node.d.ts +5 -0
- package/dist/generator/ast/raw-expression-node.js +11 -0
- package/dist/generator/ast/raw-expression-node.js.map +1 -0
- package/dist/generator/ast/runtime-enum-declaration-node.d.ts +13 -0
- package/dist/generator/ast/runtime-enum-declaration-node.js +28 -0
- package/dist/generator/ast/runtime-enum-declaration-node.js.map +1 -0
- package/dist/generator/ast/statement-node.d.ts +3 -0
- package/dist/generator/ast/statement-node.js +3 -0
- package/dist/generator/ast/statement-node.js.map +1 -0
- package/dist/generator/ast/template-node.d.ts +7 -0
- package/dist/generator/ast/template-node.js +12 -0
- package/dist/generator/ast/template-node.js.map +1 -0
- package/dist/generator/ast/union-expression-node.d.ts +6 -0
- package/dist/generator/ast/union-expression-node.js +11 -0
- package/dist/generator/ast/union-expression-node.js.map +1 -0
- package/dist/generator/connection-string-parser.d.ts +24 -0
- package/dist/generator/connection-string-parser.js +94 -0
- package/dist/generator/connection-string-parser.js.map +1 -0
- package/dist/generator/constants.d.ts +1 -0
- package/dist/generator/constants.js +6 -0
- package/dist/generator/constants.js.map +1 -0
- package/dist/generator/dialect.d.ts +11 -0
- package/dist/generator/dialect.js +38 -0
- package/dist/generator/dialect.js.map +1 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.d.ts +3 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.js +8 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-adapter.js.map +1 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.d.ts +6 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js +13 -0
- package/dist/generator/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js.map +1 -0
- package/dist/generator/dialects/libsql/libsql-adapter.d.ts +3 -0
- package/dist/generator/dialects/libsql/libsql-adapter.js +8 -0
- package/dist/generator/dialects/libsql/libsql-adapter.js.map +1 -0
- package/dist/generator/dialects/libsql/libsql-dialect.d.ts +6 -0
- package/dist/generator/dialects/libsql/libsql-dialect.js +13 -0
- package/dist/generator/dialects/libsql/libsql-dialect.js.map +1 -0
- package/dist/generator/dialects/mssql/mssql-adapter.d.ts +36 -0
- package/dist/generator/dialects/mssql/mssql-adapter.js +45 -0
- package/dist/generator/dialects/mssql/mssql-adapter.js.map +1 -0
- package/dist/generator/dialects/mssql/mssql-dialect.d.ts +7 -0
- package/dist/generator/dialects/mssql/mssql-dialect.js +69 -0
- package/dist/generator/dialects/mssql/mssql-dialect.js.map +1 -0
- package/dist/generator/dialects/mysql/mysql-adapter.d.ts +58 -0
- package/dist/generator/dialects/mysql/mysql-adapter.js +80 -0
- package/dist/generator/dialects/mysql/mysql-adapter.js.map +1 -0
- package/dist/generator/dialects/mysql/mysql-dialect.d.ts +6 -0
- package/dist/generator/dialects/mysql/mysql-dialect.js +13 -0
- package/dist/generator/dialects/mysql/mysql-dialect.js.map +1 -0
- package/dist/generator/dialects/postgres/postgres-adapter.d.ts +72 -0
- package/dist/generator/dialects/postgres/postgres-adapter.js +137 -0
- package/dist/generator/dialects/postgres/postgres-adapter.js.map +1 -0
- package/dist/generator/dialects/postgres/postgres-dialect.d.ts +16 -0
- package/dist/generator/dialects/postgres/postgres-dialect.js +22 -0
- package/dist/generator/dialects/postgres/postgres-dialect.js.map +1 -0
- package/dist/generator/dialects/sqlite/sqlite-adapter.d.ts +14 -0
- package/dist/generator/dialects/sqlite/sqlite-adapter.js +22 -0
- package/dist/generator/dialects/sqlite/sqlite-adapter.js.map +1 -0
- package/dist/generator/dialects/sqlite/sqlite-dialect.d.ts +6 -0
- package/dist/generator/dialects/sqlite/sqlite-dialect.js +13 -0
- package/dist/generator/dialects/sqlite/sqlite-dialect.js.map +1 -0
- package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.d.ts +6 -0
- package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.js +13 -0
- package/dist/generator/dialects/worker-bun-sqlite/worker-bun-sqlite-dialect.js.map +1 -0
- package/dist/generator/generator/diff-checker.d.ts +4 -0
- package/dist/generator/generator/diff-checker.js +27 -0
- package/dist/generator/generator/diff-checker.js.map +1 -0
- package/dist/generator/generator/generate.d.ts +32 -0
- package/dist/generator/generator/generate.js +82 -0
- package/dist/generator/generator/generate.js.map +1 -0
- package/dist/generator/generator/runtime-enums-style.d.ts +1 -0
- package/dist/generator/generator/runtime-enums-style.js +3 -0
- package/dist/generator/generator/runtime-enums-style.js.map +1 -0
- package/dist/generator/generator/serializer.d.ts +66 -0
- package/dist/generator/generator/serializer.js +309 -0
- package/dist/generator/generator/serializer.js.map +1 -0
- package/dist/generator/generator/singularizer.d.ts +1 -0
- package/dist/generator/generator/singularizer.js +32 -0
- package/dist/generator/generator/singularizer.js.map +1 -0
- package/dist/generator/index.d.ts +50 -0
- package/dist/generator/index.js +67 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/logger/log-level.d.ts +8 -0
- package/dist/generator/logger/log-level.js +14 -0
- package/dist/generator/logger/log-level.js.map +1 -0
- package/dist/generator/logger/logger.d.ts +12 -0
- package/dist/generator/logger/logger.js +62 -0
- package/dist/generator/logger/logger.js.map +1 -0
- package/dist/generator/transformer/definitions.d.ts +18 -0
- package/dist/generator/transformer/definitions.js +44 -0
- package/dist/generator/transformer/definitions.js.map +1 -0
- package/dist/generator/transformer/identifier-style.d.ts +1 -0
- package/dist/generator/transformer/identifier-style.js +3 -0
- package/dist/generator/transformer/identifier-style.js.map +1 -0
- package/dist/generator/transformer/imports.d.ts +5 -0
- package/dist/generator/transformer/imports.js +9 -0
- package/dist/generator/transformer/imports.js.map +1 -0
- package/dist/generator/transformer/symbol-collection.d.ts +44 -0
- package/dist/generator/transformer/symbol-collection.js +59 -0
- package/dist/generator/transformer/symbol-collection.js.map +1 -0
- package/dist/generator/transformer/transformer.d.ts +33 -0
- package/dist/generator/transformer/transformer.js +311 -0
- package/dist/generator/transformer/transformer.js.map +1 -0
- package/dist/generator/utils/case-converter.d.ts +30 -0
- package/dist/generator/utils/case-converter.js +67 -0
- package/dist/generator/utils/case-converter.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/introspector/dialect.d.ts +19 -0
- package/dist/introspector/dialect.js +10 -0
- package/dist/introspector/dialect.js.map +1 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.d.ts +7 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js +56 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-dialect.js.map +1 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.d.ts +6 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.js +15 -0
- package/dist/introspector/dialects/kysely-bun-sqlite/kysely-bun-sqlite-introspector.js.map +1 -0
- package/dist/introspector/dialects/libsql/libsql-dialect.d.ts +7 -0
- package/dist/introspector/dialects/libsql/libsql-dialect.js +59 -0
- package/dist/introspector/dialects/libsql/libsql-dialect.js.map +1 -0
- package/dist/introspector/dialects/libsql/libsql-introspector.d.ts +6 -0
- package/dist/introspector/dialects/libsql/libsql-introspector.js +15 -0
- package/dist/introspector/dialects/libsql/libsql-introspector.js.map +1 -0
- package/dist/introspector/dialects/mssql/mssql-dialect.d.ts +9 -0
- package/dist/introspector/dialects/mssql/mssql-dialect.js +112 -0
- package/dist/introspector/dialects/mssql/mssql-dialect.js.map +1 -0
- package/dist/introspector/dialects/mssql/mssql-introspector.d.ts +6 -0
- package/dist/introspector/dialects/mssql/mssql-introspector.js +15 -0
- package/dist/introspector/dialects/mssql/mssql-introspector.js.map +1 -0
- package/dist/introspector/dialects/mysql/mysql-db.d.ts +8 -0
- package/dist/introspector/dialects/mysql/mysql-db.js +3 -0
- package/dist/introspector/dialects/mysql/mysql-db.js.map +1 -0
- package/dist/introspector/dialects/mysql/mysql-dialect.d.ts +8 -0
- package/dist/introspector/dialects/mysql/mysql-dialect.js +61 -0
- package/dist/introspector/dialects/mysql/mysql-dialect.js.map +1 -0
- package/dist/introspector/dialects/mysql/mysql-introspector.d.ts +14 -0
- package/dist/introspector/dialects/mysql/mysql-introspector.js +46 -0
- package/dist/introspector/dialects/mysql/mysql-introspector.js.map +1 -0
- package/dist/introspector/dialects/mysql/mysql-parser.d.ts +7 -0
- package/dist/introspector/dialects/mysql/mysql-parser.js +66 -0
- package/dist/introspector/dialects/mysql/mysql-parser.js.map +1 -0
- package/dist/introspector/dialects/postgres/date-parser.d.ts +2 -0
- package/dist/introspector/dialects/postgres/date-parser.js +5 -0
- package/dist/introspector/dialects/postgres/date-parser.js.map +1 -0
- package/dist/introspector/dialects/postgres/numeric-parser.d.ts +2 -0
- package/dist/introspector/dialects/postgres/numeric-parser.js +5 -0
- package/dist/introspector/dialects/postgres/numeric-parser.js.map +1 -0
- package/dist/introspector/dialects/postgres/postgres-db.d.ts +15 -0
- package/dist/introspector/dialects/postgres/postgres-db.js +3 -0
- package/dist/introspector/dialects/postgres/postgres-db.js.map +1 -0
- package/dist/introspector/dialects/postgres/postgres-dialect.d.ts +20 -0
- package/dist/introspector/dialects/postgres/postgres-dialect.js +83 -0
- package/dist/introspector/dialects/postgres/postgres-dialect.js.map +1 -0
- package/dist/introspector/dialects/postgres/postgres-introspector.d.ts +35 -0
- package/dist/introspector/dialects/postgres/postgres-introspector.js +128 -0
- package/dist/introspector/dialects/postgres/postgres-introspector.js.map +1 -0
- package/dist/introspector/dialects/sqlite/sqlite-dialect.d.ts +8 -0
- package/dist/introspector/dialects/sqlite/sqlite-dialect.js +53 -0
- package/dist/introspector/dialects/sqlite/sqlite-dialect.js.map +1 -0
- package/dist/introspector/dialects/sqlite/sqlite-introspector.d.ts +6 -0
- package/dist/introspector/dialects/sqlite/sqlite-introspector.js +15 -0
- package/dist/introspector/dialects/sqlite/sqlite-introspector.js.map +1 -0
- package/dist/introspector/enum-collection.d.ts +10 -0
- package/dist/introspector/enum-collection.js +26 -0
- package/dist/introspector/enum-collection.js.map +1 -0
- package/dist/introspector/index.d.ts +24 -0
- package/dist/introspector/index.js +41 -0
- package/dist/introspector/index.js.map +1 -0
- package/dist/introspector/introspector.d.ts +23 -0
- package/dist/introspector/introspector.fixtures.d.ts +4 -0
- package/dist/introspector/introspector.fixtures.js +128 -0
- package/dist/introspector/introspector.fixtures.js.map +1 -0
- package/dist/introspector/introspector.js +50 -0
- package/dist/introspector/introspector.js.map +1 -0
- package/dist/introspector/metadata/column-metadata.d.ts +23 -0
- package/dist/introspector/metadata/column-metadata.js +18 -0
- package/dist/introspector/metadata/column-metadata.js.map +1 -0
- package/dist/introspector/metadata/database-metadata.d.ts +12 -0
- package/dist/introspector/metadata/database-metadata.js +13 -0
- package/dist/introspector/metadata/database-metadata.js.map +1 -0
- package/dist/introspector/metadata/table-metadata.d.ts +17 -0
- package/dist/introspector/metadata/table-metadata.js +15 -0
- package/dist/introspector/metadata/table-metadata.js.map +1 -0
- package/dist/introspector/table-matcher.d.ts +6 -0
- package/dist/introspector/table-matcher.js +16 -0
- package/dist/introspector/table-matcher.js.map +1 -0
- package/package.json +186 -0
- package/pnpm-workspace.yaml +3 -0
- package/tsconfig.build.json +5 -0
|
@@ -0,0 +1,59 @@
|
|
|
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
|
+
exports.LibsqlIntrospectorDialect = void 0;
|
|
37
|
+
const dialect_1 = require("../../dialect");
|
|
38
|
+
const libsql_introspector_1 = require("./libsql-introspector");
|
|
39
|
+
class LibsqlIntrospectorDialect extends dialect_1.IntrospectorDialect {
|
|
40
|
+
constructor() {
|
|
41
|
+
super(...arguments);
|
|
42
|
+
this.introspector = new libsql_introspector_1.LibsqlIntrospector();
|
|
43
|
+
}
|
|
44
|
+
async createKyselyDialect(options) {
|
|
45
|
+
const { LibsqlDialect: KyselyLibsqlDialect } = await Promise.resolve().then(() => __importStar(require('@libsql/kysely-libsql')));
|
|
46
|
+
// LibSQL URLs are of the form `libsql://token@host:port/db`:
|
|
47
|
+
const url = new URL(options.connectionString);
|
|
48
|
+
if (url.username) {
|
|
49
|
+
// The token takes the place of the username in the url:
|
|
50
|
+
const token = url.username;
|
|
51
|
+
// Remove the token from the url to get a "normal" connection string:
|
|
52
|
+
url.username = '';
|
|
53
|
+
return new KyselyLibsqlDialect({ authToken: token, url: url.toString() });
|
|
54
|
+
}
|
|
55
|
+
return new KyselyLibsqlDialect({ url: options.connectionString });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.LibsqlIntrospectorDialect = LibsqlIntrospectorDialect;
|
|
59
|
+
//# sourceMappingURL=libsql-dialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libsql-dialect.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/libsql/libsql-dialect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAoD;AACpD,+DAA2D;AAE3D,MAAa,yBAA0B,SAAQ,6BAAmB;IAAlE;;QACoB,iBAAY,GAAG,IAAI,wCAAkB,EAAE,CAAC;IAsB5D,CAAC;IApBC,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,wDAC7C,uBAAuB,GACxB,CAAC;QAEF,6DAA6D;QAC7D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9C,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjB,wDAAwD;YACxD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;YAE3B,qEAAqE;YACrE,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;YAElB,OAAO,IAAI,mBAAmB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACpE,CAAC;CACF;AAvBD,8DAuBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IntrospectOptions } from '../../introspector';
|
|
2
|
+
import { Introspector } from '../../introspector';
|
|
3
|
+
import { DatabaseMetadata } from '../../metadata/database-metadata';
|
|
4
|
+
export declare class LibsqlIntrospector extends Introspector<any> {
|
|
5
|
+
introspect(options: IntrospectOptions<any>): Promise<DatabaseMetadata>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LibsqlIntrospector = void 0;
|
|
4
|
+
const enum_collection_1 = require("../../enum-collection");
|
|
5
|
+
const introspector_1 = require("../../introspector");
|
|
6
|
+
const database_metadata_1 = require("../../metadata/database-metadata");
|
|
7
|
+
class LibsqlIntrospector extends introspector_1.Introspector {
|
|
8
|
+
async introspect(options) {
|
|
9
|
+
const tables = await this.getTables(options);
|
|
10
|
+
const enums = new enum_collection_1.EnumCollection();
|
|
11
|
+
return new database_metadata_1.DatabaseMetadata({ enums, tables });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.LibsqlIntrospector = LibsqlIntrospector;
|
|
15
|
+
//# sourceMappingURL=libsql-introspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"libsql-introspector.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/libsql/libsql-introspector.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD,qDAAkD;AAClD,wEAAoE;AAEpE,MAAa,kBAAmB,SAAQ,2BAAiB;IACvD,KAAK,CAAC,UAAU,CAAC,OAA+B;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,gCAAc,EAAE,CAAC;QACnC,OAAO,IAAI,oCAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAND,gDAMC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MssqlDialect as KyselyMssqlDialect } from 'kysely';
|
|
2
|
+
import type { CreateKyselyDialectOptions } from '../../dialect';
|
|
3
|
+
import { IntrospectorDialect } from '../../dialect';
|
|
4
|
+
import { MssqlIntrospector } from './mssql-introspector';
|
|
5
|
+
export declare class MssqlIntrospectorDialect extends IntrospectorDialect {
|
|
6
|
+
#private;
|
|
7
|
+
readonly introspector: MssqlIntrospector;
|
|
8
|
+
createKyselyDialect(options: CreateKyselyDialectOptions): Promise<KyselyMssqlDialect>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
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
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
36
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
37
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
38
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
39
|
+
};
|
|
40
|
+
var _MssqlIntrospectorDialect_instances, _MssqlIntrospectorDialect_parseConnectionString;
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.MssqlIntrospectorDialect = void 0;
|
|
43
|
+
const kysely_1 = require("kysely");
|
|
44
|
+
const dialect_1 = require("../../dialect");
|
|
45
|
+
const mssql_introspector_1 = require("./mssql-introspector");
|
|
46
|
+
const DEFAULT_MSSQL_PORT = 1433;
|
|
47
|
+
class MssqlIntrospectorDialect extends dialect_1.IntrospectorDialect {
|
|
48
|
+
constructor() {
|
|
49
|
+
super(...arguments);
|
|
50
|
+
_MssqlIntrospectorDialect_instances.add(this);
|
|
51
|
+
this.introspector = new mssql_introspector_1.MssqlIntrospector();
|
|
52
|
+
}
|
|
53
|
+
async createKyselyDialect(options) {
|
|
54
|
+
const tarn = await Promise.resolve().then(() => __importStar(require('tarn')));
|
|
55
|
+
const tedious = await Promise.resolve().then(() => __importStar(require('tedious')));
|
|
56
|
+
const { database, instanceName, password, port, server, userName } = await __classPrivateFieldGet(this, _MssqlIntrospectorDialect_instances, "m", _MssqlIntrospectorDialect_parseConnectionString).call(this, options.connectionString);
|
|
57
|
+
return new kysely_1.MssqlDialect({
|
|
58
|
+
tarn: {
|
|
59
|
+
...tarn,
|
|
60
|
+
options: { min: 0, max: 1 },
|
|
61
|
+
},
|
|
62
|
+
tedious: {
|
|
63
|
+
...tedious,
|
|
64
|
+
connectionFactory: () => {
|
|
65
|
+
return new tedious.Connection({
|
|
66
|
+
authentication: {
|
|
67
|
+
options: { password, userName },
|
|
68
|
+
type: 'default',
|
|
69
|
+
},
|
|
70
|
+
options: {
|
|
71
|
+
database,
|
|
72
|
+
encrypt: options.ssl ?? true,
|
|
73
|
+
instanceName,
|
|
74
|
+
port,
|
|
75
|
+
trustServerCertificate: true,
|
|
76
|
+
},
|
|
77
|
+
server,
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.MssqlIntrospectorDialect = MssqlIntrospectorDialect;
|
|
85
|
+
_MssqlIntrospectorDialect_instances = new WeakSet(), _MssqlIntrospectorDialect_parseConnectionString =
|
|
86
|
+
/**
|
|
87
|
+
* @see https://www.connectionstrings.com/microsoft-data-sqlclient/using-a-non-standard-port/
|
|
88
|
+
*/
|
|
89
|
+
async function _MssqlIntrospectorDialect_parseConnectionString(connectionString) {
|
|
90
|
+
const { parseConnectionString } = await Promise.resolve().then(() => __importStar(require('@tediousjs/connection-string')));
|
|
91
|
+
const parsed = parseConnectionString(connectionString);
|
|
92
|
+
const tokens = parsed.server.split(',');
|
|
93
|
+
const serverAndInstance = tokens[0].split('\\');
|
|
94
|
+
const server = serverAndInstance[0];
|
|
95
|
+
const instanceName = serverAndInstance[1];
|
|
96
|
+
// Instance name and port are mutually exclusive.
|
|
97
|
+
// See https://tediousjs.github.io/tedious/api-connection.html#:~:text=options.instanceName.
|
|
98
|
+
const port = instanceName === undefined
|
|
99
|
+
? tokens[1]
|
|
100
|
+
? Number.parseInt(tokens[1], 10)
|
|
101
|
+
: DEFAULT_MSSQL_PORT
|
|
102
|
+
: undefined;
|
|
103
|
+
return {
|
|
104
|
+
database: parsed.database,
|
|
105
|
+
instanceName,
|
|
106
|
+
password: parsed.password,
|
|
107
|
+
port,
|
|
108
|
+
server,
|
|
109
|
+
userName: parsed['user id'],
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=mssql-dialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mssql-dialect.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mssql/mssql-dialect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA4D;AAE5D,2CAAoD;AACpD,6DAAyD;AAEzD,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAa,wBAAyB,SAAQ,6BAAmB;IAAjE;;;QACoB,iBAAY,GAAG,IAAI,sCAAiB,EAAE,CAAC;IAuE3D,CAAC;IAjCC,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;QAClC,MAAM,OAAO,GAAG,wDAAa,SAAS,GAAC,CAAC;QAExC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAChE,MAAM,uBAAA,IAAI,4FAAuB,MAA3B,IAAI,EAAwB,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAE9D,OAAO,IAAI,qBAAkB,CAAC;YAC5B,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;aAC5B;YACD,OAAO,EAAE;gBACP,GAAG,OAAO;gBACV,iBAAiB,EAAE,GAAG,EAAE;oBACtB,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;wBAC5B,cAAc,EAAE;4BACd,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE;4BAC/B,IAAI,EAAE,SAAS;yBAChB;wBACD,OAAO,EAAE;4BACP,QAAQ;4BACR,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,IAAI;4BAC5B,YAAY;4BACZ,IAAI;4BACJ,sBAAsB,EAAE,IAAI;yBAC7B;wBACD,MAAM;qBACP,CAAC,CAAC;gBACL,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAxED,4DAwEC;;AArEC;;GAEG;AACH,KAAK,0DAAwB,gBAAwB;IACnD,MAAM,EAAE,qBAAqB,EAAE,GAAG,wDAChC,8BAA8B,GAC/B,CAAC;IAEF,MAAM,MAAM,GAAG,qBAAqB,CAAC,gBAAgB,CAGpD,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,iBAAiB,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAE,CAAC;IACrC,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAE1C,iDAAiD;IACjD,4FAA4F;IAC5F,MAAM,IAAI,GACR,YAAY,KAAK,SAAS;QACxB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACT,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAChC,CAAC,CAAC,kBAAkB;QACtB,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAS;QAC1B,YAAY;QACZ,QAAQ,EAAE,MAAM,CAAC,QAAS;QAC1B,IAAI;QACJ,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAE;KAC7B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { IntrospectOptions } from '../../introspector';
|
|
2
|
+
import { Introspector } from '../../introspector';
|
|
3
|
+
import { DatabaseMetadata } from '../../metadata/database-metadata';
|
|
4
|
+
export declare class MssqlIntrospector extends Introspector<any> {
|
|
5
|
+
introspect(options: IntrospectOptions<any>): Promise<DatabaseMetadata>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MssqlIntrospector = void 0;
|
|
4
|
+
const enum_collection_1 = require("../../enum-collection");
|
|
5
|
+
const introspector_1 = require("../../introspector");
|
|
6
|
+
const database_metadata_1 = require("../../metadata/database-metadata");
|
|
7
|
+
class MssqlIntrospector extends introspector_1.Introspector {
|
|
8
|
+
async introspect(options) {
|
|
9
|
+
const tables = await this.getTables(options);
|
|
10
|
+
const enums = new enum_collection_1.EnumCollection();
|
|
11
|
+
return new database_metadata_1.DatabaseMetadata({ enums, tables });
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.MssqlIntrospector = MssqlIntrospector;
|
|
15
|
+
//# sourceMappingURL=mssql-introspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mssql-introspector.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mssql/mssql-introspector.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAEvD,qDAAkD;AAClD,wEAAoE;AAEpE,MAAa,iBAAkB,SAAQ,2BAAiB;IACtD,KAAK,CAAC,UAAU,CAAC,OAA+B;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,gCAAc,EAAE,CAAC;QACnC,OAAO,IAAI,oCAAgB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAND,8CAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-db.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mysql/mysql-db.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MysqlDialect as KyselyMysqlDialect } from 'kysely';
|
|
2
|
+
import type { CreateKyselyDialectOptions } from '../../dialect';
|
|
3
|
+
import { IntrospectorDialect } from '../../dialect';
|
|
4
|
+
import { MysqlIntrospector } from './mysql-introspector';
|
|
5
|
+
export declare class MysqlIntrospectorDialect extends IntrospectorDialect {
|
|
6
|
+
readonly introspector: MysqlIntrospector;
|
|
7
|
+
createKyselyDialect(options: CreateKyselyDialectOptions): Promise<KyselyMysqlDialect>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
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
|
+
exports.MysqlIntrospectorDialect = void 0;
|
|
37
|
+
const kysely_1 = require("kysely");
|
|
38
|
+
const dialect_1 = require("../../dialect");
|
|
39
|
+
const mysql_introspector_1 = require("./mysql-introspector");
|
|
40
|
+
class MysqlIntrospectorDialect extends dialect_1.IntrospectorDialect {
|
|
41
|
+
constructor() {
|
|
42
|
+
super(...arguments);
|
|
43
|
+
this.introspector = new mysql_introspector_1.MysqlIntrospector();
|
|
44
|
+
}
|
|
45
|
+
async createKyselyDialect(options) {
|
|
46
|
+
const { createPool } = await Promise.resolve().then(() => __importStar(require('mysql2')));
|
|
47
|
+
return new kysely_1.MysqlDialect({
|
|
48
|
+
pool: createPool({
|
|
49
|
+
uri: options.connectionString,
|
|
50
|
+
typeCast(field, next) {
|
|
51
|
+
if (field.type === 'TINY' && field.length === 1) {
|
|
52
|
+
return field.string() === '1';
|
|
53
|
+
}
|
|
54
|
+
return next();
|
|
55
|
+
},
|
|
56
|
+
}),
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.MysqlIntrospectorDialect = MysqlIntrospectorDialect;
|
|
61
|
+
//# sourceMappingURL=mysql-dialect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-dialect.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mysql/mysql-dialect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAA4D;AAE5D,2CAAoD;AACpD,6DAAyD;AAEzD,MAAa,wBAAyB,SAAQ,6BAAmB;IAAjE;;QACoB,iBAAY,GAAG,IAAI,sCAAiB,EAAE,CAAC;IAiB3D,CAAC;IAfC,KAAK,CAAC,mBAAmB,CAAC,OAAmC;QAC3D,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,QAAQ,GAAC,CAAC;QAE9C,OAAO,IAAI,qBAAkB,CAAC;YAC5B,IAAI,EAAE,UAAU,CAAC;gBACf,GAAG,EAAE,OAAO,CAAC,gBAAgB;gBAC7B,QAAQ,CAAC,KAAK,EAAE,IAAI;oBAClB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAChD,OAAO,KAAK,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;oBAChC,CAAC;oBACD,OAAO,IAAI,EAAE,CAAC;gBAChB,CAAC;aACF,CAAC;SACH,CAAC,CAAC;IACL,CAAC;CACF;AAlBD,4DAkBC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Kysely, TableMetadata as KyselyTableMetadata } from 'kysely';
|
|
2
|
+
import { EnumCollection } from '../../enum-collection';
|
|
3
|
+
import type { IntrospectOptions } from '../../introspector';
|
|
4
|
+
import { Introspector } from '../../introspector';
|
|
5
|
+
import { DatabaseMetadata } from '../../metadata/database-metadata';
|
|
6
|
+
import type { MysqlDB } from './mysql-db';
|
|
7
|
+
export declare class MysqlIntrospector extends Introspector<MysqlDB> {
|
|
8
|
+
createDatabaseMetadata({ enums, tables: rawTables, }: {
|
|
9
|
+
enums: EnumCollection;
|
|
10
|
+
tables: KyselyTableMetadata[];
|
|
11
|
+
}): DatabaseMetadata;
|
|
12
|
+
introspect(options: IntrospectOptions<MysqlDB>): Promise<DatabaseMetadata>;
|
|
13
|
+
introspectEnums(db: Kysely<MysqlDB>): Promise<EnumCollection>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MysqlIntrospector = void 0;
|
|
4
|
+
const enum_collection_1 = require("../../enum-collection");
|
|
5
|
+
const introspector_1 = require("../../introspector");
|
|
6
|
+
const database_metadata_1 = require("../../metadata/database-metadata");
|
|
7
|
+
const mysql_parser_1 = require("./mysql-parser");
|
|
8
|
+
const ENUM_REGEXP = /^enum\(.*\)$/;
|
|
9
|
+
class MysqlIntrospector extends introspector_1.Introspector {
|
|
10
|
+
createDatabaseMetadata({ enums, tables: rawTables, }) {
|
|
11
|
+
const tables = rawTables.map((table) => ({
|
|
12
|
+
...table,
|
|
13
|
+
columns: table.columns.map((column) => ({
|
|
14
|
+
...column,
|
|
15
|
+
enumValues: column.dataType === 'enum'
|
|
16
|
+
? enums.get(`${table.schema ?? ''}.${table.name}.${column.name}`)
|
|
17
|
+
: null,
|
|
18
|
+
})),
|
|
19
|
+
}));
|
|
20
|
+
return new database_metadata_1.DatabaseMetadata({ tables });
|
|
21
|
+
}
|
|
22
|
+
async introspect(options) {
|
|
23
|
+
const tables = await this.getTables(options);
|
|
24
|
+
const enums = await this.introspectEnums(options.db);
|
|
25
|
+
return this.createDatabaseMetadata({ enums, tables });
|
|
26
|
+
}
|
|
27
|
+
async introspectEnums(db) {
|
|
28
|
+
const enums = new enum_collection_1.EnumCollection();
|
|
29
|
+
const rows = await db
|
|
30
|
+
.withoutPlugins()
|
|
31
|
+
.selectFrom('information_schema.COLUMNS')
|
|
32
|
+
.select(['COLUMN_NAME', 'COLUMN_TYPE', 'TABLE_NAME', 'TABLE_SCHEMA'])
|
|
33
|
+
.execute();
|
|
34
|
+
for (const row of rows) {
|
|
35
|
+
if (ENUM_REGEXP.test(row.COLUMN_TYPE)) {
|
|
36
|
+
const key = `${row.TABLE_SCHEMA}.${row.TABLE_NAME}.${row.COLUMN_NAME}`;
|
|
37
|
+
const parser = new mysql_parser_1.MysqlParser(row.COLUMN_TYPE);
|
|
38
|
+
const values = parser.parseEnum();
|
|
39
|
+
enums.set(key, values);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return enums;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MysqlIntrospector = MysqlIntrospector;
|
|
46
|
+
//# sourceMappingURL=mysql-introspector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-introspector.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mysql/mysql-introspector.ts"],"names":[],"mappings":";;;AACA,2DAAuD;AAEvD,qDAAkD;AAClD,wEAAoE;AAEpE,iDAA6C;AAE7C,MAAM,WAAW,GAAG,cAAc,CAAC;AAEnC,MAAa,iBAAkB,SAAQ,2BAAqB;IAC1D,sBAAsB,CAAC,EACrB,KAAK,EACL,MAAM,EAAE,SAAS,GAIlB;QACC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,KAAK;YACR,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACtC,GAAG,MAAM;gBACT,UAAU,EACR,MAAM,CAAC,QAAQ,KAAK,MAAM;oBACxB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACjE,CAAC,CAAC,IAAI;aACX,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QACJ,OAAO,IAAI,oCAAgB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAmC;QAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAmB;QACvC,MAAM,KAAK,GAAG,IAAI,gCAAc,EAAE,CAAC;QAEnC,MAAM,IAAI,GAAG,MAAM,EAAE;aAClB,cAAc,EAAE;aAChB,UAAU,CAAC,4BAA4B,CAAC;aACxC,MAAM,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;aACpE,OAAO,EAAE,CAAC;QAEb,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACtC,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBACvE,MAAM,MAAM,GAAG,IAAI,0BAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;gBAClC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA/CD,8CA+CC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var _MysqlParser_instances, _MysqlParser_consume, _MysqlParser_createSyntaxError, _MysqlParser_parseEnumBody, _MysqlParser_parseEnumValue;
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MysqlParser = void 0;
|
|
10
|
+
class MysqlParser {
|
|
11
|
+
constructor(data) {
|
|
12
|
+
_MysqlParser_instances.add(this);
|
|
13
|
+
this.data = '';
|
|
14
|
+
this.index = 0;
|
|
15
|
+
this.data = data;
|
|
16
|
+
}
|
|
17
|
+
parseEnum() {
|
|
18
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, 'e');
|
|
19
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, 'n');
|
|
20
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, 'u');
|
|
21
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, 'm');
|
|
22
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, '(');
|
|
23
|
+
const enums = __classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_parseEnumBody).call(this);
|
|
24
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, ')');
|
|
25
|
+
return enums;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.MysqlParser = MysqlParser;
|
|
29
|
+
_MysqlParser_instances = new WeakSet(), _MysqlParser_consume = function _MysqlParser_consume(character) {
|
|
30
|
+
if (this.data[this.index] !== character) {
|
|
31
|
+
throw __classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_createSyntaxError).call(this);
|
|
32
|
+
}
|
|
33
|
+
this.index++;
|
|
34
|
+
}, _MysqlParser_createSyntaxError = function _MysqlParser_createSyntaxError() {
|
|
35
|
+
const character = JSON.stringify(this.data[this.index]) ?? 'EOF';
|
|
36
|
+
return new SyntaxError(`Unexpected character ${character} at index ${this.index}`);
|
|
37
|
+
}, _MysqlParser_parseEnumBody = function _MysqlParser_parseEnumBody() {
|
|
38
|
+
const enums = [];
|
|
39
|
+
while (this.index < this.data.length && this.data[this.index] !== ')') {
|
|
40
|
+
if (enums.length > 0) {
|
|
41
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, ',');
|
|
42
|
+
}
|
|
43
|
+
const value = __classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_parseEnumValue).call(this);
|
|
44
|
+
enums.push(value);
|
|
45
|
+
}
|
|
46
|
+
return enums;
|
|
47
|
+
}, _MysqlParser_parseEnumValue = function _MysqlParser_parseEnumValue() {
|
|
48
|
+
let value = '';
|
|
49
|
+
__classPrivateFieldGet(this, _MysqlParser_instances, "m", _MysqlParser_consume).call(this, "'");
|
|
50
|
+
while (this.index < this.data.length) {
|
|
51
|
+
if (this.data[this.index] === "'") {
|
|
52
|
+
this.index++;
|
|
53
|
+
if (this.data[this.index] === "'") {
|
|
54
|
+
value += this.data[this.index++];
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
value += this.data[this.index++];
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=mysql-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mysql-parser.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/mysql/mysql-parser.ts"],"names":[],"mappings":";;;;;;;;;AAAA,MAAa,WAAW;IAItB,YAAY,IAAY;;QAHxB,SAAI,GAAG,EAAE,CAAC;QACV,UAAK,GAAG,CAAC,CAAC;QAGR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAsDD,SAAS;QACP,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QACnB,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QACnB,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QACnB,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QACnB,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,KAAK,GAAG,uBAAA,IAAI,0DAAe,MAAnB,IAAI,CAAiB,CAAC;QAEpC,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QAEnB,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAzED,kCAyEC;6FAjEU,SAAiB;IACxB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,uBAAA,IAAI,8DAAmB,MAAvB,IAAI,CAAqB,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,CAAC;IAGC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC;IACjE,OAAO,IAAI,WAAW,CACpB,wBAAwB,SAAS,aAAa,IAAI,CAAC,KAAK,EAAE,CAC3D,CAAC;AACJ,CAAC;IAGC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,KAAK,GAAG,uBAAA,IAAI,2DAAgB,MAApB,IAAI,CAAkB,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;IAGC,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,uBAAA,IAAI,oDAAS,MAAb,IAAI,EAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YAEb,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBAClC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnC,CAAC;iBAAM,CAAC;gBACN,MAAM;YACR,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-parser.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/postgres/date-parser.ts"],"names":[],"mappings":";;;AAEa,QAAA,mBAAmB,GAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-parser.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/postgres/numeric-parser.ts"],"names":[],"mappings":";;;AAEa,QAAA,sBAAsB,GAAkB,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgres-db.js","sourceRoot":"","sources":["../../../../src/introspector/dialects/postgres/postgres-db.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PostgresDialect as KyselyPostgresDialect } from 'kysely';
|
|
2
|
+
import type { CreateKyselyDialectOptions } from '../../dialect';
|
|
3
|
+
import { IntrospectorDialect } from '../../dialect';
|
|
4
|
+
import type { DateParser } from './date-parser';
|
|
5
|
+
import type { NumericParser } from './numeric-parser';
|
|
6
|
+
import { PostgresIntrospector } from './postgres-introspector';
|
|
7
|
+
type PostgresDialectOptions = {
|
|
8
|
+
dateParser?: DateParser;
|
|
9
|
+
defaultSchemas?: string[];
|
|
10
|
+
domains?: boolean;
|
|
11
|
+
numericParser?: NumericParser;
|
|
12
|
+
partitions?: boolean;
|
|
13
|
+
};
|
|
14
|
+
export declare class PostgresIntrospectorDialect extends IntrospectorDialect {
|
|
15
|
+
protected readonly options: PostgresDialectOptions;
|
|
16
|
+
readonly introspector: PostgresIntrospector;
|
|
17
|
+
constructor(options?: PostgresDialectOptions);
|
|
18
|
+
createKyselyDialect(options: CreateKyselyDialectOptions): Promise<KyselyPostgresDialect>;
|
|
19
|
+
}
|
|
20
|
+
export {};
|