Spec-Zone.ru › Angular

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API