lib/nano-blue.js
function deepPromisify(obj) {
  return _.transform(obj, function(promisifiedObj, value, key) {
    if (blacklist.has(key)) {
      promisifiedObj[key] = value;
      return;
    }

    if (typeof value === 'function') {
      promisifiedObj[key] = bluebird.promisify(value, obj);
    } else if (typeof value === 'object') {
      promisifiedObj[key] = deepPromisify(value);
    } else {
      promisifiedObj[key] = value;
    }
  });
}
function deepPromisify(obj) {
  return _.transform(obj, function(promisifiedObj, value, key) {
    if (blacklist.has(key)) {
      promisifiedObj[key] = value;
      return;
    }

    if (typeof value === 'function') {
      promisifiedObj[key] = bluebird.promisify(value, obj);
    } else if (typeof value === 'object') {
      promisifiedObj[key] = deepPromisify(value);
    } else {
      promisifiedObj[key] = value;
    }
  });
}
function deepPromisify ( obj ) { return _ . transform ( obj , function ( promisifiedObj , value , key ) { if ( blacklist . has ( key ) ) { promisifiedObj [ key ] = value ; return ; } if ( typeof value === 'function' ) { promisifiedObj [ key ] = bluebird . promisify ( value , obj ) ; } else if ( typeof value === 'object' ) { promisifiedObj [ key ] = deepPromisify ( value ) ; } else { promisifiedObj [ key ] = value ; } } ) ; }
Promisifies the exposed functions on an object
Based on a similar function in `qano`

@ref https://github.com/jclohmann/qano
Promisifies the exposed functions on an object Based on a similar function in qano