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
JavaScript
;
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;