Skip to content
Snippets Groups Projects
Commit 13d478bc authored by Hossam Fares's avatar Hossam Fares
Browse files

Merge pull request #2 from namshi/remove-bluebird

Use `q` instead of `bluebird`
parents 63fd6a95 e14bef8b
No related branches found
No related tags found
No related merge requests found
......@@ -3,7 +3,7 @@
Small promises wrapper for [`mysql2`](https://github.com/sidorares/node-mysql2),
it's forked and compatible with [`mysql-promise`](https://github.com/martinj/node-mysql-promise).
[![build status](https://secure.travis-ci.org/namshi/node-mysql2-promise.png)](http://travis-ci.org/namshi/node-mysql2-promise)
[![build status](https://api.travis-ci.com/namshi/node-mysql2-promise.svg?token=tS5zF7JF9Zh1pepFK56c)](http://travis-ci.org/namshi/node-mysql2-promise)
## Installation
......
......@@ -2,9 +2,9 @@
'use strict';
var Promise = require('bluebird'),
mysql = require('mysql2'),
instances = {};
var Q = require('q');
var mysql2 = require('mysql2');
var instances = {};
function DB() {
this.pool = null;
......@@ -15,7 +15,7 @@ function DB() {
* @param {Object} config
*/
DB.prototype.configure = function (config) {
this.pool = mysql.createPool(config);
this.pool = mysql2.createPool(config);
};
/**
......@@ -25,29 +25,32 @@ DB.prototype.configure = function (config) {
* @return {Promise}
*/
DB.prototype.query = function (query, params) {
var defer = Promise.defer();
params = params || {};
var db = this;
this.pool.getConnection(function (err, con) {
if (err) {
if (con) {
con.release();
}
return defer.reject(err);
}
con.query(query, params, function (err) {
return Q.Promise(function (resolve, reject) {
db.pool.getConnection(function (err, con) {
if (err) {
if (con) {
con.release();
}
return defer.reject(err);
reject(err);
}
defer.resolve([].splice.call(arguments, 1));
con.release();
con.query(query, params, function (err) {
if (err) {
if (con) {
con.release();
}
reject(err);
}
resolve([].splice.call(arguments, 1));
con.release();
});
});
});
return defer.promise;
};
/**
......@@ -57,35 +60,40 @@ DB.prototype.query = function (query, params) {
* @return {Promise}
*/
DB.prototype.execute = function (query, params) {
var defer = Promise.defer();
params = params || {};
var db = this;
this.pool.getConnection(function (err, con) {
if (err) {
if (con) {
con.release();
}
return defer.reject(err);
}
con.execute(query, params, function (err) {
return Q.Promise(function (resolve, reject) {
db.pool.getConnection(function (err, con) {
if (err) {
if (con) {
con.release();
}
return defer.reject(err);
reject(err);
}
defer.resolve([].splice.call(arguments, 1));
con.release();
con.execute(query, params, function (err) {
if (err) {
if (con) {
con.release();
}
reject(err);
}
resolve([].splice.call(arguments, 1));
con.release();
});
});
});
return defer.promise;
};
module.exports = function (name) {
name = name || '_default_';
if (!instances[name]) {
instances[name] = new DB();
}
return instances[name];
};
{
"name": "mysql2-promise",
"version": "0.0.1",
"description": "Small wrapper for mysql2 that use promises.",
"version": "0.1.1",
"description": "Small promises wrapper for mysql2.",
"main": "index.js",
"scripts": {
"test": "./node_modules/.bin/jshint index.js && ./node_modules/.bin/mocha test/*.test.js",
"test": "jshint index.js && ./node_modules/.bin/mocha test/*.test.js",
"release": "npm test && release-it -n -i patch",
"release:minor": "npm test && release-it -n -i minor",
"release:major": "npm test && release-it -n -i major"
......@@ -17,8 +17,10 @@
"url": "https://github.com/namshi/node-mysql2-promise"
},
"keywords": [
"mysql",
"promise"
"mysql2",
"promise",
"q",
"mysql-promise"
],
"author": "Hossam Fares <hossam.fares@namshi.com>",
"license": "MIT",
......@@ -26,13 +28,17 @@
"url": "https://github.com/namshi/node-mysql2-promise/issues"
},
"dependencies": {
"bluebird": "^2.1.3",
"mysql2": "^0.15.5"
"mysql2": "^0.15.5",
"q": "^1.3.0"
},
"devDependencies": {
"jshint": "~2.1.10",
"mocha": "1.17.1",
"release-it": "0.0.9",
"should": "3.1.3"
},
"homepage": "https://github.com/namshi/node-mysql2-promise",
"directories": {
"test": "test"
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment