Type Alias SelectFields<TModel>
SelectFields<TModel>: (<T>() => T extends TModel ? true : false) extends (<T>() => T extends never ? true : false) ? string : (<T>() => T extends TModel ? true : false) extends (<T>() => T extends any ? true : false) ? string : (<T>() => T extends TModel ? true : false) extends (<T>() => T extends object ? true : false) ? string : TModel extends (infer Elem)[] ? Elem extends object ? SelectFields<Elem> : never : { [Key in keyof TModel]: Key extends string ? NonNullable<(...
)[(...
)]> extends object ? NonNullable<(...
)> extends ExcludedODataTypes ? Key : (...
) extends (...
) ? (...
) : (...
) : Key : never }[keyof TModel & string] & string
Produces a union of valid Cognitive Search OData $select paths for T using a post-order traversal of the field tree rooted at T.