@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.
25 lines • 1.08 kB
JavaScript
export { MongooseAdapter } from './mongoose-adapter.js';
export { SequelizeAdapter } from './sequelize-adapter.js';
export { SqliteAdapter } from './sqlite-adapter.js';
import { CustomError } from '../../../../error/index.js';
import { MongooseAdapter as _MongooseAdapter } from './mongoose-adapter.js';
import { DatabaseVendor } from './port.js';
import { SequelizeAdapter as _SequelizeAdapter } from './sequelize-adapter.js';
import { SqliteAdapter as _SqliteAdapter } from './sqlite-adapter.js';
export const createDatabaseAdapter = (vendor) => {
switch (vendor) {
case DatabaseVendor.MONGOOSE:
return new _MongooseAdapter();
case DatabaseVendor.SEQUELIZE:
return new _SequelizeAdapter();
case DatabaseVendor.SQLITE:
return new _SqliteAdapter();
default:
throw new CustomError({
message: `Unsupported database vendor: ${vendor}`,
code: 500,
reason: 'database vendor not supported',
});
}
};
//# sourceMappingURL=adapters.js.map