diff --git a/packages/std/__tests__/types/isObj.spec.ts b/packages/std/__tests__/types/isObj.spec.ts index f630d27..554e8a3 100644 --- a/packages/std/__tests__/types/isObj.spec.ts +++ b/packages/std/__tests__/types/isObj.spec.ts @@ -37,7 +37,6 @@ describe('Types > isObj', () => { this.name = name; } } - expect(isObj(new Person('x'))).toBe(false); expect(isObj(new (fun as any)(1))).toBe(false); }); @@ -47,5 +46,14 @@ describe('Types > isObj', () => { expect(isObj({ a: 1 })).toBe(true); expect(isObj(new Object())).toBe(true); expect(isObj(Object.create(null))).toBe(true); + + if (globalThis.structuredClone) { + const obj = { + a: 1, + b: 'Hello world', + }; + const clone = structuredClone(obj); + expect(isObj(structuredClone(obj))).toBe(true); + } }); }); diff --git a/packages/std/src/types/isObj.ts b/packages/std/src/types/isObj.ts index df145f8..b433d6b 100644 --- a/packages/std/src/types/isObj.ts +++ b/packages/std/src/types/isObj.ts @@ -18,5 +18,5 @@ export default function isObj(val: unknown): val is object { const p = Object.getPrototypeOf(val); - return p === null || p === Object.prototype; + return p === null || Object.getPrototypeOf(p) === null; }