UNPKG

@applitools/driver

Version:

Applitools universal framework wrapper

26 lines (25 loc) 1.39 kB
import { type SpecType, type SpecDriver } from './spec-driver'; export type Selector<T extends SpecType = never> = T['selector'] | T['secondary']['selector'] | CommonSelector<T['selector'] | T['secondary']['selector']>; export type CommonSelector<TSelector = never> = string | ComplexSelector<TSelector>; type ComplexSelector<TSelector> = { selector: TSelector | string; type?: string; child?: TSelector | string | CommonSelector<TSelector>; shadow?: TSelector | string | CommonSelector<TSelector>; frame?: TSelector | string | CommonSelector<TSelector>; fallback?: TSelector | string | CommonSelector<TSelector>; }; export declare function isSelector<T extends SpecType>(selector: any, spec?: Pick<SpecDriver<T>, 'isSelector' | 'isSecondarySelector'>): selector is Selector<T>; export declare function isComplexSelector<T extends SpecType>(selector: any, spec?: Pick<SpecDriver<T>, 'isSelector'>): selector is Exclude<CommonSelector<T['selector']>, string>; export declare function isSimpleCommonSelector(selector: any): selector is CommonSelector; export declare function makeSelector<T extends SpecType>(options: { selector: Selector<T>; spec: Pick<SpecDriver<T>, 'isSelector' | 'toSelector'>; environment?: { isWeb?: boolean; isNative?: boolean; isIOS?: boolean; isAndroid?: boolean; }; }): T['selector']; export {};