Type Alias $<T, $O>

$: $Exact.Parse<
    $O,
    {
        $else: $Distributive.Parse<
            $O,
            {
                $else: [T] extends readonly [any[]]
                    ? $ResolveBranch<$O, [$Else]>
                    : $ResolveBranch<$O, [$Then], T>;
                $then: T extends readonly any[]
                    ? $ResolveBranch<$O, [$Else]>
                    : $ResolveBranch<$O, [$Then], T>;
            },
        >;
        $then: $Distributive.Parse<
            $O,
            {
                $else: [T] extends [readonly any[]]
                    ? number extends T["length"]
                        ? $ResolveBranch<$O, [$Else]>
                        : $ResolveBranch<$O, [$Then], T>
                    : $ResolveBranch<$O, [$Then], T>;
                $then: T extends readonly any[]
                    ? number extends T["length"]
                        ? $ResolveBranch<$O, [$Else]>
                        : $ResolveBranch<$O, [$Then], T>
                    : $ResolveBranch<$O, [$Then], T>;
            },
        >;
    },
>

🧰 type util

Validate if T is not an array.

This is a type util for building custom types. It does not check against special types.

Type Parameters