1234567891011121314151617181920 |
- 'use strict';
- var getPrototypeOf = Object.getPrototypeOf, prototype = Object.prototype
- , toString = prototype.toString
- , id = Object().toString();
- module.exports = function (value) {
- var proto, constructor;
- if (!value || (typeof value !== 'object') || (toString.call(value) !== id)) {
- return false;
- }
- proto = getPrototypeOf(value);
- if (proto === null) {
- constructor = value.constructor;
- if (typeof constructor !== 'function') return true;
- return (constructor.prototype !== value);
- }
- return (proto === prototype) || (getPrototypeOf(proto) === null);
- };
|