UNPKG

thaw-argon-promisified-mongodb

Version:

A promisified TypeScript interface to MongoDB intended for Node.js lts/argon (version 4.9.1) and WINDOWS XP ONLY.

35 lines (34 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createConnection = void 0; var mongodb_1 = require("mongodb"); var thaw_argon_promisify_1 = require("thaw-argon-promisify"); var collection_1 = require("./collection"); var PromisifiedConnection = /** @class */ (function () { function PromisifiedConnection(connection) { this.connection = connection; } PromisifiedConnection.prototype.destroy = function () { if (typeof this.connection !== 'undefined') { this.connection.close(); this.connection = undefined; } }; PromisifiedConnection.prototype.getCollection = function (databaseName, collectionName) { if (typeof this.connection === 'undefined') { throw new Error('getCollection() : The connection has already been destroyed'); } return collection_1.createCollection(this.connection, databaseName, collectionName); }; return PromisifiedConnection; }()); function createConnection(server, port, databaseName) { var databaseUrl = "mongodb://" + server + ":" + port + "/" + databaseName; var options = {}; return thaw_argon_promisify_1.promisify(mongodb_1.MongoClient.connect, mongodb_1.MongoClient)(databaseUrl, options).then(function (client) { // Promise.resolve(new PromisifiedConnection(client)) // This works return new PromisifiedConnection(client); } // This works too ); } exports.createConnection = createConnection;