import MongoDB = require("mongodb"); import BluebirdPromise = require("bluebird"); import { IMongoClient } from "./IMongoClient"; import { IMongoConnector } from "./IMongoConnector"; import { MongoClient } from "./MongoClient"; export class MongoConnector implements IMongoConnector { private url: string; constructor(url: string) { this.url = url; } connect(): BluebirdPromise<IMongoClient> { const connectAsync = BluebirdPromise.promisify(MongoDB.MongoClient.connect); return connectAsync(this.url) .then(function (db: MongoDB.Db) { return BluebirdPromise.resolve(new MongoClient(db)); }); } }