34 lines
1.3 KiB
JavaScript
34 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.getDialectByNameOrAlias = void 0;
|
|
const { resolveClientNameWithAliases } = require('../util/helpers');
|
|
const dbNameToDialectLoader = Object.freeze({
|
|
'better-sqlite3': () => require('./better-sqlite3'),
|
|
cockroachdb: () => require('./cockroachdb'),
|
|
mssql: () => require('./mssql'),
|
|
mysql: () => require('./mysql'),
|
|
mysql2: () => require('./mysql2'),
|
|
oracle: () => require('./oracle'),
|
|
oracledb: () => require('./oracledb'),
|
|
pgnative: () => require('./pgnative'),
|
|
postgres: () => require('./postgres'),
|
|
redshift: () => require('./redshift'),
|
|
sqlite3: () => require('./sqlite3'),
|
|
});
|
|
/**
|
|
* Gets the Dialect object with the given client name or throw an
|
|
* error if not found.
|
|
*
|
|
* NOTE: This is a replacement for prior practice of doing dynamic
|
|
* string construction for imports of Dialect objects.
|
|
*/
|
|
function getDialectByNameOrAlias(clientName) {
|
|
const resolvedClientName = resolveClientNameWithAliases(clientName);
|
|
const dialectLoader = dbNameToDialectLoader[resolvedClientName];
|
|
if (!dialectLoader) {
|
|
throw new Error(`Invalid clientName given: ${clientName}`);
|
|
}
|
|
return dialectLoader();
|
|
}
|
|
exports.getDialectByNameOrAlias = getDialectByNameOrAlias;
|
|
//# sourceMappingURL=index.js.map
|