lib/utils/lookup_wrapper.js
function lookupWrapper(objectType, lookupFunction) {
  lookupFunction = lookupFunction || objectType.lookup;

  return function(repo, id, callback) {
    if (id instanceof objectType) {
      return Promise.resolve(id).then(function(obj) {
        obj.repo = repo;

        if (typeof callback === "function") {
          callback(null, obj);
        }

        return obj;
      }, callback);
    }

    return lookupFunction(repo, id).then(function(obj) {
      obj.repo = repo;

      if (typeof callback === "function") {
        callback(null, obj);
      }

      return obj;
    }, callback);
  };
}
function lookupWrapper(objectType, lookupFunction) {
  lookupFunction = lookupFunction || objectType.lookup;

  return function(repo, id, callback) {
    if (id instanceof objectType) {
      return Promise.resolve(id).then(function(obj) {
        obj.repo = repo;

        if (typeof callback === "function") {
          callback(null, obj);
        }

        return obj;
      }, callback);
    }

    return lookupFunction(repo, id).then(function(obj) {
      obj.repo = repo;

      if (typeof callback === "function") {
        callback(null, obj);
      }

      return obj;
    }, callback);
  };
}
function lookupWrapper ( objectType , lookupFunction ) { lookupFunction = lookupFunction || objectType . lookup ; return function ( repo , id , callback ) { if ( id instanceof objectType ) { return Promise . resolve ( id ) . then ( function ( obj ) { obj . repo = repo ; if ( typeof callback === "function" ) { callback ( null , obj ) ; } return obj ; } , callback ) ; } return lookupFunction ( repo , id ) . then ( function ( obj ) { obj . repo = repo ; if ( typeof callback === "function" ) { callback ( null , obj ) ; } return obj ; } , callback ) ; } ; }
Wraps a method so that you can pass in either a string, OID or the object
itself and you will always get back a promise that resolves to the object.
@param {Object} objectType The object type that you're expecting to receive.
@param {Function} lookupFunction  The function to do the lookup for the
object. Defaults to `objectType.lookup`.
@return {Function}
Wraps a method so that you can pass in either a string OID or the object itself and you will always get back a promise that resolves to the object .