@applitools/core 1.2.16 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/automation/get-viewport-size.js +2 -2
  2. package/dist/automation/locate.js +7 -10
  3. package/dist/automation/set-viewport-size.js +2 -2
  4. package/dist/check-and-close.js +11 -5
  5. package/dist/check.js +26 -16
  6. package/dist/classic/check-and-close.js +13 -12
  7. package/dist/classic/check.js +21 -11
  8. package/dist/classic/extract-text.js +6 -6
  9. package/dist/classic/get-base-eyes.js +39 -0
  10. package/dist/classic/locate-text.js +10 -6
  11. package/dist/classic/open-eyes.js +16 -15
  12. package/dist/close.js +2 -1
  13. package/dist/extract-text.js +2 -1
  14. package/dist/get-typed-eyes.js +27 -0
  15. package/dist/locate-text.js +2 -1
  16. package/dist/make-manager.js +8 -5
  17. package/dist/open-eyes.js +24 -11
  18. package/dist/types.js +1 -0
  19. package/dist/ufg/check.js +50 -40
  20. package/dist/ufg/get-base-eyes.js +40 -0
  21. package/dist/ufg/open-eyes.js +57 -107
  22. package/dist/utils/wait-for-lazy-load.js +10 -8
  23. package/package.json +19 -17
  24. package/types/automation/get-viewport-size.d.ts +4 -3
  25. package/types/automation/locate.d.ts +7 -8
  26. package/types/automation/set-viewport-size.d.ts +4 -3
  27. package/types/automation/types.d.ts +24 -20
  28. package/types/automation/utils/take-screenshot.d.ts +1 -1
  29. package/types/check-and-close.d.ts +14 -9
  30. package/types/check.d.ts +10 -7
  31. package/types/classic/check-and-close.d.ts +7 -8
  32. package/types/classic/check.d.ts +7 -8
  33. package/types/classic/core.d.ts +3 -3
  34. package/types/classic/extract-text.d.ts +8 -9
  35. package/types/classic/get-base-eyes.d.ts +17 -0
  36. package/types/classic/locate-text.d.ts +8 -9
  37. package/types/classic/open-eyes.d.ts +8 -7
  38. package/types/classic/types.d.ts +11 -8
  39. package/types/classic/utils/take-dom-capture.d.ts +1 -1
  40. package/types/close-batch.d.ts +1 -1
  41. package/types/close-manager.d.ts +3 -3
  42. package/types/close.d.ts +4 -6
  43. package/types/core.d.ts +2 -2
  44. package/types/delete-test.d.ts +1 -1
  45. package/types/extract-text.d.ts +7 -9
  46. package/types/get-typed-eyes.d.ts +21 -0
  47. package/types/locate-text.d.ts +7 -9
  48. package/types/locate.d.ts +3 -4
  49. package/types/make-manager.d.ts +3 -2
  50. package/types/open-eyes.d.ts +12 -10
  51. package/types/types.d.ts +60 -41
  52. package/types/ufg/abort.d.ts +1 -1
  53. package/types/ufg/check-and-close.d.ts +6 -8
  54. package/types/ufg/check.d.ts +7 -15
  55. package/types/ufg/close.d.ts +1 -1
  56. package/types/ufg/core.d.ts +2 -2
  57. package/types/ufg/get-base-eyes.d.ts +23 -0
  58. package/types/ufg/open-eyes.d.ts +7 -7
  59. package/types/ufg/types.d.ts +24 -9
  60. package/types/ufg/utils/take-dom-snapshot.d.ts +1 -1
  61. package/types/ufg/utils/take-dom-snapshots.d.ts +1 -1
  62. package/types/ufg/utils/take-vhses.d.ts +1 -1
  63. package/types/utils/wait-for-lazy-load.d.ts +4 -4
@@ -1,40 +1,44 @@
1
1
  import type { MaybeArray, Size, Region } from '@applitools/utils';
2
2
  import type * as BaseCore from '@applitools/core-base/types';
3
- import { type Selector } from '@applitools/driver';
3
+ import { type Driver, type Selector } from '@applitools/driver';
4
4
  import { type Logger } from '@applitools/logger';
5
5
  export * from '@applitools/core-base/types';
6
- export declare type Screenshot = BaseCore.Target;
7
- export declare type Target<TDriver> = TDriver;
8
- export interface Core<TDriver, TElement, TSelector, TEyes = Eyes<TDriver, TElement, TSelector>> extends BaseCore.Core<TEyes> {
6
+ export type DriverTarget<TDriver, TContext, TElement, TSelector> = TDriver | Driver<TDriver, TContext, TElement, TSelector>;
7
+ export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends BaseCore.Core<TEyes> {
9
8
  isDriver(driver: any): driver is TDriver;
10
9
  isElement(element: any): element is TElement;
11
10
  isSelector(selector: any): selector is TSelector;
12
11
  getViewportSize(options: {
13
- target: TDriver;
12
+ target: DriverTarget<TDriver, TContext, TElement, TSelector>;
14
13
  logger?: Logger;
15
14
  }): Promise<Size>;
16
15
  setViewportSize(options: {
17
- target: TDriver;
16
+ target: DriverTarget<TDriver, TContext, TElement, TSelector>;
18
17
  size: Size;
19
18
  logger?: Logger;
20
19
  }): Promise<void>;
21
20
  openEyes(options: {
22
- target?: TDriver;
21
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
23
22
  settings: BaseCore.OpenSettings;
23
+ eyes?: BaseCore.Eyes[];
24
24
  logger?: Logger;
25
25
  }): Promise<TEyes>;
26
26
  locate<TLocator extends string>(options: {
27
- target?: Target<TDriver> | Screenshot;
27
+ target: DriverTarget<TDriver, TContext, TElement, TSelector> | BaseCore.ImageTarget;
28
28
  settings: LocateSettings<TLocator, TElement, TSelector>;
29
29
  logger?: Logger;
30
30
  }): Promise<BaseCore.LocateResult<TLocator>>;
31
31
  }
32
- export interface Eyes<TDriver, TElement, TSelector, TTarget = Target<TDriver>> extends BaseCore.Eyes<TTarget> {
33
- check(options: {
32
+ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = DriverTarget<TDriver, TContext, TElement, TSelector>> extends BaseCore.Eyes<TTarget> {
33
+ getBaseEyes(options?: {
34
+ logger?: Logger;
35
+ }): Promise<BaseCore.Eyes[]>;
36
+ check(options?: {
34
37
  target?: TTarget;
35
38
  settings?: CheckSettings<TElement, TSelector>;
39
+ logger?: Logger;
36
40
  }): Promise<BaseCore.CheckResult[]>;
37
- checkAndClose(options: {
41
+ checkAndClose(options?: {
38
42
  target?: TTarget;
39
43
  settings?: CheckSettings<TElement, TSelector> & BaseCore.CloseSettings;
40
44
  logger?: Logger;
@@ -50,14 +54,14 @@ export interface Eyes<TDriver, TElement, TSelector, TTarget = Target<TDriver>> e
50
54
  logger?: Logger;
51
55
  }): Promise<string[]>;
52
56
  }
53
- declare type RegionReference<TElement, TSelector> = Region | ElementReference<TElement, TSelector>;
54
- declare type ElementReference<TElement, TSelector> = TElement | Selector<TSelector>;
55
- declare type FrameReference<TElement, TSelector> = ElementReference<TElement, TSelector> | string | number;
56
- declare type ContextReference<TElement, TSelector> = {
57
+ type RegionReference<TElement, TSelector> = Region | ElementReference<TElement, TSelector>;
58
+ type ElementReference<TElement, TSelector> = TElement | Selector<TSelector>;
59
+ type FrameReference<TElement, TSelector> = ElementReference<TElement, TSelector> | string | number;
60
+ type ContextReference<TElement, TSelector> = {
57
61
  frame: FrameReference<TElement, TSelector>;
58
62
  scrollRootElement?: ElementReference<TElement, TSelector>;
59
63
  };
60
- declare type StitchMode = 'Scroll' | 'CSS';
64
+ type StitchMode = 'Scroll' | 'CSS';
61
65
  export interface ScreenshotSettings<TElement, TSelector> extends BaseCore.ImageSettings<RegionReference<TElement, TSelector>> {
62
66
  frames?: (ContextReference<TElement, TSelector> | FrameReference<TElement, TSelector>)[];
63
67
  fully?: boolean;
@@ -78,7 +82,7 @@ export interface ScreenshotSettings<TElement, TSelector> extends BaseCore.ImageS
78
82
  };
79
83
  webview?: boolean | string;
80
84
  }
81
- export declare type LocateSettings<TLocator extends string, TElement, TSelector> = BaseCore.LocateSettings<TLocator, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
82
- export declare type CheckSettings<TElement, TSelector> = BaseCore.CheckSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
83
- export declare type LocateTextSettings<TPattern extends string, TElement, TSelector> = BaseCore.LocateTextSettings<TPattern, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
84
- export declare type ExtractTextSettings<TElement, TSelector> = BaseCore.ExtractTextSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
85
+ export type LocateSettings<TLocator extends string, TElement, TSelector> = BaseCore.LocateSettings<TLocator, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
86
+ export type CheckSettings<TElement, TSelector> = BaseCore.CheckSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
87
+ export type LocateTextSettings<TPattern extends string, TElement, TSelector> = BaseCore.LocateTextSettings<TPattern, RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
88
+ export type ExtractTextSettings<TElement, TSelector> = BaseCore.ExtractTextSettings<RegionReference<TElement, TSelector>> & ScreenshotSettings<TElement, TSelector>;
@@ -2,7 +2,7 @@ import type { Region } from '@applitools/utils';
2
2
  import type { ScreenshotSettings } from '../../classic/types';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type Driver, type Element } from '@applitools/driver';
5
- export declare type Screenshot = {
5
+ export type Screenshot = {
6
6
  image: any;
7
7
  region: Region;
8
8
  element: Element<unknown, unknown, unknown, unknown>;
@@ -1,15 +1,20 @@
1
- import type { Target, Config, CheckSettings, CloseSettings, TestResult } from './types';
2
- import type { Eyes as ClassicEyes } from './classic/types';
3
- import type { Eyes as UFGEyes } from './ufg/types';
1
+ import type { Target, Eyes, Config, CheckSettings, CloseSettings, TestResult } from './types';
4
2
  import { type Logger } from '@applitools/logger';
5
- declare type Options<TDriver, TElement, TSelector> = {
6
- eyes: ClassicEyes<TDriver, TElement, TSelector> | UFGEyes<TDriver, TElement, TSelector>;
3
+ import { type SpecDriver } from '@applitools/driver';
4
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
5
+ type?: TType;
6
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
7
+ target?: Target<TDriver, TContext, TElement, TSelector, TType>;
8
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
9
  logger: Logger;
8
10
  };
9
- export declare function makeCheckAndClose<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TElement, TSelector>): ({ target, settings, config, logger, }?: {
10
- target?: Target<TDriver, TType>;
11
- settings?: CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>;
12
- config?: Config<TElement, TSelector, TType>;
11
+ export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
12
+ type?: TType;
13
+ target?: Target<TDriver, TContext, TElement, TSelector, TType>;
14
+ settings?: CheckSettings<TElement, TSelector, TDefaultType> & (TDefaultType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings) & {
15
+ throwErr?: boolean;
16
+ } & CheckSettings<TElement, TSelector, TType> & (TType extends "ufg" ? import("@applitools/core-base").CloseSettings : import("@applitools/core-base").CloseSettings);
17
+ config?: Config<TElement, TSelector, TDefaultType> & Config<TElement, TSelector, TType>;
13
18
  logger?: Logger;
14
19
  }) => Promise<TestResult<TType>[]>;
15
20
  export {};
package/types/check.d.ts CHANGED
@@ -1,13 +1,16 @@
1
- import type { Target, Config, CheckSettings, CheckResult } from './types';
2
- import type { Eyes as ClassicEyes } from './classic/types';
3
- import type { Eyes as UFGEyes } from './ufg/types';
1
+ import type { Target, Eyes, Config, CheckSettings, CheckResult } from './types';
4
2
  import { type Logger } from '@applitools/logger';
5
- declare type Options<TDriver, TElement, TSelector> = {
6
- eyes: ClassicEyes<TDriver, TElement, TSelector> | UFGEyes<TDriver, TElement, TSelector>;
3
+ import { type SpecDriver } from '@applitools/driver';
4
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
5
+ type?: TType;
6
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
7
+ target?: Target<TDriver, TContext, TElement, TSelector, TType>;
8
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
9
  logger?: Logger;
8
10
  };
9
- export declare function makeCheck<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TElement, TSelector>): ({ target, settings, config, logger, }?: {
10
- target?: Target<TDriver, TType>;
11
+ export declare function makeCheck<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
12
+ type?: TType;
13
+ target?: Target<TDriver, TContext, TElement, TSelector, TType>;
11
14
  settings?: CheckSettings<TElement, TSelector, TType>;
12
15
  config?: Config<TElement, TSelector, TType>;
13
16
  logger?: Logger;
@@ -1,15 +1,14 @@
1
- import type { Target, CheckSettings, CloseSettings, TestResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { ClassicTarget, DriverTarget, Eyes, CheckSettings, CloseSettings, TestResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecDriver } from '@applitools/driver';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
- eyes: BaseEyes;
8
- target?: Target<TDriver>;
4
+ type Options<TDriver, TContext, TElement, TSelector> = {
5
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
6
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
7
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
8
  logger?: Logger;
10
9
  };
11
- export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>({ spec, eyes, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
12
- target?: Target<TDriver>;
10
+ export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
11
+ target?: ClassicTarget<TDriver, TContext, TElement, TSelector>;
13
12
  settings?: CheckSettings<TElement, TSelector> & CloseSettings;
14
13
  logger?: Logger;
15
14
  }) => Promise<TestResult[]>;
@@ -1,15 +1,14 @@
1
- import type { Target, CheckSettings, CheckResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { ClassicTarget, DriverTarget, Eyes, CheckSettings, CheckResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecDriver } from '@applitools/driver';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
- eyes: BaseEyes;
8
- target?: Target<TDriver>;
4
+ type Options<TDriver, TContext, TElement, TSelector> = {
5
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
6
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
7
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
8
  logger?: Logger;
10
9
  };
11
- export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ spec, eyes, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
12
- target?: Target<TDriver>;
10
+ export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
11
+ target?: ClassicTarget<TDriver, TContext, TElement, TSelector>;
13
12
  settings?: CheckSettings<TElement, TSelector>;
14
13
  logger?: Logger;
15
14
  }) => Promise<CheckResult[]>;
@@ -2,12 +2,12 @@ import type { Core } from './types';
2
2
  import { type SpecDriver } from '@applitools/driver';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type Core as BaseCore } from '@applitools/core-base';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
5
+ type Options<TDriver, TContext, TElement, TSelector> = {
6
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
7
  core?: BaseCore;
8
8
  agentId?: string;
9
9
  cwd?: string;
10
10
  logger?: Logger;
11
11
  };
12
- export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TElement, TSelector>;
12
+ export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
13
13
  export {};
@@ -1,17 +1,16 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
- import type { Target, ExtractTextSettings } from './types';
3
- import type { Eyes as BaseEyes } from '@applitools/core-base';
2
+ import type { ClassicTarget, DriverTarget, Eyes, ExtractTextSettings } from './types';
4
3
  import { type Logger } from '@applitools/logger';
5
4
  import { type SpecDriver } from '@applitools/driver';
6
- declare type Options<TDriver, TContext, TElement, TSelector> = {
7
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
8
- eyes: BaseEyes;
9
- target?: Target<TDriver>;
5
+ type Options<TDriver, TContext, TElement, TSelector> = {
6
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
7
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
8
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
9
  logger?: Logger;
11
10
  };
12
- export declare function makeExtractText<TDriver, TContext, TElement, TSelector>({ spec, eyes, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }?: {
13
- target?: Target<TDriver>;
14
- settings?: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
11
+ export declare function makeExtractText<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
12
+ target?: ClassicTarget<TDriver, TContext, TElement, TSelector>;
13
+ settings: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
15
14
  logger?: Logger;
16
15
  }) => Promise<string[]>;
17
16
  export {};
@@ -0,0 +1,17 @@
1
+ import type { OpenSettings } from './types';
2
+ import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options = {
5
+ settings?: OpenSettings;
6
+ eyes?: BaseEyes[];
7
+ core?: BaseCore;
8
+ logger?: Logger;
9
+ };
10
+ export declare function makeGetBaseEyes({ settings, core, eyes, logger: defaultLogger }: Options): (({ logger }?: {
11
+ logger?: Logger;
12
+ }) => Promise<BaseEyes[]>) & {
13
+ getCachedValues(): Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>[];
14
+ setCachedValue(key: any, value: Promise<BaseEyes<import("@applitools/core-base").ImageTarget>[]>): void;
15
+ clearCache(): void;
16
+ };
17
+ export {};
@@ -1,16 +1,15 @@
1
- import type { Target, LocateTextSettings, LocateTextResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { ClassicTarget, DriverTarget, Eyes, LocateTextSettings, LocateTextResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
3
  import { type SpecDriver } from '@applitools/driver';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
- eyes: BaseEyes;
8
- target?: Target<TDriver>;
4
+ type Options<TDriver, TContext, TElement, TSelector> = {
5
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
6
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
7
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
8
  logger?: Logger;
10
9
  };
11
- export declare function makeLocateText<TDriver, TContext, TElement, TSelector>({ spec, eyes, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TPattern extends string>({ target, settings, logger, }?: {
12
- target?: Target<TDriver>;
13
- settings?: LocateTextSettings<TPattern, TElement, TSelector>;
10
+ export declare function makeLocateText<TDriver, TContext, TElement, TSelector>({ eyes, target: defaultTarget, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TPattern extends string>({ target, settings, logger, }: {
11
+ target?: ClassicTarget<TDriver, TContext, TElement, TSelector>;
12
+ settings: LocateTextSettings<TPattern, TElement, TSelector>;
14
13
  logger?: Logger;
15
14
  }) => Promise<LocateTextResult<TPattern>>;
16
15
  export {};
@@ -1,15 +1,16 @@
1
- import type { Eyes, Target, OpenSettings } from './types';
2
- import type { Core as BaseCore } from '@applitools/core-base';
1
+ import type { DriverTarget, Eyes, OpenSettings } from './types';
2
+ import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type SpecDriver } from '@applitools/driver';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
- spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
5
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
6
  core: BaseCore;
7
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
8
8
  logger?: Logger;
9
9
  };
10
- export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ spec, core, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
11
- target?: Target<TDriver>;
10
+ export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ core, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, eyes, logger, }: {
11
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
12
12
  settings: OpenSettings;
13
+ eyes?: BaseEyes[];
13
14
  logger?: Logger;
14
- }) => Promise<Eyes<TDriver, TElement, TSelector>>;
15
+ }) => Promise<Eyes<TDriver, TContext, TElement, TSelector>>;
15
16
  export {};
@@ -1,31 +1,34 @@
1
+ import type * as BaseCore from '@applitools/core-base/types';
1
2
  import type * as AutomationCore from '../automation/types';
2
3
  import { type Logger } from '@applitools/logger';
3
4
  export * from '../automation/types';
4
- export declare type Target<TDriver> = AutomationCore.Target<TDriver> | AutomationCore.Screenshot;
5
- export interface Core<TDriver, TElement, TSelector> extends AutomationCore.Core<TDriver, TElement, TSelector, Eyes<TDriver, TElement, TSelector>> {
5
+ export type ClassicTarget<TDriver, TContext, TElement, TSelector> = AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | AutomationCore.ImageTarget;
6
+ export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector, TEyes> {
6
7
  readonly type: 'classic';
7
8
  openEyes(options: {
8
- target?: TDriver;
9
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
9
10
  settings: OpenSettings;
11
+ eyes?: BaseCore.Eyes[];
10
12
  logger?: Logger;
11
- }): Promise<Eyes<TDriver, TElement, TSelector>>;
13
+ }): Promise<TEyes>;
12
14
  }
13
- export interface Eyes<TDriver, TElement, TSelector, TTarget = Target<TDriver>> extends AutomationCore.Eyes<TDriver, TElement, TSelector, TTarget> {
15
+ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = ClassicTarget<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
16
+ readonly type: 'classic';
14
17
  check(options?: {
15
18
  target?: TTarget;
16
19
  settings?: CheckSettings<TElement, TSelector>;
17
20
  logger?: Logger;
18
21
  }): Promise<AutomationCore.CheckResult[]>;
19
- checkAndClose(options: {
22
+ checkAndClose(options?: {
20
23
  target?: TTarget;
21
24
  settings?: CheckSettings<TElement, TSelector> & AutomationCore.CloseSettings;
22
25
  logger?: Logger;
23
26
  }): Promise<AutomationCore.TestResult[]>;
24
27
  }
25
- export declare type OpenSettings = AutomationCore.OpenSettings & {
28
+ export type OpenSettings = AutomationCore.OpenSettings & {
26
29
  keepPlatformNameAsIs?: boolean;
27
30
  useCeilForViewportSize?: boolean;
28
31
  };
29
- export declare type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
32
+ export type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
30
33
  retryTimeout?: number;
31
34
  };
@@ -1,7 +1,7 @@
1
1
  import { type Driver } from '@applitools/driver';
2
2
  import { type Logger } from '@applitools/logger';
3
3
  import { type Fetch } from '@applitools/req';
4
- export declare type DomCaptureSettings = {
4
+ export type DomCaptureSettings = {
5
5
  fetch?: Fetch;
6
6
  executionTimeout?: number;
7
7
  pollTimeout?: number;
@@ -2,7 +2,7 @@ import type { MaybeArray } from '@applitools/utils';
2
2
  import type { CloseBatchSettings } from './types';
3
3
  import type { Core as BaseCore } from '@applitools/core-base';
4
4
  import { type Logger } from '@applitools/logger';
5
- declare type Options = {
5
+ type Options = {
6
6
  core: BaseCore;
7
7
  logger: Logger;
8
8
  };
@@ -1,15 +1,15 @@
1
1
  import type { Eyes, TestResult, TestResultSummary } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
- declare type Options<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
4
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
5
5
  core: BaseCore<unknown>;
6
6
  storage: {
7
- eyes: Eyes<TDriver, TElement, TSelector, TType>;
7
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
8
8
  promise?: Promise<TestResult<TType>[]>;
9
9
  }[];
10
10
  logger?: Logger;
11
11
  };
12
- export declare function makeCloseManager<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic'>({ core, storage, logger: defaultLogger, }: Options<TDriver, TElement, TSelector, TType>): ({ settings, logger, }?: {
12
+ export declare function makeCloseManager<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic'>({ core, storage, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TType>): ({ settings, logger, }?: {
13
13
  settings?: {
14
14
  throwErr?: boolean;
15
15
  };
package/types/close.d.ts CHANGED
@@ -1,12 +1,10 @@
1
- import type { Config, CloseSettings, TestResult } from './types';
2
- import type { Eyes as ClassicEyes } from './classic/types';
3
- import type { Eyes as UFGEyes } from './ufg/types';
1
+ import type { Eyes, Config, CloseSettings, TestResult } from './types';
4
2
  import { type Logger } from '@applitools/logger';
5
- declare type Options<TDriver, TElement, TSelector> = {
6
- eyes: ClassicEyes<TDriver, TElement, TSelector> | UFGEyes<TDriver, TElement, TSelector>;
3
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
4
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
7
5
  logger: Logger;
8
6
  };
9
- export declare function makeClose<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TElement, TSelector>): ({ settings, config, logger, }?: {
7
+ export declare function makeClose<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TType>): ({ settings, config, logger, }?: {
10
8
  settings?: CloseSettings<TType>;
11
9
  config?: Config<TElement, TSelector, TType>;
12
10
  logger?: Logger;
package/types/core.d.ts CHANGED
@@ -2,7 +2,7 @@ import type { Core } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type SpecDriver } from '@applitools/driver';
4
4
  import { type Logger } from '@applitools/logger';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
5
+ type Options<TDriver, TContext, TElement, TSelector> = {
6
6
  spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
7
  concurrency?: number;
8
8
  core?: BaseCore;
@@ -10,5 +10,5 @@ declare type Options<TDriver, TContext, TElement, TSelector> = {
10
10
  cwd?: string;
11
11
  logger?: Logger;
12
12
  };
13
- export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, concurrency, core, agentId, cwd, logger, }?: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TElement, TSelector>;
13
+ export declare function makeCore<TDriver, TContext, TElement, TSelector>({ spec, concurrency, core, agentId, cwd, logger, }?: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
14
14
  export {};
@@ -2,7 +2,7 @@ import type { MaybeArray } from '@applitools/utils';
2
2
  import type { DeleteTestSettings } from './types';
3
3
  import type { Core as BaseCore } from '@applitools/core-base';
4
4
  import { type Logger } from '@applitools/logger';
5
- declare type Options = {
5
+ type Options = {
6
6
  core: BaseCore;
7
7
  logger: Logger;
8
8
  };
@@ -1,16 +1,14 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
- import type { Target, Config, ExtractTextSettings } from './types';
3
- import type { Eyes as ClassicEyes } from './classic/types';
4
- import type { Eyes as UFGEyes } from './ufg/types';
2
+ import type { Target, Eyes, Config, ExtractTextSettings } from './types';
5
3
  import { type Logger } from '@applitools/logger';
6
- declare type Options<TDriver, TElement, TSelector> = {
7
- eyes: ClassicEyes<TDriver, TElement, TSelector> | UFGEyes<TDriver, TElement, TSelector>;
4
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
5
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
8
6
  logger: Logger;
9
7
  };
10
- export declare function makeExtractText<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TElement, TSelector>): ({ target, settings, config, logger, }: {
11
- target?: Target<TDriver, TType>;
12
- settings: MaybeArray<ExtractTextSettings<TElement, TSelector, TType>>;
13
- config?: Config<TElement, TSelector, TType>;
8
+ export declare function makeExtractText<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic'>({ eyes, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TType>): ({ target, settings, config, logger, }: {
9
+ target?: Target<TDriver, TContext, TElement, TSelector, 'classic'>;
10
+ settings: MaybeArray<ExtractTextSettings<TElement, TSelector, 'classic'>>;
11
+ config?: Config<TElement, TSelector, 'classic'>;
14
12
  logger?: Logger;
15
13
  }) => Promise<string[]>;
16
14
  export {};
@@ -0,0 +1,21 @@
1
+ import type { TypedCore, TypedEyes, OpenSettings } from './types';
2
+ import { type Renderer } from '@applitools/ufg-client';
3
+ import { type Logger } from '@applitools/logger';
4
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
5
+ type: TType;
6
+ settings: OpenSettings<TType>;
7
+ target?: TDriver;
8
+ cores: {
9
+ [TKey in 'classic' | 'ufg']: TypedCore<TDriver, TContext, TElement, TSelector, TKey>;
10
+ };
11
+ logger?: Logger;
12
+ };
13
+ export declare function makeGetTypedEyes<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, settings: defaultSettings, target, cores, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, logger, }?: {
14
+ type?: TType;
15
+ settings?: {
16
+ type: 'web' | 'native';
17
+ renderers: Renderer[];
18
+ };
19
+ logger?: Logger;
20
+ }) => Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType, import("./types").Target<TDriver, TContext, TElement, TSelector, TType>>>;
21
+ export {};
@@ -1,15 +1,13 @@
1
- import type { Target, Config, LocateTextSettings, LocateTextResult } from './types';
2
- import type { Eyes as ClassicEyes } from './classic/types';
3
- import type { Eyes as UFGEyes } from './ufg/types';
1
+ import type { Target, Eyes, Config, LocateTextSettings, LocateTextResult } from './types';
4
2
  import { type Logger } from '@applitools/logger';
5
- declare type Options<TDriver, TElement, TSelector> = {
6
- eyes: ClassicEyes<TDriver, TElement, TSelector> | UFGEyes<TDriver, TElement, TSelector>;
3
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
4
+ eyes: Eyes<TDriver, TContext, TElement, TSelector, TType>;
7
5
  logger: Logger;
8
6
  };
9
- export declare function makeLocateText<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic' | 'ufg'>({ eyes, logger: defaultLogger, }: Options<TDriver, TElement, TSelector>): <TPattern extends string>({ target, settings, config, logger, }: {
10
- target?: Target<TDriver, TType>;
11
- settings: LocateTextSettings<TPattern, TElement, TSelector, TType>;
12
- config?: Config<TElement, TSelector, TType>;
7
+ export declare function makeLocateText<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg' = 'classic'>({ eyes, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TType>): <TPattern extends string>({ target, settings, config, logger, }: {
8
+ target?: Target<TDriver, TContext, TElement, TSelector, 'classic'>;
9
+ settings: import("./automation/types").LocateTextSettings<TPattern, TElement, TSelector>;
10
+ config?: Config<TElement, TSelector, 'classic'>;
13
11
  logger?: Logger;
14
12
  }) => Promise<LocateTextResult<TPattern>>;
15
13
  export {};
package/types/locate.d.ts CHANGED
@@ -1,16 +1,15 @@
1
1
  import type { Region } from '@applitools/utils';
2
- import type { Config, LocateSettings } from './types';
2
+ import type { DriverTarget, ImageTarget, Config, LocateSettings } from './types';
3
3
  import type { Core as BaseCore } from '@applitools/core-base';
4
- import type { Screenshot } from './classic/types';
5
4
  import { type Logger } from '@applitools/logger';
6
5
  import { type SpecDriver } from '@applitools/driver';
7
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
8
7
  spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
8
  core: BaseCore;
10
9
  logger: Logger;
11
10
  };
12
11
  export declare function makeLocate<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'>({ spec, core, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TLocator extends string>({ target, settings, config, logger, }: {
13
- target?: TDriver | Screenshot;
12
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector> | ImageTarget;
14
13
  settings: LocateSettings<TLocator, TElement, TSelector>;
15
14
  config?: Config<TElement, TSelector, TType>;
16
15
  logger?: Logger;
@@ -2,7 +2,7 @@ import type { EyesManager } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type SpecDriver } from '@applitools/driver';
5
- declare type Options<TDriver, TContext, TElement, TSelector> = {
5
+ type Options<TDriver, TContext, TElement, TSelector> = {
6
6
  spec: SpecDriver<TDriver, TContext, TElement, TSelector>;
7
7
  core?: BaseCore;
8
8
  concurrency?: number;
@@ -13,8 +13,9 @@ declare type Options<TDriver, TContext, TElement, TSelector> = {
13
13
  export declare function makeMakeManager<TDriver, TContext, TElement, TSelector>({ spec, core, concurrency: defaultConcurrency, agentId: defaultAgentId, cwd, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TType extends "classic" | "ufg" = "classic">({ type, concurrency, legacyConcurrency, agentId, logger, }?: {
14
14
  type?: TType;
15
15
  concurrency?: number;
16
+ /** @deprecated */
16
17
  legacyConcurrency?: number;
17
18
  agentId?: string;
18
19
  logger?: Logger;
19
- }) => Promise<EyesManager<TDriver, TElement, TSelector, TType>>;
20
+ }) => Promise<EyesManager<TDriver, TContext, TElement, TSelector, TType>>;
20
21
  export {};
@@ -1,20 +1,22 @@
1
- import type { Eyes, Config, OpenSettings } from './types';
2
- import type { Core as ClassicCore } from './classic/types';
3
- import type { Core as UFGCore } from './ufg/types';
1
+ import type { TypedCore, Eyes, Config, OpenSettings } from './types';
4
2
  import type { Core as BaseCore } from '@applitools/core-base';
5
3
  import { type Logger } from '@applitools/logger';
6
4
  import { type SpecDriver } from '@applitools/driver';
7
- declare type Options<TDriver, TContext, TElement, TSelector> = {
8
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
- core?: BaseCore | ClassicCore<TDriver, TElement, TSelector> | UFGCore<TDriver, TElement, TSelector>;
5
+ type Options<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = {
6
+ type?: TType;
10
7
  concurrency?: number;
8
+ core: BaseCore;
9
+ cores?: {
10
+ [TKey in 'classic' | 'ufg']: TypedCore<TDriver, TContext, TElement, TSelector, TKey>;
11
+ };
12
+ spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
11
13
  logger?: Logger;
12
14
  };
13
- export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ spec, core, concurrency, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): <TType extends "classic" | "ufg" = "classic">({ type, target, settings, config, logger, }: {
15
+ export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg' = 'classic'>({ type: defaultType, concurrency, core, cores, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, settings, config, target, logger, }: {
14
16
  type?: TType;
17
+ settings?: Partial<OpenSettings<TDefaultType> & OpenSettings<TType>>;
18
+ config?: Config<TElement, TSelector, TDefaultType> & Config<TElement, TSelector, TType>;
15
19
  target?: TDriver;
16
- settings?: Partial<OpenSettings<TType>>;
17
- config?: Config<TElement, TSelector, TType>;
18
20
  logger?: Logger;
19
- }) => Promise<Eyes<TDriver, TElement, TSelector, TType, import("./types").Target<TDriver, TType>>>;
21
+ }) => Promise<Eyes<TDriver, TContext, TElement, TSelector, TType, import("./types").Target<TDriver, TContext, TElement, TSelector, TType>>>;
20
22
  export {};