Type Alias SelectionSet<Full, Depth>

SelectionSet<Full, Depth>: IsAny<Full> extends true
    ? any
    : Depth extends TsTooMuchRecursion
        ? boolean
        : Full extends ReadonlyArray<infer FullChild extends AnyObject>
            ? SelectionSet<FullChild, TsRecurse<Depth>>
            : Partial<{
                [Key in keyof Full]: IsNever<Exclude<Full[Key], SelectionTypesToPreserve>> extends true
                    ? boolean
                    : UnionToIntersection<SelectionSet<NonNullable<(...)[(...)]>, TsRecurse<Depth>>> | boolean
            }>

Defines a selection set for a given object type. This is used in SelectFrom.

Type Parameters