e2ed
Version:
E2E testing framework over Playwright
21 lines (20 loc) • 934 B
TypeScript
import type { Attributes, PARAMETERS } from '../createLocator';
import type { Any, Class, Selector } from '../types/internal';
type AnyLocator = ((parameters?: Attributes) => Selector) & {
readonly [PARAMETERS]?: object;
};
type Keys<SomeLocator extends AnyLocator> = keyof SomeLocator[typeof PARAMETERS] & string;
type Options<SomeLocator extends AnyLocator, Instance extends Readonly<{
locator: SomeLocator;
}>> = Readonly<{
PageObjectClass: Class<[Any], Instance>;
keyParameter: Keys<SomeLocator>;
locator: SomeLocator;
}>;
/**
* Creates record of pageObject's from their constructor and multilocator with them.
*/
export declare const createPageObjectsFromMultiLocator: <SomeLocator extends AnyLocator, Instance extends Readonly<{
locator: SomeLocator;
}>>({ keyParameter, locator, PageObjectClass, }: Options<SomeLocator, Instance>) => Promise<Readonly<Record<Keys<SomeLocator>, Instance>>>;
export {};