1
0
Fork 0
mirror of https://github.com/shimataro/ssh-key-action.git synced 2025-06-19 22:52:10 +10:00
ssh-key-action/node_modules/npm-check-updates/lib/raw-promisify.js
2019-09-18 20:39:54 +09:00

28 lines
784 B
JavaScript

'use strict';
const _ = require('lodash');
/**
* For some reason, Promise.promisifyAll does not work on npm.commands :(
* Promise.promisifyAll(npm.commands);
* So we have to do it manually.
*/
function rawPromisify(obj) {
_.each(obj, (method, name) => {
obj[`${name}Async`] = () => {
const args = [].slice.call(arguments);
const that = this;
return new Promise((resolve, reject) => {
args.push((err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
return method.apply(that, args);
});
};
});
}
module.exports = rawPromisify;