Type Alias $<A, B, $O>

$: $IsDistributive<
    $O,
    {
        $else: [A] extends [B]
            ? $ResolveBranch<A, $O, [$Else]>
            : $ResolveBranch<A, $O, [$Then]>;
        $then: A extends B
            ? $ResolveBranch<A, $O, [$Else]>
            : $ResolveBranch<A, $O, [$Then]>;
    },
>

🧰 type util

Validate if A is assignable to B.

This is the internal logic of NotAssignable. It does not check against special types.

It is suitable for building custom types.

Type Parameters