UNPKG

zing-orm

Version:
73 lines 4.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DriverFactory = void 0; const OracleDriver_1 = require("./oracle/OracleDriver"); const MssqlDriver_1 = require("./mssql/MssqlDriver"); const ArangodbDriver_1 = require("./arangodb/ArangodbDriver"); const DriverParams_1 = require("./types/DriverParams"); const JoiUtils_1 = require("../util/JoiUtils"); /** * Helps to create drivers. */ class DriverFactory { /** * Creates a new driver depend on a given connection's driver type. */ static async create(options) { let type; try { await JoiUtils_1.JoiUtils.checkParams(DriverParams_1.OptionsParamsSchema, options); type = options.type; switch (type) { // case "mysql": // return new MysqlDriver(connection); // case "postgres": // return new PostgresDriver(connection); // case "cockroachdb": // return new CockroachDriver(connection); // case "sap": // return new SapDriver(connection); // case "mariadb": // return new MysqlDriver(connection); // case "sqlite": // return new SqliteDriver(connection); // case "better-sqlite3": // return new BetterSqlite3Driver(connection); // case "cordova": // return new CordovaDriver(connection); // case "nativescript": // return new NativescriptDriver(connection); // case "react-native": // return new ReactNativeDriver(connection); // case "sqljs": // return new SqljsDriver(connection); case "mssql": return new MssqlDriver_1.MssqlDriver(); case "oracle": return new OracleDriver_1.OracleDriver(); case "arangodb": return new ArangodbDriver_1.ArangodbDriver(); // case "mssql": // return new SqlServerDriver(connection); // case "mongodb": // return new MongoDriver(connection); // case "expo": // return new ExpoDriver(connection); // case "aurora-data-api": // return new AuroraDataApiDriver(connection); // case "aurora-data-api-pg": // return new AuroraDataApiPostgresDriver(connection); // case "capacitor": // return new CapacitorDriver(connection); default: throw new Error(`${type} driver is not found!`); } } catch (err) { //todo console.error(`DriverFactory create ${type} driver 失败!!!`, err); } } } exports.DriverFactory = DriverFactory; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHJpdmVyRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIkRyaXZlckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsd0RBQXFEO0FBQ3JELHFEQUFrRDtBQUNsRCw4REFBMkQ7QUFFM0QsdURBQTBFO0FBQzFFLCtDQUE0QztBQUU1Qzs7R0FFRztBQUNILE1BQWEsYUFBYTtJQUV0Qjs7T0FFRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQXNCO1FBQ3RDLElBQUksSUFBWSxDQUFDO1FBQ2pCLElBQUk7WUFDQSxNQUFNLG1CQUFRLENBQUMsV0FBVyxDQUFDLGtDQUFtQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3pELElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFFBQVEsSUFBSSxFQUFFO2dCQUNWLGdCQUFnQjtnQkFDaEIsMENBQTBDO2dCQUMxQyxtQkFBbUI7Z0JBQ25CLDZDQUE2QztnQkFDN0Msc0JBQXNCO2dCQUN0Qiw4Q0FBOEM7Z0JBQzlDLGNBQWM7Z0JBQ2Qsd0NBQXdDO2dCQUN4QyxrQkFBa0I7Z0JBQ2xCLDBDQUEwQztnQkFDMUMsaUJBQWlCO2dCQUNqQiwyQ0FBMkM7Z0JBQzNDLHlCQUF5QjtnQkFDekIsa0RBQWtEO2dCQUNsRCxrQkFBa0I7Z0JBQ2xCLDRDQUE0QztnQkFDNUMsdUJBQXVCO2dCQUN2QixpREFBaUQ7Z0JBQ2pELHVCQUF1QjtnQkFDdkIsZ0RBQWdEO2dCQUNoRCxnQkFBZ0I7Z0JBQ2hCLDBDQUEwQztnQkFDMUMsS0FBSyxPQUFPO29CQUNSLE9BQU8sSUFBSSx5QkFBVyxFQUFFLENBQUM7Z0JBQzdCLEtBQUssUUFBUTtvQkFDVCxPQUFPLElBQUksMkJBQVksRUFBRSxDQUFDO2dCQUM5QixLQUFLLFVBQVU7b0JBQ1gsT0FBTyxJQUFJLCtCQUFjLEVBQUUsQ0FBQztnQkFDaEMsZ0JBQWdCO2dCQUNoQiw4Q0FBOEM7Z0JBQzlDLGtCQUFrQjtnQkFDbEIsMENBQTBDO2dCQUMxQyxlQUFlO2dCQUNmLHlDQUF5QztnQkFDekMsMEJBQTBCO2dCQUMxQixrREFBa0Q7Z0JBQ2xELDZCQUE2QjtnQkFDN0IsMERBQTBEO2dCQUMxRCxvQkFBb0I7Z0JBQ3BCLDhDQUE4QztnQkFDOUM7b0JBQ0ksTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLElBQUksdUJBQXVCLENBQUMsQ0FBQzthQUN2RDtTQUNKO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDVixNQUFNO1lBQ04sT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDbkU7SUFDTCxDQUFDO0NBRUo7QUE1REQsc0NBNERDIn0=