mirror of
https://github.com/dbgate/dbgate
synced 2024-11-08 04:35:58 +00:00
26 lines
566 B
JavaScript
26 lines
566 B
JavaScript
const _ = require("lodash");
|
|
const mssql = require('./mssql');
|
|
const mysql = require('./mysql');
|
|
const postgres = require('./postgres');
|
|
|
|
const drivers = {
|
|
mssql,
|
|
mysql,
|
|
postgres,
|
|
}
|
|
|
|
/** @return {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;
|