(obj: unknown)
| 3 | * @returns {boolean} True if the argument appears to be a plain object. |
| 4 | */ |
| 5 | export default function isPlainObject(obj: unknown) { |
| 6 | if (typeof obj !== 'object' || obj === null) return false |
| 7 | |
| 8 | const proto = Object.getPrototypeOf(obj) |
| 9 | if (proto === null) return true |
| 10 | |
| 11 | let baseProto = proto |
| 12 | while (Object.getPrototypeOf(baseProto) !== null) { |
| 13 | baseProto = Object.getPrototypeOf(baseProto) |
| 14 | } |
| 15 | |
| 16 | return proto === baseProto |
| 17 | } |
no outgoing calls
no test coverage detected
searching dependent graphs…