@applitools/core 2.5.10 → 3.0.1
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.
- package/CHANGELOG.md +13 -0
- package/dist/automation/extract-text.js +3 -2
- package/dist/automation/get-viewport-size.js +3 -2
- package/dist/automation/locate-text.js +3 -2
- package/dist/automation/locate.js +3 -2
- package/dist/automation/set-viewport-size.js +3 -2
- package/dist/check-and-close.js +27 -2
- package/dist/check.js +3 -2
- package/dist/classic/abort.js +3 -2
- package/dist/classic/check-and-close.js +3 -2
- package/dist/classic/check.js +3 -2
- package/dist/classic/close.js +3 -2
- package/dist/classic/core.js +1 -2
- package/dist/classic/get-base-eyes.js +3 -2
- package/dist/classic/open-eyes.js +3 -2
- package/dist/cli/cli.js +50 -0
- package/dist/close-batch.js +3 -3
- package/dist/close.js +27 -2
- package/dist/core.js +1 -2
- package/dist/delete-test.js +3 -3
- package/dist/extract-text.js +7 -5
- package/dist/get-ec-client.js +3 -2
- package/dist/get-eyes-results.js +27 -2
- package/dist/get-manager-results.js +27 -2
- package/dist/get-typed-eyes.js +3 -2
- package/dist/index.js +2 -1
- package/dist/locate-text.js +3 -2
- package/dist/locate.js +3 -2
- package/dist/make-manager.js +4 -2
- package/dist/open-eyes.js +3 -2
- package/dist/troubleshoot/logs.js +41 -0
- package/dist/ufg/abort.js +3 -2
- package/dist/ufg/check-and-close.js +18 -24
- package/dist/ufg/check.js +18 -14
- package/dist/ufg/close.js +3 -2
- package/dist/ufg/core.js +1 -2
- package/dist/ufg/get-base-eyes.js +4 -3
- package/dist/ufg/get-nml-client.js +3 -2
- package/dist/ufg/get-results.js +3 -2
- package/dist/ufg/get-ufg-client.js +3 -2
- package/dist/ufg/open-eyes.js +3 -2
- package/dist/ufg/utils/take-dom-snapshots.js +15 -7
- package/dist/universal/core-server.js +1 -2
- package/package.json +18 -18
- package/types/automation/extract-text.d.ts +1 -1
- package/types/automation/get-viewport-size.d.ts +1 -1
- package/types/automation/locate-text.d.ts +1 -1
- package/types/automation/locate.d.ts +1 -1
- package/types/automation/set-viewport-size.d.ts +1 -1
- package/types/check-and-close.d.ts +1 -1
- package/types/check.d.ts +1 -1
- package/types/classic/abort.d.ts +1 -1
- package/types/classic/check-and-close.d.ts +1 -1
- package/types/classic/check.d.ts +1 -1
- package/types/classic/close.d.ts +1 -1
- package/types/classic/get-base-eyes.d.ts +1 -1
- package/types/classic/open-eyes.d.ts +1 -1
- package/types/close-batch.d.ts +1 -1
- package/types/close.d.ts +1 -1
- package/types/delete-test.d.ts +1 -1
- package/types/extract-text.d.ts +1 -1
- package/types/get-ec-client.d.ts +1 -1
- package/types/get-eyes-results.d.ts +1 -1
- package/types/get-manager-results.d.ts +1 -1
- package/types/get-typed-eyes.d.ts +2 -2
- package/types/index.d.ts +1 -0
- package/types/locate-text.d.ts +1 -1
- package/types/locate.d.ts +1 -1
- package/types/make-manager.d.ts +1 -1
- package/types/open-eyes.d.ts +1 -1
- package/types/troubleshoot/logs.d.ts +10 -0
- package/types/types.d.ts +1 -1
- package/types/ufg/abort.d.ts +1 -1
- package/types/ufg/check-and-close.d.ts +5 -2
- package/types/ufg/check.d.ts +1 -1
- package/types/ufg/close.d.ts +1 -1
- package/types/ufg/get-base-eyes.d.ts +1 -1
- package/types/ufg/get-nml-client.d.ts +1 -1
- package/types/ufg/get-results.d.ts +1 -1
- package/types/ufg/get-ufg-client.d.ts +1 -1
- package/types/ufg/open-eyes.d.ts +1 -1
- package/types/ufg/types.d.ts +4 -1
- package/types/ufg/utils/take-dom-snapshots.d.ts +4 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.structureLogs = exports.parseLogs = void 0;
|
|
4
|
+
function parseLogs(logs) {
|
|
5
|
+
const regexp = /^(?<label>[^\s]+) (?:\((?<tags>[^\)]+)\) )?\| (?<timestamp>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)? (?:\[(?<level>[A-Z]+)\s*\])? (?<message>.+)$/;
|
|
6
|
+
const lines = logs.split('\n');
|
|
7
|
+
return lines.reduce((logs, line) => {
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const match = line.match(regexp);
|
|
10
|
+
if (match) {
|
|
11
|
+
logs.push({
|
|
12
|
+
...match.groups,
|
|
13
|
+
tags: (_b = (_a = match.groups) === null || _a === void 0 ? void 0 : _a.tags) === null || _b === void 0 ? void 0 : _b.split(' & ').map(tags => tags.split('/')),
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
else if (logs[logs.length - 1]) {
|
|
17
|
+
logs[logs.length - 1].message += line;
|
|
18
|
+
}
|
|
19
|
+
return logs;
|
|
20
|
+
}, []);
|
|
21
|
+
}
|
|
22
|
+
exports.parseLogs = parseLogs;
|
|
23
|
+
function structureLogs(logs) {
|
|
24
|
+
const groups = {};
|
|
25
|
+
logs.forEach(log => {
|
|
26
|
+
var _a;
|
|
27
|
+
const tags = (_a = log.tags) !== null && _a !== void 0 ? _a : [[]];
|
|
28
|
+
tags.forEach(tags => {
|
|
29
|
+
var _a;
|
|
30
|
+
const group = tags.reduce((object, key) => {
|
|
31
|
+
var _a;
|
|
32
|
+
(_a = object[key]) !== null && _a !== void 0 ? _a : (object[key] = {});
|
|
33
|
+
return object[key];
|
|
34
|
+
}, groups);
|
|
35
|
+
(_a = group.logs) !== null && _a !== void 0 ? _a : (group.logs = []);
|
|
36
|
+
group.logs.push(log);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return groups;
|
|
40
|
+
}
|
|
41
|
+
exports.structureLogs = structureLogs;
|
package/dist/ufg/abort.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
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({ storage, target, spec, controller, logger:
|
|
6
|
-
return async function abort({ settings, logger =
|
|
5
|
+
function makeAbort({ storage, target, spec, controller, logger: mainLogger, }) {
|
|
6
|
+
return async function abort({ settings, logger = mainLogger, } = {}) {
|
|
7
|
+
logger = logger.extend(mainLogger);
|
|
7
8
|
logger.log('Command "abort" is called with settings', settings);
|
|
8
9
|
controller.abort();
|
|
9
10
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
@@ -37,9 +37,10 @@ const uniquify_renderers_1 = require("./utils/uniquify-renderers");
|
|
|
37
37
|
const abort_error_1 = require("../errors/abort-error");
|
|
38
38
|
const utils = __importStar(require("@applitools/utils"));
|
|
39
39
|
const chalk_1 = __importDefault(require("chalk"));
|
|
40
|
-
function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
41
|
-
return async function checkAndClose({ target = defaultTarget, settings = {}, logger =
|
|
40
|
+
function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
41
|
+
return async function checkAndClose({ target = defaultTarget, settings = {}, logger = mainLogger, }) {
|
|
42
42
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
43
|
+
logger = logger.extend(mainLogger);
|
|
43
44
|
logger.log('Command "checkAndClose" is called with settings', settings);
|
|
44
45
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
45
46
|
logger.warn('Command "checkAndClose" was called after test was already aborted');
|
|
@@ -158,13 +159,14 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
158
159
|
safeSelector: selector,
|
|
159
160
|
})));
|
|
160
161
|
const promises = uniqueRenderers.map(async (renderer, index) => {
|
|
162
|
+
const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
|
|
161
163
|
if (utils.types.has(renderer, 'name') && renderer.name === 'edge') {
|
|
162
164
|
const message = chalk_1.default.yellow(`The 'edge' option that is being used in your browsers' configuration will soon be deprecated. Please change it to either 'edgelegacy' for the legacy version or to 'edgechromium' for the new Chromium-based version. Please note, when using the built-in BrowserType enum, then the values are BrowserType.EDGE_LEGACY and BrowserType.EDGE_CHROMIUM, respectively.`);
|
|
163
|
-
|
|
165
|
+
rendererLogger.console.log(message);
|
|
164
166
|
}
|
|
165
167
|
try {
|
|
166
168
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
167
|
-
|
|
169
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
168
170
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
169
171
|
}
|
|
170
172
|
const { cookies, ...snapshot } = snapshots[index];
|
|
@@ -179,24 +181,25 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
179
181
|
autProxy: settings.autProxy,
|
|
180
182
|
userAgent,
|
|
181
183
|
},
|
|
184
|
+
logger: rendererLogger,
|
|
182
185
|
});
|
|
183
186
|
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, type: snapshotType }, logger });
|
|
184
187
|
try {
|
|
185
188
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
186
|
-
|
|
189
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
187
190
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
188
191
|
}
|
|
189
192
|
else if (!baseEyes.running) {
|
|
190
|
-
|
|
193
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
191
194
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
192
195
|
}
|
|
193
196
|
const renderTarget = await renderTargetPromise;
|
|
194
197
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
195
|
-
|
|
198
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
196
199
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
197
200
|
}
|
|
198
201
|
else if (!baseEyes.running) {
|
|
199
|
-
|
|
202
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
200
203
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
201
204
|
}
|
|
202
205
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
@@ -213,6 +216,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
213
216
|
rendererId: baseEyes.test.rendererId,
|
|
214
217
|
},
|
|
215
218
|
signal,
|
|
219
|
+
logger: rendererLogger,
|
|
216
220
|
});
|
|
217
221
|
let offset = 0;
|
|
218
222
|
const baseSettings = getBaseCheckSettings({
|
|
@@ -225,22 +229,22 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
225
229
|
baseTarget.source = snapshotUrl;
|
|
226
230
|
baseTarget.name = snapshotTitle;
|
|
227
231
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
228
|
-
|
|
232
|
+
rendererLogger.warn('Command "check" was aborted after rendering');
|
|
229
233
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
230
234
|
}
|
|
231
235
|
else if (!baseEyes.running) {
|
|
232
|
-
|
|
236
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
233
237
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
234
238
|
}
|
|
235
239
|
const [result] = await baseEyes.checkAndClose({
|
|
236
240
|
target: { ...baseTarget, isTransformed: true },
|
|
237
241
|
settings: baseSettings,
|
|
238
|
-
logger,
|
|
242
|
+
logger: rendererLogger,
|
|
239
243
|
});
|
|
240
|
-
return { ...result, eyes: baseEyes, renderer };
|
|
244
|
+
return { ...result, userTestId: eyes.test.userTestId, eyes: baseEyes, renderer };
|
|
241
245
|
}
|
|
242
246
|
catch (error) {
|
|
243
|
-
await baseEyes.abort();
|
|
247
|
+
await baseEyes.abort({ logger: rendererLogger });
|
|
244
248
|
error.info = { eyes: baseEyes };
|
|
245
249
|
throw error;
|
|
246
250
|
}
|
|
@@ -250,17 +254,7 @@ function makeCheckAndClose({ eyes, target: defaultTarget, spec, signal, logger:
|
|
|
250
254
|
throw error;
|
|
251
255
|
}
|
|
252
256
|
});
|
|
253
|
-
return Promise.all(promises
|
|
254
|
-
var _a, _b;
|
|
255
|
-
try {
|
|
256
|
-
const result = await promise;
|
|
257
|
-
return { ...result, userTestId: eyes.test.userTestId };
|
|
258
|
-
}
|
|
259
|
-
catch (error) {
|
|
260
|
-
await ((_b = (_a = error.info) === null || _a === void 0 ? void 0 : _a.eyes) === null || _b === void 0 ? void 0 : _b.abort({ logger }));
|
|
261
|
-
throw error;
|
|
262
|
-
}
|
|
263
|
-
}));
|
|
257
|
+
return Promise.all(promises);
|
|
264
258
|
};
|
|
265
259
|
}
|
|
266
260
|
exports.makeCheckAndClose = makeCheckAndClose;
|
package/dist/ufg/check.js
CHANGED
|
@@ -37,9 +37,10 @@ const uniquify_renderers_1 = require("./utils/uniquify-renderers");
|
|
|
37
37
|
const abort_error_1 = require("../errors/abort-error");
|
|
38
38
|
const utils = __importStar(require("@applitools/utils"));
|
|
39
39
|
const chalk_1 = __importDefault(require("chalk"));
|
|
40
|
-
function makeCheck({ eyes, target: defaultTarget, spec, signal, logger:
|
|
41
|
-
return async function check({ target = defaultTarget, settings = {}, logger =
|
|
40
|
+
function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: mainLogger, }) {
|
|
41
|
+
return async function check({ target = defaultTarget, settings = {}, logger = mainLogger, }) {
|
|
42
42
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
43
|
+
logger = logger.extend(mainLogger);
|
|
43
44
|
logger.log('Command "check" is called with settings', settings);
|
|
44
45
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
45
46
|
logger.warn('Command "check" was called after test was already aborted');
|
|
@@ -159,13 +160,14 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
|
|
|
159
160
|
safeSelector: selector,
|
|
160
161
|
})));
|
|
161
162
|
const promises = uniqueRenderers.map(async (renderer, index) => {
|
|
163
|
+
const rendererLogger = logger.extend({ tags: [`renderer-${utils.general.shortid()}`] });
|
|
162
164
|
if (utils.types.has(renderer, 'name') && renderer.name === 'edge') {
|
|
163
165
|
const message = chalk_1.default.yellow(`The 'edge' option that is being used in your browsers' configuration will soon be deprecated. Please change it to either 'edgelegacy' for the legacy version or to 'edgechromium' for the new Chromium-based version. Please note, when using the built-in BrowserType enum, then the values are BrowserType.EDGE_LEGACY and BrowserType.EDGE_CHROMIUM, respectively.`);
|
|
164
|
-
|
|
166
|
+
rendererLogger.console.log(message);
|
|
165
167
|
}
|
|
166
168
|
try {
|
|
167
169
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
168
|
-
|
|
170
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
169
171
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
170
172
|
}
|
|
171
173
|
const { cookies, ...snapshot } = snapshots[index];
|
|
@@ -180,24 +182,25 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
|
|
|
180
182
|
autProxy: settings.autProxy,
|
|
181
183
|
userAgent,
|
|
182
184
|
},
|
|
185
|
+
logger: rendererLogger,
|
|
183
186
|
});
|
|
184
|
-
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, type: snapshotType }, logger });
|
|
187
|
+
const [baseEyes] = await eyes.getBaseEyes({ settings: { renderer, type: snapshotType }, logger: rendererLogger });
|
|
185
188
|
try {
|
|
186
189
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
187
|
-
|
|
190
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
188
191
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
189
192
|
}
|
|
190
193
|
else if (!baseEyes.running) {
|
|
191
|
-
|
|
194
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
192
195
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
193
196
|
}
|
|
194
197
|
const renderTarget = await renderTargetPromise;
|
|
195
198
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
196
|
-
|
|
199
|
+
rendererLogger.warn('Command "check" was aborted before rendering');
|
|
197
200
|
throw new abort_error_1.AbortError('Command "check" was aborted before rendering');
|
|
198
201
|
}
|
|
199
202
|
else if (!baseEyes.running) {
|
|
200
|
-
|
|
203
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
201
204
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
202
205
|
}
|
|
203
206
|
const { renderId, selectorRegions, ...baseTarget } = await ufgClient.render({
|
|
@@ -214,6 +217,7 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
|
|
|
214
217
|
rendererId: baseEyes.test.rendererId,
|
|
215
218
|
},
|
|
216
219
|
signal,
|
|
220
|
+
logger: rendererLogger,
|
|
217
221
|
});
|
|
218
222
|
let offset = 0;
|
|
219
223
|
const baseSettings = getBaseCheckSettings({
|
|
@@ -226,27 +230,27 @@ function makeCheck({ eyes, target: defaultTarget, spec, signal, logger: defaultL
|
|
|
226
230
|
baseTarget.source = snapshotUrl;
|
|
227
231
|
baseTarget.name = snapshotTitle;
|
|
228
232
|
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
229
|
-
|
|
233
|
+
rendererLogger.warn('Command "check" was aborted after rendering');
|
|
230
234
|
throw new abort_error_1.AbortError('Command "check" was aborted after rendering');
|
|
231
235
|
}
|
|
232
236
|
else if (!baseEyes.running) {
|
|
233
|
-
|
|
237
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
234
238
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
235
239
|
}
|
|
236
240
|
const [result] = await baseEyes.check({
|
|
237
241
|
target: { ...baseTarget, isTransformed: true },
|
|
238
242
|
settings: baseSettings,
|
|
239
|
-
logger,
|
|
243
|
+
logger: rendererLogger,
|
|
240
244
|
});
|
|
241
245
|
if (!baseEyes.running) {
|
|
242
|
-
|
|
246
|
+
rendererLogger.warn(`Renderer with id ${baseEyes.test.rendererId} was aborted during one of the previous steps`);
|
|
243
247
|
throw new abort_error_1.AbortError(`Renderer with id "${baseEyes.test.rendererId}" was aborted during one of the previous steps`);
|
|
244
248
|
}
|
|
245
249
|
return { ...result, eyes: baseEyes, renderer };
|
|
246
250
|
}
|
|
247
251
|
catch (error) {
|
|
248
252
|
if (baseEyes.running && !(signal === null || signal === void 0 ? void 0 : signal.aborted))
|
|
249
|
-
await baseEyes.abort({ logger });
|
|
253
|
+
await baseEyes.abort({ logger: rendererLogger });
|
|
250
254
|
error.info = { eyes: baseEyes };
|
|
251
255
|
throw error;
|
|
252
256
|
}
|
package/dist/ufg/close.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
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({ storage, target, spec, logger:
|
|
6
|
-
return async function close({ settings, logger =
|
|
5
|
+
function makeClose({ storage, target, spec, logger: mainLogger }) {
|
|
6
|
+
return async function close({ settings, logger = mainLogger, } = {}) {
|
|
7
|
+
logger = logger.extend(mainLogger);
|
|
7
8
|
logger.log('Command "close" is called with settings', settings);
|
|
8
9
|
settings !== null && settings !== void 0 ? settings : (settings = {});
|
|
9
10
|
if (!settings.testMetadata) {
|
package/dist/ufg/core.js
CHANGED
|
@@ -36,8 +36,7 @@ const get_nml_client_1 = require("./get-nml-client");
|
|
|
36
36
|
const open_eyes_1 = require("./open-eyes");
|
|
37
37
|
const utils = __importStar(require("@applitools/utils"));
|
|
38
38
|
function makeCore({ concurrency, spec, clients, base, fetchConcurrency, agentId = 'core-ufg', cwd = process.cwd(), logger: defaultLogger, }) {
|
|
39
|
-
|
|
40
|
-
const logger = (_a = defaultLogger === null || defaultLogger === void 0 ? void 0 : defaultLogger.extend({ label: 'core-ufg' })) !== null && _a !== void 0 ? _a : (0, logger_1.makeLogger)({ label: 'core-ufg' });
|
|
39
|
+
const logger = (0, logger_1.makeLogger)({ logger: defaultLogger, format: { label: 'core-ufg' } });
|
|
41
40
|
logger.log(`Core ufg is initialized ${base ? 'with' : 'without'} custom base core`);
|
|
42
41
|
base !== null && base !== void 0 ? base : (base = (0, core_base_1.makeCore)({ agentId, concurrency, cwd, logger }));
|
|
43
42
|
return utils.general.extend(base, core => {
|
|
@@ -25,13 +25,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.makeGetBaseEyes = void 0;
|
|
27
27
|
const utils = __importStar(require("@applitools/utils"));
|
|
28
|
-
function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger:
|
|
28
|
+
function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger: mainLogger, }) {
|
|
29
29
|
const getBaseEyesWithCache = utils.general.cachify(getBaseEyes, ([options]) => options === null || options === void 0 ? void 0 : options.settings);
|
|
30
30
|
if (base) {
|
|
31
31
|
base.forEach(baseEyes => getBaseEyesWithCache.setCachedValue(baseEyes.test.rendererInfo, Promise.resolve([baseEyes])));
|
|
32
32
|
}
|
|
33
33
|
return getBaseEyesWithCache;
|
|
34
|
-
async function getBaseEyes({ settings, logger =
|
|
34
|
+
async function getBaseEyes({ settings, logger = mainLogger, } = {}) {
|
|
35
|
+
logger = logger.extend(mainLogger);
|
|
35
36
|
logger.log(`Command "getBaseEyes" is called with settings`, settings);
|
|
36
37
|
if (!settings)
|
|
37
38
|
throw new Error('');
|
|
@@ -39,7 +40,7 @@ function makeGetBaseEyes({ settings: defaultSettings, eyes, base, logger: defaul
|
|
|
39
40
|
config: { ...eyes.test.ufgServer },
|
|
40
41
|
logger,
|
|
41
42
|
});
|
|
42
|
-
const environment = await ufgClient.bookRenderer({ settings });
|
|
43
|
+
const environment = await ufgClient.bookRenderer({ settings, logger });
|
|
43
44
|
const baseEyes = await eyes.core.base.openEyes({
|
|
44
45
|
settings: { ...defaultSettings, environment: { ...defaultSettings.environment, ...environment } },
|
|
45
46
|
logger,
|
|
@@ -26,12 +26,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.makeGetNMLClient = void 0;
|
|
27
27
|
const nml_client_1 = require("@applitools/nml-client");
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
|
-
function makeGetNMLClient({ client, logger:
|
|
29
|
+
function makeGetNMLClient({ client, logger: mainLogger }) {
|
|
30
30
|
const getNMLClientWithCache = utils.general.cachify(getNMLClient, ([options]) => client ? 'default' : [options.driver.guid, options.config]);
|
|
31
31
|
if (client)
|
|
32
32
|
getNMLClientWithCache.setCachedValue('default', Promise.resolve(client));
|
|
33
33
|
return getNMLClientWithCache;
|
|
34
|
-
async function getNMLClient({ driver, config, logger =
|
|
34
|
+
async function getNMLClient({ driver, config, logger = mainLogger, }) {
|
|
35
|
+
logger = logger.extend(mainLogger);
|
|
35
36
|
const brokerUrl = await driver.extractBrokerUrl();
|
|
36
37
|
if (!brokerUrl)
|
|
37
38
|
return null;
|
package/dist/ufg/get-results.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeGetResults = void 0;
|
|
4
4
|
const abort_error_1 = require("../errors/abort-error");
|
|
5
|
-
function makeGetResults({ storage, logger:
|
|
6
|
-
return async function getResults({ settings, logger =
|
|
5
|
+
function makeGetResults({ storage, logger: mainLogger }) {
|
|
6
|
+
return async function getResults({ settings, logger = mainLogger, } = {}) {
|
|
7
|
+
logger = logger.extend(mainLogger);
|
|
7
8
|
logger.log('Command "getResults" is called with settings', settings);
|
|
8
9
|
return Promise.all(Array.from(storage.values(), async (promises) => {
|
|
9
10
|
var _a;
|
|
@@ -26,14 +26,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.makeGetUFGClient = void 0;
|
|
27
27
|
const ufg_client_1 = require("@applitools/ufg-client");
|
|
28
28
|
const utils = __importStar(require("@applitools/utils"));
|
|
29
|
-
function makeGetUFGClient({ client, fetchConcurrency, logger:
|
|
29
|
+
function makeGetUFGClient({ client, fetchConcurrency, logger: mainLogger }) {
|
|
30
30
|
// we are caching by the server config, therefor if the user creates another Runner / manager with the same server config but different
|
|
31
31
|
// fetchConcurrency, it will not take any affect.
|
|
32
32
|
const getUFGClientWithCache = utils.general.cachify(getUFGClient, ([options]) => client ? 'default' : [{ ...options.config, fetchConcurrency: undefined }]);
|
|
33
33
|
if (client)
|
|
34
34
|
getUFGClientWithCache.setCachedValue('default', Promise.resolve(client));
|
|
35
35
|
return getUFGClientWithCache;
|
|
36
|
-
async function getUFGClient({ config, logger =
|
|
36
|
+
async function getUFGClient({ config, logger = mainLogger }) {
|
|
37
|
+
logger = logger.extend(mainLogger);
|
|
37
38
|
return (0, ufg_client_1.makeUFGClient)({ config: { ...config, fetchConcurrency }, logger });
|
|
38
39
|
}
|
|
39
40
|
}
|
package/dist/ufg/open-eyes.js
CHANGED
|
@@ -33,9 +33,10 @@ const abort_1 = require("./abort");
|
|
|
33
33
|
const get_results_1 = require("./get-results");
|
|
34
34
|
const abort_controller_1 = require("abort-controller");
|
|
35
35
|
const utils = __importStar(require("@applitools/utils"));
|
|
36
|
-
function makeOpenEyes({ core, spec, logger:
|
|
37
|
-
return async function openEyes({ target, settings, base, logger =
|
|
36
|
+
function makeOpenEyes({ core, spec, logger: mainLogger }) {
|
|
37
|
+
return async function openEyes({ target, settings, base, logger = mainLogger, }) {
|
|
38
38
|
var _a, _b;
|
|
39
|
+
logger = logger.extend(mainLogger);
|
|
39
40
|
logger.log(`Command "openEyes" is called with ${target ? 'default driver and' : ''}`, ...(settings ? ['settings', settings] : []), base ? 'predefined eyes' : '');
|
|
40
41
|
const driver = target && (await (0, driver_1.makeDriver)({ spec, driver: target, logger }));
|
|
41
42
|
if (driver && !base) {
|
|
@@ -35,7 +35,7 @@ const utils = __importStar(require("@applitools/utils"));
|
|
|
35
35
|
const chalk_1 = __importDefault(require("chalk"));
|
|
36
36
|
__exportStar(require("./take-dom-snapshot"), exports);
|
|
37
37
|
async function takeDomSnapshots({ driver, settings, hooks, provides, logger, }) {
|
|
38
|
-
var _a, _b, _c, _d;
|
|
38
|
+
var _a, _b, _c, _d, _e;
|
|
39
39
|
const currentContext = driver.currentContext;
|
|
40
40
|
const waitBeforeCapture = async () => {
|
|
41
41
|
if (utils.types.isFunction(settings.waitBeforeCapture)) {
|
|
@@ -53,12 +53,12 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
|
|
|
53
53
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
54
54
|
return Array(settings.renderers.length).fill(snapshot);
|
|
55
55
|
}
|
|
56
|
-
const isStrictBreakpoints = utils.types.isArray(settings.layoutBreakpoints);
|
|
56
|
+
const isStrictBreakpoints = utils.types.isArray((_c = settings.layoutBreakpoints) === null || _c === void 0 ? void 0 : _c.breakpoints);
|
|
57
57
|
const requiredWidths = await settings.renderers.reduce(async (prev, renderer, index) => {
|
|
58
58
|
const { name, width } = (await extractRendererInfo({ renderer }));
|
|
59
59
|
const requiredWidths = await prev;
|
|
60
60
|
const requiredWidth = isStrictBreakpoints
|
|
61
|
-
? calculateBreakpoint({ breakpoints: settings.layoutBreakpoints, value: width })
|
|
61
|
+
? calculateBreakpoint({ breakpoints: settings.layoutBreakpoints.breakpoints, value: width })
|
|
62
62
|
: width;
|
|
63
63
|
let renderers = requiredWidths.get(requiredWidth);
|
|
64
64
|
if (!renderers)
|
|
@@ -66,7 +66,7 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
|
|
|
66
66
|
renderers.push({ name, width, index });
|
|
67
67
|
return requiredWidths;
|
|
68
68
|
}, Promise.resolve(new Map()));
|
|
69
|
-
const smallestBreakpoint = Math.min(...(isStrictBreakpoints ? settings.layoutBreakpoints : []));
|
|
69
|
+
const smallestBreakpoint = Math.min(...(isStrictBreakpoints ? settings.layoutBreakpoints.breakpoints : []));
|
|
70
70
|
if (isStrictBreakpoints && requiredWidths.has(smallestBreakpoint - 1)) {
|
|
71
71
|
const smallestBrowsers = requiredWidths
|
|
72
72
|
.get(smallestBreakpoint - 1)
|
|
@@ -75,13 +75,13 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
|
|
|
75
75
|
const message = chalk_1.default.yellow(`The following configuration's viewport-widths are smaller than the smallest configured layout breakpoint (${smallestBreakpoint} pixels): [${smallestBrowsers}]. As a fallback, the resources that will be used for these configurations have been captured on a viewport-width of ${smallestBreakpoint} - 1 pixels. If an additional layout breakpoint is needed for you to achieve better results - please add it to your configuration.`);
|
|
76
76
|
logger.console.log(message);
|
|
77
77
|
}
|
|
78
|
-
logger.log(`taking multiple dom snapshots for breakpoints:`, settings.layoutBreakpoints);
|
|
78
|
+
logger.log(`taking multiple dom snapshots for breakpoints:`, settings.layoutBreakpoints.breakpoints);
|
|
79
79
|
logger.log(`required widths: ${[...requiredWidths.keys()].join(', ')}`);
|
|
80
80
|
const viewportSize = await driver.getViewportSize();
|
|
81
81
|
const snapshots = Array(settings.renderers.length);
|
|
82
82
|
if (requiredWidths.has(viewportSize.width)) {
|
|
83
83
|
logger.log(`taking dom snapshot for existing width ${viewportSize.width}`);
|
|
84
|
-
await ((
|
|
84
|
+
await ((_d = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _d === void 0 ? void 0 : _d.call(hooks));
|
|
85
85
|
await waitBeforeCapture();
|
|
86
86
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
87
87
|
requiredWidths.get(viewportSize.width).forEach(({ index }) => (snapshots[index] = snapshot));
|
|
@@ -90,6 +90,10 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
|
|
|
90
90
|
logger.log(`taking dom snapshot for width ${requiredWidth}`);
|
|
91
91
|
try {
|
|
92
92
|
await driver.setViewportSize({ width: requiredWidth, height: viewportSize.height });
|
|
93
|
+
if (settings.layoutBreakpoints.reload) {
|
|
94
|
+
await driver.reloadPage();
|
|
95
|
+
await waitBeforeCapture();
|
|
96
|
+
}
|
|
93
97
|
}
|
|
94
98
|
catch (err) {
|
|
95
99
|
logger.error(err);
|
|
@@ -107,12 +111,16 @@ async function takeDomSnapshots({ driver, settings, hooks, provides, logger, })
|
|
|
107
111
|
logger.log(message);
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
|
-
await ((
|
|
114
|
+
await ((_e = hooks === null || hooks === void 0 ? void 0 : hooks.beforeEachSnapshot) === null || _e === void 0 ? void 0 : _e.call(hooks));
|
|
111
115
|
await waitBeforeCapture();
|
|
112
116
|
const snapshot = await (0, take_dom_snapshot_1.takeDomSnapshot)({ context: currentContext, settings, logger });
|
|
113
117
|
browsersInfo.forEach(({ index }) => (snapshots[index] = snapshot));
|
|
114
118
|
}
|
|
115
119
|
await driver.setViewportSize(viewportSize);
|
|
120
|
+
if (settings.layoutBreakpoints.reload) {
|
|
121
|
+
await driver.reloadPage();
|
|
122
|
+
await waitBeforeCapture();
|
|
123
|
+
}
|
|
116
124
|
return snapshots;
|
|
117
125
|
function calculateBreakpoint({ breakpoints, value }) {
|
|
118
126
|
const nextBreakpointIndex = breakpoints
|
|
@@ -20,9 +20,8 @@ printStdout = false, ...handlerOptions } = {}) {
|
|
|
20
20
|
const logDirname = (_a = process.env.APPLITOOLS_LOG_DIR) !== null && _a !== void 0 ? _a : path_1.default.resolve(os_1.default.tmpdir(), `applitools-logs`);
|
|
21
21
|
const baseLogger = (0, logger_1.makeLogger)({
|
|
22
22
|
handler: { type: 'rolling file', name: 'universal', dirname: logDirname },
|
|
23
|
-
label: 'core-universal',
|
|
24
23
|
level: 'info',
|
|
25
|
-
colors: false,
|
|
24
|
+
format: { label: 'core-universal', colors: false },
|
|
26
25
|
});
|
|
27
26
|
baseLogger.log('Core universal is going to be initialized with options', {
|
|
28
27
|
debug,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -75,20 +75,20 @@
|
|
|
75
75
|
]
|
|
76
76
|
},
|
|
77
77
|
"dependencies": {
|
|
78
|
-
"@applitools/core-base": "1.1.
|
|
79
|
-
"@applitools/dom-capture": "11.2.
|
|
78
|
+
"@applitools/core-base": "1.1.54",
|
|
79
|
+
"@applitools/dom-capture": "11.2.2",
|
|
80
80
|
"@applitools/dom-snapshot": "4.7.9",
|
|
81
|
-
"@applitools/driver": "1.11.
|
|
82
|
-
"@applitools/ec-client": "1.2.
|
|
83
|
-
"@applitools/logger": "
|
|
84
|
-
"@applitools/nml-client": "1.3.
|
|
85
|
-
"@applitools/req": "1.2.
|
|
86
|
-
"@applitools/screenshoter": "3.7.
|
|
87
|
-
"@applitools/snippets": "2.4.
|
|
88
|
-
"@applitools/socket": "1.0.
|
|
89
|
-
"@applitools/spec-driver-webdriver": "1.0.
|
|
90
|
-
"@applitools/ufg-client": "1.2.
|
|
91
|
-
"@applitools/utils": "1.3.
|
|
81
|
+
"@applitools/driver": "1.11.51",
|
|
82
|
+
"@applitools/ec-client": "1.2.30",
|
|
83
|
+
"@applitools/logger": "2.0.0",
|
|
84
|
+
"@applitools/nml-client": "1.3.53",
|
|
85
|
+
"@applitools/req": "1.2.6",
|
|
86
|
+
"@applitools/screenshoter": "3.7.44",
|
|
87
|
+
"@applitools/snippets": "2.4.20",
|
|
88
|
+
"@applitools/socket": "1.0.14",
|
|
89
|
+
"@applitools/spec-driver-webdriver": "1.0.31",
|
|
90
|
+
"@applitools/ufg-client": "1.2.13",
|
|
91
|
+
"@applitools/utils": "1.3.36",
|
|
92
92
|
"@types/ws": "8.5.4",
|
|
93
93
|
"abort-controller": "3.0.0",
|
|
94
94
|
"chalk": "4.1.2",
|
|
@@ -100,10 +100,10 @@
|
|
|
100
100
|
"devDependencies": {
|
|
101
101
|
"@applitools/bongo": "^3.0.3",
|
|
102
102
|
"@applitools/sdk-coverage-tests": "^3.0.2",
|
|
103
|
-
"@applitools/spec-driver-puppeteer": "^1.1.
|
|
104
|
-
"@applitools/spec-driver-selenium": "^1.5.
|
|
105
|
-
"@applitools/spec-driver-webdriverio": "^1.
|
|
106
|
-
"@applitools/test-server": "^1.
|
|
103
|
+
"@applitools/spec-driver-puppeteer": "^1.1.62",
|
|
104
|
+
"@applitools/spec-driver-selenium": "^1.5.45",
|
|
105
|
+
"@applitools/spec-driver-webdriverio": "^1.5.0",
|
|
106
|
+
"@applitools/test-server": "^1.2.0",
|
|
107
107
|
"@applitools/test-utils": "^1.5.16",
|
|
108
108
|
"@types/node": "^12.20.55",
|
|
109
109
|
"@types/selenium-webdriver": "^4.1.2",
|
|
@@ -7,7 +7,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
7
7
|
spec?: SpecDriver<TSpec>;
|
|
8
8
|
logger: Logger;
|
|
9
9
|
};
|
|
10
|
-
export declare function makeExtractText<TSpec extends SpecType>({ core, spec, logger:
|
|
10
|
+
export declare function makeExtractText<TSpec extends SpecType>({ core, spec, logger: mainLogger }: Options<TSpec>): ({ target, settings, logger, }: {
|
|
11
11
|
target: Target<TSpec>;
|
|
12
12
|
settings: MaybeArray<ExtractTextSettings<TSpec>>;
|
|
13
13
|
logger?: Logger | undefined;
|
|
@@ -5,7 +5,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
5
5
|
spec: SpecDriver<TSpec>;
|
|
6
6
|
logger: Logger;
|
|
7
7
|
};
|
|
8
|
-
export declare function makeGetViewportSize<TSpec extends SpecType>({ spec, logger:
|
|
8
|
+
export declare function makeGetViewportSize<TSpec extends SpecType>({ spec, logger: mainLogger }: Options<TSpec>): ({ target, logger }: {
|
|
9
9
|
target: DriverTarget<TSpec>;
|
|
10
10
|
logger?: Logger | undefined;
|
|
11
11
|
}) => Promise<import("@applitools/utils").Size>;
|
|
@@ -6,7 +6,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
6
6
|
spec?: SpecDriver<TSpec>;
|
|
7
7
|
logger: Logger;
|
|
8
8
|
};
|
|
9
|
-
export declare function makeLocateText<TSpec extends SpecType>({ core, spec, logger:
|
|
9
|
+
export declare function makeLocateText<TSpec extends SpecType>({ core, spec, logger: mainLogger }: Options<TSpec>): <TPattern extends string>({ target, settings, logger, }: {
|
|
10
10
|
target: Target<TSpec>;
|
|
11
11
|
settings: LocateTextSettings<TPattern, TSpec>;
|
|
12
12
|
logger?: Logger | undefined;
|
|
@@ -6,7 +6,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
6
6
|
spec?: SpecDriver<TSpec>;
|
|
7
7
|
logger: Logger;
|
|
8
8
|
};
|
|
9
|
-
export declare function makeLocate<TSpec extends SpecType>({ spec, core, logger:
|
|
9
|
+
export declare function makeLocate<TSpec extends SpecType>({ spec, core, logger: mainLogger }: Options<TSpec>): <TLocator extends string>({ settings, target, logger, }: {
|
|
10
10
|
target: Target<TSpec>;
|
|
11
11
|
settings: LocateSettings<TLocator, TSpec>;
|
|
12
12
|
logger?: Logger | undefined;
|
|
@@ -6,7 +6,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
6
6
|
spec: SpecDriver<TSpec>;
|
|
7
7
|
logger: Logger;
|
|
8
8
|
};
|
|
9
|
-
export declare function makeSetViewportSize<TSpec extends SpecType>({ spec, logger:
|
|
9
|
+
export declare function makeSetViewportSize<TSpec extends SpecType>({ spec, logger: mainLogger }: Options<TSpec>): ({ target, size, logger, }: {
|
|
10
10
|
target: DriverTarget<TSpec>;
|
|
11
11
|
size: Size;
|
|
12
12
|
logger?: Logger | undefined;
|
|
@@ -8,7 +8,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
|
8
8
|
spec?: SpecDriver<TSpec>;
|
|
9
9
|
logger: Logger;
|
|
10
10
|
};
|
|
11
|
-
export declare function makeCheckAndClose<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, eyes, target: defaultTarget, spec, logger:
|
|
11
|
+
export declare function makeCheckAndClose<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
12
|
type?: TType | undefined;
|
|
13
13
|
target?: Target<TSpec, TType> | undefined;
|
|
14
14
|
settings?: (CheckSettings<TSpec, TDefaultType> & CloseSettings<TDefaultType> & CheckSettings<TSpec, TType> & CloseSettings<TType>) | undefined;
|
package/types/check.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ type Options<TSpec extends SpecType, TType extends 'classic' | 'ufg'> = {
|
|
|
8
8
|
spec?: SpecDriver<TSpec>;
|
|
9
9
|
logger: Logger;
|
|
10
10
|
};
|
|
11
|
-
export declare function makeCheck<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, eyes, target: defaultTarget, spec, logger:
|
|
11
|
+
export declare function makeCheck<TSpec extends SpecType, TDefaultType extends 'classic' | 'ufg'>({ type: defaultType, eyes, target: defaultTarget, spec, logger: mainLogger, }: Options<TSpec, TDefaultType>): <TType extends "classic" | "ufg" = TDefaultType>({ type, target, settings, config, logger, }?: {
|
|
12
12
|
type?: TType | undefined;
|
|
13
13
|
target?: Target<TSpec, TType> | undefined;
|
|
14
14
|
settings?: CheckSettings<TSpec, TType> | undefined;
|
package/types/classic/abort.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ type Options<TSpec extends SpecType> = {
|
|
|
9
9
|
spec?: SpecDriver<TSpec>;
|
|
10
10
|
logger: Logger;
|
|
11
11
|
};
|
|
12
|
-
export declare function makeAbort<TSpec extends SpecType>({ eyes, target, spec, logger:
|
|
12
|
+
export declare function makeAbort<TSpec extends SpecType>({ eyes, target, spec, logger: mainLogger }: Options<TSpec>): ({ settings, logger, }?: {
|
|
13
13
|
settings?: AbortSettings | undefined;
|
|
14
14
|
logger?: Logger | undefined;
|
|
15
15
|
}) => Promise<void>;
|