type-plus
    Preparing search index...

    Type Alias $SelectInvertStrict<T, U, $O>

    $SelectInvertStrict: $Special<
        T,
        {
            $any: $ResolveBranch<$O, [$Any, $Then], T>;
            $else: $Distributive.Parse<$O> extends true
                ? $SelectInvertStrict._D<T, U, $O>
                : $SelectInvertStrict._N<T, U, $O>;
            $never: $ResolveBranch<$O, [$Never, $Then], T>;
            $unknown: $ResolveBranch<$O, [$Unknown, $Then], T>;
        },
    >

    🎭 predicate ㊙️ internal

    Validate if T is U.

    Type Parameters

    type R = $SelectInvertStrict<undefined, undefined> // true

    type R = $SelectInvertStrict<never, undefined> // false
    type R = $SelectInvertStrict<unknown, undefined> // false
    type R = $SelectInvertStrict<string | boolean, undefined> // false

    type R = $SelectInvertStrict<string | undefined, undefined> // boolean

    🔢 customize

    Filter to ensure T is U, otherwise returns never.

    type R = $SelectInvertStrict<undefined, undefined, { selection: 'filter' }> // undefined

    type R = $SelectInvertStrict<never, undefined, { selection: 'filter' }> // never
    type R = $SelectInvertStrict<unknown, undefined, { selection: 'filter' }> // never
    type R = $SelectInvertStrict<string | boolean, undefined, { selection: 'filter' }> // never

    type R = $SelectInvertStrict<string | undefined, undefined> // undefined

    🔢 customize:

    Disable distribution of union types.

    type R = $SelectInvertStrict<undefined | 1, undefined> // boolean
    type R = $SelectInvertStrict<undefined | 1, undefined, { distributive: false }> // false

    🔢 customize

    Use unique branch identifiers to allow precise processing of the result.

    type R = $SelectInvertStrict<undefined, undefined, $SelectionBranch> // $Then
    type R = $SelectInvertStrict<string, undefined, $SelectionBranch> // $Else