Spaces:
Runtime error
Runtime error
; | |
var getPrototypeOf = Object.getPrototypeOf | |
, prototype = Object.prototype | |
, objToString = prototype.toString | |
, id = Object().toString(); | |
module.exports = function (value) { | |
var proto, valueConstructor; | |
if (!value || typeof value !== "object" || objToString.call(value) !== id) { | |
return false; | |
} | |
proto = getPrototypeOf(value); | |
if (proto === null) { | |
valueConstructor = value.constructor; | |
if (typeof valueConstructor !== "function") return true; | |
return valueConstructor.prototype !== value; | |
} | |
return proto === prototype || getPrototypeOf(proto) === null; | |
}; | |