1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.sanitizeErrorMessage = exports.stackTraceFilter = void 0;
|
4 | const constants_1 = require("./constants");
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | const stackTraceFilter = (stackRow) => {
|
11 | if (stackRow.match(constants_1.STACK_START)) {
|
12 | return !constants_1.STACKTRACE_FILTER.some(r => stackRow.includes(r));
|
13 | }
|
14 | return true;
|
15 | };
|
16 | exports.stackTraceFilter = stackTraceFilter;
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | function sanitizeErrorMessage(commandError, savedError) {
|
24 | var _a;
|
25 | let name, stack, message;
|
26 | if (commandError instanceof Error) {
|
27 | ({ name, message, stack } = commandError);
|
28 | }
|
29 | else {
|
30 | name = 'Error';
|
31 | message = commandError;
|
32 | }
|
33 | const err = new Error(message);
|
34 | err.name = name;
|
35 | let stackArr = ((_a = savedError.stack) === null || _a === void 0 ? void 0 : _a.split('\n')) || [];
|
36 | |
37 |
|
38 |
|
39 | if (stack) {
|
40 |
|
41 | stack = stack.replace(`${err.name}: ${err.name}`, err.name);
|
42 |
|
43 | stackArr[0] = '\n';
|
44 |
|
45 | stackArr = [...stack.split('\n'), ...stackArr];
|
46 | }
|
47 | err.stack = stackArr
|
48 |
|
49 | .filter(exports.stackTraceFilter)
|
50 |
|
51 | .reduce((acc, currentValue) => {
|
52 | return acc.includes(currentValue) ? acc : `${acc}\n${currentValue}`;
|
53 | }, '')
|
54 | .trim();
|
55 | return err;
|
56 | }
|
57 | exports.sanitizeErrorMessage = sanitizeErrorMessage;
|