@lvce-editor/file-search-worker 8.3.0 → 8.5.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/dist/fileSearchWorkerMain.js +94 -47
- package/package.json +1 -1
|
@@ -96,7 +96,6 @@ const walkValue = (value, transferrables, isTransferrable) => {
|
|
|
96
96
|
for (const property of Object.values(value)) {
|
|
97
97
|
walkValue(property, transferrables, isTransferrable);
|
|
98
98
|
}
|
|
99
|
-
return;
|
|
100
99
|
}
|
|
101
100
|
};
|
|
102
101
|
const getTransferrables = value => {
|
|
@@ -250,7 +249,14 @@ class IpcError extends VError {
|
|
|
250
249
|
const cause = new Error(message);
|
|
251
250
|
// @ts-ignore
|
|
252
251
|
cause.code = code;
|
|
253
|
-
|
|
252
|
+
if (stack) {
|
|
253
|
+
Object.defineProperty(cause, 'stack', {
|
|
254
|
+
configurable: true,
|
|
255
|
+
enumerable: false,
|
|
256
|
+
value: stack,
|
|
257
|
+
writable: true
|
|
258
|
+
});
|
|
259
|
+
}
|
|
254
260
|
super(cause, betterMessage);
|
|
255
261
|
} else {
|
|
256
262
|
super(betterMessage);
|
|
@@ -537,7 +543,10 @@ const constructError = (message, type, name) => {
|
|
|
537
543
|
if (ErrorConstructor === Error) {
|
|
538
544
|
const error = new Error(message);
|
|
539
545
|
if (name && name !== 'VError') {
|
|
540
|
-
error
|
|
546
|
+
Object.defineProperty(error, 'name', {
|
|
547
|
+
configurable: true,
|
|
548
|
+
value: name
|
|
549
|
+
});
|
|
541
550
|
}
|
|
542
551
|
return error;
|
|
543
552
|
}
|
|
@@ -554,8 +563,10 @@ const getCurrentStack = () => {
|
|
|
554
563
|
const currentStack = joinLines(splitLines$1(new Error().stack || '').slice(stackLinesToSkip));
|
|
555
564
|
return currentStack;
|
|
556
565
|
};
|
|
557
|
-
const getNewLineIndex = (string, startIndex
|
|
558
|
-
|
|
566
|
+
const getNewLineIndex = (string, startIndex) => {
|
|
567
|
+
{
|
|
568
|
+
return string.indexOf(NewLine);
|
|
569
|
+
}
|
|
559
570
|
};
|
|
560
571
|
const getParentStack = error => {
|
|
561
572
|
let parentStack = error.stack || error.data || error.message || '';
|
|
@@ -566,55 +577,91 @@ const getParentStack = error => {
|
|
|
566
577
|
};
|
|
567
578
|
const MethodNotFound = -32601;
|
|
568
579
|
const Custom = -32001;
|
|
580
|
+
const setStack = (error, stack) => {
|
|
581
|
+
const descriptor = Object.getOwnPropertyDescriptor(error, 'stack');
|
|
582
|
+
if (descriptor) {
|
|
583
|
+
if (!descriptor.configurable && !descriptor.writable) {
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
if (!descriptor.configurable && descriptor.writable) {
|
|
587
|
+
error.stack = stack;
|
|
588
|
+
return;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
Object.defineProperty(error, 'stack', {
|
|
592
|
+
configurable: true,
|
|
593
|
+
value: stack,
|
|
594
|
+
writable: true
|
|
595
|
+
});
|
|
596
|
+
};
|
|
597
|
+
const restoreExistingError = (error, currentStack) => {
|
|
598
|
+
if (typeof error.stack === 'string') {
|
|
599
|
+
setStack(error, `${error.stack}${NewLine}${currentStack}`);
|
|
600
|
+
}
|
|
601
|
+
return error;
|
|
602
|
+
};
|
|
603
|
+
const restoreMethodNotFoundError = (error, currentStack) => {
|
|
604
|
+
const restoredError = new JsonRpcError(error.message);
|
|
605
|
+
const parentStack = getParentStack(error);
|
|
606
|
+
setStack(restoredError, `${parentStack}${NewLine}${currentStack}`);
|
|
607
|
+
return restoredError;
|
|
608
|
+
};
|
|
609
|
+
const restoreStackFromData = (restoredError, error, currentStack) => {
|
|
610
|
+
if (error.data.stack && error.data.type && error.message) {
|
|
611
|
+
setStack(restoredError, `${error.data.type}: ${error.message}${NewLine}${error.data.stack}${NewLine}${currentStack}`);
|
|
612
|
+
return;
|
|
613
|
+
}
|
|
614
|
+
if (error.data.stack) {
|
|
615
|
+
setStack(restoredError, error.data.stack);
|
|
616
|
+
}
|
|
617
|
+
};
|
|
618
|
+
const applyDataProperties = (restoredError, error) => {
|
|
619
|
+
restoreStackFromData(restoredError, error, getCurrentStack());
|
|
620
|
+
if (error.data.codeFrame) {
|
|
621
|
+
// @ts-ignore
|
|
622
|
+
restoredError.codeFrame = error.data.codeFrame;
|
|
623
|
+
}
|
|
624
|
+
if (error.data.code) {
|
|
625
|
+
// @ts-ignore
|
|
626
|
+
restoredError.code = error.data.code;
|
|
627
|
+
}
|
|
628
|
+
if (error.data.type) {
|
|
629
|
+
// @ts-ignore
|
|
630
|
+
restoredError.name = error.data.type;
|
|
631
|
+
}
|
|
632
|
+
};
|
|
633
|
+
const applyDirectProperties = (restoredError, error) => {
|
|
634
|
+
if (error.stack) {
|
|
635
|
+
const lowerStack = restoredError.stack || '';
|
|
636
|
+
const indexNewLine = getNewLineIndex(lowerStack);
|
|
637
|
+
const parentStack = getParentStack(error);
|
|
638
|
+
// @ts-ignore
|
|
639
|
+
setStack(restoredError, `${parentStack}${lowerStack.slice(indexNewLine)}`);
|
|
640
|
+
}
|
|
641
|
+
if (error.codeFrame) {
|
|
642
|
+
// @ts-ignore
|
|
643
|
+
restoredError.codeFrame = error.codeFrame;
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
const restoreMessageError = (error, _currentStack) => {
|
|
647
|
+
const restoredError = constructError(error.message, error.type, error.name);
|
|
648
|
+
if (error.data) {
|
|
649
|
+
applyDataProperties(restoredError, error);
|
|
650
|
+
} else {
|
|
651
|
+
applyDirectProperties(restoredError, error);
|
|
652
|
+
}
|
|
653
|
+
return restoredError;
|
|
654
|
+
};
|
|
569
655
|
const restoreJsonRpcError = error => {
|
|
570
656
|
const currentStack = getCurrentStack();
|
|
571
657
|
if (error && error instanceof Error) {
|
|
572
|
-
|
|
573
|
-
error.stack = error.stack + NewLine + currentStack;
|
|
574
|
-
}
|
|
575
|
-
return error;
|
|
658
|
+
return restoreExistingError(error, currentStack);
|
|
576
659
|
}
|
|
577
660
|
if (error && error.code && error.code === MethodNotFound) {
|
|
578
|
-
|
|
579
|
-
const parentStack = getParentStack(error);
|
|
580
|
-
restoredError.stack = parentStack + NewLine + currentStack;
|
|
581
|
-
return restoredError;
|
|
661
|
+
return restoreMethodNotFoundError(error, currentStack);
|
|
582
662
|
}
|
|
583
663
|
if (error && error.message) {
|
|
584
|
-
|
|
585
|
-
if (error.data) {
|
|
586
|
-
if (error.data.stack && error.data.type && error.message) {
|
|
587
|
-
restoredError.stack = error.data.type + ': ' + error.message + NewLine + error.data.stack + NewLine + currentStack;
|
|
588
|
-
} else if (error.data.stack) {
|
|
589
|
-
restoredError.stack = error.data.stack;
|
|
590
|
-
}
|
|
591
|
-
if (error.data.codeFrame) {
|
|
592
|
-
// @ts-ignore
|
|
593
|
-
restoredError.codeFrame = error.data.codeFrame;
|
|
594
|
-
}
|
|
595
|
-
if (error.data.code) {
|
|
596
|
-
// @ts-ignore
|
|
597
|
-
restoredError.code = error.data.code;
|
|
598
|
-
}
|
|
599
|
-
if (error.data.type) {
|
|
600
|
-
// @ts-ignore
|
|
601
|
-
restoredError.name = error.data.type;
|
|
602
|
-
}
|
|
603
|
-
} else {
|
|
604
|
-
if (error.stack) {
|
|
605
|
-
const lowerStack = restoredError.stack || '';
|
|
606
|
-
// @ts-ignore
|
|
607
|
-
const indexNewLine = getNewLineIndex(lowerStack);
|
|
608
|
-
const parentStack = getParentStack(error);
|
|
609
|
-
// @ts-ignore
|
|
610
|
-
restoredError.stack = parentStack + lowerStack.slice(indexNewLine);
|
|
611
|
-
}
|
|
612
|
-
if (error.codeFrame) {
|
|
613
|
-
// @ts-ignore
|
|
614
|
-
restoredError.codeFrame = error.codeFrame;
|
|
615
|
-
}
|
|
616
|
-
}
|
|
617
|
-
return restoredError;
|
|
664
|
+
return restoreMessageError(error);
|
|
618
665
|
}
|
|
619
666
|
if (typeof error === 'string') {
|
|
620
667
|
return new Error(`JsonRpc Error: ${error}`);
|