@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.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createDatabaseAdapter = exports.SqliteAdapter = exports.SequelizeAdapter = exports.MongooseAdapter = void 0;
var mongoose_adapter_1 = require("./mongoose-adapter");
Object.defineProperty(exports, "MongooseAdapter", { enumerable: true, get: function () { return mongoose_adapter_1.MongooseAdapter; } });
var sequelize_adapter_1 = require("./sequelize-adapter");
Object.defineProperty(exports, "SequelizeAdapter", { enumerable: true, get: function () { return sequelize_adapter_1.SequelizeAdapter; } });
var sqlite_adapter_1 = require("./sqlite-adapter");
Object.defineProperty(exports, "SqliteAdapter", { enumerable: true, get: function () { return sqlite_adapter_1.SqliteAdapter; } });
const error_1 = require("../../../../error/index.js");
const mongoose_adapter_2 = require("./mongoose-adapter");
const port_1 = require("./port");
const sequelize_adapter_2 = require("./sequelize-adapter");
const sqlite_adapter_2 = require("./sqlite-adapter");
const createDatabaseAdapter = (vendor) => {
switch (vendor) {
case port_1.DatabaseVendor.MONGOOSE:
return new mongoose_adapter_2.MongooseAdapter();
case port_1.DatabaseVendor.SEQUELIZE:
return new sequelize_adapter_2.SequelizeAdapter();
case port_1.DatabaseVendor.SQLITE:
return new sqlite_adapter_2.SqliteAdapter();
default:
throw new error_1.CustomError({
message: `Unsupported database vendor: ${vendor}`,
code: 500,
reason: 'database vendor not supported',
});
}
};
exports.createDatabaseAdapter = createDatabaseAdapter;
//# sourceMappingURL=adapters.js.map