@idlebox/common 1.4.12 → 1.4.13
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/lib/array/arrayDiff.d.ts +18 -0
- package/lib/array/arrayDiff.d.ts.map +1 -0
- package/lib/array/arrayDiff.js +23 -0
- package/lib/array/arrayDiff.js.map +1 -0
- package/lib/array/arraySame.d.ts +6 -0
- package/lib/array/arraySame.d.ts.map +1 -0
- package/lib/array/arraySame.js +16 -0
- package/lib/array/arraySame.js.map +1 -0
- package/lib/array/arrayUnique.d.ts +21 -0
- package/lib/array/arrayUnique.d.ts.map +1 -0
- package/lib/array/arrayUnique.js +43 -0
- package/lib/array/arrayUnique.js.map +1 -0
- package/lib/array/normalizeArray.d.ts +6 -0
- package/lib/array/normalizeArray.d.ts.map +1 -0
- package/lib/array/normalizeArray.js +14 -0
- package/lib/array/normalizeArray.js.map +1 -0
- package/lib/array/sortAlpha.d.ts +8 -0
- package/lib/array/sortAlpha.d.ts.map +1 -0
- package/lib/array/sortAlpha.js +16 -0
- package/lib/array/sortAlpha.js.map +1 -0
- package/lib/autoindex.d.ts +184 -0
- package/lib/autoindex.d.ts.map +1 -0
- package/lib/autoindex.js +256 -0
- package/lib/autoindex.js.map +1 -0
- package/lib/date/consts.d.ts +6 -0
- package/lib/date/consts.d.ts.map +1 -0
- package/lib/date/consts.js +6 -0
- package/lib/date/consts.js.map +1 -0
- package/lib/date/isInvalid.d.ts +5 -0
- package/lib/date/isInvalid.d.ts.map +1 -0
- package/lib/date/isInvalid.js +7 -0
- package/lib/date/isInvalid.js.map +1 -0
- package/lib/date/sibling.d.ts +8 -0
- package/lib/date/sibling.d.ts.map +1 -0
- package/lib/date/sibling.js +29 -0
- package/lib/date/sibling.js.map +1 -0
- package/lib/date/timeString.d.ts +46 -0
- package/lib/date/timeString.d.ts.map +1 -0
- package/lib/date/timeString.js +126 -0
- package/lib/date/timeString.js.map +1 -0
- package/lib/date/unix.d.ts +9 -0
- package/lib/date/unix.d.ts.map +1 -0
- package/lib/date/unix.js +13 -0
- package/lib/date/unix.js.map +1 -0
- package/lib/debugging/serializable.d.ts +13 -0
- package/lib/debugging/serializable.d.ts.map +1 -0
- package/lib/debugging/serializable.js +124 -0
- package/lib/debugging/serializable.js.map +1 -0
- package/lib/debugging/tryInspect.d.ts +6 -0
- package/lib/debugging/tryInspect.d.ts.map +1 -0
- package/lib/debugging/tryInspect.js +40 -0
- package/lib/debugging/tryInspect.js.map +1 -0
- package/lib/error/convertUnknown.d.ts +2 -0
- package/lib/error/convertUnknown.d.ts.map +1 -0
- package/lib/error/convertUnknown.js +9 -0
- package/lib/error/convertUnknown.js.map +1 -0
- package/lib/error/getFrame.d.ts +6 -0
- package/lib/error/getFrame.d.ts.map +1 -0
- package/lib/error/getFrame.js +14 -0
- package/lib/error/getFrame.js.map +1 -0
- package/lib/error/known.d.ts +14 -0
- package/lib/error/known.d.ts.map +1 -0
- package/lib/error/known.js +34 -0
- package/lib/error/known.js.map +1 -0
- package/lib/error/pretty.d.ts +39 -0
- package/lib/error/pretty.d.ts.map +1 -0
- package/lib/error/pretty.js +348 -0
- package/lib/error/pretty.js.map +1 -0
- package/lib/error/pretty.vscode.d.ts +12 -0
- package/lib/error/pretty.vscode.d.ts.map +1 -0
- package/lib/error/pretty.vscode.js +95 -0
- package/lib/error/pretty.vscode.js.map +1 -0
- package/lib/error-wellknown/exit.error.d.ts +10 -0
- package/lib/error-wellknown/exit.error.d.ts.map +1 -0
- package/lib/error-wellknown/exit.error.js +14 -0
- package/lib/error-wellknown/exit.error.js.map +1 -0
- package/lib/function/asyncCallbackList.d.ts +29 -0
- package/lib/function/asyncCallbackList.d.ts.map +1 -0
- package/lib/function/asyncCallbackList.js +63 -0
- package/lib/function/asyncCallbackList.js.map +1 -0
- package/lib/function/callbackList.d.ts +34 -0
- package/lib/function/callbackList.d.ts.map +1 -0
- package/lib/function/callbackList.js +74 -0
- package/lib/function/callbackList.js.map +1 -0
- package/lib/function/delayCallbackList.d.ts +17 -0
- package/lib/function/delayCallbackList.d.ts.map +1 -0
- package/lib/function/delayCallbackList.js +36 -0
- package/lib/function/delayCallbackList.js.map +1 -0
- package/lib/function/functionName.d.ts +22 -0
- package/lib/function/functionName.d.ts.map +1 -0
- package/lib/function/functionName.js +27 -0
- package/lib/function/functionName.js.map +1 -0
- package/lib/lifecycle/dispose/bridges/rxjs.d.ts +8 -0
- package/lib/lifecycle/dispose/bridges/rxjs.d.ts.map +1 -0
- package/lib/lifecycle/dispose/bridges/rxjs.js +4 -0
- package/lib/lifecycle/dispose/bridges/rxjs.js.map +1 -0
- package/lib/lifecycle/dispose/debug.d.ts +7 -0
- package/lib/lifecycle/dispose/debug.d.ts.map +1 -0
- package/lib/lifecycle/dispose/debug.js +22 -0
- package/lib/lifecycle/dispose/debug.js.map +1 -0
- package/lib/lifecycle/dispose/disposableEvent.d.ts +17 -0
- package/lib/lifecycle/dispose/disposableEvent.d.ts.map +1 -0
- package/lib/lifecycle/dispose/disposableEvent.js +75 -0
- package/lib/lifecycle/dispose/disposableEvent.js.map +1 -0
- package/lib/lifecycle/dispose/disposedError.d.ts +11 -0
- package/lib/lifecycle/dispose/disposedError.d.ts.map +1 -0
- package/lib/lifecycle/dispose/disposedError.js +28 -0
- package/lib/lifecycle/dispose/disposedError.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.async.d.ts +46 -0
- package/lib/lifecycle/dispose/lifecycle.async.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.async.js +110 -0
- package/lib/lifecycle/dispose/lifecycle.async.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.d.ts +27 -0
- package/lib/lifecycle/dispose/lifecycle.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.global.d.ts +29 -0
- package/lib/lifecycle/dispose/lifecycle.global.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.global.js +57 -0
- package/lib/lifecycle/dispose/lifecycle.global.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.js +42 -0
- package/lib/lifecycle/dispose/lifecycle.js.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.sync.d.ts +45 -0
- package/lib/lifecycle/dispose/lifecycle.sync.d.ts.map +1 -0
- package/lib/lifecycle/dispose/lifecycle.sync.js +114 -0
- package/lib/lifecycle/dispose/lifecycle.sync.js.map +1 -0
- package/lib/lifecycle/event/event.d.ts +53 -0
- package/lib/lifecycle/event/event.d.ts.map +1 -0
- package/lib/lifecycle/event/event.js +137 -0
- package/lib/lifecycle/event/event.js.map +1 -0
- package/lib/lifecycle/event/memorized.d.ts +17 -0
- package/lib/lifecycle/event/memorized.d.ts.map +1 -0
- package/lib/lifecycle/event/memorized.js +34 -0
- package/lib/lifecycle/event/memorized.js.map +1 -0
- package/lib/lifecycle/promise/cancel.d.ts +10 -0
- package/lib/lifecycle/promise/cancel.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancel.js +15 -0
- package/lib/lifecycle/promise/cancel.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts +11 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.js +42 -0
- package/lib/lifecycle/promise/cancellationToken/driver.browser.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts +11 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.js +38 -0
- package/lib/lifecycle/promise/cancellationToken/driver.common.js.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/source.d.ts +27 -0
- package/lib/lifecycle/promise/cancellationToken/source.d.ts.map +1 -0
- package/lib/lifecycle/promise/cancellationToken/source.js +26 -0
- package/lib/lifecycle/promise/cancellationToken/source.js.map +1 -0
- package/lib/lifecycle/promise/deferredPromise.d.ts +55 -0
- package/lib/lifecycle/promise/deferredPromise.d.ts.map +1 -0
- package/lib/lifecycle/promise/deferredPromise.js +114 -0
- package/lib/lifecycle/promise/deferredPromise.js.map +1 -0
- package/lib/lifecycle/timeout/interval.d.ts +27 -0
- package/lib/lifecycle/timeout/interval.d.ts.map +1 -0
- package/lib/lifecycle/timeout/interval.js +58 -0
- package/lib/lifecycle/timeout/interval.js.map +1 -0
- package/lib/lifecycle/timeout/timeout.d.ts +16 -0
- package/lib/lifecycle/timeout/timeout.d.ts.map +1 -0
- package/lib/lifecycle/timeout/timeout.js +53 -0
- package/lib/lifecycle/timeout/timeout.js.map +1 -0
- package/lib/lifecycle/timeout/timeoutError.d.ts +11 -0
- package/lib/lifecycle/timeout/timeoutError.d.ts.map +1 -0
- package/lib/lifecycle/timeout/timeoutError.js +16 -0
- package/lib/lifecycle/timeout/timeoutError.js.map +1 -0
- package/lib/log/logger.d.ts +46 -0
- package/lib/log/logger.d.ts.map +1 -0
- package/lib/log/logger.js +95 -0
- package/lib/log/logger.js.map +1 -0
- package/lib/mapSet/customSet.d.ts +31 -0
- package/lib/mapSet/customSet.d.ts.map +1 -0
- package/lib/mapSet/customSet.js +70 -0
- package/lib/mapSet/customSet.js.map +1 -0
- package/lib/mapSet/extendMap.d.ts +21 -0
- package/lib/mapSet/extendMap.d.ts.map +1 -0
- package/lib/mapSet/extendMap.js +26 -0
- package/lib/mapSet/extendMap.js.map +1 -0
- package/lib/misc/assertNotNull.d.ts +12 -0
- package/lib/misc/assertNotNull.d.ts.map +1 -0
- package/lib/misc/assertNotNull.js +20 -0
- package/lib/misc/assertNotNull.js.map +1 -0
- package/lib/misc/package.json.d.ts +100 -0
- package/lib/misc/package.json.d.ts.map +1 -0
- package/lib/misc/package.json.js +37 -0
- package/lib/misc/package.json.js.map +1 -0
- package/lib/object/definePublicConstant.d.ts +3 -0
- package/lib/object/definePublicConstant.d.ts.map +1 -0
- package/lib/object/definePublicConstant.js +17 -0
- package/lib/object/definePublicConstant.js.map +1 -0
- package/lib/object/initOnRead.d.ts +8 -0
- package/lib/object/initOnRead.d.ts.map +1 -0
- package/lib/object/initOnRead.js +23 -0
- package/lib/object/initOnRead.js.map +1 -0
- package/lib/object/objectPath.d.ts +6 -0
- package/lib/object/objectPath.d.ts.map +1 -0
- package/lib/object/objectPath.js +11 -0
- package/lib/object/objectPath.js.map +1 -0
- package/lib/object/objectSame.d.ts +11 -0
- package/lib/object/objectSame.d.ts.map +1 -0
- package/lib/object/objectSame.js +51 -0
- package/lib/object/objectSame.js.map +1 -0
- package/lib/path/isAbsolute.d.ts +10 -0
- package/lib/path/isAbsolute.d.ts.map +1 -0
- package/lib/path/isAbsolute.js +12 -0
- package/lib/path/isAbsolute.js.map +1 -0
- package/lib/path/normalizePath.d.ts +23 -0
- package/lib/path/normalizePath.d.ts.map +1 -0
- package/lib/path/normalizePath.js +125 -0
- package/lib/path/normalizePath.js.map +1 -0
- package/lib/path/pathArray.d.ts +54 -0
- package/lib/path/pathArray.d.ts.map +1 -0
- package/lib/path/pathArray.js +135 -0
- package/lib/path/pathArray.js.map +1 -0
- package/lib/platform/globalObject.d.ts +9 -0
- package/lib/platform/globalObject.d.ts.map +1 -0
- package/lib/platform/globalObject.js +17 -0
- package/lib/platform/globalObject.js.map +1 -0
- package/lib/platform/globalSingleton.d.ts +29 -0
- package/lib/platform/globalSingleton.d.ts.map +1 -0
- package/lib/platform/globalSingleton.js +60 -0
- package/lib/platform/globalSingleton.js.map +1 -0
- package/lib/platform/globalSymbol.d.ts +13 -0
- package/lib/platform/globalSymbol.d.ts.map +1 -0
- package/lib/platform/globalSymbol.js +34 -0
- package/lib/platform/globalSymbol.js.map +1 -0
- package/lib/platform/os.d.ts +17 -0
- package/lib/platform/os.d.ts.map +1 -0
- package/lib/platform/os.js +57 -0
- package/lib/platform/os.js.map +1 -0
- package/lib/promise/awaitIterator.d.ts +5 -0
- package/lib/promise/awaitIterator.d.ts.map +1 -0
- package/lib/promise/awaitIterator.js +22 -0
- package/lib/promise/awaitIterator.js.map +1 -0
- package/lib/promise/finishAllPromise.d.ts +13 -0
- package/lib/promise/finishAllPromise.d.ts.map +1 -0
- package/lib/promise/finishAllPromise.js +37 -0
- package/lib/promise/finishAllPromise.js.map +1 -0
- package/lib/promise/promiseBool.d.ts +6 -0
- package/lib/promise/promiseBool.d.ts.map +1 -0
- package/lib/promise/promiseBool.js +8 -0
- package/lib/promise/promiseBool.js.map +1 -0
- package/lib/promise/promiseCollection.d.ts +11 -0
- package/lib/promise/promiseCollection.d.ts.map +1 -0
- package/lib/promise/promiseCollection.js +34 -0
- package/lib/promise/promiseCollection.js.map +1 -0
- package/lib/promise/timeoutPromiseCollection.d.ts +7 -0
- package/lib/promise/timeoutPromiseCollection.d.ts.map +1 -0
- package/lib/promise/timeoutPromiseCollection.js +20 -0
- package/lib/promise/timeoutPromiseCollection.js.map +1 -0
- package/lib/reflection/classes/hookClass.d.ts +11 -0
- package/lib/reflection/classes/hookClass.d.ts.map +1 -0
- package/lib/reflection/classes/hookClass.js +34 -0
- package/lib/reflection/classes/hookClass.js.map +1 -0
- package/lib/reflection/classes/singleton.d.ts +7 -0
- package/lib/reflection/classes/singleton.d.ts.map +1 -0
- package/lib/reflection/classes/singleton.js +30 -0
- package/lib/reflection/classes/singleton.js.map +1 -0
- package/lib/reflection/methods/bind.d.ts +5 -0
- package/lib/reflection/methods/bind.d.ts.map +1 -0
- package/lib/reflection/methods/bind.js +25 -0
- package/lib/reflection/methods/bind.js.map +1 -0
- package/lib/reflection/methods/initOnRead.d.ts +7 -0
- package/lib/reflection/methods/initOnRead.d.ts.map +1 -0
- package/lib/reflection/methods/initOnRead.js +11 -0
- package/lib/reflection/methods/initOnRead.js.map +1 -0
- package/lib/reflection/methods/memorize.d.ts +8 -0
- package/lib/reflection/methods/memorize.d.ts.map +1 -0
- package/lib/reflection/methods/memorize.js +28 -0
- package/lib/reflection/methods/memorize.js.map +1 -0
- package/lib/state/StateMachine.d.ts +19 -0
- package/lib/state/StateMachine.d.ts.map +1 -0
- package/lib/state/StateMachine.js +30 -0
- package/lib/state/StateMachine.js.map +1 -0
- package/lib/string/castCase.d.ts +17 -0
- package/lib/string/castCase.d.ts.map +1 -0
- package/lib/string/castCase.js +53 -0
- package/lib/string/castCase.js.map +1 -0
- package/lib/string/concatType.generated.d.ts +29 -0
- package/lib/string/concatType.generated.d.ts.map +1 -0
- package/lib/string/concatType.generated.js +17 -0
- package/lib/string/concatType.generated.js.map +1 -0
- package/lib/string/escapeRegexp.d.ts +3 -0
- package/lib/string/escapeRegexp.d.ts.map +1 -0
- package/lib/string/escapeRegexp.js +5 -0
- package/lib/string/escapeRegexp.js.map +1 -0
- package/lib/string/pad2.d.ts +6 -0
- package/lib/string/pad2.d.ts.map +1 -0
- package/lib/string/pad2.js +11 -0
- package/lib/string/pad2.js.map +1 -0
- package/lib/string/sizeString.d.ts +13 -0
- package/lib/string/sizeString.d.ts.map +1 -0
- package/lib/string/sizeString.js +59 -0
- package/lib/string/sizeString.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/typingHelper/deep.partial.d.ts +10 -0
- package/lib/typingHelper/deep.partial.d.ts.map +1 -0
- package/lib/typingHelper/deep.partial.js +2 -0
- package/lib/typingHelper/deep.partial.js.map +1 -0
- package/lib/typingHelper/deep.readonly.d.ts +10 -0
- package/lib/typingHelper/deep.readonly.d.ts.map +1 -0
- package/lib/typingHelper/deep.readonly.js +2 -0
- package/lib/typingHelper/deep.readonly.js.map +1 -0
- package/lib/typingHelper/deep.required.d.ts +10 -0
- package/lib/typingHelper/deep.required.d.ts.map +1 -0
- package/lib/typingHelper/deep.required.js +2 -0
- package/lib/typingHelper/deep.required.js.map +1 -0
- package/lib/typingHelper/deep.writable.d.ts +10 -0
- package/lib/typingHelper/deep.writable.d.ts.map +1 -0
- package/lib/typingHelper/deep.writable.js +2 -0
- package/lib/typingHelper/deep.writable.js.map +1 -0
- package/lib/typingHelper/literal.d.ts +2 -0
- package/lib/typingHelper/literal.d.ts.map +1 -0
- package/lib/typingHelper/literal.js +2 -0
- package/lib/typingHelper/literal.js.map +1 -0
- package/package.json +3 -3
- package/src/autoindex.ts +4 -0
- package/src/string/concatType.generated.ts +9 -4
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import { isAbsolute } from '../path/isAbsolute.js';
|
|
2
|
+
import { relativePath } from '../path/normalizePath.js';
|
|
3
|
+
import { globalObject } from '../platform/globalObject.js';
|
|
4
|
+
import { isNative } from '../platform/os.js';
|
|
5
|
+
import { vscEscapeValue } from './pretty.vscode.js';
|
|
6
|
+
const process = globalObject.process;
|
|
7
|
+
const window = globalObject.window;
|
|
8
|
+
const padding = /^(?<padding>\s*)at /.source;
|
|
9
|
+
const func_call = /(?<func_name>(?:(?:async|new) )?[^\/\\\s]+) (?:\[as (?<func_alias>[^\]]+)] )?/.source;
|
|
10
|
+
// xxxx.yyyyy [as eval]
|
|
11
|
+
const line_column = /(?::(?<line>\d+))?(?::(?<column>\d+))?/.source;
|
|
12
|
+
const locationEsm = /(?<schema>node:|file:\/\/|https?:\/\/)?(?<path2>[^:]+)/.source;
|
|
13
|
+
// node:internal/modules/cjs/loader.js:883:14
|
|
14
|
+
const locationCjs = /(?<path1>(?:\/|[a-zA-Z]:)[^:]+)/.source;
|
|
15
|
+
// /data/to/file.js
|
|
16
|
+
const location = `(?:${locationCjs}|${locationEsm})${line_column}`;
|
|
17
|
+
const regNormal = new RegExp(`${padding}${func_call}\\(${location}\\)$`);
|
|
18
|
+
const regNoFile = new RegExp(`${padding}${func_call}$`);
|
|
19
|
+
const regFileOnly = new RegExp(`${padding}${location}$`);
|
|
20
|
+
const regEvalItem = new RegExp(`\\(eval at ${func_call}`, 'g');
|
|
21
|
+
const eval_source = /, (?<eval_func>[\S]+):(?<eval_line>\d+):(?<eval_column>\d+)/.source;
|
|
22
|
+
const regEval = new RegExp(`${padding}${func_call}.*?\\(${location}\\)+${eval_source}`);
|
|
23
|
+
let root = process?.cwd?.() ?? window?.location?.domain ?? '/';
|
|
24
|
+
export function setErrorLogRoot(_root) {
|
|
25
|
+
if (typeof process !== 'undefined' &&
|
|
26
|
+
process.stderr?.write?.call &&
|
|
27
|
+
(process.env?.VSCODE_SHELL_INTEGRATION || process.env?.VSCODE_SHELL_INTEGRATION_SHELL_SCRIPT)) {
|
|
28
|
+
process.stderr.write(`\x1B]633;P;Cwd=${vscEscapeValue(_root)}\x07`);
|
|
29
|
+
}
|
|
30
|
+
root = _root;
|
|
31
|
+
}
|
|
32
|
+
function matchLine(line, reg) {
|
|
33
|
+
const m = reg.exec(line);
|
|
34
|
+
if (!m) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return m.groups;
|
|
38
|
+
}
|
|
39
|
+
const endingSlashes = /\/+$/;
|
|
40
|
+
function addLoc(ret, m) {
|
|
41
|
+
const path = m.path1 || m.path2;
|
|
42
|
+
ret.location = {
|
|
43
|
+
schema: m.schema?.replace(endingSlashes, '') ?? '',
|
|
44
|
+
path: path,
|
|
45
|
+
line: Number.parseInt(m.line),
|
|
46
|
+
column: Number.parseInt(m.column),
|
|
47
|
+
isAbsolute: isAbsolute(path),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
function addFunc(ret, m) {
|
|
51
|
+
ret.func = {
|
|
52
|
+
name: m.func_name,
|
|
53
|
+
alias: m.func_alias,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export function parseStackLine(line) {
|
|
57
|
+
const __raw = line;
|
|
58
|
+
const ret = {
|
|
59
|
+
invalid: false,
|
|
60
|
+
toString() {
|
|
61
|
+
return __raw;
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
Object.assign(ret, { __raw });
|
|
65
|
+
const mNormal = matchLine(line, regNormal);
|
|
66
|
+
if (mNormal) {
|
|
67
|
+
ret._matches = regNormal;
|
|
68
|
+
ret.padding = mNormal.padding;
|
|
69
|
+
addFunc(ret, mNormal);
|
|
70
|
+
addLoc(ret, mNormal);
|
|
71
|
+
return ret;
|
|
72
|
+
}
|
|
73
|
+
const mFile = matchLine(line, regFileOnly);
|
|
74
|
+
if (mFile) {
|
|
75
|
+
ret._matches = regFileOnly;
|
|
76
|
+
ret.padding = mFile.padding;
|
|
77
|
+
addLoc(ret, mFile);
|
|
78
|
+
return ret;
|
|
79
|
+
}
|
|
80
|
+
const mNoFile = matchLine(line, regNoFile);
|
|
81
|
+
if (mNoFile) {
|
|
82
|
+
ret._matches = regNoFile;
|
|
83
|
+
ret.padding = mNoFile.padding;
|
|
84
|
+
addFunc(ret, mNoFile);
|
|
85
|
+
return ret;
|
|
86
|
+
}
|
|
87
|
+
const mEval = matchLine(line.replaceAll(regEvalItem, ''), regEval);
|
|
88
|
+
if (mEval) {
|
|
89
|
+
ret._matches = regEval;
|
|
90
|
+
ret.padding = mEval.padding;
|
|
91
|
+
addFunc(ret, mEval);
|
|
92
|
+
addLoc(ret, mEval);
|
|
93
|
+
ret.eval = {
|
|
94
|
+
eval_column: Number.parseInt(mEval.eval_column),
|
|
95
|
+
eval_func: mEval.eval_func,
|
|
96
|
+
eval_line: Number.parseInt(mEval.eval_line),
|
|
97
|
+
funcs: [],
|
|
98
|
+
};
|
|
99
|
+
for (const item of line.matchAll(regEvalItem)) {
|
|
100
|
+
// biome-ignore lint/style/noNonNullAssertion: 有匹配必然有 groups
|
|
101
|
+
ret.eval.funcs.push(item.groups.func_name);
|
|
102
|
+
}
|
|
103
|
+
ret.eval.funcs.push(mEval.eval_func);
|
|
104
|
+
return ret;
|
|
105
|
+
}
|
|
106
|
+
ret.invalid = true;
|
|
107
|
+
return ret;
|
|
108
|
+
}
|
|
109
|
+
function isPrettyDisabled() {
|
|
110
|
+
return globalObject.DISABLE_PRETTY_ERROR || globalObject.process?.env?.DISABLE_PRETTY_ERROR;
|
|
111
|
+
}
|
|
112
|
+
let notify_printed = false;
|
|
113
|
+
export function prettyPrintError(type, e) {
|
|
114
|
+
if (!e.stack || e.stack === e.message) {
|
|
115
|
+
return console.error(e.message);
|
|
116
|
+
}
|
|
117
|
+
if (isPrettyDisabled()) {
|
|
118
|
+
console.error('[%s] %s', type, e.stack || e.message);
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const columns = process?.stderr?.columns || 80;
|
|
122
|
+
console.error(`\n${'-'.repeat(columns)}\n[${type}] ${prettyFormatError(e)}\n${'-'.repeat(columns)}`);
|
|
123
|
+
if (!notify_printed && e.stack && e.message !== e.stack) {
|
|
124
|
+
// console.log(JSON.stringify(e.stack), JSON.stringify(e.message));
|
|
125
|
+
notify_printed = true;
|
|
126
|
+
console.error('\x1B[2muse env.DISABLE_PRETTY_ERROR=yes / window.DISABLE_PRETTY_ERROR=true to see original error stack\x1B[0m');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function red(s) {
|
|
130
|
+
return isNative ? `\x1B[38;5;9m${s}\x1B[0m` : s;
|
|
131
|
+
}
|
|
132
|
+
export function parseStackString(stack) {
|
|
133
|
+
return stack.split('\n').map(parseStackLine);
|
|
134
|
+
}
|
|
135
|
+
export function prettyFormatStack(stackLines) {
|
|
136
|
+
if (isPrettyDisabled()) {
|
|
137
|
+
return stackLines;
|
|
138
|
+
}
|
|
139
|
+
const structured = stackLines.map(parseStackLine);
|
|
140
|
+
let messageEnded = false;
|
|
141
|
+
return structured
|
|
142
|
+
.filter(skipSomeFrame)
|
|
143
|
+
.map(translateFunction)
|
|
144
|
+
.map((line) => {
|
|
145
|
+
let ret;
|
|
146
|
+
if (line.invalid) {
|
|
147
|
+
if (messageEnded) {
|
|
148
|
+
return red(line.toString());
|
|
149
|
+
}
|
|
150
|
+
return line.toString();
|
|
151
|
+
}
|
|
152
|
+
messageEnded = true;
|
|
153
|
+
const fn_name = line.func?.name;
|
|
154
|
+
if (!line.location?.isAbsolute || line.location.schema === 'node:') {
|
|
155
|
+
// no-path, relative path, node:
|
|
156
|
+
ret = ' at \x1B[2m';
|
|
157
|
+
if (line.func) {
|
|
158
|
+
ret += fn_name;
|
|
159
|
+
if (line.func.alias) {
|
|
160
|
+
ret += ` [${line.func.alias}]`;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (line.location?.path === '<anonymous>') {
|
|
164
|
+
}
|
|
165
|
+
else if (line.location?.path) {
|
|
166
|
+
if (fn_name) {
|
|
167
|
+
ret += ' (';
|
|
168
|
+
}
|
|
169
|
+
ret += formatFileLine(line.location.schema, line.location.path, line.location.line, line.location.column);
|
|
170
|
+
if (fn_name) {
|
|
171
|
+
ret += ')';
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
ret += '\x1B[0m';
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
const path = line.location.path;
|
|
178
|
+
const isNodeModule = path.includes('/node_modules/');
|
|
179
|
+
const fn_alias = line.func?.alias;
|
|
180
|
+
const color = fn_name ? (isNodeModule ? '14;2' : '14') : '8';
|
|
181
|
+
ret = `\x1b[0m at \x1b[38;5;${color}m`;
|
|
182
|
+
if (fn_alias && fn_name && fn_name.startsWith('Object.')) {
|
|
183
|
+
ret += `${fn_alias} [export]`;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
ret += formatFunctionName(fn_name, fn_alias);
|
|
187
|
+
}
|
|
188
|
+
ret += '\x1b[0m';
|
|
189
|
+
if (line.eval) {
|
|
190
|
+
ret += `\x1b[2m(${line.eval.funcs.filter((e) => e !== '<anonymous>').join('->')})\x1b[0m`;
|
|
191
|
+
}
|
|
192
|
+
if (path) {
|
|
193
|
+
let color;
|
|
194
|
+
if (isNodeModule) {
|
|
195
|
+
color = '\x1b[38;5;237m';
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
color = '\x1b[38;5;2m';
|
|
199
|
+
}
|
|
200
|
+
ret += ` (${color}`;
|
|
201
|
+
const file = formatFileLine(line.location.schema, path, line.location.line, line.location.column);
|
|
202
|
+
const lastNmPos = file.lastIndexOf('/node_modules/');
|
|
203
|
+
if (lastNmPos >= 0) {
|
|
204
|
+
ret += file.slice(0, lastNmPos + 14);
|
|
205
|
+
let nextSlash = file.indexOf('/', lastNmPos + 15);
|
|
206
|
+
const scopePkg = file[lastNmPos + 14] === '@';
|
|
207
|
+
if (scopePkg) {
|
|
208
|
+
nextSlash = file.indexOf('/', nextSlash + 1);
|
|
209
|
+
}
|
|
210
|
+
ret += '\x1B[0m';
|
|
211
|
+
ret += file.slice(lastNmPos + 14, nextSlash);
|
|
212
|
+
ret += color;
|
|
213
|
+
ret += file.slice(nextSlash);
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
ret += file;
|
|
217
|
+
}
|
|
218
|
+
ret += '\x1B[0m)';
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return ret;
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
const regStartsNotEmpty = /^\S/;
|
|
225
|
+
const regErrorClassName = /^(\S+):/;
|
|
226
|
+
export function prettyFormatError(e, withMessage = true) {
|
|
227
|
+
if (!e || !e.stack) {
|
|
228
|
+
if (withMessage) {
|
|
229
|
+
const msg = e?.message || 'Unknown Error';
|
|
230
|
+
return red(`${msg}\n No stack trace`);
|
|
231
|
+
}
|
|
232
|
+
return red(' No stack trace');
|
|
233
|
+
}
|
|
234
|
+
if (isPrettyDisabled()) {
|
|
235
|
+
return e.stack;
|
|
236
|
+
}
|
|
237
|
+
const stackLines = e.stack.split(/\n/g);
|
|
238
|
+
let first = 'Unknown Error';
|
|
239
|
+
if (regStartsNotEmpty.test(stackLines[0])) {
|
|
240
|
+
first = stackLines.shift();
|
|
241
|
+
}
|
|
242
|
+
if (withMessage) {
|
|
243
|
+
if (e.code) {
|
|
244
|
+
first = first.replace(regErrorClassName, `$1(code ${e.code}):`);
|
|
245
|
+
}
|
|
246
|
+
return `${first}\n${prettyFormatStack(stackLines).join('\n')}`;
|
|
247
|
+
}
|
|
248
|
+
return prettyFormatStack(stackLines).join('\n');
|
|
249
|
+
}
|
|
250
|
+
let alert = false;
|
|
251
|
+
function formatFileLine(schema, file, row, col) {
|
|
252
|
+
let rel = file;
|
|
253
|
+
if (schema !== 'node:') {
|
|
254
|
+
try {
|
|
255
|
+
rel = relativePath(root, file);
|
|
256
|
+
if (rel[0] !== '.') {
|
|
257
|
+
rel = `./${rel}`;
|
|
258
|
+
}
|
|
259
|
+
else if (rel[1] === '.') {
|
|
260
|
+
if (file.length < rel.length) {
|
|
261
|
+
rel = file;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
if (rel[0] === '.') {
|
|
265
|
+
schema = '';
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
catch (e) {
|
|
269
|
+
if (!alert) {
|
|
270
|
+
alert = true;
|
|
271
|
+
console.error('pretty print error: failed calc relative path ("%s" to "%s"):\n\x1B[2mFormat%s\x1B[0m', root, file, e.stack);
|
|
272
|
+
}
|
|
273
|
+
rel = file;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
return `${schema || ''}${rel}${row ? `:${row}` : ''}${col ? `:${col}` : ''}`;
|
|
277
|
+
}
|
|
278
|
+
function formatFunctionName(fn, as) {
|
|
279
|
+
if (fn) {
|
|
280
|
+
if (as) {
|
|
281
|
+
return `${fn} [as ${as}]`;
|
|
282
|
+
}
|
|
283
|
+
return fn;
|
|
284
|
+
}
|
|
285
|
+
return '<anonymous>';
|
|
286
|
+
}
|
|
287
|
+
function translateFunction(data) {
|
|
288
|
+
if (!data.func?.name) {
|
|
289
|
+
return data;
|
|
290
|
+
}
|
|
291
|
+
if (data.func.name === 'Timeout._onTimeout') {
|
|
292
|
+
data.func.name = 'setTimeout';
|
|
293
|
+
}
|
|
294
|
+
if (data.func.name === 'Immediate._onImmediate') {
|
|
295
|
+
data.func.name = 'setImmediate';
|
|
296
|
+
}
|
|
297
|
+
if (data.func.name === 'process.processTicksAndRejections') {
|
|
298
|
+
data.func.name = 'process.nextTick';
|
|
299
|
+
}
|
|
300
|
+
if (data.func.name.startsWith('Timeout.') && data.func.alias === '_onTimeout') {
|
|
301
|
+
data.func.name = `setTimeout->${data.func.name.slice(8)}`;
|
|
302
|
+
data.func.alias = undefined;
|
|
303
|
+
}
|
|
304
|
+
if (data.func.name.startsWith('async Promise.all')) {
|
|
305
|
+
data.func.name = `Promise.all()`;
|
|
306
|
+
data.func.alias = data.location?.path;
|
|
307
|
+
data.location = undefined;
|
|
308
|
+
}
|
|
309
|
+
return data;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
*
|
|
313
|
+
*/
|
|
314
|
+
function skipSomeFrame({ func, location }) {
|
|
315
|
+
if (!location?.path) {
|
|
316
|
+
return true;
|
|
317
|
+
}
|
|
318
|
+
if (location.schema === 'node:') {
|
|
319
|
+
if (location.path.startsWith('internal/timers')) {
|
|
320
|
+
return false;
|
|
321
|
+
}
|
|
322
|
+
if (location.path === 'internal/modules/cjs/loader') {
|
|
323
|
+
return false;
|
|
324
|
+
}
|
|
325
|
+
if (location.path === 'internal/modules/esm/loader') {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
if (location.path === 'internal/modules/run_main') {
|
|
329
|
+
return false;
|
|
330
|
+
}
|
|
331
|
+
if (location.path === 'internal/modules/esm/module_job') {
|
|
332
|
+
return false;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
if (!location.path.includes('/')) {
|
|
336
|
+
if (location.path.startsWith('_stream_')) {
|
|
337
|
+
return false;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
if (location.path === '<anonymous>') {
|
|
341
|
+
// new Promise ('<anonymous>')
|
|
342
|
+
if (func?.name === 'new Promise') {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return true;
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=pretty.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty.js","sourceRoot":"","sources":["../../src/error/pretty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;AACrC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;AAEnC,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC;AAC7C,MAAM,SAAS,GAAG,+EAA+E,CAAC,MAAM,CAAC;AACzG,oDAAoD;AACpD,MAAM,WAAW,GAAG,wCAAwC,CAAC,MAAM,CAAC;AACpE,MAAM,WAAW,GAAG,wDAAwD,CAAC,MAAM,CAAC;AACpF,oEAAoE;AACpE,MAAM,WAAW,GAAG,iCAAiC,CAAC,MAAM,CAAC;AAC7D,4CAA4C;AAC5C,MAAM,QAAQ,GAAG,MAAM,WAAW,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;AAEnE,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,MAAM,QAAQ,MAAM,CAAC,CAAC;AAGzE,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC;AAGxD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;AAGzD,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,cAAc,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;AAC/D,MAAM,WAAW,GAAG,6DAA6D,CAAC,MAAM,CAAC;AACzF,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,OAAO,GAAG,SAAS,SAAS,QAAQ,OAAO,WAAW,EAAE,CAAC,CAAC;AAGxF,IAAI,IAAI,GAAG,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC;AAC/D,MAAM,UAAU,eAAe,CAAC,KAAa;IAC5C,IACC,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI;QAC3B,CAAC,OAAO,CAAC,GAAG,EAAE,wBAAwB,IAAI,OAAO,CAAC,GAAG,EAAE,qCAAqC,CAAC,EAC5F,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,GAAG,KAAK,CAAC;AACd,CAAC;AA8BD,SAAS,SAAS,CAAmB,IAAY,EAAE,GAAW;IAC7D,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,CAAC,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CAAC,CAAC,MAAa,CAAC;AACxB,CAAC;AACD,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,SAAS,MAAM,CAAC,GAAuB,EAAE,CAAoC;IAC5E,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;IAChC,GAAG,CAAC,QAAQ,GAAG;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,IAAI,EAAE;QAClD,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QACjC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC;KAC5B,CAAC;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAuB,EAAE,CAAkC;IAC3E,GAAG,CAAC,IAAI,GAAG;QACV,IAAI,EAAE,CAAC,CAAC,SAAS;QACjB,KAAK,EAAE,CAAC,CAAC,UAAU;KACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC;IACnB,MAAM,GAAG,GAAuB;QAC/B,OAAO,EAAE,KAAK;QACd,QAAQ;YACP,OAAO,KAAK,CAAC;QACd,CAAC;KACD,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAG,SAAS,CAAkB,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QACzB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAoB,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9D,IAAI,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC3B,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,SAAS,CAAkB,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5D,IAAI,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,QAAQ,GAAG,SAAS,CAAC;QACzB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAC9B,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAgB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAClF,IAAI,KAAK,EAAE,CAAC;QACX,GAAG,CAAC,QAAQ,GAAG,OAAO,CAAC;QACvB,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAEnB,GAAG,CAAC,IAAI,GAAG;YACV,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3C,KAAK,EAAE,EAAE;SACT,CAAC;QACF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/C,4DAA4D;YAC5D,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAO,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACnB,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,gBAAgB;IACxB,OAAO,YAAY,CAAC,oBAAoB,IAAI,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,oBAAoB,CAAC;AAC7F,CAAC;AAED,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,CAAQ;IACtD,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;IAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAErG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QACzD,mEAAmE;QACnE,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,KAAK,CACZ,+GAA+G,CAC/G,CAAC;IACH,CAAC;AACF,CAAC;AAED,SAAS,GAAG,CAAC,CAAS;IACrB,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA6B;IAC9D,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACxB,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,MAAM,UAAU,GAAyB,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACxE,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,OAAO,UAAU;SACf,MAAM,CAAC,aAAa,CAAC;SACrB,GAAG,CAAC,iBAAiB,CAAC;SACtB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACb,IAAI,GAAW,CAAC;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,YAAY,EAAE,CAAC;gBAClB,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7B,CAAC;YACD,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC;QACD,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;QAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACpE,gCAAgC;YAChC,GAAG,GAAG,cAAc,CAAC;YACrB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,GAAG,IAAI,OAAO,CAAC;gBACf,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACrB,GAAG,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;gBAChC,CAAC;YACF,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;gBAChC,IAAI,OAAO,EAAE,CAAC;oBACb,GAAG,IAAI,IAAI,CAAC;gBACb,CAAC;gBACD,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC1G,IAAI,OAAO,EAAE,CAAC;oBACb,GAAG,IAAI,GAAG,CAAC;gBACZ,CAAC;YACF,CAAC;YACD,GAAG,IAAI,SAAS,CAAC;QAClB,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;YAElC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7D,GAAG,GAAG,yBAAyB,KAAK,GAAG,CAAC;YACxC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,GAAG,IAAI,GAAG,QAAQ,WAAW,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACP,GAAG,IAAI,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;YACD,GAAG,IAAI,SAAS,CAAC;YACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACf,GAAG,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YAC3F,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACV,IAAI,KAAa,CAAC;gBAClB,IAAI,YAAY,EAAE,CAAC;oBAClB,KAAK,GAAG,gBAAgB,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACP,KAAK,GAAG,cAAc,CAAC;gBACxB,CAAC;gBACD,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAClG,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBACrD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACpB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;oBAErC,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,EAAE,CAAC,CAAC;oBAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC;oBAC9C,IAAI,QAAQ,EAAE,CAAC;wBACd,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;oBAC9C,CAAC;oBAED,GAAG,IAAI,SAAS,CAAC;oBACjB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;oBAC7C,GAAG,IAAI,KAAK,CAAC;oBACb,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACP,GAAG,IAAI,IAAI,CAAC;gBACb,CAAC;gBACD,GAAG,IAAI,UAAU,CAAC;YACnB,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAQD,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AACpC,MAAM,UAAU,iBAAiB,CAAC,CAAS,EAAE,WAAW,GAAG,IAAI;IAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,WAAW,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,CAAC,EAAE,OAAO,IAAI,eAAe,CAAC;YAE1C,OAAO,GAAG,CAAC,GAAG,GAAG,oBAAoB,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,KAAK,CAAC;IAChB,CAAC;IAED,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAExC,IAAI,KAAK,GAAG,eAAe,CAAC;IAC5B,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,KAAK,GAAG,UAAU,CAAC,KAAK,EAAY,CAAC;IACtC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,GAAG,KAAK,KAAK,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAChE,CAAC;IACD,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,IAAI,KAAK,GAAG,KAAK,CAAC;AAClB,SAAS,cAAc,CAAC,MAA0B,EAAE,IAAY,EAAE,GAAY,EAAE,GAAY;IAC3F,IAAI,GAAG,GAAG,IAAI,CAAC;IAEf,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACJ,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,GAAG,GAAG,KAAK,GAAG,EAAE,CAAC;YAClB,CAAC;iBAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9B,GAAG,GAAG,IAAI,CAAC;gBACZ,CAAC;YACF,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACpB,MAAM,GAAG,EAAE,CAAC;YACb,CAAC;QACF,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,KAAK,GAAG,IAAI,CAAC;gBACb,OAAO,CAAC,KAAK,CACZ,uFAAuF,EACvF,IAAI,EACJ,IAAI,EACJ,CAAC,CAAC,KAAK,CACP,CAAC;YACH,CAAC;YACD,GAAG,GAAG,IAAI,CAAC;QACZ,CAAC;IACF,CAAC;IAED,OAAO,GAAG,MAAM,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,kBAAkB,CAAC,EAAW,EAAE,EAAW;IACnD,IAAI,EAAE,EAAE,CAAC;QACR,IAAI,EAAE,EAAE,CAAC;YACR,OAAO,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC;QAC3B,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAwB;IAClD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC/B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,mCAAmC,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;QAC/E,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC7B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC3B,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAsB;IAC5D,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,6BAA6B,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,iCAAiC,EAAE,CAAC;YACzD,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACrC,8BAA8B;QAC9B,IAAI,IAAI,EAAE,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 该函数用于对字符串进行转义
|
|
3
|
+
* 转义规则如下:
|
|
4
|
+
* - 反斜杠会被转义为两个反斜杠
|
|
5
|
+
* - 分号会被转义为\x3b
|
|
6
|
+
* - ASCII码小于0x20的字符会被转为\xXX格式的十六进制
|
|
7
|
+
* - 其他字符保持不变
|
|
8
|
+
* 当输入字符串长度大于等于2000时,使用快速转义函数
|
|
9
|
+
* 返回转义后的字符串
|
|
10
|
+
*/
|
|
11
|
+
export declare function vscEscapeValue(input: string): string;
|
|
12
|
+
//# sourceMappingURL=pretty.vscode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty.vscode.d.ts","sourceRoot":"","sources":["../../src/error/pretty.vscode.ts"],"names":[],"mappings":"AAsDA;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAoBpD"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/*
|
|
2
|
+
===================
|
|
3
|
+
echo $VSCODE_SHELL_INTEGRATION_SHELL_SCRIPT
|
|
4
|
+
===================
|
|
5
|
+
|
|
6
|
+
__vsc_escape_value_fast() {
|
|
7
|
+
builtin local LC_ALL=C out
|
|
8
|
+
out=${1//\\/\\\\}
|
|
9
|
+
out=${out//;/\\x3b}
|
|
10
|
+
builtin printf '%s\n' "${out}"
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
__vsc_escape_value() {
|
|
14
|
+
# If the input being too large, switch to the faster function
|
|
15
|
+
if [ "${#1}" -ge 2000 ]; then
|
|
16
|
+
__vsc_escape_value_fast "$1"
|
|
17
|
+
builtin return
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Process text byte by byte, not by codepoint.
|
|
21
|
+
builtin local -r LC_ALL=C
|
|
22
|
+
builtin local -r str="${1}"
|
|
23
|
+
builtin local -ir len="${#str}"
|
|
24
|
+
|
|
25
|
+
builtin local -i i
|
|
26
|
+
builtin local -i val
|
|
27
|
+
builtin local byte
|
|
28
|
+
builtin local token
|
|
29
|
+
builtin local out=''
|
|
30
|
+
|
|
31
|
+
for (( i=0; i < "${#str}"; ++i )); do
|
|
32
|
+
# Escape backslashes, semi-colons specially, then special ASCII chars below space (0x20).
|
|
33
|
+
byte="${str:$i:1}"
|
|
34
|
+
builtin printf -v val '%d' "'$byte"
|
|
35
|
+
if (( val < 31 )); then
|
|
36
|
+
builtin printf -v token '\\x%02x' "'$byte"
|
|
37
|
+
elif (( val == 92 )); then # \
|
|
38
|
+
token="\\\\"
|
|
39
|
+
elif (( val == 59 )); then # ;
|
|
40
|
+
token="\\x3b"
|
|
41
|
+
else
|
|
42
|
+
token="$byte"
|
|
43
|
+
fi
|
|
44
|
+
|
|
45
|
+
out+="$token"
|
|
46
|
+
done
|
|
47
|
+
|
|
48
|
+
builtin printf '%s\n' "$out"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
builtin printf '\e]633;P;Cwd=%s\a' "$(__vsc_escape_value "$__vsc_cwd")"
|
|
52
|
+
|
|
53
|
+
*/
|
|
54
|
+
/**
|
|
55
|
+
* 该函数用于对字符串进行转义
|
|
56
|
+
* 转义规则如下:
|
|
57
|
+
* - 反斜杠会被转义为两个反斜杠
|
|
58
|
+
* - 分号会被转义为\x3b
|
|
59
|
+
* - ASCII码小于0x20的字符会被转为\xXX格式的十六进制
|
|
60
|
+
* - 其他字符保持不变
|
|
61
|
+
* 当输入字符串长度大于等于2000时,使用快速转义函数
|
|
62
|
+
* 返回转义后的字符串
|
|
63
|
+
*/
|
|
64
|
+
export function vscEscapeValue(input) {
|
|
65
|
+
if (input.length >= 2000) {
|
|
66
|
+
return vscEscapeValueFast(input);
|
|
67
|
+
}
|
|
68
|
+
let out = '';
|
|
69
|
+
for (let i = 0; i < input.length; ++i) {
|
|
70
|
+
const code = input.charCodeAt(i);
|
|
71
|
+
const char = input[i];
|
|
72
|
+
if (code < 31) {
|
|
73
|
+
out += `\\x${code.toString(16).padStart(2, '0')}`;
|
|
74
|
+
}
|
|
75
|
+
else if (code === 92) {
|
|
76
|
+
out += '\\\\';
|
|
77
|
+
}
|
|
78
|
+
else if (code === 59) {
|
|
79
|
+
out += '\\x3b';
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
out += char;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return out;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 快速转义函数
|
|
89
|
+
* 仅处理反斜杠和分号
|
|
90
|
+
* 返回转义后的字符串
|
|
91
|
+
*/
|
|
92
|
+
function vscEscapeValueFast(input) {
|
|
93
|
+
return input.replace(/\\/g, '\\\\').replace(/;/g, '\\x3b');
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=pretty.vscode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty.vscode.js","sourceRoot":"","sources":["../../src/error/pretty.vscode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDE;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC3C,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QAC1B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;YACf,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACnD,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,IAAI,MAAM,CAAC;QACf,CAAC;aAAM,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,IAAI,OAAO,CAAC;QAChB,CAAC;aAAM,CAAC;YACP,GAAG,IAAI,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.error.d.ts","sourceRoot":"","sources":["../../src/error-wellknown/exit.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,OAAQ,SAAQ,KAAK;aAGhB,IAAI,CAAC,EAAE,MAAM;gBAD7B,OAAO,EAAE,MAAM,EACC,IAAI,CAAC,EAAE,MAAM,YAAA;CAK9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.error.js","sourceRoot":"","sources":["../../src/error-wellknown/exit.error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,OAAQ,SAAQ,KAAK;IAGhB;IAFjB,YACC,OAAe,EACC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAFC,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface MyAsyncCallback<Argument extends unknown[]> {
|
|
2
|
+
displayName?: string;
|
|
3
|
+
(...param: Argument): Promise<undefined | undefined | boolean> | undefined | undefined | boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* like CallbackList, but async
|
|
7
|
+
*/
|
|
8
|
+
export declare class AsyncCallbackList<Argument extends unknown[]> {
|
|
9
|
+
protected list: MyAsyncCallback<Argument>[];
|
|
10
|
+
protected running: boolean;
|
|
11
|
+
constructor();
|
|
12
|
+
count(): number;
|
|
13
|
+
reset(): void;
|
|
14
|
+
/**
|
|
15
|
+
* @param name optional name of `item` (will assign displayName to `item`)
|
|
16
|
+
* @returns function list length
|
|
17
|
+
*/
|
|
18
|
+
add(item: MyAsyncCallback<Argument>, name?: string): number;
|
|
19
|
+
/**
|
|
20
|
+
* @returns if removed: return `item`; if did not exists: return null
|
|
21
|
+
*/
|
|
22
|
+
remove(item: MyAsyncCallback<Argument>): null | MyAsyncCallback<Argument>;
|
|
23
|
+
/**
|
|
24
|
+
* Stop run if one callback return `true`
|
|
25
|
+
* @returns {boolean} true if one callback return true
|
|
26
|
+
*/
|
|
27
|
+
run(...argument: Argument): Promise<boolean>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=asyncCallbackList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncCallbackList.d.ts","sourceRoot":"","sources":["../../src/function/asyncCallbackList.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,OAAO,EAAE;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;CACjG;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,OAAO,EAAE;IACxD,SAAS,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAM;IACjD,SAAS,CAAC,OAAO,UAAS;;IAM1B,KAAK;IAIL,KAAK;IAOL;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAU3D;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC;IAWzE;;;OAGG;IACG,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAYlD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { nameFunction } from './functionName.js';
|
|
2
|
+
/**
|
|
3
|
+
* like CallbackList, but async
|
|
4
|
+
*/
|
|
5
|
+
export class AsyncCallbackList {
|
|
6
|
+
list = [];
|
|
7
|
+
running = false;
|
|
8
|
+
constructor() {
|
|
9
|
+
this.run = this.run.bind(this);
|
|
10
|
+
}
|
|
11
|
+
count() {
|
|
12
|
+
return this.list.length;
|
|
13
|
+
}
|
|
14
|
+
reset() {
|
|
15
|
+
if (this.running) {
|
|
16
|
+
throw new Error("Can not reset when it's running.");
|
|
17
|
+
}
|
|
18
|
+
this.list.length = 0;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @param name optional name of `item` (will assign displayName to `item`)
|
|
22
|
+
* @returns function list length
|
|
23
|
+
*/
|
|
24
|
+
add(item, name) {
|
|
25
|
+
if (this.running) {
|
|
26
|
+
throw new Error("Can not add callback when it's running.");
|
|
27
|
+
}
|
|
28
|
+
if (name) {
|
|
29
|
+
nameFunction(name, item);
|
|
30
|
+
}
|
|
31
|
+
return this.list.push(item);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @returns if removed: return `item`; if did not exists: return null
|
|
35
|
+
*/
|
|
36
|
+
remove(item) {
|
|
37
|
+
if (this.running) {
|
|
38
|
+
throw new Error("Can not remove callback when it's running.");
|
|
39
|
+
}
|
|
40
|
+
const found = this.list.indexOf(item);
|
|
41
|
+
if (found !== -1) {
|
|
42
|
+
return this.list.splice(found, 1)[0];
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Stop run if one callback return `true`
|
|
48
|
+
* @returns {boolean} true if one callback return true
|
|
49
|
+
*/
|
|
50
|
+
async run(...argument) {
|
|
51
|
+
this.running = true;
|
|
52
|
+
let ret;
|
|
53
|
+
for (const cb of this.list) {
|
|
54
|
+
ret = await cb(...argument);
|
|
55
|
+
if (ret === true) {
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
this.running = false;
|
|
60
|
+
return ret || false;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=asyncCallbackList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncCallbackList.js","sourceRoot":"","sources":["../../src/function/asyncCallbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAgC,EAAE,CAAC;IACvC,OAAO,GAAG,KAAK,CAAC;IAE1B;QACC,IAAI,CAAC,GAAG,GAAI,IAAI,CAAC,GAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,IAA+B,EAAE,IAAa;QACjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAA+B;QACrC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,GAAG,QAAkB;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,GAAoC,CAAC;QACzC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAClB,MAAM;YACP,CAAC;QACF,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,IAAI,KAAK,CAAC;IACrB,CAAC;CACD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface MyCallback<Argument extends unknown[]> {
|
|
2
|
+
displayName?: string;
|
|
3
|
+
(...param: Argument): any;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Manage a list of callback
|
|
7
|
+
*/
|
|
8
|
+
export declare class CallbackList<Argument extends unknown[]> {
|
|
9
|
+
protected list: MyCallback<Argument>[];
|
|
10
|
+
protected running: boolean;
|
|
11
|
+
protected stop: boolean;
|
|
12
|
+
constructor();
|
|
13
|
+
count(): number;
|
|
14
|
+
/**
|
|
15
|
+
* remove all callback
|
|
16
|
+
*/
|
|
17
|
+
reset(): void;
|
|
18
|
+
/**
|
|
19
|
+
* @param name optional name of `item` (will assign displayName to `item`)
|
|
20
|
+
* @returns function list length
|
|
21
|
+
*/
|
|
22
|
+
add(item: MyCallback<Argument>, name?: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* @returns if removed: return `item`; if did not exists: return null
|
|
25
|
+
*/
|
|
26
|
+
remove(item: MyCallback<Argument>): null | MyCallback<Argument>;
|
|
27
|
+
/**
|
|
28
|
+
* in a callback, call this.stopRun() to stop remain callbacks (not by return false)
|
|
29
|
+
* @returns {boolean} true if every callback called, false if stop in middle
|
|
30
|
+
*/
|
|
31
|
+
run(...argument: Argument): boolean;
|
|
32
|
+
stopRun(): void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=callbackList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"callbackList.d.ts","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU,CAAC,QAAQ,SAAS,OAAO,EAAE;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,CAAC,GAAG,KAAK,EAAE,QAAQ,GAAG,GAAG,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAY,CAAC,QAAQ,SAAS,OAAO,EAAE;IACnD,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAM;IAC5C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,IAAI,UAAS;;IAMvB,KAAK;IAIL;;OAEG;IACH,KAAK;IAOL;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAUtD;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC;IAW/D;;;OAGG;IACH,GAAG,CAAC,GAAG,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAkBnC,OAAO;CAGP"}
|