@josselinesanchez/data-base-connector
Version:
Conector de base de datos simple y escalable con soporte para MongoDB, escrito en **TypeScript**, usando patrón **Factory** y **Singleton**.
43 lines (42 loc) • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MongoConnector = void 0;
const mongoose_1 = __importDefault(require("mongoose"));
class MongoConnector {
constructor() {
this.isConnected = false;
}
static getInstance() {
if (!MongoConnector.instance) {
MongoConnector.instance = new MongoConnector();
}
return MongoConnector.instance;
}
async connect(uri, options = {}) {
if (this.isConnected)
return;
try {
await mongoose_1.default.connect(uri, options);
this.isConnected = true;
console.log('✔️ MongoDB connected');
}
catch (error) {
console.error('❌ MongoDB connection error:', error);
throw error;
}
}
async disconnect() {
if (!this.isConnected)
return;
await mongoose_1.default.disconnect();
this.isConnected = false;
console.log('MongoDB disconnected');
}
getConnection() {
return mongoose_1.default.connection;
}
}
exports.MongoConnector = MongoConnector;