@applitools/core 1.4.6 → 1.4.8

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 (111) hide show
  1. package/dist/{classic → automation}/extract-text.js +14 -11
  2. package/dist/automation/get-viewport-size.js +2 -2
  3. package/dist/{classic → automation}/locate-text.js +5 -6
  4. package/dist/automation/locate.js +2 -2
  5. package/dist/automation/set-viewport-size.js +2 -2
  6. package/dist/automation/utils/take-screenshot.js +2 -2
  7. package/dist/{utils → automation/utils}/to-base-check-settings.js +3 -2
  8. package/dist/{utils → automation/utils}/wait-for-lazy-load.js +2 -2
  9. package/dist/check-and-close.js +7 -5
  10. package/dist/check.js +4 -5
  11. package/dist/classic/abort.js +15 -6
  12. package/dist/classic/check-and-close.js +9 -5
  13. package/dist/classic/check.js +12 -8
  14. package/dist/classic/close.js +14 -5
  15. package/dist/classic/core.js +9 -5
  16. package/dist/classic/open-eyes.js +17 -19
  17. package/dist/classic/utils/take-dom-capture.js +35 -54
  18. package/dist/close.js +1 -25
  19. package/dist/core.js +9 -5
  20. package/dist/errors/abort-error.js +5 -1
  21. package/dist/extract-text.js +13 -17
  22. package/dist/get-eyes-results.js +18 -0
  23. package/dist/{close-manager.js → get-manager-results.js} +11 -12
  24. package/dist/get-typed-eyes.js +5 -6
  25. package/dist/index.js +3 -3
  26. package/dist/locate-text.js +33 -7
  27. package/dist/locate.js +1 -1
  28. package/dist/make-ec-client.js +1 -9
  29. package/dist/make-manager.js +8 -33
  30. package/dist/open-eyes.js +3 -5
  31. package/dist/troubleshoot/check-network.js +41 -34
  32. package/dist/troubleshoot/eyes.js +2 -2
  33. package/dist/troubleshoot/ufg.js +3 -2
  34. package/dist/troubleshoot/utils.js +1 -25
  35. package/dist/types.js +0 -1
  36. package/dist/ufg/abort.js +19 -24
  37. package/dist/ufg/check-and-close.js +55 -55
  38. package/dist/ufg/check.js +33 -24
  39. package/dist/ufg/close.js +25 -18
  40. package/dist/ufg/core.js +9 -5
  41. package/dist/ufg/get-base-eyes.js +2 -0
  42. package/dist/ufg/get-results.js +27 -0
  43. package/dist/ufg/open-eyes.js +30 -25
  44. package/dist/ufg/utils/extract-broker-url.js +52 -0
  45. package/dist/ufg/utils/generate-safe-selectors.js +10 -5
  46. package/dist/ufg/utils/take-dom-snapshot.js +37 -36
  47. package/dist/ufg/utils/take-dom-snapshots.js +13 -17
  48. package/dist/ufg/utils/take-snapshots.js +3 -3
  49. package/dist/ufg/utils/take-vhses.js +60 -166
  50. package/dist/utils/format-results.js +37 -37
  51. package/package.json +19 -36
  52. package/types/automation/extract-text.d.ts +16 -0
  53. package/types/automation/get-viewport-size.d.ts +7 -7
  54. package/types/automation/locate-text.d.ts +15 -0
  55. package/types/automation/locate.d.ts +8 -8
  56. package/types/automation/set-viewport-size.d.ts +7 -7
  57. package/types/automation/types.d.ts +38 -42
  58. package/types/automation/utils/take-screenshot.d.ts +9 -9
  59. package/types/automation/utils/to-base-check-settings.d.ts +17 -0
  60. package/types/{utils → automation/utils}/wait-for-lazy-load.d.ts +3 -3
  61. package/types/check-and-close.d.ts +11 -13
  62. package/types/check.d.ts +12 -12
  63. package/types/classic/abort.d.ts +10 -10
  64. package/types/classic/check-and-close.d.ts +15 -11
  65. package/types/classic/check.d.ts +11 -11
  66. package/types/classic/close.d.ts +10 -10
  67. package/types/classic/core.d.ts +4 -4
  68. package/types/classic/get-base-eyes.d.ts +4 -4
  69. package/types/classic/open-eyes.d.ts +9 -9
  70. package/types/classic/types.d.ts +7 -7
  71. package/types/classic/utils/take-dom-capture.d.ts +4 -4
  72. package/types/close-batch.d.ts +1 -1
  73. package/types/close.d.ts +9 -8
  74. package/types/core.d.ts +4 -4
  75. package/types/delete-test.d.ts +1 -1
  76. package/types/errors/abort-error.d.ts +3 -2
  77. package/types/extract-text.d.ts +11 -9
  78. package/types/get-eyes-results.d.ts +12 -0
  79. package/types/get-manager-results.d.ts +14 -0
  80. package/types/get-typed-eyes.d.ts +9 -8
  81. package/types/index.d.ts +3 -3
  82. package/types/locate-text.d.ts +11 -9
  83. package/types/locate.d.ts +9 -9
  84. package/types/make-ec-client.d.ts +3 -3
  85. package/types/make-manager.d.ts +12 -12
  86. package/types/open-eyes.d.ts +13 -13
  87. package/types/troubleshoot/check-network.d.ts +3 -3
  88. package/types/troubleshoot/utils.d.ts +0 -2
  89. package/types/types.d.ts +65 -85
  90. package/types/ufg/abort.d.ts +14 -18
  91. package/types/ufg/check-and-close.d.ts +25 -13
  92. package/types/ufg/check.d.ts +11 -11
  93. package/types/ufg/close.d.ts +14 -18
  94. package/types/ufg/core.d.ts +4 -4
  95. package/types/ufg/get-base-eyes.d.ts +6 -6
  96. package/types/ufg/get-results.d.ts +16 -0
  97. package/types/ufg/open-eyes.d.ts +9 -9
  98. package/types/ufg/types.d.ts +15 -17
  99. package/types/ufg/utils/extract-broker-url.d.ts +6 -0
  100. package/types/ufg/utils/generate-safe-selectors.d.ts +14 -10
  101. package/types/ufg/utils/take-dom-snapshot.d.ts +34 -9
  102. package/types/ufg/utils/take-dom-snapshots.d.ts +3 -3
  103. package/types/ufg/utils/take-snapshots.d.ts +4 -4
  104. package/types/ufg/utils/take-vhses.d.ts +4 -4
  105. package/types/utils/format-results.d.ts +1 -1
  106. package/dist/utils/extract-broker-url.js +0 -24
  107. package/types/classic/extract-text.d.ts +0 -16
  108. package/types/classic/locate-text.d.ts +0 -15
  109. package/types/close-manager.d.ts +0 -18
  110. package/types/utils/extract-broker-url.d.ts +0 -2
  111. package/types/utils/to-base-check-settings.d.ts +0 -18
@@ -1,25 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.takeDomCapture = void 0;
7
- const dom_capture_1 = require("@applitools/dom-capture");
8
- const req_1 = __importDefault(require("@applitools/req"));
4
+ const req_1 = require("@applitools/req");
5
+ const { getCaptureDomPoll, getPollResult, getCaptureDomPollForIE, getPollResultForIE, } = require('@applitools/dom-capture');
9
6
  async function takeDomCapture({ driver, settings, logger, }) {
10
- var _a;
7
+ var _a, _b, _c;
11
8
  const isLegacyBrowser = driver.isIE || driver.isEdgeLegacy;
12
- const { canExecuteOnlyFunctionScripts } = driver.features;
13
9
  const arg = {
14
10
  chunkByteLength: (_a = settings === null || settings === void 0 ? void 0 : settings.chunkByteLength) !== null && _a !== void 0 ? _a : (Number(process.env.APPLITOOLS_SCRIPT_RESULT_MAX_BYTE_LENGTH) || (driver.isIOS ? 100000 : 250 * 1024 * 1024)),
15
11
  };
16
12
  const scripts = {
17
- main: canExecuteOnlyFunctionScripts
13
+ main: ((_b = driver.features) === null || _b === void 0 ? void 0 : _b.canExecuteOnlyFunctionScripts)
18
14
  ? require('@applitools/dom-capture').captureDomPoll
19
- : `return (${isLegacyBrowser ? await (0, dom_capture_1.getCaptureDomPollForIE)() : await (0, dom_capture_1.getCaptureDomPoll)()}).apply(null, arguments);`,
20
- poll: canExecuteOnlyFunctionScripts
15
+ : `return (${isLegacyBrowser ? await getCaptureDomPollForIE() : await getCaptureDomPoll()}).apply(null, arguments);`,
16
+ poll: ((_c = driver.features) === null || _c === void 0 ? void 0 : _c.canExecuteOnlyFunctionScripts)
21
17
  ? require('@applitools/dom-capture').pollResult
22
- : `return (${isLegacyBrowser ? await (0, dom_capture_1.getPollResultForIE)() : await (0, dom_capture_1.getPollResult)()}).apply(null, arguments);`,
18
+ : `return (${isLegacyBrowser ? await getPollResultForIE() : await getPollResult()}).apply(null, arguments);`,
23
19
  };
24
20
  const url = await driver.getUrl();
25
21
  const dom = await captureContextDom(driver.mainContext);
@@ -34,17 +30,17 @@ async function takeDomCapture({ driver, settings, logger, }) {
34
30
  pollTimeout: (_b = settings === null || settings === void 0 ? void 0 : settings.pollTimeout) !== null && _b !== void 0 ? _b : 200,
35
31
  });
36
32
  if (!capture)
37
- return {};
33
+ return '';
38
34
  const raws = capture.split('\n');
39
35
  const tokens = JSON.parse(raws[0]);
40
36
  const cssEndIndex = raws.indexOf(tokens.separator);
41
37
  const frameEndIndex = raws.indexOf(tokens.separator, cssEndIndex + 1);
42
38
  let dom = raws[frameEndIndex + 1];
43
39
  const cssResources = await Promise.all(raws.slice(1, cssEndIndex).reduce((cssResources, href) => {
44
- return href ? cssResources.concat(fetchCss(new URL(href, url).href)) : cssResources;
40
+ return href ? cssResources.concat(fetchCssResource(new URL(href, url).href)) : cssResources;
45
41
  }, []));
46
- for (const { href, css } of cssResources) {
47
- dom = dom.replace(`${tokens.cssStartToken}${href}${tokens.cssEndToken}`, css);
42
+ for (const { url, css } of cssResources) {
43
+ dom = dom.replace(`${tokens.cssStartToken}${url}${tokens.cssEndToken}`, css);
48
44
  }
49
45
  const framePaths = raws.slice(cssEndIndex + 1, frameEndIndex);
50
46
  for (const xpaths of framePaths) {
@@ -60,74 +56,59 @@ async function takeDomCapture({ driver, settings, logger, }) {
60
56
  }
61
57
  catch (ignored) {
62
58
  logger.log('Switching to frame failed');
63
- contextDom = {};
59
+ contextDom = '';
64
60
  }
65
61
  dom = dom.replace(`${tokens.iframeStartToken}${xpaths}${tokens.iframeEndToken}`, contextDom);
66
62
  }
67
63
  return dom;
68
64
  }
69
- async function fetchCss(href) {
65
+ async function fetchCssResource(url) {
66
+ logger.log(`Request to download css will be sent to the address "[GET]${url}"`);
70
67
  try {
71
- logger.log(`Given URL to download: ${href}`);
72
- const response = await (0, req_1.default)(href, {
68
+ const response = await (0, req_1.req)(url, {
73
69
  retry: {
74
70
  limit: 1,
75
- validate: ({ response, error }) => Boolean(error) || response.status >= 400,
71
+ validate: ({ response, error }) => Boolean(error) || !response.ok,
76
72
  },
77
- fetch: settings.fetch,
73
+ fetch: settings === null || settings === void 0 ? void 0 : settings.fetch,
78
74
  });
79
- if (response.status < 400) {
80
- const css = await response.text();
81
- logger.log(`downloading CSS in length of ${css.length} chars took`);
82
- return { href, css: cleanStringForJSON(css) };
83
- }
75
+ logger.log(`Request to download css that was sent to the address "[GET]${url}" respond with ${response.statusText}(${response.status})`, response.ok ? `and css of length ${(await response.clone().text()).length} chars` : '');
76
+ return { url, css: response.ok ? encodeJSON(await response.text()) : '' };
84
77
  }
85
- catch (err) {
86
- return { href, css: '' };
78
+ catch (error) {
79
+ logger.error(`Request to download css that was sent to the address "[GET]${url}" failed with error`, error);
80
+ return { url, css: '' };
87
81
  }
88
82
  }
89
- function cleanStringForJSON(str) {
90
- if (str == null || str.length === 0) {
83
+ function encodeJSON(str) {
84
+ if (!str)
91
85
  return '';
92
- }
93
- let sb = '';
94
- let char = '\0';
95
- let tmp;
96
- for (let i = 0, l = str.length; i < l; i += 1) {
97
- char = str[i];
86
+ return Array.from(str).reduce((result, char) => {
98
87
  switch (char) {
99
88
  case '\\':
100
89
  case '"':
101
90
  case '/':
102
- sb += '\\' + char; // eslint-disable-line
103
- break;
91
+ return result + '\\' + char;
104
92
  case '\b':
105
- sb += '\\b';
106
- break;
93
+ return result + '\\b';
107
94
  case '\t':
108
- sb += '\\t';
109
- break;
95
+ return result + '\\t';
110
96
  case '\n':
111
- sb += '\\n';
112
- break;
97
+ return result + '\\n';
113
98
  case '\f':
114
- sb += '\\f';
115
- break;
99
+ return result + '\\f';
116
100
  case '\r':
117
- sb += '\\r';
118
- break;
101
+ return result + '\\r';
119
102
  default:
120
103
  if (char < ' ') {
121
- tmp = '000' + char.charCodeAt(0).toString(16); // eslint-disable-line
122
- sb += '\\u' + tmp.substring(tmp.length - 4); // eslint-disable-line
104
+ const tmp = '000' + char.charCodeAt(0).toString(16);
105
+ return result + '\\u' + tmp.substring(tmp.length - 4);
123
106
  }
124
107
  else {
125
- sb += char;
108
+ return result + char;
126
109
  }
127
- break;
128
110
  }
129
- }
130
- return sb;
111
+ }, '');
131
112
  }
132
113
  }
133
114
  exports.takeDomCapture = takeDomCapture;
package/dist/close.js CHANGED
@@ -1,37 +1,13 @@
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");
5
4
  function makeClose({ eyes, logger: defaultLogger, }) {
6
5
  return async function close({ settings, config, logger = defaultLogger, } = {}) {
7
6
  var _a;
8
7
  settings = { ...config === null || config === void 0 ? void 0 : config.close, ...settings };
9
8
  (_a = settings.updateBaselineIfNew) !== null && _a !== void 0 ? _a : (settings.updateBaselineIfNew = true);
10
9
  const typedEyes = await eyes.getTypedEyes({ 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
- ];
10
+ await typedEyes.close({ settings, logger });
35
11
  };
36
12
  }
37
13
  exports.makeClose = makeClose;
package/dist/core.js CHANGED
@@ -29,6 +29,8 @@ 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");
32
34
  const open_eyes_1 = require("./open-eyes");
33
35
  const make_manager_1 = require("./make-manager");
34
36
  const close_batch_1 = require("./close-batch");
@@ -41,12 +43,14 @@ function makeCore({ spec, concurrency, core, agentId = 'core', cwd = process.cwd
41
43
  logger.log(`Core is initialized ${core ? 'with' : 'without'} custom base core`);
42
44
  core !== null && core !== void 0 ? core : (core = (0, core_base_1.makeCore)({ agentId, cwd, logger }));
43
45
  return utils.general.extend(core, {
44
- isDriver: spec === null || spec === void 0 ? void 0 : spec.isDriver,
45
- isElement: spec === null || spec === void 0 ? void 0 : spec.isElement,
46
- isSelector: spec === null || spec === void 0 ? void 0 : spec.isSelector,
47
- getViewportSize: (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
48
- setViewportSize: (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
46
+ isDriver: spec && spec.isDriver,
47
+ isElement: spec && spec.isElement,
48
+ isSelector: spec && spec.isSelector,
49
+ getViewportSize: spec && (0, get_viewport_size_1.makeGetViewportSize)({ spec, logger }),
50
+ setViewportSize: spec && (0, set_viewport_size_1.makeSetViewportSize)({ spec, logger }),
49
51
  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 }),
50
54
  openEyes: (0, open_eyes_1.makeOpenEyes)({ spec, core, concurrency, logger }),
51
55
  makeManager: (0, make_manager_1.makeMakeManager)({ spec, concurrency, agentId, logger }),
52
56
  closeBatch: (0, close_batch_1.makeCloseBatch)({ core, logger }),
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbortError = void 0;
4
- class AbortError extends Error {
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
+ }
5
9
  }
6
10
  exports.AbortError = AbortError;
@@ -24,24 +24,20 @@ 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");
27
28
  const utils = __importStar(require("@applitools/utils"));
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 });
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 });
45
41
  return results;
46
42
  };
47
43
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeGetEyesResults = void 0;
4
+ const test_error_1 = require("./errors/test-error");
5
+ function makeGetEyesResults({ eyes, logger: defaultLogger, }) {
6
+ return async function getEyesResults({ settings, logger = defaultLogger, } = {}) {
7
+ const typedEyes = await eyes.getTypedEyes({ logger });
8
+ const results = await typedEyes.getResults({ settings, logger });
9
+ if (settings === null || settings === void 0 ? void 0 : settings.throwErr) {
10
+ results.forEach(result => {
11
+ if (result.status !== 'Passed')
12
+ throw new test_error_1.TestError(result);
13
+ });
14
+ }
15
+ return results;
16
+ };
17
+ }
18
+ exports.makeGetEyesResults = makeGetEyesResults;
@@ -1,15 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeCloseManager = void 0;
3
+ exports.makeGetManagerResults = void 0;
4
4
  const test_error_1 = require("./errors/test-error");
5
5
  const internal_error_1 = require("./errors/internal-error");
6
- function makeCloseManager({ core, storage, logger: defaultLogger, }) {
7
- return async function closeManager({ settings, logger = defaultLogger, } = {}) {
8
- const containers = await Promise.all(storage.map(async ({ eyes, promise }) => {
9
- if (!promise)
10
- logger.warn(`The eyes with id "${eyes.test.userTestId}" are going to be auto aborted`);
6
+ function makeGetManagerResults({ core, storage, logger: defaultLogger, }) {
7
+ return async function getManagerResults({ settings, logger = defaultLogger, } = {}) {
8
+ var _a, _b, _c;
9
+ const containers = await Promise.all(storage.map(async (eyes) => {
11
10
  try {
12
- const results = await (promise !== null && promise !== void 0 ? promise : eyes.abort({ logger }));
11
+ const results = await eyes.getResults({ settings: { ...settings, throwErr: false }, logger });
13
12
  return results.map(result => {
14
13
  return {
15
14
  result,
@@ -23,7 +22,7 @@ function makeCloseManager({ core, storage, logger: defaultLogger, }) {
23
22
  return [{ error: new internal_error_1.InternalError(error), ...error.info }];
24
23
  }
25
24
  }));
26
- const batches = storage.reduce((batches, { eyes }) => {
25
+ const batches = storage.reduce((batches, eyes) => {
27
26
  if (!eyes.test.keepBatchOpen) {
28
27
  const settings = { ...eyes.test.server, batchId: eyes.test.batchId };
29
28
  batches[`${settings.serverUrl}:${settings.apiKey}:${settings.batchId}`] = settings;
@@ -54,12 +53,12 @@ function makeCloseManager({ core, storage, logger: defaultLogger, }) {
54
53
  summary.passed += 1;
55
54
  else if (container.result.status === 'Unresolved')
56
55
  summary.unresolved += 1;
57
- summary.matches += container.result.matches;
58
- summary.missing += container.result.missing;
59
- summary.mismatches += container.result.mismatches;
56
+ summary.matches += (_a = container.result.matches) !== null && _a !== void 0 ? _a : 0;
57
+ summary.missing += (_b = container.result.missing) !== null && _b !== void 0 ? _b : 0;
58
+ summary.mismatches += (_c = container.result.mismatches) !== null && _c !== void 0 ? _c : 0;
60
59
  }
61
60
  }
62
61
  return summary;
63
62
  };
64
63
  }
65
- exports.makeCloseManager = makeCloseManager;
64
+ exports.makeGetManagerResults = makeGetManagerResults;
@@ -5,10 +5,7 @@ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target
5
5
  let eyes;
6
6
  return async function getTypesEyes({ type = defaultType, settings, logger = defaultLogger, } = {}) {
7
7
  if (!eyes) {
8
- eyes =
9
- type === 'ufg'
10
- ? await cores.ufg.openEyes({ target, settings: defaultSettings, logger })
11
- : await cores.classic.openEyes({ target, settings: defaultSettings, logger });
8
+ eyes = await cores[type].openEyes({ target, settings: defaultSettings, logger });
12
9
  return eyes;
13
10
  }
14
11
  else if (eyes.type === type) {
@@ -16,11 +13,13 @@ function makeGetTypedEyes({ type: defaultType, settings: defaultSettings, target
16
13
  }
17
14
  else if (type === 'ufg') {
18
15
  const baseEyes = await eyes.getBaseEyes();
19
- return cores.ufg.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
16
+ const typedEyes = await cores.ufg.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
17
+ return typedEyes;
20
18
  }
21
19
  else {
22
20
  const baseEyes = (await Promise.all(settings.renderers.map(renderer => eyes.getBaseEyes({ settings: { type: settings.type, renderer } })))).flat();
23
- return cores.classic.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
21
+ const typedEyes = await cores.classic.openEyes({ target, settings: defaultSettings, eyes: baseEyes, logger });
22
+ return typedEyes;
24
23
  }
25
24
  };
26
25
  }
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.formatters = exports.takeDomSnapshots = void 0;
29
+ exports.takeDomSnapshots = exports.formatters = 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"));
32
34
  var take_dom_snapshots_1 = require("./ufg/utils/take-dom-snapshots");
33
35
  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,13 +1,39 @@
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.makeLocateText = void 0;
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 });
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 });
11
37
  return results;
12
38
  };
13
39
  }
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 };
@@ -25,18 +25,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.makeMakeECClient = void 0;
27
27
  const utils = __importStar(require("@applitools/utils"));
28
- function makeMakeECClient({ core, logger: defaultLogger }) {
28
+ function makeMakeECClient({ logger: defaultLogger }) {
29
29
  return utils.general.cachify(makeECClient, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
30
30
  async function makeECClient({ settings, logger = defaultLogger, } = {}) {
31
- var _a, _b, _c, _d, _e, _f, _g, _h;
32
- var _j, _k;
33
31
  const { makeECClient } = require('@applitools/ec-client');
34
- const serverUrl = (_c = (_b = (_a = settings.capabilities.eyesServerUrl) !== null && _a !== void 0 ? _a : utils.general.getEnvValue('EYES_SERVER_URL')) !== null && _b !== void 0 ? _b : utils.general.getEnvValue('SERVER_URL')) !== null && _c !== void 0 ? _c : 'https://eyesapi.applitools.com';
35
- const apiKey = ((_d = (_j = settings.capabilities).apiKey) !== null && _d !== void 0 ? _d : (_j.apiKey = utils.general.getEnvValue('API_KEY')));
36
- const proxy = (_e = settings.proxy) !== null && _e !== void 0 ? _e : (utils.general.getEnvValue('PROXY_URL') && { url: utils.general.getEnvValue('PROXY_URL') });
37
- const account = await core.getAccountInfo({ settings: { serverUrl, apiKey, proxy }, logger });
38
- (_f = settings.capabilities) !== null && _f !== void 0 ? _f : (settings.capabilities = {});
39
- (_g = (_k = settings.capabilities).useSelfHealing) !== null && _g !== void 0 ? _g : (_k.useSelfHealing = (_h = utils.general.getEnvValue('USE_SELF_HEALING', 'boolean')) !== null && _h !== void 0 ? _h : account.selfHealingEnabled);
40
32
  const client = await makeECClient({ settings, logger });
41
33
  return client;
42
34
  }
@@ -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 close_manager_1 = require("./close-manager");
31
+ const get_manager_results_1 = require("./get-manager-results");
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,40 +37,15 @@ 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 = {
41
- ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }),
42
- classic: (0, core_1.makeCore)({ spec, core, logger }),
43
- };
40
+ const cores = { ufg: (0, core_2.makeCore)({ spec, core, concurrency, logger }), classic: (0, core_1.makeCore)({ spec, core, logger }) };
44
41
  const storage = [];
45
- // open eyes with result storage
46
- const openEyes = utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch, spec, core, cores, logger }), async (openEyes, options) => {
47
- const eyes = await openEyes(options);
48
- const item = { eyes };
49
- storage.push(item);
50
- return utils.general.extend(eyes, {
51
- close(options) {
52
- var _a;
53
- const promise = eyes.close(options);
54
- (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
55
- return promise;
56
- },
57
- checkAndClose(options) {
58
- var _a;
59
- const promise = eyes.checkAndClose(options);
60
- (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
61
- return promise;
62
- },
63
- abort(options) {
64
- var _a;
65
- const promise = eyes.abort(options);
66
- (_a = item.promise) !== null && _a !== void 0 ? _a : (item.promise = promise);
67
- return promise;
68
- },
69
- });
70
- });
71
42
  return {
72
- openEyes,
73
- closeManager: (0, close_manager_1.makeCloseManager)({ core, storage, logger }),
43
+ openEyes: utils.general.wrap((0, open_eyes_1.makeOpenEyes)({ type, batch, spec, core, cores, logger }), async (openEyes, options) => {
44
+ const eyes = await openEyes(options);
45
+ storage.push(eyes);
46
+ return eyes;
47
+ }),
48
+ getResults: (0, get_manager_results_1.makeGetManagerResults)({ core, storage, logger }),
74
49
  };
75
50
  };
76
51
  }
package/dist/open-eyes.js CHANGED
@@ -30,9 +30,8 @@ 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");
35
33
  const close_1 = require("./close");
34
+ const get_eyes_results_1 = require("./get-eyes-results");
36
35
  const extract_ci_provider_1 = require("./utils/extract-ci-provider");
37
36
  const utils = __importStar(require("@applitools/utils"));
38
37
  function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core, cores, spec, logger: defaultLogger, }) {
@@ -97,10 +96,9 @@ function makeOpenEyes({ type: defaultType = 'classic', concurrency, batch, core,
97
96
  getTypedEyes,
98
97
  check: (0, check_1.makeCheck)({ type, eyes, target: driver, spec, logger }),
99
98
  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 }),
102
99
  close: (0, close_1.makeClose)({ eyes, logger }),
103
- }));
100
+ getResults: (0, get_eyes_results_1.makeGetEyesResults)({ eyes, logger }),
101
+ })); // TODO solve the types issue
104
102
  };
105
103
  }
106
104
  exports.makeOpenEyes = makeOpenEyes;