@applitools/core 1.4.8 → 1.4.10

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/automation/get-viewport-size.js +1 -1
  2. package/dist/automation/locate.js +1 -1
  3. package/dist/automation/set-viewport-size.js +1 -1
  4. package/dist/check.js +4 -1
  5. package/dist/classic/abort.js +5 -14
  6. package/dist/classic/close.js +4 -13
  7. package/dist/classic/core.js +0 -4
  8. package/dist/{automation → classic}/extract-text.js +9 -6
  9. package/dist/{automation → classic}/locate-text.js +8 -5
  10. package/dist/classic/open-eyes.js +5 -1
  11. package/dist/{get-manager-results.js → close-manager.js} +9 -7
  12. package/dist/close.js +25 -1
  13. package/dist/core.js +0 -4
  14. package/dist/errors/abort-error.js +1 -5
  15. package/dist/extract-text.js +17 -13
  16. package/dist/get-typed-eyes.js +2 -4
  17. package/dist/index.js +3 -3
  18. package/dist/locate-text.js +7 -33
  19. package/dist/locate.js +1 -1
  20. package/dist/make-manager.js +28 -5
  21. package/dist/open-eyes.js +5 -3
  22. package/dist/types.js +1 -0
  23. package/dist/ufg/abort.js +19 -19
  24. package/dist/ufg/check-and-close.js +9 -5
  25. package/dist/ufg/check.js +9 -11
  26. package/dist/ufg/close.js +18 -25
  27. package/dist/ufg/core.js +0 -4
  28. package/dist/ufg/open-eyes.js +26 -22
  29. package/package.json +9 -11
  30. package/types/automation/get-viewport-size.d.ts +5 -5
  31. package/types/automation/locate.d.ts +6 -6
  32. package/types/automation/set-viewport-size.d.ts +5 -5
  33. package/types/automation/types.d.ts +40 -36
  34. package/types/automation/utils/take-screenshot.d.ts +9 -9
  35. package/types/automation/utils/to-base-check-settings.d.ts +13 -6
  36. package/types/automation/utils/wait-for-lazy-load.d.ts +3 -3
  37. package/types/check-and-close.d.ts +11 -9
  38. package/types/check.d.ts +9 -9
  39. package/types/classic/abort.d.ts +8 -8
  40. package/types/classic/check-and-close.d.ts +9 -9
  41. package/types/classic/check.d.ts +9 -9
  42. package/types/classic/close.d.ts +8 -8
  43. package/types/classic/core.d.ts +4 -4
  44. package/types/classic/extract-text.d.ts +16 -0
  45. package/types/classic/locate-text.d.ts +15 -0
  46. package/types/classic/open-eyes.d.ts +6 -6
  47. package/types/classic/types.d.ts +7 -7
  48. package/types/classic/utils/take-dom-capture.d.ts +3 -3
  49. package/types/close-manager.d.ts +18 -0
  50. package/types/close.d.ts +6 -7
  51. package/types/core.d.ts +4 -4
  52. package/types/errors/abort-error.d.ts +1 -3
  53. package/types/extract-text.d.ts +8 -10
  54. package/types/get-typed-eyes.d.ts +5 -6
  55. package/types/index.d.ts +3 -3
  56. package/types/locate-text.d.ts +8 -10
  57. package/types/locate.d.ts +8 -8
  58. package/types/make-manager.d.ts +5 -5
  59. package/types/open-eyes.d.ts +9 -9
  60. package/types/types.d.ts +84 -62
  61. package/types/ufg/abort.d.ts +15 -12
  62. package/types/ufg/check-and-close.d.ts +9 -9
  63. package/types/ufg/check.d.ts +9 -9
  64. package/types/ufg/close.d.ts +16 -12
  65. package/types/ufg/core.d.ts +4 -4
  66. package/types/ufg/open-eyes.d.ts +6 -6
  67. package/types/ufg/types.d.ts +17 -15
  68. package/types/ufg/utils/extract-broker-url.d.ts +3 -3
  69. package/types/ufg/utils/generate-safe-selectors.d.ts +8 -8
  70. package/types/ufg/utils/take-dom-snapshot.d.ts +3 -3
  71. package/types/ufg/utils/take-dom-snapshots.d.ts +3 -3
  72. package/types/ufg/utils/take-snapshots.d.ts +3 -3
  73. package/types/ufg/utils/take-vhses.d.ts +3 -3
  74. package/dist/get-eyes-results.js +0 -18
  75. package/dist/ufg/get-results.js +0 -27
  76. package/types/automation/extract-text.d.ts +0 -16
  77. package/types/automation/locate-text.d.ts +0 -15
  78. package/types/get-eyes-results.d.ts +0 -12
  79. package/types/get-manager-results.d.ts +0 -14
  80. package/types/ufg/get-results.d.ts +0 -16
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeGetViewportSize = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- function makeGetViewportSize({ spec, logger: defaultLogger }) {
5
+ function makeGetViewportSize({ spec, logger: defaultLogger, }) {
6
6
  return async function getViewportSize({ target, logger = defaultLogger, }) {
7
7
  logger.log(`Command "getViewportSize" is called`);
8
8
  const driver = await (0, driver_1.makeDriver)({ driver: target, spec, logger });
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeLocate = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
5
  const take_screenshot_1 = require("./utils/take-screenshot");
6
- function makeLocate({ spec, core, logger: defaultLogger }) {
6
+ function makeLocate({ spec, core, logger: defaultLogger, }) {
7
7
  return async function locate({ settings, target, logger = defaultLogger, }) {
8
8
  logger.log(`Command "locate" is called with settings`, settings);
9
9
  if (!(0, driver_1.isDriver)(target, spec)) {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeSetViewportSize = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- function makeSetViewportSize({ spec, logger: defaultLogger }) {
5
+ function makeSetViewportSize({ spec, logger: defaultLogger, }) {
6
6
  return async function setViewportSize({ target, size, logger = defaultLogger, }) {
7
7
  logger.log(`Command "setViewportSize" is called with size`, size);
8
8
  const driver = await (0, driver_1.makeDriver)({ driver: target, spec, logger });
package/dist/check.js CHANGED
@@ -63,7 +63,10 @@ function makeCheck({ type: defaultType = 'classic', eyes, target: defaultTarget,
63
63
  const typedEyes = await eyes.getTypedEyes({
64
64
  type,
65
65
  settings: driver
66
- ? { type: driver.isNative ? 'native' : 'web', renderers: settings.renderers }
66
+ ? {
67
+ type: driver.isNative ? 'native' : 'web',
68
+ renderers: settings.renderers,
69
+ }
67
70
  : undefined,
68
71
  logger,
69
72
  });
@@ -2,21 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeAbort = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- function makeAbort({ eyes, target, spec, logger: defaultLogger }) {
5
+ function makeAbort({ eyes, target, spec, logger: defaultLogger, }) {
6
6
  return async function abort({ settings, logger = defaultLogger, } = {}) {
7
- logger.log('Command "abort" is called with settings', settings);
8
- settings !== null && settings !== void 0 ? settings : (settings = {});
9
- if (!settings.testMetadata) {
10
- try {
11
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
12
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
13
- }
14
- catch (error) {
15
- logger.warn('Command "abort" received an error during extracting driver metadata', error);
16
- }
17
- }
18
- const baseEyes = await eyes.getBaseEyes();
19
- await Promise.all(baseEyes.map(baseEyes => baseEyes.abort({ settings, logger })));
7
+ const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
8
+ const testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
9
+ const [baseEyes] = await eyes.getBaseEyes();
10
+ return await baseEyes.abort({ settings: { ...settings, testMetadata }, logger });
20
11
  };
21
12
  }
22
13
  exports.makeAbort = makeAbort;
@@ -2,21 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeClose = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
- function makeClose({ eyes, target, spec, logger: defaultLogger }) {
5
+ function makeClose({ eyes, target, spec, logger: defaultLogger, }) {
6
6
  return async function close({ settings, logger = defaultLogger, } = {}) {
7
- logger.log('Command "close" is called with settings', settings);
8
- settings !== null && settings !== void 0 ? settings : (settings = {});
9
- if (!settings.testMetadata) {
10
- try {
11
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
12
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
13
- }
14
- catch (error) {
15
- logger.warn('Command "close" received an error during extracting driver metadata', error);
16
- }
17
- }
7
+ const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
8
+ const testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
18
9
  const baseEyes = await eyes.getBaseEyes();
19
- await Promise.all(baseEyes.map(baseEyes => baseEyes.close({ settings, logger })));
10
+ return (await Promise.all(baseEyes.map(baseEyes => baseEyes.close({ settings: { ...settings, testMetadata }, logger })))).flat();
20
11
  };
21
12
  }
22
13
  exports.makeClose = makeClose;
@@ -29,8 +29,6 @@ const core_base_1 = require("@applitools/core-base");
29
29
  const get_viewport_size_1 = require("../automation/get-viewport-size");
30
30
  const set_viewport_size_1 = require("../automation/set-viewport-size");
31
31
  const locate_1 = require("../automation/locate");
32
- const locate_text_1 = require("../automation/locate-text");
33
- const extract_text_1 = require("../automation/extract-text");
34
32
  const open_eyes_1 = require("./open-eyes");
35
33
  const utils = __importStar(require("@applitools/utils"));
36
34
  function makeCore({ spec, core, agentId = 'core-classic', cwd = process.cwd(), logger: defaultLogger, }) {
@@ -46,8 +44,6 @@ function makeCore({ spec, core, agentId = 'core-classic', cwd = process.cwd(), l
46
44
  getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
47
45
  setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
48
46
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
49
- locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
50
- extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
51
47
  openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, logger }),
52
48
  });
53
49
  }
@@ -25,15 +25,18 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeExtractText = void 0;
27
27
  const driver_1 = require("@applitools/driver");
28
- const take_screenshot_1 = require("./utils/take-screenshot");
29
- const take_dom_capture_1 = require("../classic/utils/take-dom-capture");
28
+ const take_screenshot_1 = require("../automation/utils/take-screenshot");
29
+ const take_dom_capture_1 = require("./utils/take-dom-capture");
30
30
  const utils = __importStar(require("@applitools/utils"));
31
31
  const { getText } = require('@applitools/snippets');
32
- function makeExtractText({ core, spec, logger: defaultLogger }) {
33
- return async function extractText({ target, settings, logger = defaultLogger, }) {
32
+ function makeExtractText({ eyes, target: defaultTarget, spec, logger: defaultLogger, }) {
33
+ return async function extractText({ target = defaultTarget, settings, logger = defaultLogger, }) {
34
34
  logger.log('Command "extractText" is called with settings', settings);
35
+ if (!target)
36
+ throw new Error('Method was called with no target');
37
+ const [baseEyes] = await eyes.getBaseEyes();
35
38
  if (!(0, driver_1.isDriver)(target, spec)) {
36
- return core.extractText({ target, settings: settings, logger });
39
+ return baseEyes.extractText({ target, settings: settings, logger });
37
40
  }
38
41
  settings = utils.types.isArray(settings) ? settings : [settings];
39
42
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
@@ -63,7 +66,7 @@ function makeExtractText({ core, spec, logger: defaultLogger }) {
63
66
  }
64
67
  delete settings.region;
65
68
  delete settings.normalization;
66
- const results = await core.extractText({
69
+ const results = await baseEyes.extractText({
67
70
  target: baseTarget,
68
71
  settings: settings,
69
72
  logger,
@@ -25,14 +25,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeLocateText = void 0;
27
27
  const driver_1 = require("@applitools/driver");
28
- const take_screenshot_1 = require("./utils/take-screenshot");
28
+ const take_screenshot_1 = require("../automation/utils/take-screenshot");
29
29
  // import {takeDomCapture} from './utils/take-dom-capture'
30
30
  const utils = __importStar(require("@applitools/utils"));
31
- function makeLocateText({ core, spec, logger: defaultLogger }) {
32
- return async function locateText({ target, settings, logger = defaultLogger, }) {
31
+ function makeLocateText({ eyes, target: defaultTarget, spec, logger: defaultLogger, }) {
32
+ return async function locateText({ target = defaultTarget, settings, logger = defaultLogger, }) {
33
33
  logger.log('Command "locateText" is called with settings', settings);
34
+ if (!target)
35
+ throw new Error('Method was called with no target');
36
+ const [baseEyes] = await eyes.getBaseEyes();
34
37
  if (!(0, driver_1.isDriver)(target, spec)) {
35
- return core.locateText({ target, settings: settings, logger });
38
+ return baseEyes.locateText({ target, settings: settings, logger });
36
39
  }
37
40
  const driver = await (0, driver_1.makeDriver)({ spec, driver: target, logger });
38
41
  const screenshot = await (0, take_screenshot_1.takeScreenshot)({ driver, settings, logger });
@@ -45,7 +48,7 @@ function makeLocateText({ core, spec, logger: defaultLogger }) {
45
48
  // else await screenshot.element?.setAttribute('data-applitools-scroll', 'true')
46
49
  // baseTarget.dom = await takeDomCapture({driver, logger}).catch(() => null)
47
50
  }
48
- const results = await core.locateText({
51
+ const results = await baseEyes.locateText({
49
52
  target: baseTarget,
50
53
  settings: settings,
51
54
  logger,
@@ -28,10 +28,12 @@ const driver_1 = require("@applitools/driver");
28
28
  const get_base_eyes_1 = require("./get-base-eyes");
29
29
  const check_1 = require("./check");
30
30
  const check_and_close_1 = require("./check-and-close");
31
+ const locate_text_1 = require("./locate-text");
32
+ const extract_text_1 = require("./extract-text");
31
33
  const close_1 = require("./close");
32
34
  const abort_1 = require("./abort");
33
35
  const utils = __importStar(require("@applitools/utils"));
34
- function makeOpenEyes({ core, spec, logger: defaultLogger }) {
36
+ function makeOpenEyes({ core, spec, logger: defaultLogger, }) {
35
37
  return async function openEyes({ target, settings, eyes, logger = defaultLogger, }) {
36
38
  var _a, _b, _c, _d, _e;
37
39
  var _f;
@@ -86,6 +88,8 @@ function makeOpenEyes({ core, spec, logger: defaultLogger }) {
86
88
  getBaseEyes,
87
89
  check: (0, check_1.makeCheck)({ eyes, target: driver, spec, logger }),
88
90
  checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ eyes, target: driver, spec, logger }),
91
+ locateText: (0, locate_text_1.makeLocateText)({ eyes, target: driver, spec, logger }),
92
+ extractText: (0, extract_text_1.makeExtractText)({ eyes, target: driver, spec, logger }),
89
93
  close: (0, close_1.makeClose)({ eyes, target: driver, spec, logger }),
90
94
  abort: (0, abort_1.makeAbort)({ eyes, target: driver, spec, logger }),
91
95
  }));
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeGetManagerResults = void 0;
3
+ exports.makeCloseManager = void 0;
4
4
  const test_error_1 = require("./errors/test-error");
5
5
  const internal_error_1 = require("./errors/internal-error");
6
- function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
7
- return async function getManagerResults({ settings, logger = defaultLogger, } = {}) {
6
+ function makeCloseManager({ core, storage, logger: defaultLogger, }) {
7
+ return async function closeManager({ settings, logger = defaultLogger, } = {}) {
8
8
  var _a, _b, _c;
9
- const containers = await Promise.all(storage.map(async (eyes) => {
9
+ const containers = await Promise.all(storage.map(async ({ eyes, promise }) => {
10
+ if (!promise)
11
+ logger.warn(`The eyes with id "${eyes.test.userTestId}" are going to be auto aborted`);
10
12
  try {
11
- const results = await eyes.getResults({ settings: { ...settings, throwErr: false }, logger });
13
+ const results = await (promise !== null && promise !== void 0 ? promise : eyes.abort({ logger }));
12
14
  return results.map(result => {
13
15
  return {
14
16
  result,
@@ -22,7 +24,7 @@ function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
22
24
  return [{ error: new internal_error_1.InternalError(error), ...error.info }];
23
25
  }
24
26
  }));
25
- const batches = storage.reduce((batches, eyes) => {
27
+ const batches = storage.reduce((batches, { eyes }) => {
26
28
  if (!eyes.test.keepBatchOpen) {
27
29
  const settings = { ...eyes.test.server, batchId: eyes.test.batchId };
28
30
  batches[`${settings.serverUrl}:${settings.apiKey}:${settings.batchId}`] = settings;
@@ -61,4 +63,4 @@ function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
61
63
  return summary;
62
64
  };
63
65
  }
64
- exports.makeGetManagerResults = makeGetManagerResults;
66
+ exports.makeCloseManager = makeCloseManager;
package/dist/close.js CHANGED
@@ -1,13 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeClose = void 0;
4
+ const test_error_1 = require("./errors/test-error");
4
5
  function makeClose({ eyes, logger: defaultLogger, }) {
5
6
  return async function close({ settings, config, logger = defaultLogger, } = {}) {
6
7
  var _a;
7
8
  settings = { ...config === null || config === void 0 ? void 0 : config.close, ...settings };
8
9
  (_a = settings.updateBaselineIfNew) !== null && _a !== void 0 ? _a : (settings.updateBaselineIfNew = true);
9
10
  const typedEyes = await eyes.getTypedEyes({ logger });
10
- await typedEyes.close({ settings, logger });
11
+ const results = await typedEyes.close({ settings, logger });
12
+ if (settings.throwErr) {
13
+ results.forEach(result => {
14
+ if (result.status !== 'Passed')
15
+ throw new test_error_1.TestError(result);
16
+ });
17
+ }
18
+ return results.length > 0
19
+ ? results
20
+ : [
21
+ {
22
+ userTestId: eyes.test.userTestId,
23
+ name: '',
24
+ steps: 0,
25
+ matches: 0,
26
+ mismatches: 0,
27
+ missing: 0,
28
+ exactMatches: 0,
29
+ strictMatches: 0,
30
+ contentMatches: 0,
31
+ layoutMatches: 0,
32
+ noneMatches: 0,
33
+ },
34
+ ];
11
35
  };
12
36
  }
13
37
  exports.makeClose = makeClose;
package/dist/core.js CHANGED
@@ -29,8 +29,6 @@ const core_base_1 = require("@applitools/core-base");
29
29
  const get_viewport_size_1 = require("./automation/get-viewport-size");
30
30
  const set_viewport_size_1 = require("./automation/set-viewport-size");
31
31
  const locate_1 = require("./locate");
32
- const locate_text_1 = require("./locate-text");
33
- const extract_text_1 = require("./extract-text");
34
32
  const open_eyes_1 = require("./open-eyes");
35
33
  const make_manager_1 = require("./make-manager");
36
34
  const close_batch_1 = require("./close-batch");
@@ -49,8 +47,6 @@ function makeCore({ spec, concurrency, core, agentId = 'core', cwd = process.cwd
49
47
  getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
50
48
  setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
51
49
  locate: (0, locate_1.makeLocate)({ spec, core, logger }),
52
- locateText: (0, locate_text_1.makeLocateText)({ spec, core, logger }),
53
- extractText: (0, extract_text_1.makeExtractText)({ spec, core, logger }),
54
50
  openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, logger }),
55
51
  makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, agentId, logger }),
56
52
  closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
@@ -1,10 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbortError = void 0;
4
- const core_base_1 = require("@applitools/core-base");
5
- class AbortError extends core_base_1.CoreError {
6
- constructor(message, info) {
7
- super(message, { reason: 'abort', ...info });
8
- }
4
+ class AbortError extends Error {
9
5
  }
10
6
  exports.AbortError = AbortError;
@@ -24,20 +24,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeExtractText = void 0;
27
- const core_1 = require("./classic/core");
28
27
  const utils = __importStar(require("@applitools/utils"));
29
- function makeExtractText({ spec, core, logger: defaultLogger }) {
30
- return async function extractText({ target, settings, config, logger = defaultLogger, }) {
31
- settings = utils.types.isArray(settings) ? settings : [settings];
32
- settings = settings.map(settings => {
33
- var _a, _b, _c;
34
- settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
35
- (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
36
- (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
37
- return settings;
38
- });
39
- const classicCore = (0, core_1.makeCore)({ spec, core, logger });
40
- const results = await classicCore.extractText({ target, settings, logger });
28
+ function makeExtractText({ eyes, target: defaultTarget, logger: defaultLogger, }) {
29
+ return async function extractText({ target = defaultTarget, settings, config, logger = defaultLogger, }) {
30
+ var _a;
31
+ if (utils.types.isArray(settings)) {
32
+ settings = settings.map(settings => {
33
+ var _a;
34
+ settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
35
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
36
+ return settings;
37
+ });
38
+ }
39
+ else {
40
+ settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
41
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
42
+ }
43
+ const classicEyes = await eyes.getTypedEyes({ type: 'classic', logger });
44
+ const results = await classicEyes.extractText({ target, settings, logger });
41
45
  return results;
42
46
  };
43
47
  }
@@ -13,13 +13,11 @@ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target
13
13
  }
14
14
  else if (type === 'ufg') {
15
15
  const baseEyes = await eyes.getBaseEyes();
16
- const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
17
- return typedEyes;
16
+ return cores.ufg.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
18
17
  }
19
18
  else {
20
19
  const baseEyes = (await Promise.all(settings.renderers.map(renderer => eyes.getBaseEyes({ settings: { type: settings.type, renderer } })))).flat();
21
- const typedEyes = await cores.classic.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
22
- return typedEyes;
20
+ return cores.classic.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
23
21
  }
24
22
  };
25
23
  }
package/dist/index.js CHANGED
@@ -26,10 +26,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
26
26
  return result;
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.takeDomSnapshots = exports.formatters = void 0;
29
+ exports.formatters = exports.takeDomSnapshots = void 0;
30
30
  __exportStar(require("./types"), exports);
31
31
  __exportStar(require("./core"), exports);
32
- __exportStar(require("@applitools/driver/dist/debug"), exports);
33
- exports.formatters = __importStar(require("./utils/format-results"));
34
32
  var take_dom_snapshots_1 = require("./ufg/utils/take-dom-snapshots");
35
33
  Object.defineProperty(exports, "takeDomSnapshots", { enumerable: true, get: function () { return take_dom_snapshots_1.takeDomSnapshots; } });
34
+ exports.formatters = __importStar(require("./utils/format-results"));
35
+ __exportStar(require("@applitools/driver/dist/debug"), exports);
@@ -1,39 +1,13 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.makeLocateText = void 0;
27
- const core_1 = require("./classic/core");
28
- const utils = __importStar(require("@applitools/utils"));
29
- function makeLocateText({ spec, core, logger: defaultLogger }) {
30
- return async function locateText({ target, settings, config, logger = defaultLogger, }) {
31
- var _a, _b, _c;
32
- settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
33
- (_a = settings.serverUrl) !== null && _a !== void 0 ? _a : (settings.serverUrl = (_b = utils.general.getEnvValue('SERVER_URL')) !== null && _b !== void 0 ? _b : 'https://eyesapi.applitools.com');
34
- (_c = settings.apiKey) !== null && _c !== void 0 ? _c : (settings.apiKey = utils.general.getEnvValue('API_KEY'));
35
- const classicCore = (0, core_1.makeCore)({ spec, core, logger });
36
- const results = await classicCore.locateText({ target, settings, logger });
4
+ function makeLocateText({ eyes, target: defaultTarget, logger: defaultLogger, }) {
5
+ return async function locateText({ target = defaultTarget, settings, config, logger = defaultLogger, }) {
6
+ var _a;
7
+ settings = { ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
8
+ (_a = settings.autProxy) !== null && _a !== void 0 ? _a : (settings.autProxy = eyes.test.server.proxy);
9
+ const classicEyes = await eyes.getTypedEyes({ type: 'classic', logger });
10
+ const results = await classicEyes.locateText({ target, settings, logger });
37
11
  return results;
38
12
  };
39
13
  }
package/dist/locate.js CHANGED
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeLocate = void 0;
27
27
  const core_1 = require("./classic/core");
28
28
  const utils = __importStar(require("@applitools/utils"));
29
- function makeLocate({ spec, core, logger: defaultLogger }) {
29
+ function makeLocate({ spec, core, logger: defaultLogger, }) {
30
30
  return async function locate({ target, settings, config, logger = defaultLogger, }) {
31
31
  var _a, _b, _c;
32
32
  settings = { ...config === null || config === void 0 ? void 0 : config.open, ...config === null || config === void 0 ? void 0 : config.screenshot, ...settings };
@@ -28,7 +28,7 @@ const core_base_1 = require("@applitools/core-base");
28
28
  const core_1 = require("./classic/core");
29
29
  const core_2 = require("./ufg/core");
30
30
  const open_eyes_1 = require("./open-eyes");
31
- const get_manager_results_1 = require("./get-manager-results");
31
+ const close_manager_1 = require("./close-manager");
32
32
  const utils = __importStar(require("@applitools/utils"));
33
33
  function makeMakeManager({ spec, core, concurrency: defaultConcurrency = utils.general.getEnvValue('CONCURRENCY', 'number'), agentId: defaultAgentId, cwd = process.cwd(), logger: defaultLogger, }) {
34
34
  return async function makeManager({ type = 'classic', concurrency = defaultConcurrency, legacyConcurrency, batch, agentId = type === 'ufg' ? defaultAgentId === null || defaultAgentId === void 0 ? void 0 : defaultAgentId.replace(/(\/\d)/, '.visualgrid$1') : defaultAgentId, logger = defaultLogger, } = {}) {
@@ -37,15 +37,38 @@ function makeMakeManager({ spec, core, concurrency: defaultConcurrency = utils.g
37
37
  batch !== null && batch !== void 0 ? batch : (batch = {});
38
38
  (_a = batch.id) !== null && _a !== void 0 ? _a : (batch.id = `generated-${utils.general.guid()}`);
39
39
  core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
40
- const cores = { ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }), classic: (0, core_1.makeCore)({ spec, core, logger }) };
40
+ const cores = {
41
+ ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }),
42
+ classic: (0, core_1.makeCore)({ spec, core, logger }),
43
+ };
41
44
  const storage = [];
42
45
  return {
43
46
  openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch, spec, core, cores, logger }), async (openEyes, options) => {
44
47
  const eyes = await openEyes(options);
45
- storage.push(eyes);
46
- return eyes;
48
+ const item = { eyes };
49
+ storage.push(item);
50
+ return utils.general.extend(eyes, {
51
+ checkAndClose: utils.general.wrap(eyes.checkAndClose, (checkAndClose, options) => {
52
+ var _a;
53
+ const promise = checkAndClose(options);
54
+ (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
55
+ return promise;
56
+ }),
57
+ close: utils.general.wrap(eyes.close, (close, options) => {
58
+ var _a;
59
+ const promise = close(options);
60
+ (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
61
+ return promise;
62
+ }),
63
+ abort: utils.general.wrap(eyes.abort, (abort, options) => {
64
+ var _a;
65
+ const promise = abort(options);
66
+ (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
67
+ return promise;
68
+ }),
69
+ });
47
70
  }),
48
- getResults: (0, get_manager_results_1.makeGetManagerResults)({ core, storage, logger }),
71
+ closeManager: (0, close_manager_1.makeCloseManager)({ core, storage, logger }),
49
72
  };
50
73
  };
51
74
  }
package/dist/open-eyes.js CHANGED
@@ -30,8 +30,9 @@ const core_2 = require("./ufg/core");
30
30
  const get_typed_eyes_1 = require("./get-typed-eyes");
31
31
  const check_1 = require("./check");
32
32
  const check_and_close_1 = require("./check-and-close");
33
+ const locate_text_1 = require("./locate-text");
34
+ const extract_text_1 = require("./extract-text");
33
35
  const close_1 = require("./close");
34
- const get_eyes_results_1 = require("./get-eyes-results");
35
36
  const extract_ci_provider_1 = require("./utils/extract-ci-provider");
36
37
  const utils = __importStar(require("@applitools/utils"));
37
38
  function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core, cores, spec, logger: defaultLogger, }) {
@@ -96,9 +97,10 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
96
97
  getTypedEyes,
97
98
  check: (0, check_1.makeCheck)({ type, eyes, target: driver, spec, logger }),
98
99
  checkAndClose: (0, check_and_close_1.makeCheckAndClose)({ type, eyes, target: driver, spec, logger }),
100
+ locateText: (0, locate_text_1.makeLocateText)({ eyes, target: driver, logger }),
101
+ extractText: (0, extract_text_1.makeExtractText)({ eyes, target: driver, logger }),
99
102
  close: (0, close_1.makeClose)({ eyes, logger }),
100
- getResults: (0, get_eyes_results_1.makeGetEyesResults)({ eyes, logger }),
101
- })); // TODO solve the types issue
103
+ }));
102
104
  };
103
105
  }
104
106
  exports.makeOpenEyes = makeOpenEyes;
package/dist/types.js CHANGED
@@ -14,4 +14,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("@applitools/core-base/types"), exports);
17
18
  __exportStar(require("./automation/types"), exports);
package/dist/ufg/abort.js CHANGED
@@ -3,30 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeAbort = void 0;
4
4
  const driver_1 = require("@applitools/driver");
5
5
  function makeAbort({ storage, target, spec, controller, logger: defaultLogger, }) {
6
- return async function abort({ settings, logger = defaultLogger, } = {}) {
7
- logger.log('Command "abort" is called with settings', settings);
6
+ return async function ({ settings, logger = defaultLogger, } = {}) {
8
7
  controller.abort();
9
- settings !== null && settings !== void 0 ? settings : (settings = {});
10
- if (!settings.testMetadata) {
8
+ const tests = storage.reduce((tests, { renderer, promise }) => {
9
+ const key = JSON.stringify(renderer);
10
+ return tests.set(key, promise);
11
+ }, new Map());
12
+ return Promise.all(Array.from(tests.values(), async (promise) => {
13
+ let eyes, renderer;
11
14
  try {
12
- const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
13
- settings.testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
15
+ const value = await promise;
16
+ eyes = value.eyes;
17
+ renderer = value.renderer;
14
18
  }
15
19
  catch (error) {
16
- logger.warn('Command "abort" received an error during extracting driver metadata', error);
20
+ eyes = error.info.eyes;
21
+ renderer = error.info.renderer;
22
+ if (!eyes)
23
+ throw error;
17
24
  }
18
- }
19
- storage.forEach(async (promises) => {
20
- var _a, _b;
21
- try {
22
- const { eyes } = await Promise.race(promises);
23
- await eyes.abort({ settings, logger });
24
- }
25
- catch (error) {
26
- logger.warn('Command "abort" received an error during waiting for eyes instances in background', error);
27
- await ((_b = (_a = error === null || error === void 0 ? void 0 : error.info) === null || _a === void 0 ? void 0 : _a.eyes) === null || _b === void 0 ? void 0 : _b.abort({ settings, logger }));
28
- }
29
- });
25
+ const driver = (0, driver_1.isDriver)(target, spec) ? await (0, driver_1.makeDriver)({ spec, driver: target, logger }) : null;
26
+ const testMetadata = await (driver === null || driver === void 0 ? void 0 : driver.getSessionMetadata());
27
+ const [result] = await eyes.abort({ settings: { ...settings, testMetadata }, logger });
28
+ return { ...result, renderer };
29
+ }));
30
30
  };
31
31
  }
32
32
  exports.makeAbort = makeAbort;