@applitools/driver
Version:
Applitools universal framework wrapper
26 lines (25 loc) • 1.39 kB
TypeScript
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 {};