Type Alias IsNotStrictFunction<T, $O>

IsNotStrictFunction: $Special<
    T,
    {
        $any: $ResolveBranch<$O, [$Any, $Then], T>;
        $else: $ResolveOptions<
            [$O["distributive"], $SelectInvertStrict.$Default["distributive"]],
        > extends true
            ? IsNotStrictFunction._D<T, $O>
            : $SelectInvertStrict._N<T, Function, $O>;
        $never: $ResolveBranch<$O, [$Never, $Then], T>;
        $unknown: $ResolveBranch<$O, [$Unknown, $Then], T>;
        $void: $ResolveBranch<$O, [$Void, $Then], T>;
    },
>

Is T not exactly Function.

type R = IsNotStrictFunction<Function> // false

type R = IsNotStrictFunction<() => void> // true
type R = IsNotStrictFunction<(() => void) & { a: 1 }> // true

Type Parameters