Type Alias SelectionSet<Full, Depth>

SelectionSet: 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