es-toolkit
Version:
A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.
20 lines (16 loc) • 551 B
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
function isPlainObject(value) {
if (!value || typeof value !== 'object') {
return false;
}
const proto = Object.getPrototypeOf(value);
const hasObjectPrototype = proto === null ||
proto === Object.prototype ||
Object.getPrototypeOf(proto) === null;
if (!hasObjectPrototype) {
return false;
}
return Object.prototype.toString.call(value) === '[object Object]';
}
exports.isPlainObject = isPlainObject;