oxygen-cli 1.25.0 → 1.27.0
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 +14 -0
- package/build/core/OxygenCore.js +266 -37
- package/build/core/OxygenEvents.js +11 -1
- package/build/core/OxygenModule.js +14 -1
- package/build/core/OxygenService.js +12 -1
- package/build/core/OxygenSubModule.js +10 -1
- package/build/core/WebDriverModule.js +30 -1
- package/build/core/utils.js +17 -1
- package/build/errors/HookError.js +7 -1
- package/build/errors/ModuleError.js +7 -1
- package/build/errors/ModuleUnavailableError.js +3 -1
- package/build/errors/OxygenError.js +33 -1
- package/build/errors/ScriptNotFound.js +7 -1
- package/build/errors/helper.js +77 -45
- package/build/index.js +18 -6
- package/build/lib/cli-util.js +90 -28
- package/build/lib/cli.js +23 -1
- package/build/lib/debugger.js +144 -1
- package/build/lib/img-merge.js +15 -1
- package/build/lib/launcher.js +28 -1
- package/build/lib/moduleRequire.js +4 -1
- package/build/lib/param-manager.js +28 -1
- package/build/lib/param-reader-csv.js +15 -1
- package/build/lib/param-reader-excel.js +14 -1
- package/build/lib/param-reader-json.js +10 -1
- package/build/lib/text-to-image.js +183 -0
- package/build/lib/util.js +58 -3
- package/build/model/case-result.js +4 -2
- package/build/model/failure.js +2 -1
- package/build/model/status.js +2 -1
- package/build/model/step-result.js +2 -1
- package/build/model/suite-result.js +2 -1
- package/build/model/test-result.js +2 -1
- package/build/model/testcase.js +2 -1
- package/build/model/testsuite.js +2 -1
- package/build/ox_modules/index.js +33 -13
- package/build/ox_modules/module-assert.js +24 -8
- package/build/ox_modules/module-date.js +8 -3
- package/build/ox_modules/module-db.js +28 -7
- package/build/ox_modules/module-email.js +36 -10
- package/build/ox_modules/module-eyes.js +46 -5
- package/build/ox_modules/module-http.js +102 -41
- package/build/ox_modules/module-log.js +22 -5
- package/build/ox_modules/module-mailinator.js +32 -10
- package/build/ox_modules/module-mob/commands/alertAccept.js +2 -1
- package/build/ox_modules/module-mob/commands/alertDismiss.js +2 -1
- package/build/ox_modules/module-mob/commands/assertAlert.js +6 -1
- package/build/ox_modules/module-mob/commands/assertText.js +3 -1
- package/build/ox_modules/module-mob/commands/assertTitle.js +4 -1
- package/build/ox_modules/module-mob/commands/assertValue.js +15 -9
- package/build/ox_modules/module-mob/commands/back.js +2 -1
- package/build/ox_modules/module-mob/commands/clear.js +4 -1
- package/build/ox_modules/module-mob/commands/click.js +4 -3
- package/build/ox_modules/module-mob/commands/clickHidden.js +9 -3
- package/build/ox_modules/module-mob/commands/clickLong.js +2 -1
- package/build/ox_modules/module-mob/commands/clickMultipleTimes.js +4 -1
- package/build/ox_modules/module-mob/commands/closeApp.js +2 -1
- package/build/ox_modules/module-mob/commands/debug.js +2 -2
- package/build/ox_modules/module-mob/commands/dragAndDrop.js +2 -1
- package/build/ox_modules/module-mob/commands/enableNetwork.js +12 -4
- package/build/ox_modules/module-mob/commands/execute.js +2 -1
- package/build/ox_modules/module-mob/commands/findElement.js +3 -1
- package/build/ox_modules/module-mob/commands/findElements.js +4 -1
- package/build/ox_modules/module-mob/commands/getAlertText.js +2 -1
- package/build/ox_modules/module-mob/commands/getAppiumLogs.js +2 -1
- package/build/ox_modules/module-mob/commands/getBrowserLogs.js +10 -1
- package/build/ox_modules/module-mob/commands/getCurrentActivity.js +2 -1
- package/build/ox_modules/module-mob/commands/getCurrentPackage.js +2 -1
- package/build/ox_modules/module-mob/commands/getDeviceLogs.js +9 -1
- package/build/ox_modules/module-mob/commands/getDeviceTime.js +2 -1
- package/build/ox_modules/module-mob/commands/getLocation.js +2 -1
- package/build/ox_modules/module-mob/commands/getSource.js +2 -1
- package/build/ox_modules/module-mob/commands/getText.js +4 -1
- package/build/ox_modules/module-mob/commands/getTitle.js +2 -1
- package/build/ox_modules/module-mob/commands/getUrl.js +2 -1
- package/build/ox_modules/module-mob/commands/getValue.js +9 -5
- package/build/ox_modules/module-mob/commands/getWindowHandles.js +2 -1
- package/build/ox_modules/module-mob/commands/hideKeyboard.js +2 -1
- package/build/ox_modules/module-mob/commands/index.js +94 -19
- package/build/ox_modules/module-mob/commands/installApp.js +2 -1
- package/build/ox_modules/module-mob/commands/isAppInstalled.js +2 -1
- package/build/ox_modules/module-mob/commands/isCheckable.js +2 -1
- package/build/ox_modules/module-mob/commands/isChecked.js +2 -1
- package/build/ox_modules/module-mob/commands/isClickable.js +2 -1
- package/build/ox_modules/module-mob/commands/isExist.js +3 -1
- package/build/ox_modules/module-mob/commands/isSelected.js +2 -1
- package/build/ox_modules/module-mob/commands/isVisible.js +3 -1
- package/build/ox_modules/module-mob/commands/isWebViewContext.js +2 -1
- package/build/ox_modules/module-mob/commands/launchApp.js +2 -1
- package/build/ox_modules/module-mob/commands/longPressKeyCode.js +2 -1
- package/build/ox_modules/module-mob/commands/open.js +3 -1
- package/build/ox_modules/module-mob/commands/pause.js +2 -1
- package/build/ox_modules/module-mob/commands/removeApp.js +2 -1
- package/build/ox_modules/module-mob/commands/resetApp.js +2 -1
- package/build/ox_modules/module-mob/commands/scrollIntoElement.js +6 -1
- package/build/ox_modules/module-mob/commands/scrollIntoView.js +2 -1
- package/build/ox_modules/module-mob/commands/select.js +4 -1
- package/build/ox_modules/module-mob/commands/selectFrame.js +4 -1
- package/build/ox_modules/module-mob/commands/selectWindow.js +26 -5
- package/build/ox_modules/module-mob/commands/sendKeys.js +9 -6
- package/build/ox_modules/module-mob/commands/setContext.js +2 -1
- package/build/ox_modules/module-mob/commands/setNativeContext.js +2 -1
- package/build/ox_modules/module-mob/commands/setTimeout.js +2 -1
- package/build/ox_modules/module-mob/commands/setWebViewContext.js +6 -3
- package/build/ox_modules/module-mob/commands/shake.js +2 -1
- package/build/ox_modules/module-mob/commands/smsClickLink.js +2 -1
- package/build/ox_modules/module-mob/commands/smsGetText.js +6 -3
- package/build/ox_modules/module-mob/commands/swipe.js +2 -1
- package/build/ox_modules/module-mob/commands/swipeElement.js +2 -1
- package/build/ox_modules/module-mob/commands/swipeScreen.js +2 -1
- package/build/ox_modules/module-mob/commands/takeScreenshot.js +2 -1
- package/build/ox_modules/module-mob/commands/tap.js +2 -1
- package/build/ox_modules/module-mob/commands/type.js +7 -3
- package/build/ox_modules/module-mob/commands/unlockPattern.js +10 -9
- package/build/ox_modules/module-mob/commands/waitForExist.js +2 -1
- package/build/ox_modules/module-mob/commands/waitForInteractable.js +3 -1
- package/build/ox_modules/module-mob/commands/waitForVisible.js +2 -1
- package/build/ox_modules/module-mob.js +141 -72
- package/build/ox_modules/module-pdf.js +62 -23
- package/build/ox_modules/module-proxy.js +68 -8
- package/build/ox_modules/module-serial.js +32 -7
- package/build/ox_modules/module-shell.js +27 -8
- package/build/ox_modules/module-soap.js +47 -14
- package/build/ox_modules/module-twilio.js +53 -10
- package/build/ox_modules/module-utils.js +51 -16
- package/build/ox_modules/module-web/commands/alertAccept.js +2 -1
- package/build/ox_modules/module-web/commands/alertDismiss.js +2 -1
- package/build/ox_modules/module-web/commands/assertAlert.js +6 -1
- package/build/ox_modules/module-web/commands/assertExist.js +2 -1
- package/build/ox_modules/module-web/commands/assertSelectedLabel.js +4 -1
- package/build/ox_modules/module-web/commands/assertSelectedValue.js +3 -1
- package/build/ox_modules/module-web/commands/assertText.js +3 -1
- package/build/ox_modules/module-web/commands/assertTextNotPresent.js +6 -1
- package/build/ox_modules/module-web/commands/assertTextPresent.js +6 -1
- package/build/ox_modules/module-web/commands/assertTitle.js +3 -1
- package/build/ox_modules/module-web/commands/assertValue.js +3 -1
- package/build/ox_modules/module-web/commands/back.js +2 -1
- package/build/ox_modules/module-web/commands/clear.js +5 -1
- package/build/ox_modules/module-web/commands/click.js +13 -4
- package/build/ox_modules/module-web/commands/clickHidden.js +7 -2
- package/build/ox_modules/module-web/commands/closeWindow.js +2 -1
- package/build/ox_modules/module-web/commands/debug.js +2 -2
- package/build/ox_modules/module-web/commands/deleteCookies.js +2 -1
- package/build/ox_modules/module-web/commands/deselect.js +2 -1
- package/build/ox_modules/module-web/commands/doubleClick.js +9 -3
- package/build/ox_modules/module-web/commands/dragAndDrop.js +2 -1
- package/build/ox_modules/module-web/commands/execute.js +2 -1
- package/build/ox_modules/module-web/commands/fileBrowse.js +10 -4
- package/build/ox_modules/module-web/commands/findElement.js +3 -1
- package/build/ox_modules/module-web/commands/findElements.js +4 -1
- package/build/ox_modules/module-web/commands/fullscreenWindow.js +2 -1
- package/build/ox_modules/module-web/commands/getAlertText.js +2 -1
- package/build/ox_modules/module-web/commands/getAttribute.js +4 -1
- package/build/ox_modules/module-web/commands/getBrowserLogs.js +3 -1
- package/build/ox_modules/module-web/commands/getCookies.js +2 -1
- package/build/ox_modules/module-web/commands/getCssValue.js +4 -1
- package/build/ox_modules/module-web/commands/getElementCount.js +2 -1
- package/build/ox_modules/module-web/commands/getHTML.js +2 -1
- package/build/ox_modules/module-web/commands/getSource.js +2 -1
- package/build/ox_modules/module-web/commands/getText.js +4 -1
- package/build/ox_modules/module-web/commands/getTitle.js +2 -1
- package/build/ox_modules/module-web/commands/getUrl.js +2 -1
- package/build/ox_modules/module-web/commands/getValue.js +5 -1
- package/build/ox_modules/module-web/commands/getWindowHandles.js +2 -1
- package/build/ox_modules/module-web/commands/getWindowSize.js +2 -1
- package/build/ox_modules/module-web/commands/getXMLPageSource.js +5 -1
- package/build/ox_modules/module-web/commands/index.js +100 -19
- package/build/ox_modules/module-web/commands/isAlertPresent.js +2 -1
- package/build/ox_modules/module-web/commands/isChecked.js +2 -1
- package/build/ox_modules/module-web/commands/isExist.js +3 -1
- package/build/ox_modules/module-web/commands/isInteractable.js +2 -1
- package/build/ox_modules/module-web/commands/isSelected.js +2 -1
- package/build/ox_modules/module-web/commands/isVisible.js +3 -1
- package/build/ox_modules/module-web/commands/makeVisible.js +10 -2
- package/build/ox_modules/module-web/commands/maximizeWindow.js +2 -1
- package/build/ox_modules/module-web/commands/minimizeWindow.js +2 -1
- package/build/ox_modules/module-web/commands/newWindow.js +2 -1
- package/build/ox_modules/module-web/commands/open.js +4 -1
- package/build/ox_modules/module-web/commands/pause.js +2 -1
- package/build/ox_modules/module-web/commands/point.js +2 -1
- package/build/ox_modules/module-web/commands/pointJS.js +8 -2
- package/build/ox_modules/module-web/commands/refresh.js +2 -1
- package/build/ox_modules/module-web/commands/rightClick.js +8 -3
- package/build/ox_modules/module-web/commands/rightClickActions.js +2 -1
- package/build/ox_modules/module-web/commands/scrollToElement.js +2 -1
- package/build/ox_modules/module-web/commands/select.js +5 -1
- package/build/ox_modules/module-web/commands/selectFrame.js +3 -1
- package/build/ox_modules/module-web/commands/selectWindow.js +26 -5
- package/build/ox_modules/module-web/commands/sendKeys.js +6 -3
- package/build/ox_modules/module-web/commands/setAutoWaitForAngular.js +2 -2
- package/build/ox_modules/module-web/commands/setTimeout.js +2 -1
- package/build/ox_modules/module-web/commands/setWindowSize.js +2 -1
- package/build/ox_modules/module-web/commands/takeScreenshot.js +5 -3
- package/build/ox_modules/module-web/commands/type.js +5 -1
- package/build/ox_modules/module-web/commands/waitForAngular.js +11 -6
- package/build/ox_modules/module-web/commands/waitForExist.js +2 -1
- package/build/ox_modules/module-web/commands/waitForInteractable.js +2 -1
- package/build/ox_modules/module-web/commands/waitForNotExist.js +8 -1
- package/build/ox_modules/module-web/commands/waitForNotText.js +3 -1
- package/build/ox_modules/module-web/commands/waitForNotValue.js +3 -1
- package/build/ox_modules/module-web/commands/waitForText.js +3 -1
- package/build/ox_modules/module-web/commands/waitForValue.js +3 -1
- package/build/ox_modules/module-web/commands/waitForVisible.js +2 -1
- package/build/ox_modules/module-web/commands/waitForWindow.js +21 -4
- package/build/ox_modules/module-web.js +181 -82
- package/build/ox_modules/module-win/commands/assertText.js +3 -1
- package/build/ox_modules/module-win/commands/assertTitle.js +4 -1
- package/build/ox_modules/module-win/commands/assertValue.js +15 -9
- package/build/ox_modules/module-win/commands/back.js +2 -1
- package/build/ox_modules/module-win/commands/clear.js +4 -1
- package/build/ox_modules/module-win/commands/click.js +2 -1
- package/build/ox_modules/module-win/commands/clickLong.js +2 -1
- package/build/ox_modules/module-win/commands/clickMultipleTimes.js +4 -1
- package/build/ox_modules/module-win/commands/findElement.js +3 -1
- package/build/ox_modules/module-win/commands/findElements.js +4 -1
- package/build/ox_modules/module-win/commands/getAppiumLogs.js +2 -1
- package/build/ox_modules/module-win/commands/getCurrentWindowHandle.js +2 -1
- package/build/ox_modules/module-win/commands/getLocation.js +2 -1
- package/build/ox_modules/module-win/commands/getSource.js +2 -1
- package/build/ox_modules/module-win/commands/getText.js +4 -1
- package/build/ox_modules/module-win/commands/getValue.js +9 -5
- package/build/ox_modules/module-win/commands/getWindowHandles.js +2 -1
- package/build/ox_modules/module-win/commands/index.js +43 -5
- package/build/ox_modules/module-win/commands/isCheckable.js +2 -1
- package/build/ox_modules/module-win/commands/isChecked.js +2 -1
- package/build/ox_modules/module-win/commands/isClickable.js +2 -1
- package/build/ox_modules/module-win/commands/isExist.js +3 -1
- package/build/ox_modules/module-win/commands/isSelected.js +2 -1
- package/build/ox_modules/module-win/commands/isVisible.js +3 -1
- package/build/ox_modules/module-win/commands/open.js +2 -1
- package/build/ox_modules/module-win/commands/pause.js +2 -1
- package/build/ox_modules/module-win/commands/rightClick.js +2 -1
- package/build/ox_modules/module-win/commands/selectWindow.js +15 -1
- package/build/ox_modules/module-win/commands/sendKeys.js +4 -1
- package/build/ox_modules/module-win/commands/setTimeout.js +2 -1
- package/build/ox_modules/module-win/commands/takeScreenshot.js +2 -1
- package/build/ox_modules/module-win/commands/tap.js +2 -1
- package/build/ox_modules/module-win/commands/type.js +4 -1
- package/build/ox_modules/module-win/commands/waitForExist.js +2 -1
- package/build/ox_modules/module-win/commands/waitForInteractable.js +4 -1
- package/build/ox_modules/module-win/commands/waitForVisible.js +2 -1
- package/build/ox_modules/module-win.js +87 -48
- package/build/ox_modules/utils.js +76 -22
- package/build/ox_reporters/reporter-excel.js +58 -1
- package/build/ox_reporters/reporter-html.js +28 -1
- package/build/ox_reporters/reporter-json.js +14 -1
- package/build/ox_reporters/reporter-junit.js +24 -1
- package/build/ox_reporters/reporter-pdf.js +19 -1
- package/build/ox_reporters/reporter-xml.js +17 -1
- package/build/ox_services/service-devtools/submodule-network.js +91 -4
- package/build/ox_services/service-devtools.js +23 -1
- package/build/reporter/FileReporterBase.js +44 -5
- package/build/reporter/ReportAggregator.js +65 -1
- package/build/reporter/ReporterBase.js +6 -1
- package/build/runners/WorkerProcess.js +99 -1
- package/build/runners/cucumber/CucumberEventListener.js +29 -4
- package/build/runners/cucumber/CucumberReporter.js +56 -1
- package/build/runners/cucumber/CucumberWorker.js +66 -1
- package/build/runners/cucumber/index.js +30 -1
- package/build/runners/cucumber/worker.js +18 -1
- package/build/runners/index.js +6 -1
- package/build/runners/oxygen/OxygenWorker.js +60 -3
- package/build/runners/oxygen/index.js +178 -17
- package/build/runners/oxygen/worker.js +25 -2
- package/package.json +8 -8
- package/.babelrc +0 -28
- package/.eslintrc.json +0 -25
- package/.husky/pre-commit +0 -4
- package/CONTRIBUTE.md +0 -1
|
@@ -4,59 +4,80 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
require("source-map-support/register");
|
|
9
|
+
|
|
8
10
|
var _stackTrace = _interopRequireDefault(require("stack-trace"));
|
|
11
|
+
|
|
9
12
|
var stackTraceParser = _interopRequireWildcard(require("stacktrace-parser"));
|
|
13
|
+
|
|
10
14
|
var _fs = _interopRequireDefault(require("fs"));
|
|
15
|
+
|
|
11
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
12
18
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
+
|
|
13
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
+
|
|
14
22
|
const STACKTRACE_FILTERS = ['\\node_modules\\', '/node_modules/', '/oxygen-node/', '\\oxygen-node\\', '(module.js', '(internal/module.js', 'at <anonymous>', 'internal/', 'internal\\'];
|
|
23
|
+
|
|
15
24
|
class OxygenError extends Error {
|
|
16
25
|
constructor(type, message, data, isFatal, orgErr = null) {
|
|
17
26
|
super(message || undefined);
|
|
18
27
|
this.type = type || this.type || null;
|
|
19
28
|
this.orgErr = orgErr;
|
|
29
|
+
|
|
20
30
|
if (orgErr && typeof orgErr === 'string' && type !== orgErr) {
|
|
21
31
|
this.subtype = orgErr;
|
|
22
32
|
} else if (orgErr && typeof orgErr === 'object' && orgErr.type) {
|
|
23
33
|
this.subtype = orgErr.type;
|
|
24
34
|
}
|
|
35
|
+
|
|
25
36
|
this.message = message || null;
|
|
26
37
|
this.data = data || null;
|
|
27
38
|
this.screenshot = null;
|
|
28
39
|
this.isFatal = typeof isFatal === 'undefined' ? true : isFatal;
|
|
40
|
+
|
|
29
41
|
if (orgErr && orgErr.stack) {
|
|
30
42
|
this.stack = orgErr.stack;
|
|
31
43
|
}
|
|
44
|
+
|
|
32
45
|
if (type || message) {
|
|
33
46
|
this.captureStackTrace();
|
|
34
47
|
this.filterStackTrace();
|
|
35
48
|
this.generateLocation();
|
|
36
49
|
}
|
|
37
50
|
}
|
|
51
|
+
|
|
38
52
|
filterStackTrace() {
|
|
39
53
|
if (!this.stack) {
|
|
40
54
|
this.captureStackTrace();
|
|
41
55
|
}
|
|
56
|
+
|
|
42
57
|
this.stack = this.stack.split('\n').filter(this._stackTraceFilterFn).join('\n');
|
|
43
58
|
}
|
|
59
|
+
|
|
44
60
|
_stackTraceFilterFn(value) {
|
|
45
61
|
return !STACKTRACE_FILTERS.some(filter => value.includes(filter));
|
|
46
62
|
}
|
|
63
|
+
|
|
47
64
|
generateLocation() {
|
|
48
65
|
let anotherFile;
|
|
49
66
|
let anotherLineNumber;
|
|
50
67
|
let anotherColumn;
|
|
68
|
+
|
|
51
69
|
if (this.orgErr && this.orgErr.stack) {
|
|
52
70
|
const anotherStack = stackTraceParser.parse(this.orgErr.stack);
|
|
71
|
+
|
|
53
72
|
if (anotherStack && Array.isArray(anotherStack) && anotherStack.length > 0) {
|
|
54
73
|
for (let i = 0; i < anotherStack.length; i++) {
|
|
55
74
|
if (_fs.default.existsSync(anotherStack[i]['file']) && anotherStack[i]['lineNumber'] && !anotherFile && !anotherLineNumber) {
|
|
56
75
|
let file = anotherStack[i];
|
|
76
|
+
|
|
57
77
|
if (anotherStack[i] && anotherStack[1 + i] && anotherStack[i]['file'] === anotherStack[1 + i]['file']) {
|
|
58
78
|
file = anotherStack[1 + i];
|
|
59
79
|
}
|
|
80
|
+
|
|
60
81
|
anotherFile = file['file'];
|
|
61
82
|
anotherLineNumber = file['lineNumber'];
|
|
62
83
|
anotherColumn = file['column'] || 1;
|
|
@@ -64,16 +85,21 @@ class OxygenError extends Error {
|
|
|
64
85
|
}
|
|
65
86
|
}
|
|
66
87
|
}
|
|
88
|
+
|
|
67
89
|
let stackTrace = _stackTrace.default.parse(this) || [];
|
|
68
90
|
stackTrace = stackTrace.filter(item => {
|
|
69
91
|
const exist = _fs.default.existsSync(item.fileName);
|
|
92
|
+
|
|
70
93
|
return exist;
|
|
71
94
|
});
|
|
95
|
+
|
|
72
96
|
if (stackTrace.length > 0) {
|
|
73
97
|
const call = stackTrace[0];
|
|
98
|
+
|
|
74
99
|
if (call && call.fileName === 'vm.js' && this.orgErr && this.orgErr.stack) {
|
|
75
100
|
let location = this.orgErr.stack.split('\n')[0];
|
|
76
101
|
const locationSplit = location.split(':');
|
|
102
|
+
|
|
77
103
|
if (locationSplit && locationSplit[0]) {
|
|
78
104
|
if (parseInt(locationSplit[locationSplit.length - 1]) && parseInt(locationSplit[locationSplit.length - 2])) {} else if (parseInt(locationSplit[locationSplit.length - 1])) {
|
|
79
105
|
location += ':0';
|
|
@@ -81,6 +107,7 @@ class OxygenError extends Error {
|
|
|
81
107
|
location += ':0:0';
|
|
82
108
|
}
|
|
83
109
|
}
|
|
110
|
+
|
|
84
111
|
this.location = location;
|
|
85
112
|
this.stacktrace = [location, ...stackTrace.map(call => `${this.patchFilePathOnWindows(call.getFileName())}:${call.getLineNumber()}:${call.getColumnNumber()}`)];
|
|
86
113
|
} else if (anotherFile && anotherLineNumber && anotherColumn) {
|
|
@@ -97,12 +124,15 @@ class OxygenError extends Error {
|
|
|
97
124
|
this.location = null;
|
|
98
125
|
}
|
|
99
126
|
}
|
|
127
|
+
|
|
100
128
|
patchFilePathOnWindows(filePath) {
|
|
101
129
|
if (filePath && process.platform === 'win32' && typeof filePath === 'string' && filePath.length > 0) {
|
|
102
130
|
return filePath.replace(/\//g, '\\');
|
|
103
131
|
}
|
|
132
|
+
|
|
104
133
|
return filePath;
|
|
105
134
|
}
|
|
135
|
+
|
|
106
136
|
captureStackTrace() {
|
|
107
137
|
if (this.stack) {
|
|
108
138
|
return;
|
|
@@ -116,6 +146,8 @@ class OxygenError extends Error {
|
|
|
116
146
|
}
|
|
117
147
|
}
|
|
118
148
|
}
|
|
149
|
+
|
|
119
150
|
}
|
|
151
|
+
|
|
120
152
|
exports.default = OxygenError;
|
|
121
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTVEFDS1RSQUNFX0ZJTFRFUlMiLCJPeHlnZW5FcnJvciIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJ0eXBlIiwibWVzc2FnZSIsImRhdGEiLCJpc0ZhdGFsIiwib3JnRXJyIiwidW5kZWZpbmVkIiwic3VidHlwZSIsInNjcmVlbnNob3QiLCJzdGFjayIsImNhcHR1cmVTdGFja1RyYWNlIiwiZmlsdGVyU3RhY2tUcmFjZSIsImdlbmVyYXRlTG9jYXRpb24iLCJzcGxpdCIsImZpbHRlciIsIl9zdGFja1RyYWNlRmlsdGVyRm4iLCJqb2luIiwidmFsdWUiLCJzb21lIiwiaW5jbHVkZXMiLCJhbm90aGVyRmlsZSIsImFub3RoZXJMaW5lTnVtYmVyIiwiYW5vdGhlckNvbHVtbiIsImFub3RoZXJTdGFjayIsInN0YWNrVHJhY2VQYXJzZXIiLCJwYXJzZSIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImkiLCJmcyIsImV4aXN0c1N5bmMiLCJmaWxlIiwic3RhY2tUcmFjZSIsIlN0YWNrVHJhY2UiLCJpdGVtIiwiZXhpc3QiLCJmaWxlTmFtZSIsImNhbGwiLCJsb2NhdGlvbiIsImxvY2F0aW9uU3BsaXQiLCJwYXJzZUludCIsInN0YWNrdHJhY2UiLCJtYXAiLCJwYXRjaEZpbGVQYXRoT25XaW5kb3dzIiwiZ2V0RmlsZU5hbWUiLCJnZXRMaW5lTnVtYmVyIiwiZ2V0Q29sdW1uTnVtYmVyIiwiZmlsZVBhdGgiLCJwcm9jZXNzIiwicGxhdGZvcm0iLCJyZXBsYWNlIiwiZXJyIiwiZSIsImNvbnNvbGUiLCJlcnJvciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvT3h5Z2VuRXJyb3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gRXJyb3IgY2xhc3NcclxuICovXHJcbmltcG9ydCBTdGFja1RyYWNlIGZyb20gJ3N0YWNrLXRyYWNlJztcclxuaW1wb3J0ICogYXMgc3RhY2tUcmFjZVBhcnNlciBmcm9tICdzdGFja3RyYWNlLXBhcnNlcic7XHJcbmltcG9ydCBmcyBmcm9tICdmcyc7XHJcblxyXG5jb25zdCBTVEFDS1RSQUNFX0ZJTFRFUlMgPSBbJ1xcXFxub2RlX21vZHVsZXNcXFxcJywgJy9ub2RlX21vZHVsZXMvJywgJy9veHlnZW4tbm9kZS8nLCAnXFxcXG94eWdlbi1ub2RlXFxcXCcsICcobW9kdWxlLmpzJywgJyhpbnRlcm5hbC9tb2R1bGUuanMnLCAnYXQgPGFub255bW91cz4nLCAnaW50ZXJuYWwvJywgJ2ludGVybmFsXFxcXCddO1xyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgT3h5Z2VuRXJyb3IgZXh0ZW5kcyBFcnJvciB7XHJcbiAgICBjb25zdHJ1Y3Rvcih0eXBlLCBtZXNzYWdlLCBkYXRhLCBpc0ZhdGFsLCBvcmdFcnIgPSBudWxsKSB7XHJcbiAgICAgICAgc3VwZXIobWVzc2FnZSB8fCB1bmRlZmluZWQpO1xyXG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgdGhpcy50eXBlIHx8IG51bGw7XHJcbiAgICAgICAgdGhpcy5vcmdFcnIgPSBvcmdFcnI7XHJcbiAgICAgICAgLy8gc3VidHlwZSBhbGxvd3MgdG8gc3BlY2lmeSBtb3JlIHBhcnRpY3VsYXIgZXJyb3IgZm9yIGEgZ2VuZXJhbCBPeHlnZW4gZXJyb3IgdHlwZVxyXG4gICAgICAgIC8vIGZvciBleGFtcGxlLCBzcGVjaWZ5IFR5cGVFcnJvciBhcyBzdWJ0eXBlIGZvciBhIGdlbmVyYWwgU0NSSVBUX0VSUk9SIE94eWdlbiB0eXBlXHJcbiAgICAgICAgaWYgKG9yZ0VyciAmJiB0eXBlb2Ygb3JnRXJyID09PSAnc3RyaW5nJyAmJiB0eXBlICE9PSBvcmdFcnIpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJ0eXBlID0gb3JnRXJyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChvcmdFcnIgJiYgdHlwZW9mIG9yZ0VyciA9PT0gJ29iamVjdCcgJiYgb3JnRXJyLnR5cGUpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJ0eXBlID0gb3JnRXJyLnR5cGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2UgfHwgbnVsbDtcclxuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhIHx8IG51bGw7XHJcbiAgICAgICAgdGhpcy5zY3JlZW5zaG90ID0gbnVsbDtcclxuICAgICAgICB0aGlzLmlzRmF0YWwgPSAodHlwZW9mIGlzRmF0YWwgPT09ICd1bmRlZmluZWQnKSA/IHRydWUgOiBpc0ZhdGFsO1xyXG4gICAgICAgIGlmIChvcmdFcnIgJiYgb3JnRXJyLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhY2sgPSBvcmdFcnIuc3RhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBkb24ndCBnZW5lcmF0ZSBzdGFja3RyYWNlIGlmIE94eWdlbkVycm9yIGlzIHVzZWQgaW5kaXJlY3RseSB0aHJvdWdoIGluaGVyaXRhbmNlXHJcbiAgICAgICAgaWYgKHR5cGUgfHwgbWVzc2FnZSkge1xyXG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVTdGFja1RyYWNlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyU3RhY2tUcmFjZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmdlbmVyYXRlTG9jYXRpb24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZmlsdGVyU3RhY2tUcmFjZSgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuc3RhY2spIHtcclxuICAgICAgICAgICAgdGhpcy5jYXB0dXJlU3RhY2tUcmFjZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnN0YWNrID0gdGhpcy5zdGFjay5zcGxpdCgnXFxuJykuZmlsdGVyKHRoaXMuX3N0YWNrVHJhY2VGaWx0ZXJGbikuam9pbignXFxuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgX3N0YWNrVHJhY2VGaWx0ZXJGbih2YWx1ZSkge1xyXG4gICAgICAgIHJldHVybiAhU1RBQ0tUUkFDRV9GSUxURVJTLnNvbWUoZmlsdGVyID0+IHZhbHVlLmluY2x1ZGVzKGZpbHRlcikpO1xyXG4gICAgfVxyXG5cclxuICAgIGdlbmVyYXRlTG9jYXRpb24oKSB7XHJcbiAgICAgICAgbGV0IGFub3RoZXJGaWxlO1xyXG4gICAgICAgIGxldCBhbm90aGVyTGluZU51bWJlcjtcclxuICAgICAgICBsZXQgYW5vdGhlckNvbHVtbjtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMub3JnRXJyICYmIHRoaXMub3JnRXJyLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGFub3RoZXJTdGFjayA9IHN0YWNrVHJhY2VQYXJzZXIucGFyc2UodGhpcy5vcmdFcnIuc3RhY2spO1xyXG5cclxuICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrICYmXHJcbiAgICAgICAgICAgICAgICBBcnJheS5pc0FycmF5KGFub3RoZXJTdGFjaykgJiZcclxuICAgICAgICAgICAgICAgIGFub3RoZXJTdGFjay5sZW5ndGggPiAwXHJcbiAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhbm90aGVyU3RhY2subGVuZ3RoOyBpKyspIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmcy5leGlzdHNTeW5jKGFub3RoZXJTdGFja1tpXVsnZmlsZSddKSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV1bJ2xpbmVOdW1iZXInXSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAhYW5vdGhlckZpbGUgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgIWFub3RoZXJMaW5lTnVtYmVyXHJcbiAgICAgICAgICAgICAgICAgICAgKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgZmlsZSA9IGFub3RoZXJTdGFja1tpXTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYXNlOiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiAnKi5qcycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kTmFtZTogJzx1bmtub3duPicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzOiBbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiAxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogbnVsbFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiAnKi5qcycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kTmFtZTogJ09iamVjdC48YW5vbnltb3VzPicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzOiBbXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiAxMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IDEwXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJTdGFja1tpXSAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrWzEraV0gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJTdGFja1tpXVsnZmlsZSddID09PSBhbm90aGVyU3RhY2tbMStpXVsnZmlsZSddXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9IGFub3RoZXJTdGFja1sxK2ldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyRmlsZSA9IGZpbGVbJ2ZpbGUnXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlckxpbmVOdW1iZXIgPSBmaWxlWydsaW5lTnVtYmVyJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJDb2x1bW4gPSBmaWxlWydjb2x1bW4nXSB8fCAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHN0YWNrVHJhY2UgPSBTdGFja1RyYWNlLnBhcnNlKHRoaXMpIHx8IFtdO1xyXG4gICAgICAgIHN0YWNrVHJhY2UgPSBzdGFja1RyYWNlLmZpbHRlcigoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBleGlzdCA9IGZzLmV4aXN0c1N5bmMoaXRlbS5maWxlTmFtZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBleGlzdDtcclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoc3RhY2tUcmFjZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNhbGwgPSBzdGFja1RyYWNlWzBdO1xyXG4gICAgICAgICAgICBpZiAoY2FsbCAmJiBjYWxsLmZpbGVOYW1lID09PSAndm0uanMnICYmIHRoaXMub3JnRXJyICYmIHRoaXMub3JnRXJyLnN0YWNrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbG9jYXRpb24gPSB0aGlzLm9yZ0Vyci5zdGFjay5zcGxpdCgnXFxuJylbMF07XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25TcGxpdCA9IGxvY2F0aW9uLnNwbGl0KCc6Jyk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGxvY2F0aW9uU3BsaXQgJiYgbG9jYXRpb25TcGxpdFswXSkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAocGFyc2VJbnQobG9jYXRpb25TcGxpdFtsb2NhdGlvblNwbGl0Lmxlbmd0aC0xXSkgJiYgcGFyc2VJbnQobG9jYXRpb25TcGxpdFtsb2NhdGlvblNwbGl0Lmxlbmd0aC0yXSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbGluZSBhbmQgY29sdW1uIHByZXNlbnRcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMV0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUgcHJlc2VudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbiArPSAnOjAnO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9ubHkgbmFtZSBwcmVzZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uICs9ICc6MDowJztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGxvY2F0aW9uO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja3RyYWNlID0gW1xyXG4gICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLFxyXG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YWNrVHJhY2UubWFwKGNhbGwgPT4gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGNhbGwuZ2V0RmlsZU5hbWUoKSl9OiR7Y2FsbC5nZXRMaW5lTnVtYmVyKCl9OiR7Y2FsbC5nZXRDb2x1bW5OdW1iZXIoKX1gKVxyXG4gICAgICAgICAgICAgICAgXTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChhbm90aGVyRmlsZSAmJiBhbm90aGVyTGluZU51bWJlciAmJiBhbm90aGVyQ29sdW1uKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGFub3RoZXJGaWxlKX06JHthbm90aGVyTGluZU51bWJlcn06JHthbm90aGVyQ29sdW1ufWA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBbdGhpcy5sb2NhdGlvbl07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBhZGQgZXh0cmEgbGluZSBpZiB3ZSBhcmUgcnVubmluZyBpbiBkZWJ1Z2dlciBtb2RlIChWOCBkZWJ1Z2dlciBhZGRzIGFuIGV4dHJhIGxpbmUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZSlcclxuICAgICAgICAgICAgICAgIC8vY29uc3QgZXh0cmFMaW5lID0gb3h1dGlsLmlzSW5EZWJ1Z01vZGUoKSA/IDEgOiAwO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhjYWxsLmdldEZpbGVOYW1lKCkpfToke2NhbGwuZ2V0TGluZU51bWJlcigpfToke2NhbGwuZ2V0Q29sdW1uTnVtYmVyKCl9YDtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IHN0YWNrVHJhY2UubWFwKGNhbGwgPT4gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGNhbGwuZ2V0RmlsZU5hbWUoKSl9OiR7Y2FsbC5nZXRMaW5lTnVtYmVyKCl9OiR7Y2FsbC5nZXRDb2x1bW5OdW1iZXIoKX1gKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAoYW5vdGhlckZpbGUgJiYgYW5vdGhlckxpbmVOdW1iZXIgJiYgYW5vdGhlckNvbHVtbikge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gYCR7dGhpcy5wYXRjaEZpbGVQYXRoT25XaW5kb3dzKGFub3RoZXJGaWxlKX06JHthbm90aGVyTGluZU51bWJlcn06JHthbm90aGVyQ29sdW1ufWA7XHJcbiAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IFt0aGlzLmxvY2F0aW9uXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmxvY2F0aW9uID0gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcGF0Y2hGaWxlUGF0aE9uV2luZG93cyhmaWxlUGF0aCkge1xyXG4gICAgICAgIGlmIChmaWxlUGF0aCAmJiBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInICYmIHR5cGVvZihmaWxlUGF0aCkgPT09ICdzdHJpbmcnICYmIGZpbGVQYXRoLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZpbGVQYXRoLnJlcGxhY2UoL1xcLy9nLCAnXFxcXCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmlsZVBhdGg7XHJcbiAgICB9XHJcblxyXG4gICAgY2FwdHVyZVN0YWNrVHJhY2UoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhY2spIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIC8vdmFyIG9yaWcgPSBFcnJvci5wcmVwYXJlU3RhY2tUcmFjZTtcclxuICAgICAgICAgICAgICAgIC8vRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBmdW5jdGlvbiAoXywgc3RhY2spIHsgcmV0dXJuIHN0YWNrOyB9O1xyXG4gICAgICAgICAgICAgICAgdmFyIGVyciA9IG5ldyBFcnJvcigpO1xyXG4gICAgICAgICAgICAgICAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoZXJyLCBPeHlnZW5FcnJvcik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrID0gZXJyLnN0YWNrO1xyXG4gICAgICAgICAgICAgICAgLy9FcnJvci5wcmVwYXJlU3RhY2tUcmFjZSA9IG9yaWc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZS5tZXNzYWdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFZQTtBQUNBO0FBQ0E7QUFBb0I7QUFBQTtBQUFBO0FBRXBCLE1BQU1BLGtCQUFrQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDO0FBRXhLLE1BQU1DLFdBQVcsU0FBU0MsS0FBSyxDQUFDO0VBQzNDQyxXQUFXLENBQUNDLElBQUksRUFBRUMsT0FBTyxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxHQUFHLElBQUksRUFBRTtJQUNyRCxLQUFLLENBQUNILE9B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
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvT3h5Z2VuRXJyb3IuanMiXSwibmFtZXMiOlsiU1RBQ0tUUkFDRV9GSUxURVJTIiwiT3h5Z2VuRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwidHlwZSIsIm1lc3NhZ2UiLCJkYXRhIiwiaXNGYXRhbCIsIm9yZ0VyciIsInVuZGVmaW5lZCIsInN1YnR5cGUiLCJzY3JlZW5zaG90Iiwic3RhY2siLCJjYXB0dXJlU3RhY2tUcmFjZSIsImZpbHRlclN0YWNrVHJhY2UiLCJnZW5lcmF0ZUxvY2F0aW9uIiwic3BsaXQiLCJmaWx0ZXIiLCJfc3RhY2tUcmFjZUZpbHRlckZuIiwiam9pbiIsInZhbHVlIiwic29tZSIsImluY2x1ZGVzIiwiYW5vdGhlckZpbGUiLCJhbm90aGVyTGluZU51bWJlciIsImFub3RoZXJDb2x1bW4iLCJhbm90aGVyU3RhY2siLCJzdGFja1RyYWNlUGFyc2VyIiwicGFyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJpIiwiZnMiLCJleGlzdHNTeW5jIiwiZmlsZSIsInN0YWNrVHJhY2UiLCJTdGFja1RyYWNlIiwiaXRlbSIsImV4aXN0IiwiZmlsZU5hbWUiLCJjYWxsIiwibG9jYXRpb24iLCJsb2NhdGlvblNwbGl0IiwicGFyc2VJbnQiLCJzdGFja3RyYWNlIiwibWFwIiwicGF0Y2hGaWxlUGF0aE9uV2luZG93cyIsImdldEZpbGVOYW1lIiwiZ2V0TGluZU51bWJlciIsImdldENvbHVtbk51bWJlciIsImZpbGVQYXRoIiwicHJvY2VzcyIsInBsYXRmb3JtIiwicmVwbGFjZSIsImVyciIsImUiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVlBOztBQUNBOztBQUNBOzs7Ozs7OztBQUVBLE1BQU1BLGtCQUFrQixHQUFHLENBQUMsa0JBQUQsRUFBcUIsZ0JBQXJCLEVBQXVDLGVBQXZDLEVBQXdELGlCQUF4RCxFQUEyRSxZQUEzRSxFQUF5RixxQkFBekYsRUFBZ0gsZ0JB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QyxHQUF4QixFQUE2QnRELFdBQTdCO0FBQ0EsYUFBS1csS0FBTCxHQUFhMkMsR0FBRyxDQUFDM0MsS0FBakI7QUFFSCxPQVBELENBUUEsT0FBTzRDLENBQVAsRUFBVTtBQUNOQyxRQUFBQSxPQUFPLENBQUNDLEtBQVIsQ0FBY0YsQ0FBQyxDQUFDbkQsT0FBaEI7QUFDSDtBQUNKO0FBQ0o7O0FBeEswQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLypcclxuICogT3h5Z2VuIEVycm9yIGNsYXNzXHJcbiAqL1xyXG5pbXBvcnQgU3RhY2tUcmFjZSBmcm9tICdzdGFjay10cmFjZSc7XHJcbmltcG9ydCAqIGFzIHN0YWNrVHJhY2VQYXJzZXIgZnJvbSAnc3RhY2t0cmFjZS1wYXJzZXInO1xyXG5pbXBvcnQgZnMgZnJvbSAnZnMnO1xyXG5cclxuY29uc3QgU1RBQ0tUUkFDRV9GSUxURVJTID0gWydcXFxcbm9kZV9tb2R1bGVzXFxcXCcsICcvbm9kZV9tb2R1bGVzLycsICcvb3h5Z2VuLW5vZGUvJywgJ1xcXFxveHlnZW4tbm9kZVxcXFwnLCAnKG1vZHVsZS5qcycsICcoaW50ZXJuYWwvbW9kdWxlLmpzJywgJ2F0IDxhbm9ueW1vdXM+JywgJ2ludGVybmFsLycsICdpbnRlcm5hbFxcXFwnXTtcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE94eWdlbkVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgY29uc3RydWN0b3IodHlwZSwgbWVzc2FnZSwgZGF0YSwgaXNGYXRhbCwgb3JnRXJyID0gbnVsbCkge1xyXG4gICAgICAgIHN1cGVyKG1lc3NhZ2UgfHwgdW5kZWZpbmVkKTtcclxuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlIHx8IHRoaXMudHlwZSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMub3JnRXJyID0gb3JnRXJyO1xyXG4gICAgICAgIC8vIHN1YnR5cGUgYWxsb3dzIHRvIHNwZWNpZnkgbW9yZSBwYXJ0aWN1bGFyIGVycm9yIGZvciBhIGdlbmVyYWwgT3h5Z2VuIGVycm9yIHR5cGVcclxuICAgICAgICAvLyBmb3IgZXhhbXBsZSwgc3BlY2lmeSBUeXBlRXJyb3IgYXMgc3VidHlwZSBmb3IgYSBnZW5lcmFsIFNDUklQVF9FUlJPUiBPeHlnZW4gdHlwZVxyXG4gICAgICAgIGlmIChvcmdFcnIgJiYgdHlwZW9mIG9yZ0VyciA9PT0gJ3N0cmluZycgJiYgdHlwZSAhPT0gb3JnRXJyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VidHlwZSA9IG9yZ0VycjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSBpZiAob3JnRXJyICYmIHR5cGVvZiBvcmdFcnIgPT09ICdvYmplY3QnICYmIG9yZ0Vyci50eXBlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VidHlwZSA9IG9yZ0Vyci50eXBlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlIHx8IG51bGw7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YSB8fCBudWxsO1xyXG4gICAgICAgIHRoaXMuc2NyZWVuc2hvdCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5pc0ZhdGFsID0gKHR5cGVvZiBpc0ZhdGFsID09PSAndW5kZWZpbmVkJykgPyB0cnVlIDogaXNGYXRhbDtcclxuICAgICAgICBpZiAob3JnRXJyICYmIG9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICB0aGlzLnN0YWNrID0gb3JnRXJyLnN0YWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gZG9uJ3QgZ2VuZXJhdGUgc3RhY2t0cmFjZSBpZiBPeHlnZW5FcnJvciBpcyB1c2VkIGluZGlyZWN0bHkgdGhyb3VnaCBpbmhlcml0YW5jZVxyXG4gICAgICAgIGlmICh0eXBlIHx8IG1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgdGhpcy5jYXB0dXJlU3RhY2tUcmFjZSgpO1xyXG4gICAgICAgICAgICB0aGlzLmZpbHRlclN0YWNrVHJhY2UoKTtcclxuICAgICAgICAgICAgdGhpcy5nZW5lcmF0ZUxvY2F0aW9uKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGZpbHRlclN0YWNrVHJhY2UoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FwdHVyZVN0YWNrVHJhY2UoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdGFjayA9IHRoaXMuc3RhY2suc3BsaXQoJ1xcbicpLmZpbHRlcih0aGlzLl9zdGFja1RyYWNlRmlsdGVyRm4pLmpvaW4oJ1xcbicpO1xyXG4gICAgfVxyXG5cclxuICAgIF9zdGFja1RyYWNlRmlsdGVyRm4odmFsdWUpIHtcclxuICAgICAgICByZXR1cm4gIVNUQUNLVFJBQ0VfRklMVEVSUy5zb21lKGZpbHRlciA9PiB2YWx1ZS5pbmNsdWRlcyhmaWx0ZXIpKTtcclxuICAgIH1cclxuXHJcbiAgICBnZW5lcmF0ZUxvY2F0aW9uKCkge1xyXG4gICAgICAgIGxldCBhbm90aGVyRmlsZTtcclxuICAgICAgICBsZXQgYW5vdGhlckxpbmVOdW1iZXI7XHJcbiAgICAgICAgbGV0IGFub3RoZXJDb2x1bW47XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9yZ0VyciAmJiB0aGlzLm9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICBjb25zdCBhbm90aGVyU3RhY2sgPSBzdGFja1RyYWNlUGFyc2VyLnBhcnNlKHRoaXMub3JnRXJyLnN0YWNrKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgIGFub3RoZXJTdGFjayAmJlxyXG4gICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShhbm90aGVyU3RhY2spICYmXHJcbiAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2subGVuZ3RoID4gMFxyXG4gICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYW5vdGhlclN0YWNrLmxlbmd0aDsgaSsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgICAgICAgZnMuZXhpc3RzU3luYyhhbm90aGVyU3RhY2tbaV1bJ2ZpbGUnXSkgJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlclN0YWNrW2ldWydsaW5lTnVtYmVyJ10gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgIWFub3RoZXJGaWxlICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICFhbm90aGVyTGluZU51bWJlclxyXG4gICAgICAgICAgICAgICAgICAgICkge1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGZpbGUgPSBhbm90aGVyU3RhY2tbaV07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FzZTogXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogJyouanMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZE5hbWU6ICc8dW5rbm93bj4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bWJlcjogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IG51bGxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTogJyouanMnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZE5hbWU6ICdPYmplY3QuPGFub255bW91cz4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50czogW10sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZU51bWJlcjogMTEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiAxMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV0gJiZcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJTdGFja1sxK2ldICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyU3RhY2tbaV1bJ2ZpbGUnXSA9PT0gYW5vdGhlclN0YWNrWzEraV1bJ2ZpbGUnXVxyXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgPSBhbm90aGVyU3RhY2tbMStpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgYW5vdGhlckZpbGUgPSBmaWxlWydmaWxlJ107XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFub3RoZXJMaW5lTnVtYmVyID0gZmlsZVsnbGluZU51bWJlciddO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbm90aGVyQ29sdW1uID0gZmlsZVsnY29sdW1uJ10gfHwgMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBzdGFja1RyYWNlID0gU3RhY2tUcmFjZS5wYXJzZSh0aGlzKSB8fCBbXTtcclxuICAgICAgICBzdGFja1RyYWNlID0gc3RhY2tUcmFjZS5maWx0ZXIoKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgY29uc3QgZXhpc3QgPSBmcy5leGlzdHNTeW5jKGl0ZW0uZmlsZU5hbWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gZXhpc3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKHN0YWNrVHJhY2UubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBjYWxsID0gc3RhY2tUcmFjZVswXTtcclxuICAgICAgICAgICAgaWYgKGNhbGwgJiYgY2FsbC5maWxlTmFtZSA9PT0gJ3ZtLmpzJyAmJiB0aGlzLm9yZ0VyciAmJiB0aGlzLm9yZ0Vyci5zdGFjaykge1xyXG4gICAgICAgICAgICAgICAgbGV0IGxvY2F0aW9uID0gdGhpcy5vcmdFcnIuc3RhY2suc3BsaXQoJ1xcbicpWzBdO1xyXG5cclxuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uU3BsaXQgPSBsb2NhdGlvbi5zcGxpdCgnOicpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvblNwbGl0ICYmIGxvY2F0aW9uU3BsaXRbMF0pIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMV0pICYmIHBhcnNlSW50KGxvY2F0aW9uU3BsaXRbbG9jYXRpb25TcGxpdC5sZW5ndGgtMl0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxpbmUgYW5kIGNvbHVtbiBwcmVzZW50XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJzZUludChsb2NhdGlvblNwbGl0W2xvY2F0aW9uU3BsaXQubGVuZ3RoLTFdKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBsaW5lIHByZXNlbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24gKz0gJzowJztcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IG5hbWUgcHJlc2VudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbiArPSAnOjA6MCc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBsb2NhdGlvbjtcclxuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2t0cmFjZSA9IFtcclxuICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbixcclxuICAgICAgICAgICAgICAgICAgICAuLi5zdGFja1RyYWNlLm1hcChjYWxsID0+IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhjYWxsLmdldEZpbGVOYW1lKCkpfToke2NhbGwuZ2V0TGluZU51bWJlcigpfToke2NhbGwuZ2V0Q29sdW1uTnVtYmVyKCl9YClcclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYW5vdGhlckZpbGUgJiYgYW5vdGhlckxpbmVOdW1iZXIgJiYgYW5vdGhlckNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhhbm90aGVyRmlsZSl9OiR7YW5vdGhlckxpbmVOdW1iZXJ9OiR7YW5vdGhlckNvbHVtbn1gO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja3RyYWNlID0gW3RoaXMubG9jYXRpb25dO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gYWRkIGV4dHJhIGxpbmUgaWYgd2UgYXJlIHJ1bm5pbmcgaW4gZGVidWdnZXIgbW9kZSAoVjggZGVidWdnZXIgYWRkcyBhbiBleHRyYSBsaW5lIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGUpXHJcbiAgICAgICAgICAgICAgICAvL2NvbnN0IGV4dHJhTGluZSA9IG94dXRpbC5pc0luRGVidWdNb2RlKCkgPyAxIDogMDtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9jYXRpb24gPSBgJHt0aGlzLnBhdGNoRmlsZVBhdGhPbldpbmRvd3MoY2FsbC5nZXRGaWxlTmFtZSgpKX06JHtjYWxsLmdldExpbmVOdW1iZXIoKX06JHtjYWxsLmdldENvbHVtbk51bWJlcigpfWA7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBzdGFja1RyYWNlLm1hcChjYWxsID0+IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhjYWxsLmdldEZpbGVOYW1lKCkpfToke2NhbGwuZ2V0TGluZU51bWJlcigpfToke2NhbGwuZ2V0Q29sdW1uTnVtYmVyKCl9YCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKGFub3RoZXJGaWxlICYmIGFub3RoZXJMaW5lTnVtYmVyICYmIGFub3RoZXJDb2x1bW4pIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IGAke3RoaXMucGF0Y2hGaWxlUGF0aE9uV2luZG93cyhhbm90aGVyRmlsZSl9OiR7YW5vdGhlckxpbmVOdW1iZXJ9OiR7YW5vdGhlckNvbHVtbn1gO1xyXG4gICAgICAgICAgICB0aGlzLnN0YWNrdHJhY2UgPSBbdGhpcy5sb2NhdGlvbl07XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5sb2NhdGlvbiA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBhdGNoRmlsZVBhdGhPbldpbmRvd3MoZmlsZVBhdGgpIHtcclxuICAgICAgICBpZiAoZmlsZVBhdGggJiYgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyAmJiB0eXBlb2YoZmlsZVBhdGgpID09PSAnc3RyaW5nJyAmJiBmaWxlUGF0aC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmaWxlUGF0aC5yZXBsYWNlKC9cXC8vZywgJ1xcXFwnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZpbGVQYXRoO1xyXG4gICAgfVxyXG5cclxuICAgIGNhcHR1cmVTdGFja1RyYWNlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLnN0YWNrKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICAvL3ZhciBvcmlnID0gRXJyb3IucHJlcGFyZVN0YWNrVHJhY2U7XHJcbiAgICAgICAgICAgICAgICAvL0Vycm9yLnByZXBhcmVTdGFja1RyYWNlID0gZnVuY3Rpb24gKF8sIHN0YWNrKSB7IHJldHVybiBzdGFjazsgfTtcclxuICAgICAgICAgICAgICAgIHZhciBlcnIgPSBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgICAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGVyciwgT3h5Z2VuRXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjayA9IGVyci5zdGFjaztcclxuICAgICAgICAgICAgICAgIC8vRXJyb3IucHJlcGFyZVN0YWNrVHJhY2UgPSBvcmlnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGUubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -4,13 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
+
|
|
7
8
|
require("source-map-support/register");
|
|
9
|
+
|
|
8
10
|
var _OxygenError = _interopRequireDefault(require("./OxygenError"));
|
|
11
|
+
|
|
9
12
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
+
|
|
10
14
|
class ScriptNotFoundError extends _OxygenError.default {
|
|
11
15
|
constructor(scriptPath) {
|
|
12
16
|
super('SCRIPT_NOT_FOUND_ERROR', `Script not found: ${scriptPath}`, null, true);
|
|
13
17
|
}
|
|
18
|
+
|
|
14
19
|
}
|
|
20
|
+
|
|
15
21
|
exports.default = ScriptNotFoundError;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lcnJvcnMvU2NyaXB0Tm90Rm91bmQuanMiXSwibmFtZXMiOlsiU2NyaXB0Tm90Rm91bmRFcnJvciIsIk94eWdlbkVycm9yIiwiY29uc3RydWN0b3IiLCJzY3JpcHRQYXRoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQTs7OztBQUVlLE1BQU1BLG1CQUFOLFNBQWtDQyxvQkFBbEMsQ0FBOEM7QUFDekRDLEVBQUFBLFdBQVcsQ0FBQ0MsVUFBRCxFQUFhO0FBQ3BCLFVBQU0sd0JBQU4sRUFBaUMscUJBQW9CQSxVQUFXLEVBQWhFLEVBQW1FLElBQW5FLEVBQXlFLElBQXpFO0FBQ0g7O0FBSHdEIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKlxyXG4gKiBPeHlnZW4gc2NyaXB0IGlzIG5vdCBmb3VuZC5cclxuICovXHJcbmltcG9ydCBPeHlnZW5FcnJvciBmcm9tICcuL094eWdlbkVycm9yJztcclxuXHJcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjcmlwdE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBPeHlnZW5FcnJvciB7XHJcbiAgICBjb25zdHJ1Y3RvcihzY3JpcHRQYXRoKSB7XHJcbiAgICAgICAgc3VwZXIoJ1NDUklQVF9OT1RfRk9VTkRfRVJST1InLCBgU2NyaXB0IG5vdCBmb3VuZDogJHtzY3JpcHRQYXRofWAsIG51bGwsIHRydWUpO1xyXG4gICAgfVxyXG59Il19
|