redux
Version:
Predictable state container for JavaScript apps
17 lines (14 loc) • 445 B
text/typescript
/**
* @param obj The object to inspect.
* @returns True if the argument appears to be a plain object.
*/
export default function isPlainObject(obj: any): obj is object {
if (typeof obj !== 'object' || obj === null) return false
let proto = obj
while (Object.getPrototypeOf(proto) !== null) {
proto = Object.getPrototypeOf(proto)
}
return (
Object.getPrototypeOf(obj) === proto || Object.getPrototypeOf(obj) === null
)
}