primer cambio
This commit is contained in:
77
node_modules/promise-mysql/lib/pool.js
generated
vendored
Normal file
77
node_modules/promise-mysql/lib/pool.js
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
'use strict';
|
||||
|
||||
const Promise = require('bluebird');
|
||||
const mysql = require('mysql');
|
||||
const PoolConnection = require('./poolConnection.js');
|
||||
const promiseCallback = require('./helper').promiseCallback;
|
||||
|
||||
class pool {
|
||||
constructor(config = {}, _pool) {
|
||||
if (_pool) {
|
||||
this.pool = _pool;
|
||||
return this;
|
||||
}
|
||||
|
||||
let mysqlValue = mysql;
|
||||
let mysqlWrapperCallbackPromise;
|
||||
|
||||
if (config.mysqlWrapper) {
|
||||
let callback;
|
||||
mysqlWrapperCallbackPromise = new Promise((resolve, reject) => {
|
||||
callback = (err, mysql) => {
|
||||
if (err) {
|
||||
return reject(err);
|
||||
}
|
||||
|
||||
return resolve(mysql);
|
||||
}
|
||||
})
|
||||
mysqlValue = config.mysqlWrapper(mysql, callback);
|
||||
delete config.mysqlWrapper;
|
||||
}
|
||||
|
||||
if (config.returnArgumentsArray) {
|
||||
this.returnArgumentsArray = config.returnArgumentsArray;
|
||||
config.returnArgumentsArray = undefined;
|
||||
}
|
||||
|
||||
return Promise.resolve(mysqlValue || mysqlWrapperCallbackPromise).then((mysql) => {
|
||||
this.pool = mysql.createPool(config);
|
||||
return Promise.resolve(this);
|
||||
});
|
||||
}
|
||||
|
||||
getConnection() {
|
||||
return promiseCallback.apply(this.pool, ['getConnection', arguments])
|
||||
.then((_connection) => {
|
||||
const config = {
|
||||
returnArgumentsArray: this.returnArgumentsArray,
|
||||
reconnect: false
|
||||
};
|
||||
|
||||
return new PoolConnection(config, _connection);
|
||||
});
|
||||
}
|
||||
|
||||
query() {
|
||||
return promiseCallback.apply(this.pool, ['query', arguments, this.returnArgumentsArray]);
|
||||
}
|
||||
|
||||
end() {
|
||||
return promiseCallback.apply(this.pool, ['end', arguments, this.returnArgumentsArray]);
|
||||
}
|
||||
|
||||
escape(value) {
|
||||
return this.pool.escape(value);
|
||||
}
|
||||
|
||||
escapeId(value) {
|
||||
return this.pool.escapeId(value);
|
||||
}
|
||||
|
||||
on(event, fn) {
|
||||
this.pool.on(event, fn);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = pool;
|
||||
Reference in New Issue
Block a user