Type Alias IsStrictFunction<T, $O>

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

Is T exactly Function.

type R = IsStrictFunction<Function> // true

type R = IsStrictFunction<() => void> // false
type R = IsStrictFunction<(() => void) & { a: 1 }> // false

Type Parameters