mirror of
https://github.com/dbgate/dbgate
synced 2024-11-08 04:35:58 +00:00
26 lines
565 B
JavaScript
26 lines
565 B
JavaScript
const _ = require("lodash");
|
|
const mssql = require("./mssql");
|
|
const mysql = require("./mysql");
|
|
const postgres = require("./postgres");
|
|
|
|
const drivers = {
|
|
mssql,
|
|
mysql,
|
|
postgres
|
|
};
|
|
|
|
/** @type {import('@dbgate/types').EngineDriver} */
|
|
function getDriver(connection) {
|
|
if (_.isString(connection)) {
|
|
return drivers[connection];
|
|
}
|
|
if (_.isPlainObject(connection)) {
|
|
const { engine } = connection;
|
|
if (engine) {
|
|
return drivers[engine];
|
|
}
|
|
}
|
|
throw new Error(`Cannot extract engine from ${connection}`);
|
|
}
|
|
module.exports = getDriver;
|