SelectFields type
Produceert een unie van geldige AI Search OData $select paden voor T met behulp van een post-order traversal van de veldboom die geworteld is in T.
type SelectFields<TModel> = (() => (T extends TModel ? true : false) extends () => (T extends never ? true : false) ? string : (() => (T extends TModel ? true : false) extends () => (T extends any ? true : false) ? string : (() => (T extends TModel ? true : false) extends () => (T extends object ? true : false) ? string : (TModel extends 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))))