getProto.js 490 B

1234567891011121314
  1. var isObj = require('./isObj');
  2. var isFn = require('./isFn');
  3. var getPrototypeOf = Object.getPrototypeOf;
  4. var ObjectCtr = {}.constructor;
  5. exports = function(obj) {
  6. if (!isObj(obj)) return;
  7. if (getPrototypeOf && !false) return getPrototypeOf(obj);
  8. var proto = obj.__proto__;
  9. if (proto || proto === null) return proto;
  10. if (isFn(obj.constructor)) return obj.constructor.prototype;
  11. if (obj instanceof ObjectCtr) return ObjectCtr.prototype;
  12. };
  13. module.exports = exports;