promisify-impl
implementing the utility promisify method
by upigilam
JavaScript
/**
* Node's Util.promisify
*/
function promisify(fn) {
if (typeof fn !== 'function') {
throw new TypeError('Argument must be a function');
}
return function promisifiedFn(...args) {
return new Promise((resolve, reject) => {
fn(...args, (err, results) => {
if (err) {
reject(err);
}
resolve(results);
});
});
};
}