@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,42 @@
1
+ /** @internal */
2
+ export class CancellationDriverBrowser {
3
+ controller;
4
+ token;
5
+ disposeList = [];
6
+ constructor() {
7
+ this.controller = new AbortController();
8
+ const signal = this.controller.signal;
9
+ signal.addEventListener('abort', () => {
10
+ token.isCancellationRequested = true;
11
+ });
12
+ const disposeList = this.disposeList;
13
+ const token = {
14
+ isCancellationRequested: false,
15
+ onCancellationRequested(listener) {
16
+ const callback = () => listener();
17
+ signal.addEventListener('abort', callback);
18
+ const dispose = () => signal.removeEventListener('abort', callback);
19
+ disposeList.push(dispose);
20
+ return { dispose };
21
+ },
22
+ };
23
+ this.token = token;
24
+ }
25
+ cancel() {
26
+ if (this.token.isCancellationRequested) {
27
+ console.warn('[CancellationTokenSource] is already canceled.');
28
+ }
29
+ else {
30
+ this.token.isCancellationRequested = true;
31
+ this.controller.abort();
32
+ }
33
+ }
34
+ dispose() {
35
+ for (const removeListener of this.disposeList)
36
+ removeListener();
37
+ if (!this.token.isCancellationRequested) {
38
+ this.controller.abort();
39
+ }
40
+ }
41
+ }
42
+ //# sourceMappingURL=driver.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.browser.js","sourceRoot":"","sources":["../../../../src/lifecycle/promise/cancellationToken/driver.browser.ts"],"names":[],"mappings":"AAOA,gBAAgB;AAChB,MAAM,OAAO,yBAAyB;IACpB,UAAU,CAAkB;IAC7B,KAAK,CAAsB;IAC1B,WAAW,GAAmB,EAAE,CAAC;IAElD;QACC,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QACtC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACrC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,KAAK,GAAG;YACb,uBAAuB,EAAE,KAAK;YAC9B,uBAAuB,CAAC,QAA4B;gBACnD,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAElC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAE3C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACpE,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAE1B,OAAO,EAAE,OAAO,EAAE,CAAC;YACpB,CAAC;SACD,CAAC;QAEF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,MAAM;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACF,CAAC;IAED,OAAO;QACN,KAAK,MAAM,cAAc,IAAI,IAAI,CAAC,WAAW;YAAE,cAAc,EAAE,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,11 @@
1
+ import type { CancellationDriver, __CancellationToken } from './source.js';
2
+ /** @internal */
3
+ export declare class CancellationDriverCommon implements CancellationDriver {
4
+ private readonly emitter;
5
+ readonly token: __CancellationToken;
6
+ private readonly disposeList;
7
+ constructor();
8
+ cancel(): void;
9
+ dispose(): void;
10
+ }
11
+ //# sourceMappingURL=driver.common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.common.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle/promise/cancellationToken/driver.common.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAE3E,gBAAgB;AAChB,qBAAa,wBAAyB,YAAW,kBAAkB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,SAAgB,KAAK,EAAE,mBAAmB,CAAC;IAC3C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;;IAkBjD,MAAM;IASN,OAAO;CAMP"}
@@ -0,0 +1,38 @@
1
+ import { Emitter } from '../../event/event.js';
2
+ /** @internal */
3
+ export class CancellationDriverCommon {
4
+ emitter;
5
+ token;
6
+ disposeList = [];
7
+ constructor() {
8
+ const emitter = new Emitter();
9
+ this.emitter = emitter;
10
+ const disposeList = this.disposeList;
11
+ const token = {
12
+ isCancellationRequested: false,
13
+ onCancellationRequested(callback) {
14
+ const ret = emitter.handle(callback);
15
+ disposeList.push(ret);
16
+ return ret;
17
+ },
18
+ };
19
+ this.token = token;
20
+ }
21
+ cancel() {
22
+ if (this.token.isCancellationRequested) {
23
+ console.warn('[CancellationTokenSource] is already canceled.');
24
+ }
25
+ else {
26
+ this.token.isCancellationRequested = true;
27
+ this.emitter.fire();
28
+ }
29
+ }
30
+ dispose() {
31
+ for (const listen of this.disposeList)
32
+ listen.dispose();
33
+ if (!this.token.isCancellationRequested) {
34
+ this.cancel();
35
+ }
36
+ }
37
+ }
38
+ //# sourceMappingURL=driver.common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.common.js","sourceRoot":"","sources":["../../../../src/lifecycle/promise/cancellationToken/driver.common.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAqB,MAAM,sBAAsB,CAAC;AAIlE,gBAAgB;AAChB,MAAM,OAAO,wBAAwB;IACnB,OAAO,CAAgB;IACxB,KAAK,CAAsB;IAC1B,WAAW,GAAkB,EAAE,CAAC;IAEjD;QACC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,KAAK,GAAG;YACb,uBAAuB,EAAE,KAAK;YAC9B,uBAAuB,CAAC,QAA4B;gBACnD,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACrC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACtB,OAAO,GAAG,CAAC;YACZ,CAAC;SACD,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,MAAM;QACL,IAAI,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC;YAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;IACF,CAAC;IAED,OAAO;QACN,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,OAAO,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACf,CAAC;IACF,CAAC;CACD"}
@@ -0,0 +1,27 @@
1
+ import type { IDisposable } from '../../dispose/lifecycle.js';
2
+ import { DisposableOnce } from '../../dispose/lifecycle.sync.js';
3
+ import type { EventHandler } from '../../event/event.js';
4
+ /** @public */
5
+ export interface CancellationToken {
6
+ readonly isCancellationRequested: boolean;
7
+ onCancellationRequested(callback: EventHandler<void>): IDisposable;
8
+ }
9
+ /** @internal */
10
+ export interface __CancellationToken {
11
+ isCancellationRequested: boolean;
12
+ onCancellationRequested(callback: EventHandler<void>): IDisposable;
13
+ }
14
+ /** @internal */
15
+ export interface CancellationDriver extends IDisposable {
16
+ readonly token: CancellationToken;
17
+ cancel(): void;
18
+ }
19
+ /** @public */
20
+ export declare class CancellationTokenSource extends DisposableOnce implements IDisposable {
21
+ private readonly driver;
22
+ readonly token: CancellationToken;
23
+ constructor();
24
+ cancel(): void;
25
+ _dispose(): void;
26
+ }
27
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle/promise/cancellationToken/source.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIzD,cAAc;AACd,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,uBAAuB,EAAE,OAAO,CAAC;IAC1C,uBAAuB,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;CACnE;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IACnC,uBAAuB,EAAE,OAAO,CAAC;IACjC,uBAAuB,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;CACnE;AAED,gBAAgB;AAChB,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACtD,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IAClC,MAAM,IAAI,IAAI,CAAC;CACf;AAED,cAAc;AACd,qBAAa,uBAAwB,SAAQ,cAAe,YAAW,WAAW;IACjF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,SAAgB,KAAK,EAAE,iBAAiB,CAAC;;IAYzC,MAAM,IAAI,IAAI;IAId,QAAQ,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,26 @@
1
+ import { globalObject } from '../../../platform/globalObject.js';
2
+ import { DisposableOnce } from '../../dispose/lifecycle.sync.js';
3
+ import { CancellationDriverBrowser } from './driver.browser.js';
4
+ import { CancellationDriverCommon } from './driver.common.js';
5
+ /** @public */
6
+ export class CancellationTokenSource extends DisposableOnce {
7
+ driver;
8
+ token;
9
+ constructor() {
10
+ super();
11
+ if ('AbortController' in globalObject) {
12
+ this.driver = new CancellationDriverBrowser();
13
+ }
14
+ else {
15
+ this.driver = new CancellationDriverCommon();
16
+ }
17
+ this.token = this.driver.token;
18
+ }
19
+ cancel() {
20
+ this.driver.cancel();
21
+ }
22
+ _dispose() {
23
+ this.driver.dispose();
24
+ }
25
+ }
26
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../../src/lifecycle/promise/cancellationToken/source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAoB9D,cAAc;AACd,MAAM,OAAO,uBAAwB,SAAQ,cAAc;IACzC,MAAM,CAAqB;IAC5B,KAAK,CAAoB;IAEzC;QACC,KAAK,EAAE,CAAC;QACR,IAAI,iBAAiB,IAAI,YAAY,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAC/C,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,MAAM;QACL,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,55 @@
1
+ import type { IDisposable } from '../dispose/lifecycle.js';
2
+ export type ValueCallback<T = any> = (value: T | Promise<T>) => void;
3
+ export type ProgressCallback<T = any> = (value: T) => void;
4
+ export interface IProgressHolder<T, PT> {
5
+ progress(fn: ProgressCallback<PT>): Promise<T> & IProgressHolder<T, PT>;
6
+ }
7
+ /**
8
+ * a promise can resolve or reject later
9
+ * @public
10
+ */
11
+ export declare class DeferredPromise<T, PT = any> {
12
+ #private;
13
+ readonly p: Promise<T> & IProgressHolder<T, PT>;
14
+ constructor();
15
+ /**
16
+ * notify progress to callbacks
17
+ * @param progress argument
18
+ * @returns
19
+ */
20
+ notify(progress: PT): this;
21
+ /**
22
+ * register a progress callback
23
+ * @param fn progress callback function, will be called when notify is called
24
+ * @returns
25
+ */
26
+ progress(fn: ProgressCallback<PT>): IDisposable;
27
+ /**
28
+ * whether the promise is still working (not completed)
29
+ */
30
+ get working(): boolean;
31
+ /**
32
+ * whether the promise is completed (resolved or rejected)
33
+ */
34
+ get completed(): boolean;
35
+ get resolved(): boolean;
36
+ get rejected(): boolean;
37
+ /**
38
+ * resolve the promise
39
+ */
40
+ complete(value: T): void;
41
+ /**
42
+ * reject the promise
43
+ */
44
+ error(err: any): void;
45
+ /**
46
+ * reject the deferred with {CancelError}
47
+ */
48
+ cancel(): void;
49
+ /**
50
+ * Convert promise into deferred
51
+ * returns a DeferredPromise, resolve when prev resolve, reject when prev reject
52
+ */
53
+ static wrap(prev: Promise<any>): DeferredPromise<unknown, any>;
54
+ }
55
+ //# sourceMappingURL=deferredPromise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferredPromise.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/promise/deferredPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AACrE,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAE3D,MAAM,WAAW,eAAe,CAAC,CAAC,EAAE,EAAE;IACrC,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;CACxE;AAED;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG;;IACvC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;IAqBhD;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,EAAE,GAAG,IAAI;IAQ1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,WAAW;IAe/C;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC;IAMjB;;OAEG;IACH,KAAK,CAAC,GAAG,EAAE,GAAG;IAMd;;OAEG;IACH,MAAM;IAUN;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;CAY9B"}
@@ -0,0 +1,114 @@
1
+ import { CanceledError } from './cancel.js';
2
+ /**
3
+ * a promise can resolve or reject later
4
+ * @public
5
+ */
6
+ export class DeferredPromise {
7
+ p;
8
+ #completeCallback;
9
+ #errorCallback;
10
+ #success;
11
+ #progressList = [];
12
+ constructor() {
13
+ this.p = Object.assign(new Promise((c, e) => {
14
+ this.#completeCallback = c;
15
+ this.#errorCallback = e;
16
+ }), {
17
+ progress: (fn) => {
18
+ this.progress(fn);
19
+ return this.p;
20
+ },
21
+ });
22
+ }
23
+ /**
24
+ * notify progress to callbacks
25
+ * @param progress argument
26
+ * @returns
27
+ */
28
+ notify(progress) {
29
+ if (this.#success !== undefined)
30
+ throw new Error('no more event after settled');
31
+ for (const cb of this.#progressList) {
32
+ cb(progress);
33
+ }
34
+ return this;
35
+ }
36
+ /**
37
+ * register a progress callback
38
+ * @param fn progress callback function, will be called when notify is called
39
+ * @returns
40
+ */
41
+ progress(fn) {
42
+ if (this.#success !== undefined)
43
+ throw new Error('no more listener after settled');
44
+ this.#progressList.push(fn);
45
+ const dispose = () => {
46
+ const index = this.#progressList.indexOf(fn);
47
+ if (index >= 0) {
48
+ this.#progressList.splice(index, 1);
49
+ }
50
+ };
51
+ return {
52
+ dispose,
53
+ };
54
+ }
55
+ /**
56
+ * whether the promise is still working (not completed)
57
+ */
58
+ get working() {
59
+ return this.#success === undefined;
60
+ }
61
+ /**
62
+ * whether the promise is completed (resolved or rejected)
63
+ */
64
+ get completed() {
65
+ return this.#success !== undefined;
66
+ }
67
+ get resolved() {
68
+ return this.#success === true;
69
+ }
70
+ get rejected() {
71
+ return this.#success === false;
72
+ }
73
+ /**
74
+ * resolve the promise
75
+ */
76
+ complete(value) {
77
+ this.#success = true;
78
+ this.#completeCallback(value);
79
+ this.#no_more_progress();
80
+ }
81
+ /**
82
+ * reject the promise
83
+ */
84
+ error(err) {
85
+ this.#success = false;
86
+ this.#errorCallback(err);
87
+ this.#no_more_progress();
88
+ }
89
+ /**
90
+ * reject the deferred with {CancelError}
91
+ */
92
+ cancel() {
93
+ this.#success = false;
94
+ this.#errorCallback(new CanceledError());
95
+ this.#no_more_progress();
96
+ }
97
+ #no_more_progress() {
98
+ this.#progressList.length = 0;
99
+ }
100
+ /**
101
+ * Convert promise into deferred
102
+ * returns a DeferredPromise, resolve when prev resolve, reject when prev reject
103
+ */
104
+ static wrap(prev) {
105
+ const p = new DeferredPromise();
106
+ prev.then((d) => {
107
+ p.complete(d);
108
+ }, (e) => {
109
+ p.error(e);
110
+ });
111
+ return p;
112
+ }
113
+ }
114
+ //# sourceMappingURL=deferredPromise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferredPromise.js","sourceRoot":"","sources":["../../../src/lifecycle/promise/deferredPromise.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Disposable } from '../dispose/lifecycle.sync.js';
2
+ /**
3
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
4
+ * can not set to `true` on other platform.
5
+ * @returns dispose will stop the interval
6
+ */
7
+ export declare function interval(ms: number, action: () => void, unref?: boolean): {
8
+ dispose: () => void;
9
+ };
10
+ /**
11
+ * A simple interval class.
12
+ *
13
+ * mainly use for pause/resume several times.
14
+ */
15
+ export declare class Interval extends Disposable {
16
+ private readonly ms;
17
+ private readonly unref;
18
+ private readonly _emitter;
19
+ readonly onTick: import("../event/event.js").EventRegister<void>;
20
+ private timer?;
21
+ constructor(ms: number, unref?: boolean);
22
+ fire(): void;
23
+ resume(): void;
24
+ pause(): void;
25
+ dispose(): void;
26
+ }
27
+ //# sourceMappingURL=interval.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/timeout/interval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAG1D;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,KAAK,UAAQ;;EAYrE;AAED;;;;GAIG;AACH,qBAAa,QAAS,SAAQ,UAAU;IAMtC,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IANvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;IAChE,SAAgB,MAAM,kDAAuB;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAc;gBAGV,EAAE,EAAE,MAAM,EACV,KAAK,UAAQ;IAM/B,IAAI;IAIJ,MAAM;IAKN,KAAK;IAKI,OAAO;CAIhB"}
@@ -0,0 +1,58 @@
1
+ import { Disposable } from '../dispose/lifecycle.sync.js';
2
+ import { Emitter } from '../event/event.js';
3
+ /**
4
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
5
+ * can not set to `true` on other platform.
6
+ * @returns dispose will stop the interval
7
+ */
8
+ export function interval(ms, action, unref = false) {
9
+ let timer = setInterval(action, ms);
10
+ // unref is not supported in browser
11
+ if (unref)
12
+ timer.unref();
13
+ return {
14
+ dispose: () => {
15
+ if (!timer)
16
+ return;
17
+ clearInterval(timer);
18
+ timer = undefined;
19
+ },
20
+ };
21
+ }
22
+ /**
23
+ * A simple interval class.
24
+ *
25
+ * mainly use for pause/resume several times.
26
+ */
27
+ export class Interval extends Disposable {
28
+ ms;
29
+ unref;
30
+ _emitter = this._register(new Emitter());
31
+ onTick = this._emitter.event;
32
+ timer;
33
+ constructor(ms, unref = false) {
34
+ super();
35
+ this.ms = ms;
36
+ this.unref = unref;
37
+ this.fire = this.fire.bind(this);
38
+ }
39
+ fire() {
40
+ this._emitter.fire();
41
+ }
42
+ resume() {
43
+ if (this.timer)
44
+ return;
45
+ this.timer = interval(this.ms, this.fire, this.unref);
46
+ }
47
+ pause() {
48
+ if (!this.timer)
49
+ return;
50
+ this.timer.dispose();
51
+ }
52
+ dispose() {
53
+ if (this.timer)
54
+ this.timer.dispose();
55
+ return super.dispose();
56
+ }
57
+ }
58
+ //# sourceMappingURL=interval.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interval.js","sourceRoot":"","sources":["../../../src/lifecycle/timeout/interval.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAU,EAAE,MAAkB,EAAE,KAAK,GAAG,KAAK;IACrE,IAAI,KAAK,GAAuB,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACxD,oCAAoC;IACpC,IAAI,KAAK;QAAG,KAAa,CAAC,KAAK,EAAE,CAAC;IAElC,OAAO;QACN,OAAO,EAAE,GAAG,EAAE;YACb,IAAI,CAAC,KAAK;gBAAE,OAAO;YACnB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,KAAK,GAAG,SAAS,CAAC;QACnB,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,QAAS,SAAQ,UAAU;IAMrB;IACA;IAND,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,EAAQ,CAAC,CAAC;IAChD,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IACrC,KAAK,CAAe;IAE5B,YACkB,EAAU,EACV,QAAQ,KAAK;QAE9B,KAAK,EAAE,CAAC;QAHS,OAAE,GAAF,EAAE,CAAQ;QACV,UAAK,GAAL,KAAK,CAAQ;QAG9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACL,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAEQ,OAAO;QACf,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACrC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACD"}
@@ -0,0 +1,16 @@
1
+ import { DeferredPromise } from '../promise/deferredPromise.js';
2
+ /**
3
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
4
+ * can not set to `true` on other platform.
5
+ * @returns promise reject with TimeoutError after specific time
6
+ */
7
+ export declare function timeout(ms: number, error?: string, unref?: boolean): Promise<never>;
8
+ /**
9
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
10
+ * can not set to `true` on other platform.
11
+ * @returns promise resolve after specific time
12
+ */
13
+ export declare function sleep(ms: number, unref?: boolean): Promise<void>;
14
+ export declare function timeoutPromise<T>(ms: number, p: PromiseLike<T> | DeferredPromise<T>): PromiseLike<T>;
15
+ export declare function timeoutPromise<T>(ms: number, message: string, p: PromiseLike<T> | DeferredPromise<T>): PromiseLike<T>;
16
+ //# sourceMappingURL=timeout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/timeout/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,SAAgB,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAOxF;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;AACtG,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { DeferredPromise } from '../promise/deferredPromise.js';
2
+ import { TimeoutError } from './timeoutError.js';
3
+ /**
4
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
5
+ * can not set to `true` on other platform.
6
+ * @returns promise reject with TimeoutError after specific time
7
+ */
8
+ export function timeout(ms, error = 'no response', unref = false) {
9
+ return new Promise((_, reject) => {
10
+ const timer = setTimeout(() => {
11
+ reject(new TimeoutError(ms, error));
12
+ }, ms);
13
+ if (unref)
14
+ timer.unref();
15
+ });
16
+ }
17
+ /**
18
+ * @param unref defaults to `false`, when true, call `unref()` on the timer.
19
+ * can not set to `true` on other platform.
20
+ * @returns promise resolve after specific time
21
+ */
22
+ export function sleep(ms, unref = false) {
23
+ return new Promise((resolve) => {
24
+ const timer = setTimeout(() => {
25
+ resolve();
26
+ }, ms);
27
+ if (unref)
28
+ timer.unref();
29
+ });
30
+ }
31
+ /**
32
+ * race the promise with timeout
33
+ *
34
+ * @param ms timeout in milliseconds
35
+ * @param message error.message when timeout
36
+ * @param p the promise
37
+ * @returns
38
+ */
39
+ export function timeoutPromise(ms, message, p) {
40
+ let msg;
41
+ if (typeof message !== 'string') {
42
+ p = message;
43
+ msg = undefined;
44
+ }
45
+ else {
46
+ msg = message;
47
+ }
48
+ if (p instanceof DeferredPromise) {
49
+ return Promise.race([p.p, timeout(ms, msg)]);
50
+ }
51
+ return Promise.race([p, timeout(ms, msg)]);
52
+ }
53
+ //# sourceMappingURL=timeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../src/lifecycle/timeout/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,KAAK,GAAG,aAAa,EAAE,KAAK,GAAG,KAAK;IACvE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,MAAM,CAAC,IAAI,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,KAAK;YAAG,KAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU,EAAE,KAAK,GAAG,KAAK;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,KAAK;YAAG,KAAa,CAAC,KAAK,EAAE,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC;AAKD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC7B,EAAU,EACV,OAAqD,EACrD,CAAuC;IAEvC,IAAI,GAAuB,CAAC;IAC5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,CAAC,GAAG,OAAO,CAAC;QACZ,GAAG,GAAG,SAAS,CAAC;IACjB,CAAC;SAAM,CAAC;QACP,GAAG,GAAG,OAAO,CAAC;IACf,CAAC;IACD,IAAI,CAAC,YAAY,eAAe,EAAE,CAAC;QAClC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAmB,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Error when timeout() done
3
+ * @public
4
+ */
5
+ export declare class TimeoutError extends Error {
6
+ constructor(time: number, what?: string);
7
+ static is: typeof isTimeoutError;
8
+ }
9
+ /** @public */
10
+ export declare function isTimeoutError(error: unknown): error is TimeoutError;
11
+ //# sourceMappingURL=timeoutError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeoutError.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/timeout/timeoutError.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBAC1B,IAAI,EAAE,MAAM,EAAE,IAAI,SAAgB;IAI9C,MAAM,CAAC,EAAE,wBAAkB;CAC3B;AAED,cAAc;AACd,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,YAAY,CAEpE"}
@@ -0,0 +1,16 @@
1
+ import { humanDate } from '../../date/timeString.js';
2
+ /**
3
+ * Error when timeout() done
4
+ * @public
5
+ */
6
+ export class TimeoutError extends Error {
7
+ constructor(time, what = 'no response') {
8
+ super(`Timeout: ${what} in ${humanDate.deltaTiny(time)}`);
9
+ }
10
+ static is = isTimeoutError;
11
+ }
12
+ /** @public */
13
+ export function isTimeoutError(error) {
14
+ return error instanceof TimeoutError;
15
+ }
16
+ //# sourceMappingURL=timeoutError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeoutError.js","sourceRoot":"","sources":["../../../src/lifecycle/timeout/timeoutError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACtC,YAAY,IAAY,EAAE,IAAI,GAAG,aAAa;QAC7C,KAAK,CAAC,YAAY,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAC,EAAE,GAAG,cAAc,CAAC;;AAG5B,cAAc;AACd,MAAM,UAAU,cAAc,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,YAAY,CAAC;AACtC,CAAC"}
@@ -0,0 +1,46 @@
1
+ export declare enum ColorKind {
2
+ DISABLE = 0,
3
+ TERMINAL = 1,
4
+ WEB = 2,
5
+ DETECT = 3
6
+ }
7
+ export interface WrappedConsoleOptions {
8
+ parent?: Console;
9
+ bind?: boolean;
10
+ }
11
+ export declare abstract class WrappedConsole {
12
+ info: Console['info'];
13
+ log: Console['log'];
14
+ success: Console['log'];
15
+ debug: Console['debug'];
16
+ error: Console['error'];
17
+ trace: Console['trace'];
18
+ warn: Console['warn'];
19
+ assert: Console['assert'];
20
+ time: Console['time'];
21
+ timeEnd: Console['timeEnd'];
22
+ timeLog: Console['timeLog'];
23
+ count: Console['count'];
24
+ countReset: Console['countReset'];
25
+ group: Console['group'];
26
+ groupCollapsed: Console['groupCollapsed'];
27
+ groupEnd: Console['groupEnd'];
28
+ table: Console['table'];
29
+ dir: Console['dir'];
30
+ clear: Console['clear'];
31
+ protected readonly title: string;
32
+ protected readonly parent: Console;
33
+ protected readonly bind: boolean;
34
+ constructor(title: string, { parent, bind }?: WrappedConsoleOptions);
35
+ protected wrap<T extends keyof Omit<Console & {
36
+ Console: any;
37
+ }, 'Console'>>(original: T): Function;
38
+ private wrapSimple;
39
+ private wrapExtra;
40
+ protected createPrefix(message: string): string;
41
+ private wrapMessageAt;
42
+ private convertObjectArg;
43
+ protected abstract processColorLabel(normalizedArguments: any[], messageLoc: number, level: string, prefix: string): void;
44
+ protected uncolor(args: any[], pos: number, prefix: string, postfix: string): void;
45
+ }
46
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/log/logger.ts"],"names":[],"mappings":"AAGA,oBAAY,SAAS;IACpB,OAAO,IAAI;IACX,QAAQ,IAAI;IACZ,GAAG,IAAI;IACP,MAAM,IAAI;CACV;AAED,MAAM,WAAW,qBAAqB;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CACf;AAED,8BAAsB,cAAc;IACpB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE1B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC1C,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9B,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAErB,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAE,qBAA0B;IA4BvE,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ;IAOlG,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,SAAS;IAWjB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM;IAUtC,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,gBAAgB;IAaxB,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CACnC,mBAAmB,EAAE,GAAG,EAAE,EAC1B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACZ,IAAI;IAEP,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAG3E"}