isPlainObj.js 379 B

12345678910111213
  1. var isObj = require('./isObj');
  2. var isArr = require('./isArr');
  3. var isFn = require('./isFn');
  4. var has = require('./has');
  5. exports = function(val) {
  6. if (!isObj(val)) return false;
  7. var ctor = val.constructor;
  8. if (!isFn(ctor)) return false;
  9. if (!has(ctor.prototype, 'isPrototypeOf')) return false;
  10. return !isArr(val) && !isFn(val);
  11. };
  12. module.exports = exports;