@applitools/core 1.4.7 → 1.4.9

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 (80) hide show
  1. package/dist/{classic → automation}/extract-text.js +6 -9
  2. package/dist/automation/get-viewport-size.js +1 -1
  3. package/dist/{classic → automation}/locate-text.js +5 -8
  4. package/dist/automation/locate.js +1 -1
  5. package/dist/automation/set-viewport-size.js +1 -1
  6. package/dist/check.js +1 -4
  7. package/dist/classic/abort.js +3 -3
  8. package/dist/classic/close.js +2 -2
  9. package/dist/classic/core.js +4 -0
  10. package/dist/classic/open-eyes.js +1 -5
  11. package/dist/close.js +1 -25
  12. package/dist/core.js +4 -0
  13. package/dist/errors/abort-error.js +5 -1
  14. package/dist/extract-text.js +13 -17
  15. package/dist/get-eyes-results.js +18 -0
  16. package/dist/{close-manager.js → get-manager-results.js} +7 -9
  17. package/dist/get-typed-eyes.js +4 -2
  18. package/dist/index.js +3 -3
  19. package/dist/locate-text.js +33 -7
  20. package/dist/locate.js +1 -1
  21. package/dist/make-manager.js +5 -28
  22. package/dist/open-eyes.js +3 -5
  23. package/dist/types.js +0 -1
  24. package/dist/ufg/abort.js +11 -19
  25. package/dist/ufg/check-and-close.js +4 -4
  26. package/dist/ufg/check.js +11 -9
  27. package/dist/ufg/close.js +17 -18
  28. package/dist/ufg/core.js +4 -0
  29. package/dist/ufg/get-results.js +27 -0
  30. package/dist/ufg/open-eyes.js +13 -25
  31. package/package.json +8 -8
  32. package/types/automation/extract-text.d.ts +16 -0
  33. package/types/automation/get-viewport-size.d.ts +5 -5
  34. package/types/automation/locate-text.d.ts +15 -0
  35. package/types/automation/locate.d.ts +6 -6
  36. package/types/automation/set-viewport-size.d.ts +5 -5
  37. package/types/automation/types.d.ts +36 -40
  38. package/types/automation/utils/take-screenshot.d.ts +9 -9
  39. package/types/automation/utils/to-base-check-settings.d.ts +6 -13
  40. package/types/automation/utils/wait-for-lazy-load.d.ts +3 -3
  41. package/types/check-and-close.d.ts +9 -11
  42. package/types/check.d.ts +9 -9
  43. package/types/classic/abort.d.ts +8 -8
  44. package/types/classic/check-and-close.d.ts +9 -9
  45. package/types/classic/check.d.ts +9 -9
  46. package/types/classic/close.d.ts +8 -8
  47. package/types/classic/core.d.ts +4 -4
  48. package/types/classic/open-eyes.d.ts +6 -6
  49. package/types/classic/types.d.ts +7 -7
  50. package/types/classic/utils/take-dom-capture.d.ts +3 -3
  51. package/types/close.d.ts +7 -6
  52. package/types/core.d.ts +4 -4
  53. package/types/errors/abort-error.d.ts +3 -1
  54. package/types/extract-text.d.ts +10 -8
  55. package/types/get-eyes-results.d.ts +12 -0
  56. package/types/get-manager-results.d.ts +14 -0
  57. package/types/get-typed-eyes.d.ts +6 -5
  58. package/types/index.d.ts +3 -3
  59. package/types/locate-text.d.ts +10 -8
  60. package/types/locate.d.ts +8 -8
  61. package/types/make-manager.d.ts +5 -5
  62. package/types/open-eyes.d.ts +9 -9
  63. package/types/types.d.ts +62 -84
  64. package/types/ufg/abort.d.ts +8 -16
  65. package/types/ufg/check-and-close.d.ts +9 -9
  66. package/types/ufg/check.d.ts +9 -9
  67. package/types/ufg/close.d.ts +8 -17
  68. package/types/ufg/core.d.ts +4 -4
  69. package/types/ufg/get-results.d.ts +11 -0
  70. package/types/ufg/open-eyes.d.ts +6 -6
  71. package/types/ufg/types.d.ts +13 -17
  72. package/types/ufg/utils/extract-broker-url.d.ts +3 -3
  73. package/types/ufg/utils/generate-safe-selectors.d.ts +8 -8
  74. package/types/ufg/utils/take-dom-snapshot.d.ts +3 -3
  75. package/types/ufg/utils/take-dom-snapshots.d.ts +3 -3
  76. package/types/ufg/utils/take-snapshots.d.ts +3 -3
  77. package/types/ufg/utils/take-vhses.d.ts +3 -3
  78. package/types/classic/extract-text.d.ts +0 -16
  79. package/types/classic/locate-text.d.ts +0 -15
  80. package/types/close-manager.d.ts +0 -18
package/types/types.d.ts CHANGED
@@ -3,133 +3,111 @@ import type { ECClient } from '@applitools/ec-client';
3
3
  import type * as AutomationCore from './automation/types';
4
4
  import type * as ClassicCore from './classic/types';
5
5
  import type * as UFGCore from './ufg/types';
6
+ import { type SpecType } from '@applitools/driver';
6
7
  import { type Logger } from '@applitools/logger';
7
8
  import { type Renderer } from '@applitools/ufg-client';
8
9
  export { ECClient };
9
- export * from '@applitools/core-base/types';
10
10
  export * from './automation/types';
11
- 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>;
12
- 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>;
13
- 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>;
14
- export interface Core<TDriver, TContext, TElement, TSelector> extends AutomationCore.Core<TDriver, TContext, TElement, TSelector> {
11
+ export type TypedCore<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Core<TSpec> : ClassicCore.Core<TSpec>;
12
+ export type TypedEyes<TSpec extends SpecType, TType extends 'classic' | 'ufg', TTarget = Target<TSpec, TType>> = TType extends 'ufg' ? UFGCore.Eyes<TSpec, TTarget> : ClassicCore.Eyes<TSpec, TTarget>;
13
+ export type Target<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.Target<TSpec> : ClassicCore.Target<TSpec>;
14
+ export interface Core<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'> extends AutomationCore.Core<TSpec> {
15
15
  makeECClient(options?: {
16
16
  settings?: any;
17
17
  logger?: Logger;
18
18
  }): Promise<ECClient>;
19
- makeManager<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
19
+ makeManager<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
20
20
  type: TType;
21
21
  concurrency?: TType extends 'ufg' ? number : never;
22
22
  agentId?: string;
23
23
  logger?: Logger;
24
- }): Promise<EyesManager<TDriver, TContext, TElement, TSelector, TType>>;
25
- openEyes<TType extends 'classic' | 'ufg' = 'classic'>(options: {
24
+ }): Promise<EyesManager<TSpec, TType>>;
25
+ openEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options: {
26
26
  type?: TType;
27
- target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
27
+ target?: AutomationCore.DriverTarget<TSpec>;
28
28
  settings?: Partial<OpenSettings<TType>>;
29
- config?: Config<TElement, TSelector, TType>;
29
+ config?: Config<TSpec, TType>;
30
30
  logger?: Logger;
31
- }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
31
+ }): Promise<Eyes<TSpec, TType>>;
32
32
  locate<TLocator extends string>(options: {
33
- target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector> | AutomationCore.ImageTarget;
34
- settings?: Partial<LocateSettings<TLocator, TElement, TSelector>>;
35
- config?: Config<TElement, TSelector, 'classic'>;
33
+ target?: AutomationCore.Target<TSpec>;
34
+ settings?: Partial<AutomationCore.LocateSettings<TLocator, TSpec>>;
35
+ config?: Config<TSpec, TDefaultType>;
36
36
  logger?: Logger;
37
37
  }): Promise<AutomationCore.LocateResult<TLocator>>;
38
+ locateText<TPattern extends string>(options: {
39
+ target?: AutomationCore.Target<TSpec>;
40
+ settings: Partial<AutomationCore.LocateTextSettings<TPattern, TSpec>>;
41
+ config?: Config<TSpec, TDefaultType>;
42
+ logger?: Logger;
43
+ }): Promise<AutomationCore.LocateTextResult<TPattern>>;
44
+ extractText(options: {
45
+ target?: AutomationCore.Target<TSpec>;
46
+ settings: MaybeArray<Partial<AutomationCore.ExtractTextSettings<TSpec>>>;
47
+ config?: Config<TSpec, TDefaultType>;
48
+ logger?: Logger;
49
+ }): Promise<string[]>;
38
50
  }
39
- export interface EyesManager<TDriver, TContext, TElement, TSelector, TDefaultType extends 'classic' | 'ufg'> {
51
+ export interface EyesManager<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'> {
40
52
  openEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options: {
41
53
  type?: TType;
42
- target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
54
+ target?: AutomationCore.DriverTarget<TSpec>;
43
55
  settings?: Partial<OpenSettings<TType>>;
44
- config?: Config<TElement, TSelector, TType>;
56
+ config?: Config<TSpec, TType>;
45
57
  logger?: Logger;
46
- }): Promise<Eyes<TDriver, TContext, TElement, TSelector, TType>>;
47
- closeManager: (options?: {
48
- settings?: {
49
- throwErr?: boolean;
50
- };
58
+ }): Promise<Eyes<TSpec, TType>>;
59
+ getResults: (options?: {
60
+ settings?: GetResultsSettings<TDefaultType>;
51
61
  logger?: Logger;
52
62
  }) => Promise<TestResultSummary<'classic' | 'ufg'>>;
53
63
  }
54
- export interface ClassicEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'classic'>> extends ClassicCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
55
- getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
64
+ export interface Eyes<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg', TTarget = Target<TSpec, TDefaultType>> extends AutomationCore.Eyes<TSpec> {
65
+ getTypedEyes<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
56
66
  type?: TType;
67
+ settings?: any;
57
68
  logger?: Logger;
58
- }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
59
- check<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
69
+ }): Promise<TypedEyes<TSpec, TType>>;
70
+ check<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
60
71
  type?: TType;
61
72
  target?: TTarget;
62
- settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CheckSettings<TElement, TSelector, TType>>;
63
- config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
73
+ settings?: Partial<CheckSettings<TSpec, TDefaultType> & CheckSettings<TSpec, TType>>;
74
+ config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
64
75
  logger?: Logger;
65
76
  }): Promise<CheckResult<TType>[]>;
66
- checkAndClose<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
77
+ checkAndClose<TType extends 'classic' | 'ufg' = TDefaultType>(options?: {
67
78
  type?: TType;
68
79
  target?: TTarget;
69
- settings?: Partial<CheckSettings<TElement, TSelector, 'classic'> & CloseSettings<'classic'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
70
- config?: Config<TElement, TSelector, 'classic'> & Config<TElement, TSelector, TType>;
80
+ settings?: Partial<CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>>;
81
+ config?: Config<TSpec, TDefaultType> & Config<TSpec, TType>;
71
82
  logger?: Logger;
72
83
  }): Promise<TestResult<TType>[]>;
73
- locateText<TPattern extends string>(options: {
74
- target?: TTarget;
75
- settings: Partial<LocateTextSettings<TPattern, TElement, TSelector, 'classic'>>;
76
- config?: Config<TElement, TSelector, 'classic'>;
77
- logger?: Logger;
78
- }): Promise<AutomationCore.LocateTextResult<TPattern>>;
79
- extractText(options: {
80
- target?: TTarget;
81
- settings: MaybeArray<Partial<ExtractTextSettings<TElement, TSelector, 'classic'>>>;
82
- config?: Config<TElement, TSelector, 'classic'>;
83
- logger?: Logger;
84
- }): Promise<string[]>;
85
84
  close(options?: {
86
- settings?: Partial<CloseSettings<'classic'>>;
87
- config?: Config<TElement, TSelector, 'classic'>;
85
+ settings?: Partial<CloseSettings<TDefaultType>>;
86
+ config?: Config<TSpec, TDefaultType>;
88
87
  logger?: Logger;
89
- }): Promise<TestResult<'classic'>[]>;
90
- }
91
- export interface UFGEyes<TDriver, TContext, TElement, TSelector, TTarget = Target<TDriver, TContext, TElement, TSelector, 'ufg'>> extends UFGCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
92
- getTypedEyes<TType extends 'classic' | 'ufg' = 'classic'>(options?: {
93
- type?: TType;
94
- settings?: {
95
- type: 'web' | 'native';
96
- renderers: Renderer[];
97
- };
98
- logger?: Logger;
99
- }): Promise<TypedEyes<TDriver, TContext, TElement, TSelector, TType>>;
100
- check<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
101
- type?: TType;
102
- target?: TTarget;
103
- settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CheckSettings<TElement, TSelector, TType>>;
104
- config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
88
+ }): Promise<void>;
89
+ abort(options?: {
90
+ settings?: Partial<AbortSettings<TDefaultType>>;
91
+ config?: Config<TSpec, TDefaultType>;
105
92
  logger?: Logger;
106
- }): Promise<CheckResult<TType>[]>;
107
- checkAndClose<TType extends 'classic' | 'ufg' = 'ufg'>(options?: {
108
- type?: TType;
109
- target?: TTarget;
110
- settings?: Partial<CheckSettings<TElement, TSelector, 'ufg'> & CloseSettings<'ufg'> & CheckSettings<TElement, TSelector, TType> & CloseSettings<TType>>;
111
- config?: Config<TElement, TSelector, 'ufg'> & Config<TElement, TSelector, TType>;
112
- logger?: Logger;
113
- }): Promise<TestResult<TType>[]>;
114
- close(options?: {
115
- settings?: Partial<CloseSettings<'ufg'>>;
116
- config?: Config<TElement, TSelector, 'ufg'>;
93
+ }): Promise<void>;
94
+ getResults(options?: {
95
+ settings?: Partial<GetResultsSettings<TDefaultType>>;
96
+ config?: Config<TSpec, TDefaultType>;
117
97
  logger?: Logger;
118
- }): Promise<TestResult<'ufg'>[]>;
98
+ }): Promise<TestResult<TDefaultType>[]>;
119
99
  }
120
- 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>;
121
- export type Config<TElement, TSelector, TType extends 'classic' | 'ufg'> = {
122
- open: Partial<OpenSettings<TType>>;
123
- screenshot: Partial<ClassicCore.ScreenshotSettings<TElement, TSelector>>;
124
- check: Partial<Omit<CheckSettings<TElement, TSelector, TType>, keyof ClassicCore.ScreenshotSettings<TElement, TSelector>>>;
125
- close: Partial<CloseSettings<TType>>;
100
+ export type Config<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
101
+ open: Partial<Omit<OpenSettings<TType>, 'userCommandId'>>;
102
+ screenshot: Partial<Omit<ClassicCore.ScreenshotSettings<TSpec>, 'userCommandId'>>;
103
+ check: Partial<Omit<CheckSettings<TSpec, TType>, keyof ClassicCore.ScreenshotSettings<TSpec> | 'userCommandId'>>;
104
+ close: Partial<Omit<CloseSettings<TType>, 'userCommandId'>>;
126
105
  };
127
- export type LocateSettings<TLocator extends string, TElement, TSelector> = AutomationCore.LocateSettings<TLocator, TElement, TSelector>;
128
106
  export type OpenSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.OpenSettings : ClassicCore.OpenSettings;
129
- export type CheckSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TElement, TSelector> : ClassicCore.CheckSettings<TElement, TSelector>;
130
- 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>;
131
- export type ExtractTextSettings<TElement, TSelector, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.ExtractTextSettings<TElement, TSelector> : ClassicCore.ExtractTextSettings<TElement, TSelector>;
132
- export type CloseSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings) & {
107
+ export type CheckSettings<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckSettings<TSpec> : ClassicCore.CheckSettings<TSpec>;
108
+ export type CloseSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CloseSettings : ClassicCore.CloseSettings;
109
+ export type AbortSettings<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.AbortSettings : ClassicCore.AbortSettings;
110
+ export type GetResultsSettings<TType extends 'classic' | 'ufg'> = (TType extends 'ufg' ? UFGCore.GetResultsSettings : ClassicCore.GetResultsSettings) & {
133
111
  throwErr?: boolean;
134
112
  };
135
113
  export type CheckResult<TType extends 'classic' | 'ufg'> = TType extends 'ufg' ? UFGCore.CheckResult : ClassicCore.CheckResult;
@@ -1,24 +1,16 @@
1
- import type { DriverTarget, AbortSettings, TestResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { DriverTarget, AbortSettings, CheckResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
- import { type Renderer } from '@applitools/ufg-client';
5
3
  import { type AbortController } from 'abort-controller';
6
- import { type SpecDriver } from '@applitools/driver';
7
- type Options<TDriver, TContext, TElement, TSelector> = {
8
- storage: {
9
- renderer: Renderer;
10
- promise: Promise<{
11
- eyes: BaseEyes;
12
- renderer: Renderer;
13
- }>;
14
- }[];
4
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
5
+ type Options<TSpec extends SpecType> = {
6
+ storage: Map<string, CheckResult['promise'][]>;
15
7
  controller: AbortController;
16
- target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
17
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
8
+ target?: DriverTarget<TSpec>;
9
+ spec?: SpecDriver<TSpec>;
18
10
  logger: Logger;
19
11
  };
20
- export declare function makeAbort<TDriver, TContext, TElement, TSelector>({ storage, target, spec, controller, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
12
+ export declare function makeAbort<TSpec extends SpecType>({ storage, target, spec, controller, logger: defaultLogger, }: Options<TSpec>): ({ settings, logger, }?: {
21
13
  settings?: AbortSettings | undefined;
22
14
  logger?: Logger | undefined;
23
- }) => Promise<TestResult[]>;
15
+ }) => Promise<void>;
24
16
  export {};
@@ -1,20 +1,20 @@
1
1
  import type { Region } from '@applitools/utils';
2
- import type { DriverTarget, UFGTarget, Eyes, CheckSettings, TestResult, CloseSettings } from './types';
2
+ import type { DriverTarget, Target, Eyes, CheckSettings, TestResult, CloseSettings } from './types';
3
3
  import { type AbortSignal } from 'abort-controller';
4
4
  import { type Logger } from '@applitools/logger';
5
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- import { type SpecDriver, type Selector } from '@applitools/driver';
7
- type Options<TDriver, TContext, TElement, TSelector> = {
8
- eyes: Eyes<TDriver, TContext, TElement, TSelector>;
6
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
7
+ type Options<TSpec extends SpecType> = {
8
+ eyes: Eyes<TSpec>;
9
9
  client: UFGClient;
10
- target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
11
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
10
+ target?: DriverTarget<TSpec>;
11
+ spec?: SpecDriver<TSpec>;
12
12
  signal?: AbortSignal;
13
13
  logger: Logger;
14
14
  };
15
- export declare function makeCheckAndClose<TDriver, TContext, TElement, TSelector>({ spec, eyes, client, signal, target: defaultTarget, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ target, settings, logger, }: {
16
- target?: UFGTarget<TDriver, TContext, TElement, TSelector> | undefined;
17
- settings?: (import("@applitools/core-base").CheckSettings<Region | (TElement | Selector<TSelector>)> & import("./types").ScreenshotSettings<TElement, TSelector> & {
15
+ export declare function makeCheckAndClose<TSpec extends SpecType>({ spec, eyes, client, signal, target: defaultTarget, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }: {
16
+ target?: Target<TSpec> | undefined;
17
+ settings?: (import("@applitools/core-base").CheckSettings<Region | import("@applitools/driver").ElementReference<TSpec>> & import("./types").ScreenshotSettings<TSpec> & {
18
18
  renderers?: import("@applitools/ufg-client").Renderer[] | undefined;
19
19
  hooks?: {
20
20
  beforeCaptureScreenshot: string;
@@ -1,19 +1,19 @@
1
- import type { DriverTarget, UFGTarget, Eyes, CheckSettings, CheckResult } from './types';
1
+ import type { DriverTarget, Target, Eyes, CheckSettings, CheckResult } from './types';
2
2
  import { type AbortSignal } from 'abort-controller';
3
3
  import { type Logger } from '@applitools/logger';
4
4
  import { type UFGClient } from '@applitools/ufg-client';
5
- import { type SpecDriver } from '@applitools/driver';
6
- type Options<TDriver, TContext, TElement, TSelector> = {
7
- eyes: Eyes<TDriver, TContext, TElement, TSelector>;
5
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
6
+ type Options<TSpec extends SpecType> = {
7
+ eyes: Eyes<TSpec>;
8
8
  client: UFGClient;
9
- target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
10
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
+ target?: DriverTarget<TSpec>;
10
+ spec?: SpecDriver<TSpec>;
11
11
  signal?: AbortSignal;
12
12
  logger: Logger;
13
13
  };
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, }: {
15
- settings?: CheckSettings<TElement, TSelector> | undefined;
16
- target?: UFGTarget<TDriver, TContext, TElement, TSelector> | undefined;
14
+ export declare function makeCheck<TSpec extends SpecType>({ eyes, client, target: defaultTarget, spec, signal, logger: defaultLogger, }: Options<TSpec>): ({ target, settings, logger, }: {
15
+ settings?: CheckSettings<TSpec> | undefined;
16
+ target?: Target<TSpec> | undefined;
17
17
  logger?: Logger | undefined;
18
18
  }) => Promise<CheckResult[]>;
19
19
  export {};
@@ -1,23 +1,14 @@
1
- import type { CloseSettings, TestResult } from './types';
2
- import type { Eyes as BaseEyes } from '@applitools/core-base';
1
+ import type { DriverTarget, CloseSettings, CheckResult } from './types';
3
2
  import { type Logger } from '@applitools/logger';
4
- import { type Renderer } from '@applitools/ufg-client';
5
- import type { DriverTarget } from './types';
6
- import { type SpecDriver } from '@applitools/driver';
7
- type Options<TDriver, TContext, TElement, TSelector> = {
8
- storage: {
9
- renderer: Renderer;
10
- promise: Promise<{
11
- eyes: BaseEyes;
12
- renderer: Renderer;
13
- }>;
14
- }[];
15
- target?: DriverTarget<TDriver, TContext, TElement, TSelector>;
16
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
3
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
4
+ type Options<TSpec extends SpecType> = {
5
+ storage: Map<string, CheckResult['promise'][]>;
6
+ target?: DriverTarget<TSpec>;
7
+ spec?: SpecDriver<TSpec>;
17
8
  logger: Logger;
18
9
  };
19
- export declare function makeClose<TDriver, TContext, TElement, TSelector>({ storage, target, spec, logger: defaultLogger, }: Options<TDriver, TContext, TElement, TSelector>): ({ settings, logger, }?: {
10
+ export declare function makeClose<TSpec extends SpecType>({ storage, target, spec, logger: defaultLogger }: Options<TSpec>): ({ settings, logger, }?: {
20
11
  settings?: CloseSettings | undefined;
21
12
  logger?: Logger | undefined;
22
- }) => Promise<TestResult[]>;
13
+ }) => Promise<void>;
23
14
  export {};
@@ -1,16 +1,16 @@
1
1
  import type { Core } from './types';
2
2
  import type { Core as BaseCore } from '@applitools/core-base';
3
3
  import { type UFGClient } from '@applitools/ufg-client';
4
- import { type SpecDriver } from '@applitools/driver';
4
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
5
5
  import { type Logger } from '@applitools/logger';
6
- type Options<TDriver, TContext, TElement, TSelector> = {
6
+ type Options<TSpec extends SpecType> = {
7
7
  concurrency: number;
8
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
8
+ spec?: SpecDriver<TSpec>;
9
9
  client?: UFGClient;
10
10
  core?: BaseCore;
11
11
  agentId?: string;
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, TContext, TElement, TSelector>;
15
+ export declare function makeCore<TSpec extends SpecType>({ concurrency, spec, client, core, agentId, cwd, logger, }: Options<TSpec>): Core<TSpec>;
16
16
  export {};
@@ -0,0 +1,11 @@
1
+ import type { GetResultsSettings, CheckResult, TestResult } from './types';
2
+ import { type Logger } from '@applitools/logger';
3
+ type Options = {
4
+ storage: Map<string, CheckResult['promise'][]>;
5
+ logger: Logger;
6
+ };
7
+ export declare function makeGetResults({ storage, logger: defaultLogger }: Options): ({ settings, logger, }?: {
8
+ settings?: GetResultsSettings | undefined;
9
+ logger?: Logger | undefined;
10
+ }) => Promise<TestResult[]>;
11
+ export {};
@@ -1,18 +1,18 @@
1
1
  import type { DriverTarget, Eyes, OpenSettings } from './types';
2
2
  import type { Core as BaseCore, Eyes as BaseEyes } from '@applitools/core-base';
3
3
  import { type Logger } from '@applitools/logger';
4
- import { type SpecDriver } from '@applitools/driver';
4
+ import { type SpecType, type SpecDriver } from '@applitools/driver';
5
5
  import { type UFGClient } from '@applitools/ufg-client';
6
- type Options<TDriver, TContext, TElement, TSelector> = {
6
+ type Options<TSpec extends SpecType> = {
7
7
  core: BaseCore;
8
8
  client?: UFGClient;
9
- spec?: SpecDriver<TDriver, TContext, TElement, TSelector>;
9
+ spec?: SpecDriver<TSpec>;
10
10
  logger: Logger;
11
11
  };
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> | undefined;
12
+ export declare function makeOpenEyes<TSpec extends SpecType>({ core, client, spec, logger: defaultLogger }: Options<TSpec>): ({ target, settings, eyes, logger, }: {
13
+ target?: DriverTarget<TSpec> | undefined;
14
14
  settings: OpenSettings;
15
15
  eyes?: BaseEyes<import("@applitools/core-base").ImageTarget>[] | undefined;
16
16
  logger?: Logger | undefined;
17
- }) => Promise<Eyes<TDriver, TContext, TElement, TSelector>>;
17
+ }) => Promise<Eyes<TSpec>>;
18
18
  export {};
@@ -1,22 +1,23 @@
1
1
  import type { MaybeArray } from '@applitools/utils';
2
2
  import type * as BaseCore from '@applitools/core-base/types';
3
3
  import type * as AutomationCore from '../automation/types';
4
+ import { type SpecType } from '@applitools/driver';
4
5
  import { type Logger } from '@applitools/logger';
5
6
  import { type Proxy } from '@applitools/req';
6
7
  import { type Renderer, type DomSnapshot, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
7
8
  export * from '../automation/types';
8
9
  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> {
10
+ export type Target<TSpec extends SpecType> = SnapshotTarget | AutomationCore.Target<TSpec>;
11
+ export interface Core<TSpec extends SpecType, TTarget = AutomationCore.Target<TSpec>, TEyes extends Eyes<TSpec, TTarget | SnapshotTarget> = Eyes<TSpec, TTarget | SnapshotTarget>> extends AutomationCore.Core<TSpec, TTarget, TEyes> {
11
12
  readonly type: 'ufg';
12
13
  openEyes(options: {
13
- target?: AutomationCore.DriverTarget<TDriver, TContext, TElement, TSelector>;
14
+ target?: AutomationCore.DriverTarget<TSpec>;
14
15
  settings: OpenSettings;
15
16
  eyes?: BaseCore.Eyes[];
16
17
  logger?: Logger;
17
18
  }): Promise<TEyes>;
18
19
  }
19
- export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = UFGTarget<TDriver, TContext, TElement, TSelector>> extends AutomationCore.Eyes<TDriver, TContext, TElement, TSelector, TTarget> {
20
+ export interface Eyes<TSpec extends SpecType, TTarget = Target<TSpec>> extends AutomationCore.Eyes<TSpec, TTarget> {
20
21
  readonly type: 'ufg';
21
22
  getBaseEyes(options?: {
22
23
  settings?: {
@@ -27,28 +28,23 @@ export interface Eyes<TDriver, TContext, TElement, TSelector, TTarget = UFGTarge
27
28
  }): Promise<BaseCore.Eyes[]>;
28
29
  check(options?: {
29
30
  target?: TTarget;
30
- settings?: CheckSettings<TElement, TSelector>;
31
+ settings?: CheckSettings<TSpec>;
31
32
  logger?: Logger;
32
33
  }): Promise<CheckResult[]>;
33
34
  checkAndClose(options?: {
34
35
  target?: TTarget;
35
- settings?: CheckSettings<TElement, TSelector> & AutomationCore.CloseSettings;
36
+ settings?: CheckSettings<TSpec> & AutomationCore.CloseSettings;
36
37
  logger?: Logger;
37
38
  }): Promise<TestResult[]>;
38
- locateText: never;
39
- extractText: never;
40
- close(options?: {
41
- settings?: AutomationCore.CloseSettings;
42
- logger?: Logger;
43
- }): Promise<TestResult[]>;
44
- abort(options?: {
39
+ getResults(options?: {
40
+ settings?: AutomationCore.GetResultsSettings;
45
41
  logger?: Logger;
46
42
  }): Promise<TestResult[]>;
47
43
  }
48
44
  export type OpenSettings = AutomationCore.OpenSettings & {
49
45
  renderConcurrency?: number;
50
46
  };
51
- export type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TElement, TSelector> & {
47
+ export type CheckSettings<TSpec extends SpecType> = AutomationCore.CheckSettings<TSpec> & {
52
48
  renderers?: Renderer[];
53
49
  hooks?: {
54
50
  beforeCaptureScreenshot: string;
@@ -63,11 +59,11 @@ export type CheckSettings<TElement, TSelector> = AutomationCore.CheckSettings<TE
63
59
  };
64
60
  };
65
61
  export type CheckResult = AutomationCore.CheckResult & {
66
- readonly renderer?: Renderer;
67
- readonly promise?: Promise<Omit<CheckResult, 'promise'> & {
62
+ readonly renderer: Renderer;
63
+ readonly promise: Promise<Omit<CheckResult, 'promise'> & {
68
64
  eyes: BaseCore.Eyes;
69
65
  }>;
70
66
  };
71
67
  export type TestResult = AutomationCore.TestResult & {
72
- readonly renderer?: Renderer;
68
+ readonly renderer: Renderer;
73
69
  };
@@ -1,6 +1,6 @@
1
- import { type Driver } from '@applitools/driver';
1
+ import { type SpecType, type Driver } from '@applitools/driver';
2
2
  import { type Logger } from '@applitools/logger';
3
- export declare function extractBrokerUrl({ driver, logger, }: {
4
- driver: Driver<unknown, unknown, unknown, unknown>;
3
+ export declare function extractBrokerUrl<TSpec extends SpecType>({ driver, logger, }: {
4
+ driver: Driver<TSpec>;
5
5
  logger: Logger;
6
6
  }): Promise<string | null>;
@@ -1,16 +1,16 @@
1
- import { type Context, type Selector } from '@applitools/driver';
2
- export declare function generateSafeSelectors<TElement, TSelector>({ context, elementReferences, }: {
3
- context: Context<unknown, unknown, TElement, TSelector>;
4
- elementReferences: (TElement | Selector<TSelector>)[];
1
+ import { type SpecType, type Context, type ElementReference, type CommonSelector } from '@applitools/driver';
2
+ export declare function generateSafeSelectors<TSpec extends SpecType>({ context, elementReferences, }: {
3
+ context: Context<TSpec>;
4
+ elementReferences: ElementReference<TSpec>[];
5
5
  }): Promise<{
6
6
  selectors: ({
7
7
  safeSelector: null;
8
8
  originalSelector: null;
9
- elementReference: TElement | Selector<TSelector>;
9
+ elementReference: ElementReference<TSpec>;
10
10
  } | {
11
- safeSelector: Selector<never>;
12
- originalSelector: Selector<never> | null;
13
- elementReference: TElement | Selector<TSelector>;
11
+ safeSelector: CommonSelector<never>;
12
+ originalSelector: import("@applitools/driver").Selector<never> | null;
13
+ elementReference: ElementReference<TSpec>;
14
14
  })[];
15
15
  cleanupGeneratedSelectors: () => Promise<void>;
16
16
  }>;
@@ -1,5 +1,5 @@
1
1
  import { type Logger } from '@applitools/logger';
2
- import { type Context } from '@applitools/driver';
2
+ import { type SpecType, type Context } from '@applitools/driver';
3
3
  import { type DomSnapshot } from '@applitools/ufg-client';
4
4
  type RawDomSnapshot = {
5
5
  url: string;
@@ -29,8 +29,8 @@ export type DomSnapshotSettings = {
29
29
  pollTimeout?: number;
30
30
  showLogs?: boolean;
31
31
  };
32
- export declare function takeDomSnapshot<TContext extends Context<unknown, unknown, unknown, unknown>>({ context, settings, logger, }: {
33
- context: TContext;
32
+ export declare function takeDomSnapshot<TSpec extends SpecType>({ context, settings, logger, }: {
33
+ context: Context<TSpec>;
34
34
  settings?: DomSnapshotSettings;
35
35
  logger: Logger;
36
36
  }): Promise<DomSnapshot>;
@@ -1,6 +1,6 @@
1
1
  import type { Size } from '@applitools/utils';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type Driver } from '@applitools/driver';
3
+ import { type SpecType, 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';
@@ -9,8 +9,8 @@ export type DomSnapshotsSettings = DomSnapshotSettings & {
9
9
  waitBeforeCapture?: number | (() => void);
10
10
  layoutBreakpoints?: number[] | boolean;
11
11
  };
12
- export declare function takeDomSnapshots<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
13
- driver: TDriver;
12
+ export declare function takeDomSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
13
+ driver: Driver<TSpec>;
14
14
  settings: DomSnapshotsSettings;
15
15
  hooks?: {
16
16
  beforeSnapshots?(): void | Promise<void>;
@@ -1,13 +1,13 @@
1
1
  import type { Size } from '@applitools/utils';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type Driver } from '@applitools/driver';
3
+ import { type SpecType, type Driver } from '@applitools/driver';
4
4
  import { type DomSnapshot, type AndroidSnapshot, type IOSSnapshot, type ChromeEmulationDevice, type IOSDevice, type ScreenOrientation } from '@applitools/ufg-client';
5
5
  import { type DomSnapshotsSettings } from './take-dom-snapshots';
6
6
  import { type VHSesSettings } from './take-vhses';
7
7
  export * from './take-dom-snapshots';
8
8
  export * from './take-vhses';
9
- export declare function takeSnapshots<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, provides, logger, }: {
10
- driver: TDriver;
9
+ export declare function takeSnapshots<TSpec extends SpecType>({ driver, settings, hooks, provides, logger, }: {
10
+ driver: Driver<TSpec>;
11
11
  settings: DomSnapshotsSettings & VHSesSettings;
12
12
  hooks: {
13
13
  beforeSnapshots?(): void | Promise<void>;
@@ -1,13 +1,13 @@
1
1
  import type { ServerSettings } from '../types';
2
2
  import { type Logger } from '@applitools/logger';
3
- import { type Driver } from '@applitools/driver';
3
+ import { type SpecType, type Driver } from '@applitools/driver';
4
4
  import { type Renderer, type AndroidSnapshot, type IOSSnapshot } from '@applitools/ufg-client';
5
5
  export type VHSesSettings = ServerSettings & {
6
6
  renderers: Renderer[];
7
7
  waitBeforeCapture?: number;
8
8
  };
9
- export declare function takeVHSes<TDriver extends Driver<unknown, unknown, unknown, unknown>>({ driver, settings, hooks, logger, }: {
10
- driver: TDriver;
9
+ export declare function takeVHSes<TSpec extends SpecType>({ driver, settings, hooks, logger, }: {
10
+ driver: Driver<TSpec>;
11
11
  settings: VHSesSettings;
12
12
  hooks?: {
13
13
  beforeSnapshots?(): void | Promise<void>;
@@ -1,16 +0,0 @@
1
- import type { MaybeArray } from '@applitools/utils';
2
- import type { ClassicTarget, DriverTarget, Eyes, ExtractTextSettings } from './types';
3
- import { type Logger } from '@applitools/logger';
4
- import { type SpecDriver } from '@applitools/driver';
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>;
9
- logger: Logger;
10
- };
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> | undefined;
13
- settings: MaybeArray<ExtractTextSettings<TElement, TSelector>>;
14
- logger?: Logger | undefined;
15
- }) => Promise<string[]>;
16
- export {};
@@ -1,15 +0,0 @@
1
- import type { ClassicTarget, DriverTarget, Eyes, LocateTextSettings, LocateTextResult } from './types';
2
- import { type Logger } from '@applitools/logger';
3
- import { type SpecDriver } from '@applitools/driver';
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>;
8
- logger: Logger;
9
- };
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> | undefined;
12
- settings: LocateTextSettings<TPattern, TElement, TSelector>;
13
- logger?: Logger | undefined;
14
- }) => Promise<LocateTextResult<TPattern>>;
15
- export {};