Version: 0.0.10.0.20.0.30.0.40.1.00.2.00.2.10.2.20.3.00.3.10.4.00.5.00.5.10.6.00.6.10.6.20.7.00.8.00.8.10.9.00.10.00.10.10.11.00.11.10.12.01.0.0-alpha1.0.0-rc1.0.01.0.12.0.03.0.03.0.13.0.23.0.33.0.43.0.53.0.63.1.03.1.13.1.23.1.33.1.43.1.53.1.63.1.73.2.03.2.13.3.03.3.13.4.03.5.03.5.13.5.23.6.03.7.03.7.13.7.24.0.0-beta.14.0.0-beta.24.0.0-rc.14.0.04.0.14.0.24.0.34.0.44.0.54.1.0-alpha.04.1.04.1.14.1.24.2.0-alpha.04.2.04.2.15.0.0-alpha.05.0.0-alpha.15.0.0-alpha.25.0.0-alpha.35.0.0-alpha.45.0.0-alpha.55.0.0-alpha.65.0.0-beta.05.0.0-rc.05.0.0-rc.15.0.05.0.1
/**
* @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
)