isObject<T>(it): it is object extends T ? T & Record<string | number | symbol, unknown> : unknown extends T ? T & Record<string | number | symbol, unknown> : T extends object ? T<T> extends readonly unknown[] ? never : T<T> extends ((...args: any[]) => any) ? never : T<T> : never
Tests whether the given variable is a real object and not an Array
Returns it is object extends T ? T & Record<string | number | symbol, unknown> : unknown extends T ? T & Record<string | number | symbol, unknown> : T extends object ? T<T> extends readonly unknown[] ? never : T<T> extends ((...args: any[]) => any) ? never : T<T> : never
Tests whether the given variable is a real object and not an Array