UNPKG

pg-large-object

Version:

Large object support for PostgreSQL clients (node-postgres)

34 lines (28 loc) 954 B
'use strict'; /** * @exports pg-large-object/lib/promiseFromCallback * @param {function} fn * @param {object} self * @param {object} [options] * @returns {Promise} */ function promiseFromCallback(fn, self, options) { // there are no callbacks with more than two arguments in this project const twoArgs = options && options.twoArgs; return new Promise(function(resolve, reject) { function callback(error, arg1, arg2) { if (error) { reject(error); return; } if (twoArgs) { resolve([arg1, arg2]); } else { resolve(arg1); } } fn.call(self, callback); }); } module.exports = promiseFromCallback;