UNPKG

@angstone/monostone

Version:

monolitic event-sourced framework

56 lines 2.25 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { 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) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); // It is recommended to use the Container component in Node.js const mongodb = require("mongodb"); const mongoOptions = { db: process.env.MONGO_DATABASE || "dev", host: process.env.MONGO_HOST || "localhost", password: process.env.MONGO_PASSWORD || "password", poolSize: +(process.env.POOL_SIZE || 10), port: "" + (process.env.MONGO_PORT || 27017), // ssl: process.env.MONGO_USE_SSL || "false", user: process.env.MONGO_USER || "admin", }; // Connection URL const url = "mongodb://" + mongoOptions.user + ":" + mongoOptions.password + "@" + mongoOptions.host + ":" + mongoOptions.port; class IStoreState { } const storeState = { mongoClient: undefined, db: undefined, }; // Create the db connection const connectStore = () => __awaiter(this, void 0, void 0, function* () { storeState.mongoClient = yield mongodb.MongoClient.connect(url, { poolSize: mongoOptions.poolSize, }).then((client) => { storeState.db = client.db(mongoOptions.db); return client; }); }); exports.connectStore = connectStore; const closeStore = () => __awaiter(this, void 0, void 0, function* () { if (storeState.mongoClient) { yield storeState.mongoClient.close(); } }); exports.closeStore = closeStore; const dbname = mongoOptions.db; exports.dbname = dbname; const db = () => storeState.db || new mongodb.Db('shit', new mongodb.Server('neverhost', 666)); exports.db = db; const mongoClient = () => storeState.mongoClient; exports.mongoClient = mongoClient; //# sourceMappingURL=store.js.map