@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.
Files changed (316) hide show
  1. package/lib/array/arrayDiff.d.ts +18 -0
  2. package/lib/array/arrayDiff.d.ts.map +1 -0
  3. package/lib/array/arrayDiff.js +23 -0
  4. package/lib/array/arrayDiff.js.map +1 -0
  5. package/lib/array/arraySame.d.ts +6 -0
  6. package/lib/array/arraySame.d.ts.map +1 -0
  7. package/lib/array/arraySame.js +16 -0
  8. package/lib/array/arraySame.js.map +1 -0
  9. package/lib/array/arrayUnique.d.ts +21 -0
  10. package/lib/array/arrayUnique.d.ts.map +1 -0
  11. package/lib/array/arrayUnique.js +43 -0
  12. package/lib/array/arrayUnique.js.map +1 -0
  13. package/lib/array/normalizeArray.d.ts +6 -0
  14. package/lib/array/normalizeArray.d.ts.map +1 -0
  15. package/lib/array/normalizeArray.js +14 -0
  16. package/lib/array/normalizeArray.js.map +1 -0
  17. package/lib/array/sortAlpha.d.ts +8 -0
  18. package/lib/array/sortAlpha.d.ts.map +1 -0
  19. package/lib/array/sortAlpha.js +16 -0
  20. package/lib/array/sortAlpha.js.map +1 -0
  21. package/lib/autoindex.d.ts +184 -0
  22. package/lib/autoindex.d.ts.map +1 -0
  23. package/lib/autoindex.js +256 -0
  24. package/lib/autoindex.js.map +1 -0
  25. package/lib/date/consts.d.ts +6 -0
  26. package/lib/date/consts.d.ts.map +1 -0
  27. package/lib/date/consts.js +6 -0
  28. package/lib/date/consts.js.map +1 -0
  29. package/lib/date/isInvalid.d.ts +5 -0
  30. package/lib/date/isInvalid.d.ts.map +1 -0
  31. package/lib/date/isInvalid.js +7 -0
  32. package/lib/date/isInvalid.js.map +1 -0
  33. package/lib/date/sibling.d.ts +8 -0
  34. package/lib/date/sibling.d.ts.map +1 -0
  35. package/lib/date/sibling.js +29 -0
  36. package/lib/date/sibling.js.map +1 -0
  37. package/lib/date/timeString.d.ts +46 -0
  38. package/lib/date/timeString.d.ts.map +1 -0
  39. package/lib/date/timeString.js +126 -0
  40. package/lib/date/timeString.js.map +1 -0
  41. package/lib/date/unix.d.ts +9 -0
  42. package/lib/date/unix.d.ts.map +1 -0
  43. package/lib/date/unix.js +13 -0
  44. package/lib/date/unix.js.map +1 -0
  45. package/lib/debugging/serializable.d.ts +13 -0
  46. package/lib/debugging/serializable.d.ts.map +1 -0
  47. package/lib/debugging/serializable.js +124 -0
  48. package/lib/debugging/serializable.js.map +1 -0
  49. package/lib/debugging/tryInspect.d.ts +6 -0
  50. package/lib/debugging/tryInspect.d.ts.map +1 -0
  51. package/lib/debugging/tryInspect.js +40 -0
  52. package/lib/debugging/tryInspect.js.map +1 -0
  53. package/lib/error/convertUnknown.d.ts +2 -0
  54. package/lib/error/convertUnknown.d.ts.map +1 -0
  55. package/lib/error/convertUnknown.js +9 -0
  56. package/lib/error/convertUnknown.js.map +1 -0
  57. package/lib/error/getFrame.d.ts +6 -0
  58. package/lib/error/getFrame.d.ts.map +1 -0
  59. package/lib/error/getFrame.js +14 -0
  60. package/lib/error/getFrame.js.map +1 -0
  61. package/lib/error/known.d.ts +14 -0
  62. package/lib/error/known.d.ts.map +1 -0
  63. package/lib/error/known.js +34 -0
  64. package/lib/error/known.js.map +1 -0
  65. package/lib/error/pretty.d.ts +39 -0
  66. package/lib/error/pretty.d.ts.map +1 -0
  67. package/lib/error/pretty.js +348 -0
  68. package/lib/error/pretty.js.map +1 -0
  69. package/lib/error/pretty.vscode.d.ts +12 -0
  70. package/lib/error/pretty.vscode.d.ts.map +1 -0
  71. package/lib/error/pretty.vscode.js +95 -0
  72. package/lib/error/pretty.vscode.js.map +1 -0
  73. package/lib/error-wellknown/exit.error.d.ts +10 -0
  74. package/lib/error-wellknown/exit.error.d.ts.map +1 -0
  75. package/lib/error-wellknown/exit.error.js +14 -0
  76. package/lib/error-wellknown/exit.error.js.map +1 -0
  77. package/lib/function/asyncCallbackList.d.ts +29 -0
  78. package/lib/function/asyncCallbackList.d.ts.map +1 -0
  79. package/lib/function/asyncCallbackList.js +63 -0
  80. package/lib/function/asyncCallbackList.js.map +1 -0
  81. package/lib/function/callbackList.d.ts +34 -0
  82. package/lib/function/callbackList.d.ts.map +1 -0
  83. package/lib/function/callbackList.js +74 -0
  84. package/lib/function/callbackList.js.map +1 -0
  85. package/lib/function/delayCallbackList.d.ts +17 -0
  86. package/lib/function/delayCallbackList.d.ts.map +1 -0
  87. package/lib/function/delayCallbackList.js +36 -0
  88. package/lib/function/delayCallbackList.js.map +1 -0
  89. package/lib/function/functionName.d.ts +22 -0
  90. package/lib/function/functionName.d.ts.map +1 -0
  91. package/lib/function/functionName.js +27 -0
  92. package/lib/function/functionName.js.map +1 -0
  93. package/lib/lifecycle/dispose/bridges/rxjs.d.ts +8 -0
  94. package/lib/lifecycle/dispose/bridges/rxjs.d.ts.map +1 -0
  95. package/lib/lifecycle/dispose/bridges/rxjs.js +4 -0
  96. package/lib/lifecycle/dispose/bridges/rxjs.js.map +1 -0
  97. package/lib/lifecycle/dispose/debug.d.ts +7 -0
  98. package/lib/lifecycle/dispose/debug.d.ts.map +1 -0
  99. package/lib/lifecycle/dispose/debug.js +22 -0
  100. package/lib/lifecycle/dispose/debug.js.map +1 -0
  101. package/lib/lifecycle/dispose/disposableEvent.d.ts +17 -0
  102. package/lib/lifecycle/dispose/disposableEvent.d.ts.map +1 -0
  103. package/lib/lifecycle/dispose/disposableEvent.js +75 -0
  104. package/lib/lifecycle/dispose/disposableEvent.js.map +1 -0
  105. package/lib/lifecycle/dispose/disposedError.d.ts +11 -0
  106. package/lib/lifecycle/dispose/disposedError.d.ts.map +1 -0
  107. package/lib/lifecycle/dispose/disposedError.js +28 -0
  108. package/lib/lifecycle/dispose/disposedError.js.map +1 -0
  109. package/lib/lifecycle/dispose/lifecycle.async.d.ts +46 -0
  110. package/lib/lifecycle/dispose/lifecycle.async.d.ts.map +1 -0
  111. package/lib/lifecycle/dispose/lifecycle.async.js +110 -0
  112. package/lib/lifecycle/dispose/lifecycle.async.js.map +1 -0
  113. package/lib/lifecycle/dispose/lifecycle.d.ts +27 -0
  114. package/lib/lifecycle/dispose/lifecycle.d.ts.map +1 -0
  115. package/lib/lifecycle/dispose/lifecycle.global.d.ts +29 -0
  116. package/lib/lifecycle/dispose/lifecycle.global.d.ts.map +1 -0
  117. package/lib/lifecycle/dispose/lifecycle.global.js +57 -0
  118. package/lib/lifecycle/dispose/lifecycle.global.js.map +1 -0
  119. package/lib/lifecycle/dispose/lifecycle.js +42 -0
  120. package/lib/lifecycle/dispose/lifecycle.js.map +1 -0
  121. package/lib/lifecycle/dispose/lifecycle.sync.d.ts +45 -0
  122. package/lib/lifecycle/dispose/lifecycle.sync.d.ts.map +1 -0
  123. package/lib/lifecycle/dispose/lifecycle.sync.js +114 -0
  124. package/lib/lifecycle/dispose/lifecycle.sync.js.map +1 -0
  125. package/lib/lifecycle/event/event.d.ts +53 -0
  126. package/lib/lifecycle/event/event.d.ts.map +1 -0
  127. package/lib/lifecycle/event/event.js +137 -0
  128. package/lib/lifecycle/event/event.js.map +1 -0
  129. package/lib/lifecycle/event/memorized.d.ts +17 -0
  130. package/lib/lifecycle/event/memorized.d.ts.map +1 -0
  131. package/lib/lifecycle/event/memorized.js +34 -0
  132. package/lib/lifecycle/event/memorized.js.map +1 -0
  133. package/lib/lifecycle/promise/cancel.d.ts +10 -0
  134. package/lib/lifecycle/promise/cancel.d.ts.map +1 -0
  135. package/lib/lifecycle/promise/cancel.js +15 -0
  136. package/lib/lifecycle/promise/cancel.js.map +1 -0
  137. package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts +11 -0
  138. package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts.map +1 -0
  139. package/lib/lifecycle/promise/cancellationToken/driver.browser.js +42 -0
  140. package/lib/lifecycle/promise/cancellationToken/driver.browser.js.map +1 -0
  141. package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts +11 -0
  142. package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts.map +1 -0
  143. package/lib/lifecycle/promise/cancellationToken/driver.common.js +38 -0
  144. package/lib/lifecycle/promise/cancellationToken/driver.common.js.map +1 -0
  145. package/lib/lifecycle/promise/cancellationToken/source.d.ts +27 -0
  146. package/lib/lifecycle/promise/cancellationToken/source.d.ts.map +1 -0
  147. package/lib/lifecycle/promise/cancellationToken/source.js +26 -0
  148. package/lib/lifecycle/promise/cancellationToken/source.js.map +1 -0
  149. package/lib/lifecycle/promise/deferredPromise.d.ts +55 -0
  150. package/lib/lifecycle/promise/deferredPromise.d.ts.map +1 -0
  151. package/lib/lifecycle/promise/deferredPromise.js +114 -0
  152. package/lib/lifecycle/promise/deferredPromise.js.map +1 -0
  153. package/lib/lifecycle/timeout/interval.d.ts +27 -0
  154. package/lib/lifecycle/timeout/interval.d.ts.map +1 -0
  155. package/lib/lifecycle/timeout/interval.js +58 -0
  156. package/lib/lifecycle/timeout/interval.js.map +1 -0
  157. package/lib/lifecycle/timeout/timeout.d.ts +16 -0
  158. package/lib/lifecycle/timeout/timeout.d.ts.map +1 -0
  159. package/lib/lifecycle/timeout/timeout.js +53 -0
  160. package/lib/lifecycle/timeout/timeout.js.map +1 -0
  161. package/lib/lifecycle/timeout/timeoutError.d.ts +11 -0
  162. package/lib/lifecycle/timeout/timeoutError.d.ts.map +1 -0
  163. package/lib/lifecycle/timeout/timeoutError.js +16 -0
  164. package/lib/lifecycle/timeout/timeoutError.js.map +1 -0
  165. package/lib/log/logger.d.ts +46 -0
  166. package/lib/log/logger.d.ts.map +1 -0
  167. package/lib/log/logger.js +95 -0
  168. package/lib/log/logger.js.map +1 -0
  169. package/lib/mapSet/customSet.d.ts +31 -0
  170. package/lib/mapSet/customSet.d.ts.map +1 -0
  171. package/lib/mapSet/customSet.js +70 -0
  172. package/lib/mapSet/customSet.js.map +1 -0
  173. package/lib/mapSet/extendMap.d.ts +21 -0
  174. package/lib/mapSet/extendMap.d.ts.map +1 -0
  175. package/lib/mapSet/extendMap.js +26 -0
  176. package/lib/mapSet/extendMap.js.map +1 -0
  177. package/lib/misc/assertNotNull.d.ts +12 -0
  178. package/lib/misc/assertNotNull.d.ts.map +1 -0
  179. package/lib/misc/assertNotNull.js +20 -0
  180. package/lib/misc/assertNotNull.js.map +1 -0
  181. package/lib/misc/package.json.d.ts +100 -0
  182. package/lib/misc/package.json.d.ts.map +1 -0
  183. package/lib/misc/package.json.js +37 -0
  184. package/lib/misc/package.json.js.map +1 -0
  185. package/lib/object/definePublicConstant.d.ts +3 -0
  186. package/lib/object/definePublicConstant.d.ts.map +1 -0
  187. package/lib/object/definePublicConstant.js +17 -0
  188. package/lib/object/definePublicConstant.js.map +1 -0
  189. package/lib/object/initOnRead.d.ts +8 -0
  190. package/lib/object/initOnRead.d.ts.map +1 -0
  191. package/lib/object/initOnRead.js +23 -0
  192. package/lib/object/initOnRead.js.map +1 -0
  193. package/lib/object/objectPath.d.ts +6 -0
  194. package/lib/object/objectPath.d.ts.map +1 -0
  195. package/lib/object/objectPath.js +11 -0
  196. package/lib/object/objectPath.js.map +1 -0
  197. package/lib/object/objectSame.d.ts +11 -0
  198. package/lib/object/objectSame.d.ts.map +1 -0
  199. package/lib/object/objectSame.js +51 -0
  200. package/lib/object/objectSame.js.map +1 -0
  201. package/lib/path/isAbsolute.d.ts +10 -0
  202. package/lib/path/isAbsolute.d.ts.map +1 -0
  203. package/lib/path/isAbsolute.js +12 -0
  204. package/lib/path/isAbsolute.js.map +1 -0
  205. package/lib/path/normalizePath.d.ts +23 -0
  206. package/lib/path/normalizePath.d.ts.map +1 -0
  207. package/lib/path/normalizePath.js +125 -0
  208. package/lib/path/normalizePath.js.map +1 -0
  209. package/lib/path/pathArray.d.ts +54 -0
  210. package/lib/path/pathArray.d.ts.map +1 -0
  211. package/lib/path/pathArray.js +135 -0
  212. package/lib/path/pathArray.js.map +1 -0
  213. package/lib/platform/globalObject.d.ts +9 -0
  214. package/lib/platform/globalObject.d.ts.map +1 -0
  215. package/lib/platform/globalObject.js +17 -0
  216. package/lib/platform/globalObject.js.map +1 -0
  217. package/lib/platform/globalSingleton.d.ts +29 -0
  218. package/lib/platform/globalSingleton.d.ts.map +1 -0
  219. package/lib/platform/globalSingleton.js +60 -0
  220. package/lib/platform/globalSingleton.js.map +1 -0
  221. package/lib/platform/globalSymbol.d.ts +13 -0
  222. package/lib/platform/globalSymbol.d.ts.map +1 -0
  223. package/lib/platform/globalSymbol.js +34 -0
  224. package/lib/platform/globalSymbol.js.map +1 -0
  225. package/lib/platform/os.d.ts +17 -0
  226. package/lib/platform/os.d.ts.map +1 -0
  227. package/lib/platform/os.js +57 -0
  228. package/lib/platform/os.js.map +1 -0
  229. package/lib/promise/awaitIterator.d.ts +5 -0
  230. package/lib/promise/awaitIterator.d.ts.map +1 -0
  231. package/lib/promise/awaitIterator.js +22 -0
  232. package/lib/promise/awaitIterator.js.map +1 -0
  233. package/lib/promise/finishAllPromise.d.ts +13 -0
  234. package/lib/promise/finishAllPromise.d.ts.map +1 -0
  235. package/lib/promise/finishAllPromise.js +37 -0
  236. package/lib/promise/finishAllPromise.js.map +1 -0
  237. package/lib/promise/promiseBool.d.ts +6 -0
  238. package/lib/promise/promiseBool.d.ts.map +1 -0
  239. package/lib/promise/promiseBool.js +8 -0
  240. package/lib/promise/promiseBool.js.map +1 -0
  241. package/lib/promise/promiseCollection.d.ts +11 -0
  242. package/lib/promise/promiseCollection.d.ts.map +1 -0
  243. package/lib/promise/promiseCollection.js +34 -0
  244. package/lib/promise/promiseCollection.js.map +1 -0
  245. package/lib/promise/timeoutPromiseCollection.d.ts +7 -0
  246. package/lib/promise/timeoutPromiseCollection.d.ts.map +1 -0
  247. package/lib/promise/timeoutPromiseCollection.js +20 -0
  248. package/lib/promise/timeoutPromiseCollection.js.map +1 -0
  249. package/lib/reflection/classes/hookClass.d.ts +11 -0
  250. package/lib/reflection/classes/hookClass.d.ts.map +1 -0
  251. package/lib/reflection/classes/hookClass.js +34 -0
  252. package/lib/reflection/classes/hookClass.js.map +1 -0
  253. package/lib/reflection/classes/singleton.d.ts +7 -0
  254. package/lib/reflection/classes/singleton.d.ts.map +1 -0
  255. package/lib/reflection/classes/singleton.js +30 -0
  256. package/lib/reflection/classes/singleton.js.map +1 -0
  257. package/lib/reflection/methods/bind.d.ts +5 -0
  258. package/lib/reflection/methods/bind.d.ts.map +1 -0
  259. package/lib/reflection/methods/bind.js +25 -0
  260. package/lib/reflection/methods/bind.js.map +1 -0
  261. package/lib/reflection/methods/initOnRead.d.ts +7 -0
  262. package/lib/reflection/methods/initOnRead.d.ts.map +1 -0
  263. package/lib/reflection/methods/initOnRead.js +11 -0
  264. package/lib/reflection/methods/initOnRead.js.map +1 -0
  265. package/lib/reflection/methods/memorize.d.ts +8 -0
  266. package/lib/reflection/methods/memorize.d.ts.map +1 -0
  267. package/lib/reflection/methods/memorize.js +28 -0
  268. package/lib/reflection/methods/memorize.js.map +1 -0
  269. package/lib/state/StateMachine.d.ts +19 -0
  270. package/lib/state/StateMachine.d.ts.map +1 -0
  271. package/lib/state/StateMachine.js +30 -0
  272. package/lib/state/StateMachine.js.map +1 -0
  273. package/lib/string/castCase.d.ts +17 -0
  274. package/lib/string/castCase.d.ts.map +1 -0
  275. package/lib/string/castCase.js +53 -0
  276. package/lib/string/castCase.js.map +1 -0
  277. package/lib/string/concatType.generated.d.ts +29 -0
  278. package/lib/string/concatType.generated.d.ts.map +1 -0
  279. package/lib/string/concatType.generated.js +17 -0
  280. package/lib/string/concatType.generated.js.map +1 -0
  281. package/lib/string/escapeRegexp.d.ts +3 -0
  282. package/lib/string/escapeRegexp.d.ts.map +1 -0
  283. package/lib/string/escapeRegexp.js +5 -0
  284. package/lib/string/escapeRegexp.js.map +1 -0
  285. package/lib/string/pad2.d.ts +6 -0
  286. package/lib/string/pad2.d.ts.map +1 -0
  287. package/lib/string/pad2.js +11 -0
  288. package/lib/string/pad2.js.map +1 -0
  289. package/lib/string/sizeString.d.ts +13 -0
  290. package/lib/string/sizeString.d.ts.map +1 -0
  291. package/lib/string/sizeString.js +59 -0
  292. package/lib/string/sizeString.js.map +1 -0
  293. package/lib/tsconfig.tsbuildinfo +1 -0
  294. package/lib/typingHelper/deep.partial.d.ts +10 -0
  295. package/lib/typingHelper/deep.partial.d.ts.map +1 -0
  296. package/lib/typingHelper/deep.partial.js +2 -0
  297. package/lib/typingHelper/deep.partial.js.map +1 -0
  298. package/lib/typingHelper/deep.readonly.d.ts +10 -0
  299. package/lib/typingHelper/deep.readonly.d.ts.map +1 -0
  300. package/lib/typingHelper/deep.readonly.js +2 -0
  301. package/lib/typingHelper/deep.readonly.js.map +1 -0
  302. package/lib/typingHelper/deep.required.d.ts +10 -0
  303. package/lib/typingHelper/deep.required.d.ts.map +1 -0
  304. package/lib/typingHelper/deep.required.js +2 -0
  305. package/lib/typingHelper/deep.required.js.map +1 -0
  306. package/lib/typingHelper/deep.writable.d.ts +10 -0
  307. package/lib/typingHelper/deep.writable.d.ts.map +1 -0
  308. package/lib/typingHelper/deep.writable.js +2 -0
  309. package/lib/typingHelper/deep.writable.js.map +1 -0
  310. package/lib/typingHelper/literal.d.ts +2 -0
  311. package/lib/typingHelper/literal.d.ts.map +1 -0
  312. package/lib/typingHelper/literal.js +2 -0
  313. package/lib/typingHelper/literal.js.map +1 -0
  314. package/package.json +3 -3
  315. package/src/autoindex.ts +4 -0
  316. 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":"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"}
@@ -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,10 @@
1
+ /**
2
+ * 应用程序退出
3
+ *
4
+ * 此错误通常不需要输出到日志
5
+ */
6
+ export declare class AppExit extends Error {
7
+ readonly code?: number | undefined;
8
+ constructor(message: string, code?: number | undefined);
9
+ }
10
+ //# sourceMappingURL=exit.error.d.ts.map
@@ -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,14 @@
1
+ /**
2
+ * 应用程序退出
3
+ *
4
+ * 此错误通常不需要输出到日志
5
+ */
6
+ export class AppExit extends Error {
7
+ code;
8
+ constructor(message, code) {
9
+ super(message);
10
+ this.code = code;
11
+ this.name = 'AppExit';
12
+ }
13
+ }
14
+ //# sourceMappingURL=exit.error.js.map
@@ -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"}