code: function wrapFn(fn) {
  
    var argCount = fn.length;
  
    if (argCount < 2) {
      // promise style worker
      return async function(context) {
        return await fn(context);
      };
    }
  
    if (argCount === 2) {
      // callback style worker
      return function(context) {
  
        return new Promise(function(resolve, reject) {
          try {
            fn(context, function(err, data) {
              if (err) {
                reject(err);
              } else {
                resolve(data);
              }
            });
          } catch (err) {
            reject(err);
          }
        });
  
      };
    }
  
    throw new Error('expected Promise or callback style fn');
  }
docs: helpers ///////////////////////