Archived
1
0
This repository has been archived on 2023-05-15. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
home-page/node_modules/es5-ext/object/is-plain-object.js
Sean Edmunds 0584430b5c First commit
2021-12-13 17:00:40 -06:00

21 lines
592 B
JavaScript

"use strict";
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;
};