dynamic-record
Version:
A bare minimum Javascript implementation of the Active Record pattern
54 lines (53 loc) • 2.29 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createConnection = void 0;
const mongodb_1 = require("mongodb");
const constants = require("../../tools/_constants");
function createConnection(url) {
return __awaiter(this, void 0, void 0, function* () {
const client = new mongodb_1.MongoClient(url, {
maxPoolSize: 10
});
const connection = client.connect();
return connection.then((client) => {
const db = client.db();
return Promise.resolve({ db, client });
});
});
}
exports.createConnection = createConnection;
// const databaseURIRegex = constants.databaseRegex;
// const regexResult = _.clone(process.env.database_host.match(databaseURIRegex).groups);
// if(!regexResult.username){
// regexResult.username = process.env.database_username;
// }
// if(!regexResult.password){
// regexResult.password = process.env.database_password;
// }
// if(regexResult.port){
// regexResult.port = `:${regexResult.port}`;
// }
// if(!regexResult.database){
// regexResult.database = process.env.database_name;
// }
// if(!regexResult.options){
// regexResult.options = "";
// }
// const url = `${regexResult.schema}://${regexResult.username}:${regexResult.password}@${regexResult.host}${regexResult.port || ""}/${regexResult.database}?${regexResult.options}`;
// const client = new MongoClient(url, {
// maxPoolSize: 10
// });
// const connection = client.connect();
// export default connection.then((client) => {
// const db = client.db();
// return Promise.resolve({db, client});
// });