lib/traverse.js
function promisify(f, args) {
  return new Promise((resolve, reject) => f.apply(this, args.concat((err, x) => err ? reject(err) : resolve(x))));
}
function promisify(f, args) {
  return new Promise((resolve, reject) => f.apply(this, args.concat((err, x) => err ? reject(err) : resolve(x))));
}
function promisify ( f , args ) { return new Promise ( ( resolve , reject ) => f . apply ( this , args . concat ( ( err , x ) => err ? reject ( err ) : resolve ( x ) ) ) ) ; }
Converts a callback style call to a Promise
@param  {function} f       a node style function that accepts a callback
@param  {Object[]} args    arguments to pass to the function when invoking it
@return {Promise<Object>}  object returned by the function
Converts a callback style call to a Promise