typeorm
Version:
Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.
54 lines (52 loc) • 2.2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var MissingDriverError_1 = require("../error/MissingDriverError");
var MongoDriver_1 = require("./mongodb/MongoDriver");
var SqlServerDriver_1 = require("./sqlserver/SqlServerDriver");
var OracleDriver_1 = require("./oracle/OracleDriver");
var SqliteDriver_1 = require("./sqlite/SqliteDriver");
var CordovaDriver_1 = require("./cordova/CordovaDriver");
var ReactNativeDriver_1 = require("./react-native/ReactNativeDriver");
var SqljsDriver_1 = require("./sqljs/SqljsDriver");
var MysqlDriver_1 = require("./mysql/MysqlDriver");
var PostgresDriver_1 = require("./postgres/PostgresDriver");
/**
* Helps to create drivers.
*/
var DriverFactory = /** @class */ (function () {
function DriverFactory() {
}
/**
* Creates a new driver depend on a given connection's driver type.
*/
DriverFactory.prototype.create = function (connection) {
var type = connection.options.type;
switch (type) {
case "mysql":
return new MysqlDriver_1.MysqlDriver(connection);
case "postgres":
return new PostgresDriver_1.PostgresDriver(connection);
case "mariadb":
return new MysqlDriver_1.MysqlDriver(connection);
case "sqlite":
return new SqliteDriver_1.SqliteDriver(connection);
case "cordova":
return new CordovaDriver_1.CordovaDriver(connection);
case "react-native":
return new ReactNativeDriver_1.ReactNativeDriver(connection);
case "sqljs":
return new SqljsDriver_1.SqljsDriver(connection);
case "oracle":
return new OracleDriver_1.OracleDriver(connection);
case "mssql":
return new SqlServerDriver_1.SqlServerDriver(connection);
case "mongodb":
return new MongoDriver_1.MongoDriver(connection);
default:
throw new MissingDriverError_1.MissingDriverError(type);
}
};
return DriverFactory;
}());
exports.DriverFactory = DriverFactory;
//# sourceMappingURL=DriverFactory.js.map