LocatorFnResult
Тип результата, получаемый при поиске с помощью определённого списка запросов. Этот тип зависит от конкретных элементов, которые ищутся.
- Если один из запросов предназначен для
ComponentHarnessConstructor<C1>, это означает, что результатом может быть тестовый стенд типаC1 - Если один из запросов предназначен для
HarnessPredicate<C2>, это означает, что результатом может быть тестовый стенд типаC2 - Если один из запросов предназначен для
string, это означает, что результатом может бытьTestElement.
API
type LocatorFnResult<T extends (HarnessQuery<any> | string)[]> = {
[I in keyof T]: T[I] extends new (...args: any[]) => infer C // Map `ComponentHarnessConstructor<C>` to `C`.
? C
: // Map `HarnessPredicate<C>` to `C`.
T[I] extends {harnessType: new (...args: any[]) => infer C}
? C
: // Map `string` to `TestElement`.
T[I] extends string
? TestElement
: // Map everything else to `never` (should not happen due to the type constraint on `T`).
never;
}[number]
Описание
Тип результата, получаемый при поиске с помощью определённого списка запросов. Этот тип зависит от конкретных элементов, которые ищутся.
- Если один из запросов предназначен для
ComponentHarnessConstructor<C1>, это означает, что результатом может быть тестовый стенд типаC1 - Если один из запросов предназначен для
HarnessPredicate<C2>, это означает, что результатом может быть тестовый стенд типаC2 - Если один из запросов предназначен для
string, это означает, что результатом может бытьTestElement.
Поскольку мы не знаем наверняка, какой запрос даст совпадение, тип результата является объединением типов всех возможных результатов.
Примечания по использованию
Пример
Тип:
LocatorFnResult<[ ComponentHarnessConstructor<MyHarness>, HarnessPredicate<MyOtherHarness>, string ]>
эквивалентен:
MyHarness | MyOtherHarness | TestElement
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/cdk/testing/LocatorFnResult