diff --git a/index.js b/index.js new file mode 100644 index 00000000..559a3666 --- /dev/null +++ b/index.js @@ -0,0 +1,34 @@ +'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 diff --git a/lib/.gitignore b/lib/.gitignore index 6907100d..c0c3bcda 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -5,6 +5,3 @@ # Do not include tsc source maps **/*.js.map - -# Do not include .js files from .ts files -dialects/index.js diff --git a/lib/dialects/index.js b/lib/dialects/index.js new file mode 100644 index 00000000..559a3666 --- /dev/null +++ b/lib/dialects/index.js @@ -0,0 +1,34 @@ +'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 diff --git a/lib/dialects/postgres/index.js b/lib/dialects/postgres/index.js index 4a968da6..8b73cbbd 100644 --- a/lib/dialects/postgres/index.js +++ b/lib/dialects/postgres/index.js @@ -194,7 +194,8 @@ class Client_PG extends Client { return new Promise(function (resolver, rejecter) { const queryStream = connection.query( - new PGQueryStream(sql, obj.bindings, options), err => { + new PGQueryStream(sql, obj.bindings, options), + (err) => { rejecter(err); } );