你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。

SearchPick type

使用有效的 AI 搜索 OData $select路径深入选取 T 字段。

type SearchPick<TModel, TFields> = (() => (T extends TModel ? true : false) extends () => (T extends object ? true : false) ? TModel : (() => (T extends TFields ? true : false) extends () => (T extends any ? true : false) ? TModel : (() => (T extends TFields ? true : false) extends () => (T extends never ? true : false) ? TModel : UnionToIntersection<(TFields extends Object ? (FieldName extends (keyof TModel) & string ? (NonNullable<TModel[FieldName]> extends Elem[] ? (Elem extends object ? (RestPaths extends SelectFields<...> ? {[Key in ... as ...]: ...;} : never) : never) : (NonNullable<...[...]> extends object ? {[Key in keyof ... as ... & ...]: (... extends ... ? ... : ...);} : never)) : never) : (TFields extends keyof TModel ? Pick<TModel, TFields> | Extract<TModel, null> : never))> & {})))