module.exports = function safely(fn, ...args) { return Promise.resolve() .then(!args ? fn : () => fn(...args)) .then(result => [undefined, result]) .catch(error => [error, undefined]); }