@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
package/types/types.d.ts CHANGED
@@ -5,35 +5,38 @@ import type * as UFGCore from './ufg/types';
5
5
  import { type Logger } from '@applitools/logger';
6
6
  import { type Renderer } from '@applitools/ufg-client';
7
7
  export * from '@applitools/core-base/types';
8
- export declare type Target<TDriver, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Target<TDriver> : ClassicCore.Target<TDriver>;
9
- export interface Core<TDriver, TElement, TSelector> extends AutomationCore.Core<TDriver, TElement, TSelector> {
8
+ export * from './automation/types';
9
+ export type TypedCore<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TDriver, TContext, TElement, TSelector> : ClassicCore.Core<TDriver, TContext, TElement, TSelector>;
10
+ export type TypedEyes<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg', TTarget = Target<TDriver, TContext, TElement, TSelector, TType>> = TType extends 'ufg' ? UFGCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> : ClassicCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget>;
11
+ export type Target<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.UFGTarget<TDriver, TContext, TElement, TSelector> : ClassicCore.ClassicTarget<TDriver, TContext, TElement, TSelector>;
12
+ export interface Core<TDriver, TContext, TElement, TSelector> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector> {
13
+ makeManager<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
14
+ type: TType;
15
+ concurrency?: TType extends 'ufg' ? number : never;
16
+ agentId?: string;
17
+ logger?: Logger;
18
+ }): Promise<EyesManager<TDriver, TContext, TElement, TSelector, TType>>;
10
19
  openEyes<TType extends 'classic' | 'ufg' = 'classic'>(options: {
11
20
  type?: TType;
12
- target?: TDriver;
21
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
13
22
  settings?: Partial<OpenSettings<TType>>;
14
23
  config?: Config<TElement, TSelector, TType>;
15
24
  logger?: Logger;
16
- }): Promise<Eyes<TDriver, TElement, TSelector, TType>>;
25
+ }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
17
26
  locate<TLocator extends string>(options: {
18
- target?: TDriver | AutomationCore.Screenshot;
27
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | AutomationCore.ImageTarget;
19
28
  settings?: Partial<LocateSettings<TLocator, TElement, TSelector>>;
20
29
  config?: Config<TElement, TSelector, 'classic'>;
21
30
  logger?: Logger;
22
31
  }): Promise<AutomationCore.LocateResult<TLocator>>;
23
- makeManager<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
24
- type: TType;
25
- concurrency?: TType extends 'ufg' ? number : never;
26
- agentId?: string;
27
- logger?: Logger;
28
- }): Promise<EyesManager<TDriver, TElement, TSelector, TType>>;
29
32
  }
30
- export interface EyesManager<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg'> {
33
+ export interface EyesManager<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg'> {
31
34
  openEyes(options: {
32
35
  target?: TDriver;
33
36
  settings?: Partial<OpenSettings<TType>>;
34
37
  config?: Config<TElement, TSelector, TType>;
35
38
  logger?: Logger;
36
- }): Promise<Eyes<TDriver, TElement, TSelector, TType>>;
39
+ }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
37
40
  closeManager: (options?: {
38
41
  settings?: {
39
42
  throwErr?: boolean;
@@ -41,19 +44,25 @@ export interface EyesManager<TDriver, TElement, TSelector, TType extends 'classi
41
44
  logger?: Logger;
42
45
  }) => Promise<TestResultSummary<TType>>;
43
46
  }
44
- export interface ClassicEyes<TDriver, TElement, TSelector, TTarget = Target<TDriver, 'classic'>> extends ClassicCore.Eyes<TDriver, TElement, TSelector, TTarget> {
45
- check(options?: {
47
+ export interface ClassicEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'classic'>> extends ClassicCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
48
+ getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
49
+ type?: TType;
50
+ logger?: Logger;
51
+ }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
52
+ check<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
53
+ type?: TType;
46
54
  target?: TTarget;
47
- settings?: Partial<CheckSettings<TElement, TSelector, 'classic'>>;
48
- config?: Config<TElement, TSelector, 'classic'>;
55
+ settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CheckSettings<TElement, TSelector, TType>>;
56
+ config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
49
57
  logger?: Logger;
50
- }): Promise<CheckResult<'classic'>[]>;
51
- checkAndClose(options?: {
58
+ }): Promise<CheckResult<TType>[]>;
59
+ checkAndClose<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
60
+ type?: TType;
52
61
  target?: TTarget;
53
- settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CloseSettings<'classic'>>;
54
- config?: Config<TElement, TSelector, 'classic'>;
62
+ settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CloseSettings<'classic'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
63
+ config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
55
64
  logger?: Logger;
56
- }): Promise<TestResult<'classic'>[]>;
65
+ }): Promise<TestResult<TType>[]>;
57
66
  locateText<TPattern extends string>(options: {
58
67
  target?: TTarget;
59
68
  settings: Partial<LocateTextSettings<TPattern, TElement, TSelector, 'classic'>>;
@@ -72,42 +81,52 @@ export interface ClassicEyes<TDriver, TElement, TSelector, TTarget = Target<TDri
72
81
  logger?: Logger;
73
82
  }): Promise<TestResult<'classic'>[]>;
74
83
  }
75
- export interface UFGEyes<TDriver, TElement, TSelector, TTarget = Target<TDriver, 'ufg'>> extends UFGCore.Eyes<TDriver, TElement, TSelector, TTarget> {
76
- check(options?: {
84
+ export interface UFGEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'ufg'>> extends UFGCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
85
+ getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
86
+ type?: TType;
87
+ settings?: {
88
+ type: 'web' | 'native';
89
+ renderers: Renderer[];
90
+ };
91
+ logger?: Logger;
92
+ }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
93
+ check<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
94
+ type?: TType;
77
95
  target?: TTarget;
78
- settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'>>;
79
- config?: Config<TElement, TSelector, 'ufg'>;
96
+ settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CheckSettings<TElement, TSelector, TType>>;
97
+ config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
80
98
  logger?: Logger;
81
- }): Promise<CheckResult<'ufg'>[]>;
82
- checkAndClose(options?: {
99
+ }): Promise<CheckResult<TType>[]>;
100
+ checkAndClose<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
101
+ type?: TType;
83
102
  target?: TTarget;
84
- settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CloseSettings<'ufg'>>;
85
- config?: Config<TElement, TSelector, 'ufg'>;
103
+ settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CloseSettings<'ufg'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
104
+ config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
86
105
  logger?: Logger;
87
- }): Promise<TestResult<'ufg'>[]>;
106
+ }): Promise<TestResult<TType>[]>;
88
107
  close(options?: {
89
108
  settings?: Partial<CloseSettings<'ufg'>>;
90
109
  config?: Config<TElement, TSelector, 'ufg'>;
91
110
  logger?: Logger;
92
111
  }): Promise<TestResult<'ufg'>[]>;
93
112
  }
94
- export declare type Eyes<TDriver, TElement, TSelector, TType extends 'classic' | 'ufg', TTarget = Target<TDriver, TType>> = TType extends 'ufg' ? UFGEyes<TDriver, TElement, TSelector, TTarget> : ClassicEyes<TDriver, TElement, TSelector, TTarget>;
95
- export declare type Config<TElement, TSelector, TType extends 'classic' | 'ufg'> = {
113
+ export type Eyes<TDriver, TContext, TElement, TSelector, TType extends 'classic' | 'ufg', TTarget = Target<TDriver, TContext, TElement, TSelector, TType>> = TType extends 'ufg' ? UFGEyes<TDriver, TContext, TElement, TSelector, TTarget> : ClassicEyes<TDriver, TContext, TElement, TSelector, TTarget>;
114
+ export type Config<TElement, TSelector, TType extends 'classic' | 'ufg'> = {
96
115
  open: Partial<OpenSettings<TType>>;
97
116
  screenshot: Partial<ClassicCore.ScreenshotSettings<TElement, TSelector>>;
98
117
  check: Partial<Omit<CheckSettings<TElement, TSelector, TType>, keyof ClassicCore.ScreenshotSettings<TElement, TSelector>>>;
99
118
  close: Partial<CloseSettings<TType>>;
100
119
  };
101
- export declare type LocateSettings<TLocator extends string, TElement, TSelector> = AutomationCore.LocateSettings<TLocator, TElement, TSelector>;
102
- export declare type OpenSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.OpenSettings : ClassicCore.OpenSettings;
103
- export declare type CheckSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TElement, TSelector> : ClassicCore.CheckSettings<TElement, TSelector>;
104
- export declare type LocateTextSettings<TPattern extends string, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.LocateTextSettings<TPattern, TElement, TSelector> : ClassicCore.LocateTextSettings<TPattern, TElement, TSelector>;
105
- export declare type ExtractTextSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.ExtractTextSettings<TElement, TSelector> : ClassicCore.ExtractTextSettings<TElement, TSelector>;
106
- export declare type CloseSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings) & {
120
+ export type LocateSettings<TLocator extends string, TElement, TSelector> = AutomationCore.LocateSettings<TLocator, TElement, TSelector>;
121
+ export type OpenSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.OpenSettings : ClassicCore.OpenSettings;
122
+ export type CheckSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TElement, TSelector> : ClassicCore.CheckSettings<TElement, TSelector>;
123
+ export type LocateTextSettings<TPattern extends string, TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.LocateTextSettings<TPattern, TElement, TSelector> : ClassicCore.LocateTextSettings<TPattern, TElement, TSelector>;
124
+ export type ExtractTextSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.ExtractTextSettings<TElement, TSelector> : ClassicCore.ExtractTextSettings<TElement, TSelector>;
125
+ export type CloseSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings) & {
107
126
  throwErr?: boolean;
108
127
  };
109
- export declare type CheckResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckResult : ClassicCore.CheckResult;
110
- export declare type TestResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.TestResult : ClassicCore.TestResult;
128
+ export type CheckResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckResult : ClassicCore.CheckResult;
129
+ export type TestResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.TestResult : ClassicCore.TestResult;
111
130
  export interface TestResultContainer<TType extends 'classic' | 'ufg'> {
112
131
  readonly error?: Error;
113
132
  readonly result?: TestResult<TType>;
@@ -3,7 +3,7 @@ import type { Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type Renderer } from '@applitools/ufg-client';
5
5
  import { type AbortController } from 'abort-controller';
6
- declare type Options = {
6
+ type Options = {
7
7
  storage: {
8
8
  renderer: Renderer;
9
9
  promise: Promise<{
@@ -1,16 +1,14 @@
1
- import type { Target, TestInfo } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { DriverTarget, Eyes } from './types';
2
+ import { type AbortSignal } from 'abort-controller';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type SpecDriver } from '@applitools/driver';
5
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- declare type Options<TDriver, TContext, TElement, TSelector> = {
7
- getEyes: (options: {
8
- rawEnvironment: any;
9
- }) => Promise<BaseEyes>;
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
10
8
  client: UFGClient;
11
- test: TestInfo;
9
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
12
10
  spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
13
- target?: Target<TDriver>;
11
+ signal?: AbortSignal;
14
12
  logger?: Logger;
15
13
  };
16
14
  export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>(_options: Options<TDriver, TContext, TElement, TSelector>): any;
@@ -1,27 +1,19 @@
1
- import type { Target, TestInfo, CheckSettings, CheckResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { DriverTarget, UFGTarget, Eyes, CheckSettings, CheckResult } from './types';
3
2
  import { type AbortSignal } from 'abort-controller';
4
3
  import { type Logger } from '@applitools/logger';
5
4
  import { type UFGClient } from '@applitools/ufg-client';
6
5
  import { type SpecDriver } from '@applitools/driver';
7
- declare type Options<TDriver, TContext, TElement, TSelector> = {
8
- getEyes: (options: {
9
- rawEnvironment: any;
10
- }) => Promise<BaseEyes>;
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
+ eyes: Eyes<TDriver, TContext, TElement, TSelector>;
11
8
  client: UFGClient;
12
- test: TestInfo;
9
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
13
10
  spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
14
11
  signal?: AbortSignal;
15
- target?: Target<TDriver>;
16
12
  logger?: Logger;
17
13
  };
18
- export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ spec, getEyes, client, test, signal, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
19
- target?: Target<TDriver>;
14
+ export declare function makeCheck<TDriver, TContext, TElement, TSelector>({ eyes, client, target: defaultTarget, spec, signal, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
20
15
  settings?: CheckSettings<TElement, TSelector>;
16
+ target?: UFGTarget<TDriver, TContext, TElement, TSelector>;
21
17
  logger?: Logger;
22
- }) => Promise<(CheckResult & {
23
- promise: Promise<CheckResult & {
24
- eyes: BaseEyes;
25
- }>;
26
- })[]>;
18
+ }) => Promise<CheckResult[]>;
27
19
  export {};
@@ -2,7 +2,7 @@ import type { CloseSettings, TestResult } from './types';
2
2
  import type { Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type Renderer } from '@applitools/ufg-client';
5
- declare type Options = {
5
+ type Options = {
6
6
  storage: {
7
7
  renderer: Renderer;
8
8
  promise: Promise<{
@@ -3,7 +3,7 @@ import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type UFGClient } from '@applitools/ufg-client';
4
4
  import { type SpecDriver } from '@applitools/driver';
5
5
  import { type Logger } from '@applitools/logger';
6
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
7
  concurrency: number;
8
8
  spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
9
  client?: UFGClient;
@@ -12,5 +12,5 @@ declare type Options<TDriver, TContext, TElement, TSelector> = {
12
12
  cwd?: string;
13
13
  logger?: Logger;
14
14
  };
15
- export declare function makeCore<TDriver, TContext, TElement, TSelector>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TElement, TSelector>;
15
+ export declare function makeCore<TDriver, TContext, TElement, TSelector>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TDriver, TContext, TElement, TSelector>): Core<TDriver, TContext, TElement, TSelector>;
16
16
  export {};
@@ -0,0 +1,23 @@
1
+ import type { OpenSettings } from './types';
2
+ import type { Core as CoreBase, Eyes as EyesBase } from '@applitools/core-base';
3
+ import { type Logger } from '@applitools/logger';
4
+ import { type UFGClient, type Renderer } from '@applitools/ufg-client';
5
+ type Options = {
6
+ settings?: OpenSettings;
7
+ eyes?: EyesBase[];
8
+ core?: CoreBase;
9
+ client?: UFGClient;
10
+ logger?: Logger;
11
+ };
12
+ export declare function makeGetBaseEyes({ settings: defaultSettings, core, client, eyes, logger: defaultLogger }: Options): (({ settings, logger, }?: {
13
+ settings?: {
14
+ type: 'web' | 'native';
15
+ renderer: Renderer;
16
+ };
17
+ logger?: Logger;
18
+ }) => Promise<EyesBase[]>) & {
19
+ getCachedValues(): Promise<EyesBase<import("@applitools/core-base").ImageTarget>[]>[];
20
+ setCachedValue(key: any, value: Promise<EyesBase<import("@applitools/core-base").ImageTarget>[]>): void;
21
+ clearCache(): void;
22
+ };
23
+ export {};
@@ -1,18 +1,18 @@
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
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- declare type Options<TDriver, TContext, TElement, TSelector> = {
6
+ type Options<TDriver, TContext, TElement, TSelector> = {
7
7
  core: BaseCore;
8
8
  client?: UFGClient;
9
9
  spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
10
  logger?: Logger;
11
11
  };
12
- export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ spec, core, client, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
13
- target?: Target<TDriver>;
12
+ export declare function makeOpenEyes<TDriver, TContext, TElement, TSelector>({ core, client, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, eyes, logger, }: {
13
+ target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
14
14
  settings: OpenSettings;
15
+ eyes?: BaseEyes[];
15
16
  logger?: Logger;
16
- on?: any;
17
- }) => Promise<Eyes<TDriver, TElement, TSelector>>;
17
+ }) => Promise<Eyes<TDriver, TContext, TElement, TSelector>>;
18
18
  export {};
@@ -1,19 +1,30 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
+ import type * as BaseCore from '@applitools/core-base/types';
2
3
  import type * as AutomationCore from '../automation/types';
3
4
  import { type Logger } from '@applitools/logger';
4
5
  import { type Proxy } from '@applitools/req';
5
6
  import { type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
6
7
  export * from '../automation/types';
7
- export declare type Target<TDriver> = AutomationCore.Target<TDriver> | MaybeArray<DomSnapshot> | MaybeArray<AndroidSnapshot> | MaybeArray<IOSSnapshot>;
8
- export interface Core<TDriver, TElement, TSelector> extends AutomationCore.Core<TDriver, TElement, TSelector, Eyes<TDriver, TElement, TSelector>> {
8
+ export type SnapshotTarget = MaybeArray<DomSnapshot> | MaybeArray<AndroidSnapshot> | MaybeArray<IOSSnapshot>;
9
+ export type UFGTarget<TDriver, TContext, TElement, TSelector> = AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | SnapshotTarget;
10
+ export interface Core<TDriver, TContext, TElement, TSelector, TEyes = Eyes<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector, TEyes> {
9
11
  readonly type: 'ufg';
10
12
  openEyes(options: {
11
- target?: TDriver;
13
+ target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
12
14
  settings: OpenSettings;
15
+ eyes?: BaseCore.Eyes[];
13
16
  logger?: Logger;
14
- }): Promise<Eyes<TDriver, TElement, TSelector>>;
17
+ }): Promise<TEyes>;
15
18
  }
16
- export interface Eyes<TDriver, TElement, TSelector, TTarget = Target<TDriver>> extends AutomationCore.Eyes<TDriver, TElement, TSelector, TTarget> {
19
+ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = UFGTarget<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
20
+ readonly type: 'ufg';
21
+ getBaseEyes(options?: {
22
+ settings?: {
23
+ type: 'web' | 'native';
24
+ renderer: Renderer;
25
+ };
26
+ logger?: Logger;
27
+ }): Promise<BaseCore.Eyes[]>;
17
28
  check(options?: {
18
29
  target?: TTarget;
19
30
  settings?: CheckSettings<TElement, TSelector>;
@@ -34,10 +45,10 @@ export interface Eyes<TDriver, TElement, TSelector, TTarget = Target<TDriver>> e
34
45
  logger?: Logger;
35
46
  }): Promise<TestResult[]>;
36
47
  }
37
- export declare type OpenSettings = AutomationCore.OpenSettings & {
48
+ export type OpenSettings = AutomationCore.OpenSettings & {
38
49
  renderConcurrency?: number;
39
50
  };
40
- export declare type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
51
+ export type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
41
52
  renderers?: Renderer[];
42
53
  hooks?: {
43
54
  beforeCaptureScreenshot: string;
@@ -45,14 +56,18 @@ export declare type CheckSettings<TElement, TSelector> = AutomationCore.CheckSet
45
56
  disableBrowserFetching?: boolean;
46
57
  layoutBreakpoints?: boolean | number[];
47
58
  ufgOptions?: Record<string, any>;
59
+ nmgOptions?: Record<string, any>;
48
60
  autProxy?: Proxy & {
49
61
  mode?: 'Allow' | 'Block';
50
62
  domains?: string[];
51
63
  };
52
64
  };
53
- export declare type CheckResult = AutomationCore.CheckResult & {
65
+ export type CheckResult = AutomationCore.CheckResult & {
54
66
  readonly renderer?: Renderer;
67
+ readonly promise?: Promise<Omit<CheckResult, 'promise'> & {
68
+ eyes: BaseCore.Eyes;
69
+ }>;
55
70
  };
56
- export declare type TestResult = AutomationCore.TestResult & {
71
+ export type TestResult = AutomationCore.TestResult & {
57
72
  readonly renderer?: Renderer;
58
73
  };
@@ -1,7 +1,7 @@
1
1
  import { type Logger } from '@applitools/logger';
2
2
  import { type Context } from '@applitools/driver';
3
3
  import { type DomSnapshot } from '@applitools/ufg-client';
4
- export declare type DomSnapshotSettings = {
4
+ export type DomSnapshotSettings = {
5
5
  disableBrowserFetching?: boolean;
6
6
  skipResources?: string[];
7
7
  chunkByteLength?: number;
@@ -4,7 +4,7 @@ import { type Driver } from '@applitools/driver';
4
4
  import { type DomSnapshot, type Renderer, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotSettings } from './take-dom-snapshot';
6
6
  export * from './take-dom-snapshot';
7
- export declare type DomSnapshotsSettings = DomSnapshotSettings & {
7
+ export type DomSnapshotsSettings = DomSnapshotSettings & {
8
8
  renderers: Renderer[];
9
9
  waitBeforeCapture?: number;
10
10
  layoutBreakpoints?: number[] | boolean;
@@ -2,7 +2,7 @@ import type { ServerSettings } from '../types';
2
2
  import { type Logger } from '@applitools/logger';
3
3
  import { type Driver } from '@applitools/driver';
4
4
  import { type Renderer, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
5
- export declare type VHSesSettings = ServerSettings & {
5
+ export type VHSesSettings = ServerSettings & {
6
6
  renderers: Renderer[];
7
7
  waitBeforeCapture?: number;
8
8
  };
@@ -1,14 +1,14 @@
1
1
  import { type Logger } from '@applitools/logger';
2
- import { type Driver } from '@applitools/driver';
3
- export declare type LazyLoadSettings = {
2
+ import { type Context } from '@applitools/driver';
3
+ export type LazyLoadSettings = {
4
4
  scrollLength?: number;
5
5
  waitingTime?: number;
6
6
  maxAmountToScroll?: number;
7
7
  executionTimeout?: number;
8
8
  pollTimeout?: number;
9
9
  };
10
- export declare function waitForLazyLoad<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, logger, }: {
11
- driver: TDriver;
10
+ export declare function waitForLazyLoad<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
11
+ context: TContext;
12
12
  settings: LazyLoadSettings;
13
13
  logger: Logger;
14
14
  }): Promise<void>;