@sentzunhat/zacatl
Version:
A modular, high-performance TypeScript microservice framework for Node.js, featuring layered architecture, dependency injection, and robust validation for building scalable APIs and distributed systems.
32 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDatabaseAdapter = exports.SqliteAdapter = exports.SequelizeAdapter = exports.MongooseAdapter = void 0;
var mongoose_1 = require("./mongoose");
Object.defineProperty(exports, "MongooseAdapter", { enumerable: true, get: function () { return mongoose_1.MongooseAdapter; } });
var sequelize_1 = require("./sequelize");
Object.defineProperty(exports, "SequelizeAdapter", { enumerable: true, get: function () { return sequelize_1.SequelizeAdapter; } });
var sqlite_1 = require("./sqlite");
Object.defineProperty(exports, "SqliteAdapter", { enumerable: true, get: function () { return sqlite_1.SqliteAdapter; } });
const error_1 = require("../../../../../error/index.js");
const mongoose_2 = require("./mongoose");
const port_1 = require("../port");
const sequelize_2 = require("./sequelize");
const sqlite_2 = require("./sqlite");
const createDatabaseAdapter = (vendor) => {
switch (vendor) {
case port_1.DatabaseVendor.MONGOOSE:
return new mongoose_2.MongooseAdapter();
case port_1.DatabaseVendor.SEQUELIZE:
return new sequelize_2.SequelizeAdapter();
case port_1.DatabaseVendor.SQLITE:
return new sqlite_2.SqliteAdapter();
default:
throw new error_1.CustomError({
message: `Unsupported database vendor: ${vendor}`,
code: 500,
reason: 'database vendor not supported',
});
}
};
exports.createDatabaseAdapter = createDatabaseAdapter;
//# sourceMappingURL=index.js.map