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
상세 내용으로 이동