UNPKG

@ifit/mongoose-dao

Version:

Mongo helper methods for working with data in a DAO or repository pattern

32 lines 1.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.connectToMongo = exports.MongoConnectionState = exports.defaultOptions = void 0; const mongoose = require("mongoose"); mongoose.Promise = global.Promise; exports.defaultOptions = { poolSize: 3, }; var MongoConnectionState; (function (MongoConnectionState) { MongoConnectionState[MongoConnectionState["Disconnected"] = 0] = "Disconnected"; MongoConnectionState[MongoConnectionState["Connected"] = 1] = "Connected"; MongoConnectionState[MongoConnectionState["Connecting"] = 2] = "Connecting"; MongoConnectionState[MongoConnectionState["Disconnecting"] = 3] = "Disconnecting"; })(MongoConnectionState || (exports.MongoConnectionState = MongoConnectionState = {})); const defaultReplacePattern = "%%auth%%"; async function connectToMongo(connection) { const { mongoUri, mongoAuth, replacePattern, options } = Object.assign(Object.assign({ mongoUri: process.env.MONGO_URI, mongoAuth: process.env.MONGO_AUTH, replacePattern: defaultReplacePattern }, connection), { options: Object.assign(Object.assign({}, exports.defaultOptions), (connection && connection.options ? connection.options : null)) }); if (typeof mongoUri === "undefined") { throw new Error("mongoUri is undefined"); } if (typeof mongoAuth === "undefined") { throw new Error("mongoAuth is undefined"); } if (mongoose.connection.readyState === MongoConnectionState.Disconnected) { const uris = replacePattern ? mongoUri.replace(replacePattern, mongoAuth) : mongoUri; await mongoose.connect(uris, options); } return mongoose.connection.readyState; } exports.connectToMongo = connectToMongo; //# sourceMappingURL=mongo-connect.js.map