Type Alias PickCollapsedSelection<Full, Selection, Depth>

PickCollapsedSelection: Depth extends TsTooMuchRecursion
    ? "Error: recursive object depth is too deep."
    : KeyCount<ExcludeEmpty<NonNullable<SelectFrom<Full, Selection, Depth>>>> extends 1
        ? Selection[keyof SelectFrom<Full, Selection, Depth>] extends GenericSelectionSet
            ?
                | PickCollapsedSelection<
                    NonNullable<Full[keyof SelectFrom<Full, Selection, Depth>]>,
                    Selection[keyof SelectFrom<Full, Selection, Depth>],
                    TsRecurse<Depth>,
                >
                | Extract<
                    Full[keyof SelectFrom<Full, Selection, Depth>],
                    undefined | null,
                >
            : Values<SelectFrom<Full, Selection, Depth>>
        : SelectFrom<Full, Selection, Depth>

Collapses a selected value to the first part of the selection that contains more than 1 key or that is not an object. This produces the output type for selectCollapsedFrom.

Type Parameters