• Tests whether the given variable is a real object and not an Array

    Type Parameters

    • T

    Parameters

    • it: T

      The variable to test

    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