@idlebox/common 1.4.12 → 1.4.14

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 (341) hide show
  1. package/config/autoindex.json +5 -0
  2. package/config/rig.json +5 -0
  3. package/lib/array/arrayDiff.d.ts +18 -0
  4. package/lib/array/arrayDiff.d.ts.map +1 -0
  5. package/lib/array/arrayDiff.js +23 -0
  6. package/lib/array/arrayDiff.js.map +1 -0
  7. package/lib/array/arraySame.d.ts +6 -0
  8. package/lib/array/arraySame.d.ts.map +1 -0
  9. package/lib/array/arraySame.js +16 -0
  10. package/lib/array/arraySame.js.map +1 -0
  11. package/lib/array/arrayUnique.d.ts +21 -0
  12. package/lib/array/arrayUnique.d.ts.map +1 -0
  13. package/lib/array/arrayUnique.js +43 -0
  14. package/lib/array/arrayUnique.js.map +1 -0
  15. package/lib/array/normalizeArray.d.ts +6 -0
  16. package/lib/array/normalizeArray.d.ts.map +1 -0
  17. package/lib/array/normalizeArray.js +14 -0
  18. package/lib/array/normalizeArray.js.map +1 -0
  19. package/lib/array/sortAlpha.d.ts +8 -0
  20. package/lib/array/sortAlpha.d.ts.map +1 -0
  21. package/lib/array/sortAlpha.js +16 -0
  22. package/lib/array/sortAlpha.js.map +1 -0
  23. package/lib/autoindex.d.ts +191 -0
  24. package/lib/autoindex.d.ts.map +1 -0
  25. package/lib/autoindex.js +259 -0
  26. package/lib/autoindex.js.map +1 -0
  27. package/lib/date/consts.d.ts +6 -0
  28. package/lib/date/consts.d.ts.map +1 -0
  29. package/lib/date/consts.js +6 -0
  30. package/lib/date/consts.js.map +1 -0
  31. package/lib/date/isInvalid.d.ts +5 -0
  32. package/lib/date/isInvalid.d.ts.map +1 -0
  33. package/lib/date/isInvalid.js +7 -0
  34. package/lib/date/isInvalid.js.map +1 -0
  35. package/lib/date/sibling.d.ts +8 -0
  36. package/lib/date/sibling.d.ts.map +1 -0
  37. package/lib/date/sibling.js +29 -0
  38. package/lib/date/sibling.js.map +1 -0
  39. package/lib/date/timeString.d.ts +46 -0
  40. package/lib/date/timeString.d.ts.map +1 -0
  41. package/lib/date/timeString.js +126 -0
  42. package/lib/date/timeString.js.map +1 -0
  43. package/lib/date/unix.d.ts +9 -0
  44. package/lib/date/unix.d.ts.map +1 -0
  45. package/lib/date/unix.js +13 -0
  46. package/lib/date/unix.js.map +1 -0
  47. package/lib/debugging/serializable.d.ts +13 -0
  48. package/lib/debugging/serializable.d.ts.map +1 -0
  49. package/lib/debugging/serializable.js +124 -0
  50. package/lib/debugging/serializable.js.map +1 -0
  51. package/lib/debugging/tryInspect.d.ts +6 -0
  52. package/lib/debugging/tryInspect.d.ts.map +1 -0
  53. package/lib/debugging/tryInspect.js +40 -0
  54. package/lib/debugging/tryInspect.js.map +1 -0
  55. package/lib/error/convertUnknown.d.ts +2 -0
  56. package/lib/error/convertUnknown.d.ts.map +1 -0
  57. package/lib/error/convertUnknown.js +9 -0
  58. package/lib/error/convertUnknown.js.map +1 -0
  59. package/lib/error/getFrame.d.ts +7 -0
  60. package/lib/error/getFrame.d.ts.map +1 -0
  61. package/lib/error/getFrame.js +14 -0
  62. package/lib/error/getFrame.js.map +1 -0
  63. package/lib/error/known.d.ts +14 -0
  64. package/lib/error/known.d.ts.map +1 -0
  65. package/lib/error/known.js +34 -0
  66. package/lib/error/known.js.map +1 -0
  67. package/lib/error/pretty.d.ts +39 -0
  68. package/lib/error/pretty.d.ts.map +1 -0
  69. package/lib/error/pretty.js +360 -0
  70. package/lib/error/pretty.js.map +1 -0
  71. package/lib/error/pretty.vscode.d.ts +12 -0
  72. package/lib/error/pretty.vscode.d.ts.map +1 -0
  73. package/lib/error/pretty.vscode.js +95 -0
  74. package/lib/error/pretty.vscode.js.map +1 -0
  75. package/lib/error/stackTrace.d.ts +15 -0
  76. package/lib/error/stackTrace.d.ts.map +1 -0
  77. package/lib/error/stackTrace.js +33 -0
  78. package/lib/error/stackTrace.js.map +1 -0
  79. package/lib/error-wellknown/exit.error.d.ts +13 -0
  80. package/lib/error-wellknown/exit.error.d.ts.map +1 -0
  81. package/lib/error-wellknown/exit.error.js +20 -0
  82. package/lib/error-wellknown/exit.error.js.map +1 -0
  83. package/lib/function/asyncCallbackList.d.ts +29 -0
  84. package/lib/function/asyncCallbackList.d.ts.map +1 -0
  85. package/lib/function/asyncCallbackList.js +63 -0
  86. package/lib/function/asyncCallbackList.js.map +1 -0
  87. package/lib/function/callbackList.d.ts +34 -0
  88. package/lib/function/callbackList.d.ts.map +1 -0
  89. package/lib/function/callbackList.js +74 -0
  90. package/lib/function/callbackList.js.map +1 -0
  91. package/lib/function/delayCallbackList.d.ts +17 -0
  92. package/lib/function/delayCallbackList.d.ts.map +1 -0
  93. package/lib/function/delayCallbackList.js +36 -0
  94. package/lib/function/delayCallbackList.js.map +1 -0
  95. package/lib/function/functionName.d.ts +26 -0
  96. package/lib/function/functionName.d.ts.map +1 -0
  97. package/lib/function/functionName.js +27 -0
  98. package/lib/function/functionName.js.map +1 -0
  99. package/lib/lifecycle/dispose/bridges/rxjs.d.ts +8 -0
  100. package/lib/lifecycle/dispose/bridges/rxjs.d.ts.map +1 -0
  101. package/lib/lifecycle/dispose/bridges/rxjs.js +4 -0
  102. package/lib/lifecycle/dispose/bridges/rxjs.js.map +1 -0
  103. package/lib/lifecycle/dispose/debug.d.ts +7 -0
  104. package/lib/lifecycle/dispose/debug.d.ts.map +1 -0
  105. package/lib/lifecycle/dispose/debug.js +22 -0
  106. package/lib/lifecycle/dispose/debug.js.map +1 -0
  107. package/lib/lifecycle/dispose/disposableEvent.d.ts +17 -0
  108. package/lib/lifecycle/dispose/disposableEvent.d.ts.map +1 -0
  109. package/lib/lifecycle/dispose/disposableEvent.js +75 -0
  110. package/lib/lifecycle/dispose/disposableEvent.js.map +1 -0
  111. package/lib/lifecycle/dispose/disposedError.d.ts +12 -0
  112. package/lib/lifecycle/dispose/disposedError.d.ts.map +1 -0
  113. package/lib/lifecycle/dispose/disposedError.js +31 -0
  114. package/lib/lifecycle/dispose/disposedError.js.map +1 -0
  115. package/lib/lifecycle/dispose/lifecycle.async.d.ts +46 -0
  116. package/lib/lifecycle/dispose/lifecycle.async.d.ts.map +1 -0
  117. package/lib/lifecycle/dispose/lifecycle.async.js +111 -0
  118. package/lib/lifecycle/dispose/lifecycle.async.js.map +1 -0
  119. package/lib/lifecycle/dispose/lifecycle.d.ts +32 -0
  120. package/lib/lifecycle/dispose/lifecycle.d.ts.map +1 -0
  121. package/lib/lifecycle/dispose/lifecycle.global.d.ts +29 -0
  122. package/lib/lifecycle/dispose/lifecycle.global.d.ts.map +1 -0
  123. package/lib/lifecycle/dispose/lifecycle.global.js +57 -0
  124. package/lib/lifecycle/dispose/lifecycle.global.js.map +1 -0
  125. package/lib/lifecycle/dispose/lifecycle.js +67 -0
  126. package/lib/lifecycle/dispose/lifecycle.js.map +1 -0
  127. package/lib/lifecycle/dispose/lifecycle.sync.d.ts +45 -0
  128. package/lib/lifecycle/dispose/lifecycle.sync.d.ts.map +1 -0
  129. package/lib/lifecycle/dispose/lifecycle.sync.js +115 -0
  130. package/lib/lifecycle/dispose/lifecycle.sync.js.map +1 -0
  131. package/lib/lifecycle/event/event.d.ts +53 -0
  132. package/lib/lifecycle/event/event.d.ts.map +1 -0
  133. package/lib/lifecycle/event/event.js +137 -0
  134. package/lib/lifecycle/event/event.js.map +1 -0
  135. package/lib/lifecycle/event/memorized.d.ts +17 -0
  136. package/lib/lifecycle/event/memorized.d.ts.map +1 -0
  137. package/lib/lifecycle/event/memorized.js +34 -0
  138. package/lib/lifecycle/event/memorized.js.map +1 -0
  139. package/lib/lifecycle/promise/cancel.d.ts +10 -0
  140. package/lib/lifecycle/promise/cancel.d.ts.map +1 -0
  141. package/lib/lifecycle/promise/cancel.js +15 -0
  142. package/lib/lifecycle/promise/cancel.js.map +1 -0
  143. package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts +11 -0
  144. package/lib/lifecycle/promise/cancellationToken/driver.browser.d.ts.map +1 -0
  145. package/lib/lifecycle/promise/cancellationToken/driver.browser.js +42 -0
  146. package/lib/lifecycle/promise/cancellationToken/driver.browser.js.map +1 -0
  147. package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts +11 -0
  148. package/lib/lifecycle/promise/cancellationToken/driver.common.d.ts.map +1 -0
  149. package/lib/lifecycle/promise/cancellationToken/driver.common.js +38 -0
  150. package/lib/lifecycle/promise/cancellationToken/driver.common.js.map +1 -0
  151. package/lib/lifecycle/promise/cancellationToken/source.d.ts +27 -0
  152. package/lib/lifecycle/promise/cancellationToken/source.d.ts.map +1 -0
  153. package/lib/lifecycle/promise/cancellationToken/source.js +26 -0
  154. package/lib/lifecycle/promise/cancellationToken/source.js.map +1 -0
  155. package/lib/lifecycle/promise/deferredPromise.d.ts +55 -0
  156. package/lib/lifecycle/promise/deferredPromise.d.ts.map +1 -0
  157. package/lib/lifecycle/promise/deferredPromise.js +114 -0
  158. package/lib/lifecycle/promise/deferredPromise.js.map +1 -0
  159. package/lib/lifecycle/timeout/interval.d.ts +27 -0
  160. package/lib/lifecycle/timeout/interval.d.ts.map +1 -0
  161. package/lib/lifecycle/timeout/interval.js +58 -0
  162. package/lib/lifecycle/timeout/interval.js.map +1 -0
  163. package/lib/lifecycle/timeout/timeout.d.ts +16 -0
  164. package/lib/lifecycle/timeout/timeout.d.ts.map +1 -0
  165. package/lib/lifecycle/timeout/timeout.js +53 -0
  166. package/lib/lifecycle/timeout/timeout.js.map +1 -0
  167. package/lib/lifecycle/timeout/timeoutError.d.ts +11 -0
  168. package/lib/lifecycle/timeout/timeoutError.d.ts.map +1 -0
  169. package/lib/lifecycle/timeout/timeoutError.js +16 -0
  170. package/lib/lifecycle/timeout/timeoutError.js.map +1 -0
  171. package/lib/log/logger.d.ts +46 -0
  172. package/lib/log/logger.d.ts.map +1 -0
  173. package/lib/log/logger.js +95 -0
  174. package/lib/log/logger.js.map +1 -0
  175. package/lib/mapSet/customSet.d.ts +31 -0
  176. package/lib/mapSet/customSet.d.ts.map +1 -0
  177. package/lib/mapSet/customSet.js +70 -0
  178. package/lib/mapSet/customSet.js.map +1 -0
  179. package/lib/mapSet/extendMap.d.ts +21 -0
  180. package/lib/mapSet/extendMap.d.ts.map +1 -0
  181. package/lib/mapSet/extendMap.js +26 -0
  182. package/lib/mapSet/extendMap.js.map +1 -0
  183. package/lib/misc/assertNotNull.d.ts +12 -0
  184. package/lib/misc/assertNotNull.d.ts.map +1 -0
  185. package/lib/misc/assertNotNull.js +20 -0
  186. package/lib/misc/assertNotNull.js.map +1 -0
  187. package/lib/misc/package.json.d.ts +110 -0
  188. package/lib/misc/package.json.d.ts.map +1 -0
  189. package/lib/misc/package.json.js +37 -0
  190. package/lib/misc/package.json.js.map +1 -0
  191. package/lib/object/definePublicConstant.d.ts +3 -0
  192. package/lib/object/definePublicConstant.d.ts.map +1 -0
  193. package/lib/object/definePublicConstant.js +17 -0
  194. package/lib/object/definePublicConstant.js.map +1 -0
  195. package/lib/object/initOnRead.d.ts +8 -0
  196. package/lib/object/initOnRead.d.ts.map +1 -0
  197. package/lib/object/initOnRead.js +23 -0
  198. package/lib/object/initOnRead.js.map +1 -0
  199. package/lib/object/objectPath.d.ts +30 -0
  200. package/lib/object/objectPath.d.ts.map +1 -0
  201. package/lib/object/objectPath.js +102 -0
  202. package/lib/object/objectPath.js.map +1 -0
  203. package/lib/object/objectSame.d.ts +11 -0
  204. package/lib/object/objectSame.d.ts.map +1 -0
  205. package/lib/object/objectSame.js +51 -0
  206. package/lib/object/objectSame.js.map +1 -0
  207. package/lib/path/isAbsolute.d.ts +10 -0
  208. package/lib/path/isAbsolute.d.ts.map +1 -0
  209. package/lib/path/isAbsolute.js +12 -0
  210. package/lib/path/isAbsolute.js.map +1 -0
  211. package/lib/path/normalizePath.d.ts +23 -0
  212. package/lib/path/normalizePath.d.ts.map +1 -0
  213. package/lib/path/normalizePath.js +125 -0
  214. package/lib/path/normalizePath.js.map +1 -0
  215. package/lib/path/pathArray.d.ts +54 -0
  216. package/lib/path/pathArray.d.ts.map +1 -0
  217. package/lib/path/pathArray.js +137 -0
  218. package/lib/path/pathArray.js.map +1 -0
  219. package/lib/platform/globalObject.d.ts +8 -0
  220. package/lib/platform/globalObject.d.ts.map +1 -0
  221. package/lib/platform/globalObject.js +14 -0
  222. package/lib/platform/globalObject.js.map +1 -0
  223. package/lib/platform/globalSingleton.d.ts +29 -0
  224. package/lib/platform/globalSingleton.d.ts.map +1 -0
  225. package/lib/platform/globalSingleton.js +60 -0
  226. package/lib/platform/globalSingleton.js.map +1 -0
  227. package/lib/platform/globalSymbol.d.ts +13 -0
  228. package/lib/platform/globalSymbol.d.ts.map +1 -0
  229. package/lib/platform/globalSymbol.js +34 -0
  230. package/lib/platform/globalSymbol.js.map +1 -0
  231. package/lib/platform/os.d.ts +17 -0
  232. package/lib/platform/os.d.ts.map +1 -0
  233. package/lib/platform/os.js +57 -0
  234. package/lib/platform/os.js.map +1 -0
  235. package/lib/promise/awaitIterator.d.ts +5 -0
  236. package/lib/promise/awaitIterator.d.ts.map +1 -0
  237. package/lib/promise/awaitIterator.js +22 -0
  238. package/lib/promise/awaitIterator.js.map +1 -0
  239. package/lib/promise/finishAllPromise.d.ts +13 -0
  240. package/lib/promise/finishAllPromise.d.ts.map +1 -0
  241. package/lib/promise/finishAllPromise.js +37 -0
  242. package/lib/promise/finishAllPromise.js.map +1 -0
  243. package/lib/promise/promiseBool.d.ts +6 -0
  244. package/lib/promise/promiseBool.d.ts.map +1 -0
  245. package/lib/promise/promiseBool.js +8 -0
  246. package/lib/promise/promiseBool.js.map +1 -0
  247. package/lib/promise/promiseCollection.d.ts +11 -0
  248. package/lib/promise/promiseCollection.d.ts.map +1 -0
  249. package/lib/promise/promiseCollection.js +34 -0
  250. package/lib/promise/promiseCollection.js.map +1 -0
  251. package/lib/promise/timeoutPromiseCollection.d.ts +7 -0
  252. package/lib/promise/timeoutPromiseCollection.d.ts.map +1 -0
  253. package/lib/promise/timeoutPromiseCollection.js +20 -0
  254. package/lib/promise/timeoutPromiseCollection.js.map +1 -0
  255. package/lib/reflection/classes/hookClass.d.ts +11 -0
  256. package/lib/reflection/classes/hookClass.d.ts.map +1 -0
  257. package/lib/reflection/classes/hookClass.js +34 -0
  258. package/lib/reflection/classes/hookClass.js.map +1 -0
  259. package/lib/reflection/classes/singleton.d.ts +7 -0
  260. package/lib/reflection/classes/singleton.d.ts.map +1 -0
  261. package/lib/reflection/classes/singleton.js +30 -0
  262. package/lib/reflection/classes/singleton.js.map +1 -0
  263. package/lib/reflection/methods/bind.d.ts +5 -0
  264. package/lib/reflection/methods/bind.d.ts.map +1 -0
  265. package/lib/reflection/methods/bind.js +25 -0
  266. package/lib/reflection/methods/bind.js.map +1 -0
  267. package/lib/reflection/methods/initOnRead.d.ts +7 -0
  268. package/lib/reflection/methods/initOnRead.d.ts.map +1 -0
  269. package/lib/reflection/methods/initOnRead.js +11 -0
  270. package/lib/reflection/methods/initOnRead.js.map +1 -0
  271. package/lib/reflection/methods/memorize.d.ts +8 -0
  272. package/lib/reflection/methods/memorize.d.ts.map +1 -0
  273. package/lib/reflection/methods/memorize.js +28 -0
  274. package/lib/reflection/methods/memorize.js.map +1 -0
  275. package/lib/state/StateMachine.d.ts +19 -0
  276. package/lib/state/StateMachine.d.ts.map +1 -0
  277. package/lib/state/StateMachine.js +30 -0
  278. package/lib/state/StateMachine.js.map +1 -0
  279. package/lib/string/castCase.d.ts +17 -0
  280. package/lib/string/castCase.d.ts.map +1 -0
  281. package/lib/string/castCase.js +53 -0
  282. package/lib/string/castCase.js.map +1 -0
  283. package/lib/string/concatType.generated.d.ts +29 -0
  284. package/lib/string/concatType.generated.d.ts.map +1 -0
  285. package/lib/string/concatType.generated.js +17 -0
  286. package/lib/string/concatType.generated.js.map +1 -0
  287. package/lib/string/escapeRegexp.d.ts +3 -0
  288. package/lib/string/escapeRegexp.d.ts.map +1 -0
  289. package/lib/string/escapeRegexp.js +5 -0
  290. package/lib/string/escapeRegexp.js.map +1 -0
  291. package/lib/string/pad2.d.ts +6 -0
  292. package/lib/string/pad2.d.ts.map +1 -0
  293. package/lib/string/pad2.js +11 -0
  294. package/lib/string/pad2.js.map +1 -0
  295. package/lib/string/sizeString.d.ts +13 -0
  296. package/lib/string/sizeString.d.ts.map +1 -0
  297. package/lib/string/sizeString.js +59 -0
  298. package/lib/string/sizeString.js.map +1 -0
  299. package/lib/tsconfig.tsbuildinfo +1 -0
  300. package/lib/typingHelper/deep.partial.d.ts +10 -0
  301. package/lib/typingHelper/deep.partial.d.ts.map +1 -0
  302. package/lib/typingHelper/deep.partial.js +2 -0
  303. package/lib/typingHelper/deep.partial.js.map +1 -0
  304. package/lib/typingHelper/deep.readonly.d.ts +10 -0
  305. package/lib/typingHelper/deep.readonly.d.ts.map +1 -0
  306. package/lib/typingHelper/deep.readonly.js +2 -0
  307. package/lib/typingHelper/deep.readonly.js.map +1 -0
  308. package/lib/typingHelper/deep.required.d.ts +10 -0
  309. package/lib/typingHelper/deep.required.d.ts.map +1 -0
  310. package/lib/typingHelper/deep.required.js +2 -0
  311. package/lib/typingHelper/deep.required.js.map +1 -0
  312. package/lib/typingHelper/deep.writable.d.ts +10 -0
  313. package/lib/typingHelper/deep.writable.d.ts.map +1 -0
  314. package/lib/typingHelper/deep.writable.js +2 -0
  315. package/lib/typingHelper/deep.writable.js.map +1 -0
  316. package/lib/typingHelper/literal.d.ts +2 -0
  317. package/lib/typingHelper/literal.d.ts.map +1 -0
  318. package/lib/typingHelper/literal.js +2 -0
  319. package/lib/typingHelper/literal.js.map +1 -0
  320. package/package.json +12 -12
  321. package/src/autoindex.ts +30 -17
  322. package/src/error/getFrame.ts +3 -1
  323. package/src/error/pretty.ts +17 -2
  324. package/src/error/stackTrace.ts +47 -0
  325. package/src/error-wellknown/exit.error.ts +7 -0
  326. package/src/function/functionName.ts +5 -0
  327. package/src/lifecycle/dispose/disposedError.ts +8 -1
  328. package/src/lifecycle/dispose/lifecycle.async.ts +3 -2
  329. package/src/lifecycle/dispose/lifecycle.global.ts +1 -1
  330. package/src/lifecycle/dispose/lifecycle.sync.ts +5 -4
  331. package/src/lifecycle/dispose/lifecycle.ts +30 -8
  332. package/src/lifecycle/event/event.ts +1 -1
  333. package/src/lifecycle/timeout/interval.ts +4 -2
  334. package/src/misc/package.json.ts +13 -0
  335. package/src/object/objectPath.test.ts +46 -0
  336. package/src/object/objectPath.ts +96 -0
  337. package/src/path/pathArray.ts +7 -5
  338. package/src/platform/globalObject.ts +0 -4
  339. package/src/string/concatType.generated.ts +9 -4
  340. package/src/tsconfig.json +2 -2
  341. package/src/global.d.ts +0 -1
@@ -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"}
@@ -0,0 +1,74 @@
1
+ import { nameFunction } from './functionName.js';
2
+ /**
3
+ * Manage a list of callback
4
+ */
5
+ export class CallbackList {
6
+ list = [];
7
+ running = false;
8
+ stop = false;
9
+ constructor() {
10
+ this.run = this.run.bind(this);
11
+ }
12
+ count() {
13
+ return this.list.length;
14
+ }
15
+ /**
16
+ * remove all callback
17
+ */
18
+ reset() {
19
+ if (this.running) {
20
+ throw new Error("Can not reset when it's running.");
21
+ }
22
+ this.list.length = 0;
23
+ }
24
+ /**
25
+ * @param name optional name of `item` (will assign displayName to `item`)
26
+ * @returns function list length
27
+ */
28
+ add(item, name) {
29
+ if (this.running) {
30
+ throw new Error("Can not add callback when it's running.");
31
+ }
32
+ if (name) {
33
+ nameFunction(name, item);
34
+ }
35
+ return this.list.push(item);
36
+ }
37
+ /**
38
+ * @returns if removed: return `item`; if did not exists: return null
39
+ */
40
+ remove(item) {
41
+ if (this.running) {
42
+ throw new Error("Can not remove callback when it's running.");
43
+ }
44
+ const found = this.list.indexOf(item);
45
+ if (found !== -1) {
46
+ return this.list.splice(found, 1)[0];
47
+ }
48
+ return null;
49
+ }
50
+ /**
51
+ * in a callback, call this.stopRun() to stop remain callbacks (not by return false)
52
+ * @returns {boolean} true if every callback called, false if stop in middle
53
+ */
54
+ run(...argument) {
55
+ if (this.running) {
56
+ throw new Error("can not run CallbackList in it's callback.");
57
+ }
58
+ this.stop = false;
59
+ this.running = true;
60
+ for (const cb of this.list) {
61
+ if (this.stop)
62
+ break;
63
+ cb(...argument);
64
+ }
65
+ this.running = false;
66
+ const ret = !this.stop;
67
+ this.stop = false;
68
+ return ret;
69
+ }
70
+ stopRun() {
71
+ this.stop = true;
72
+ }
73
+ }
74
+ //# sourceMappingURL=callbackList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"callbackList.js","sourceRoot":"","sources":["../../src/function/callbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;GAEG;AACH,MAAM,OAAO,YAAY;IACd,IAAI,GAA2B,EAAE,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC;IAChB,IAAI,GAAG,KAAK,CAAC;IAEvB;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;;OAEG;IACH,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,IAA0B,EAAE,IAAa;QAC5C,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,IAA0B;QAChC,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,GAAG,CAAC,GAAG,QAAkB;QACxB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAElB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI;gBAAE,MAAM;YACrB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,OAAO;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD"}
@@ -0,0 +1,17 @@
1
+ export interface MyDelayCallback<Argument extends unknown[]> {
2
+ displayName?: string;
3
+ (...param: Argument): void;
4
+ }
5
+ /**
6
+ * remember arguments after run
7
+ * run all later added function with memorized argument
8
+ */
9
+ export declare class DelayCallbackList<Argument extends unknown[]> {
10
+ private delayArgument?;
11
+ private delayComplete;
12
+ protected list?: MyDelayCallback<Argument>[];
13
+ count(): number;
14
+ add(item: MyDelayCallback<Argument>, name?: string): void;
15
+ run(argument: Argument): void;
16
+ }
17
+ //# sourceMappingURL=delayCallbackList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delayCallbackList.d.ts","sourceRoot":"","sources":["../../src/function/delayCallbackList.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,IAAI,CAAC;CAC3B;AAED;;;GAGG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,SAAS,OAAO,EAAE;IACxD,OAAO,CAAC,aAAa,CAAC,CAAW;IACjC,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAM;IAElD,KAAK;IAIL,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IAWlD,GAAG,CAAC,QAAQ,EAAE,QAAQ;CAWtB"}
@@ -0,0 +1,36 @@
1
+ import { nameFunction } from './functionName.js';
2
+ /**
3
+ * remember arguments after run
4
+ * run all later added function with memorized argument
5
+ */
6
+ export class DelayCallbackList {
7
+ delayArgument;
8
+ delayComplete = false;
9
+ list = [];
10
+ count() {
11
+ return this.list?.length ?? 0;
12
+ }
13
+ add(item, name) {
14
+ if (name) {
15
+ nameFunction(name, item);
16
+ }
17
+ if (this.delayComplete) {
18
+ item(...this.delayArgument);
19
+ }
20
+ else {
21
+ this.list?.push(item);
22
+ }
23
+ }
24
+ run(argument) {
25
+ if (this.delayComplete) {
26
+ throw new Error('call to delay callback twice!');
27
+ }
28
+ this.delayComplete = true;
29
+ this.delayArgument = argument;
30
+ this.list?.forEach((cb) => {
31
+ cb(...argument);
32
+ });
33
+ this.list = undefined;
34
+ }
35
+ }
36
+ //# sourceMappingURL=delayCallbackList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delayCallbackList.js","sourceRoot":"","sources":["../../src/function/delayCallbackList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjD;;;GAGG;AACH,MAAM,OAAO,iBAAiB;IACrB,aAAa,CAAY;IACzB,aAAa,GAAG,KAAK,CAAC;IAEpB,IAAI,GAAiC,EAAE,CAAC;IAElD,KAAK;QACJ,OAAO,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAA+B,EAAE,IAAa;QACjD,IAAI,IAAI,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,IAAI,CAAC,aAAc,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACF,CAAC;IAED,GAAG,CAAC,QAAkB;QACrB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACzB,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACvB,CAAC;CACD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Function with displayName
3
+ */
4
+ export interface NamedFunction extends Function {
5
+ displayName: string;
6
+ }
7
+ /**
8
+ * Get displayName/name of a function
9
+ */
10
+ export declare function functionName(func: Function): string;
11
+ /**
12
+ * Set displayName of a function
13
+ */
14
+ export declare function nameFunction<T extends Function>(name: string, func: T): T & NamedFunction;
15
+ export interface MaybeNamedFunction extends Function {
16
+ displayName?: string;
17
+ }
18
+ export interface MaybeNamed {
19
+ readonly name?: string;
20
+ readonly displayName?: string;
21
+ }
22
+ /**
23
+ * Assert function must have oneof displayName/name property
24
+ */
25
+ export declare function assertFunctionHasName(func: MaybeNamedFunction): void;
26
+ //# sourceMappingURL=functionName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functionName.d.ts","sourceRoot":"","sources":["../../src/function/functionName.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC9C,WAAW,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,UAE1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,aAAa,CAOzF;AAED,MAAM,WAAW,kBAAmB,SAAQ,QAAQ;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,QAK7D"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Get displayName/name of a function
3
+ */
4
+ export function functionName(func) {
5
+ return func.displayName || func.name;
6
+ }
7
+ /**
8
+ * Set displayName of a function
9
+ */
10
+ export function nameFunction(name, func) {
11
+ return Object.assign(func, {
12
+ displayName: name,
13
+ inspect() {
14
+ return `[Function: ${name}]`;
15
+ },
16
+ });
17
+ }
18
+ /**
19
+ * Assert function must have oneof displayName/name property
20
+ */
21
+ export function assertFunctionHasName(func) {
22
+ if (!func.displayName && !func.name) {
23
+ console.error(func);
24
+ throw new TypeError('function must have name!');
25
+ }
26
+ }
27
+ //# sourceMappingURL=functionName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functionName.js","sourceRoot":"","sources":["../../src/function/functionName.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc;IAC1C,OAAQ,IAAsB,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAqB,IAAY,EAAE,IAAO;IACrE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;QAC1B,WAAW,EAAE,IAAI;QACjB,OAAO;YACN,OAAO,cAAc,IAAI,GAAG,CAAC;QAC9B,CAAC;KACD,CAAC,CAAC;AACJ,CAAC;AAWD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAwB;IAC7D,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;IACjD,CAAC;AACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface Unsubscribable {
2
+ unsubscribe(): void;
3
+ }
4
+ export declare function unsubscribableToDisposable(subscription: Unsubscribable): {
5
+ dispose: () => void;
6
+ };
7
+ export {};
8
+ //# sourceMappingURL=rxjs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rxjs.d.ts","sourceRoot":"","sources":["../../../../src/lifecycle/dispose/bridges/rxjs.ts"],"names":[],"mappings":"AAAA,UAAU,cAAc;IACvB,WAAW,IAAI,IAAI,CAAC;CACpB;AACD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,cAAc;;EAEtE"}
@@ -0,0 +1,4 @@
1
+ export function unsubscribableToDisposable(subscription) {
2
+ return { dispose: () => subscription.unsubscribe() };
3
+ }
4
+ //# sourceMappingURL=rxjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rxjs.js","sourceRoot":"","sources":["../../../../src/lifecycle/dispose/bridges/rxjs.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,0BAA0B,CAAC,YAA4B;IACtE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC;AACtD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import debug from 'debug';
2
+ import type { IAsyncDisposable, IDisposable } from './lifecycle.js';
3
+ /** @internal */
4
+ export declare const _debug_dispose: debug.Debugger;
5
+ /** @internal */
6
+ export declare function dispose_name(dis: IDisposable | IAsyncDisposable, defaultName?: string): string;
7
+ //# sourceMappingURL=debug.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAEpE,gBAAgB;AAChB,eAAO,MAAM,cAAc,gBAAmB,CAAC;AAE/C,gBAAgB;AAChB,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,GAAG,gBAAgB,EAAE,WAAW,SAAc,GAAG,MAAM,CAEnG"}
@@ -0,0 +1,22 @@
1
+ import debug from 'debug';
2
+ /** @internal */
3
+ export const _debug_dispose = debug('dispose');
4
+ /** @internal */
5
+ export function dispose_name(dis, defaultName = '<unknown>') {
6
+ return dis.displayName || dis.name || name_of_func(dis.constructor) || name_of_func(dis.dispose) || defaultName;
7
+ }
8
+ function name_of_func(obj) {
9
+ const name = obj.name;
10
+ if (name === 'Object' ||
11
+ name === 'Function' ||
12
+ name === 'AsyncFunction' ||
13
+ name === 'GeneratorFunction' ||
14
+ name === 'AsyncGeneratorFunction' ||
15
+ name === 'Disposable' ||
16
+ name === 'AsyncDisposable' ||
17
+ name.toLowerCase() === 'dispose') {
18
+ return '';
19
+ }
20
+ return name;
21
+ }
22
+ //# sourceMappingURL=debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/C,gBAAgB;AAChB,MAAM,UAAU,YAAY,CAAC,GAAmC,EAAE,WAAW,GAAG,WAAW;IAC1F,OAAO,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC;AACjH,CAAC;AACD,SAAS,YAAY,CAAC,GAAQ;IAC7B,MAAM,IAAI,GAAW,GAAG,CAAC,IAAI,CAAC;IAE9B,IACC,IAAI,KAAK,QAAQ;QACjB,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,eAAe;QACxB,IAAI,KAAK,mBAAmB;QAC5B,IAAI,KAAK,wBAAwB;QACjC,IAAI,KAAK,YAAY;QACrB,IAAI,KAAK,iBAAiB;QAC1B,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS,EAC/B,CAAC;QACF,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { IDisposable } from './lifecycle.js';
2
+ export interface IEventListenerOptions {
3
+ capture?: boolean;
4
+ once?: boolean;
5
+ passive?: boolean;
6
+ }
7
+ export interface IEventHostObject<T extends Function> {
8
+ addEventListener(type: string, handler: T, options?: IEventListenerOptions): any;
9
+ removeEventListener(type: string, handler: T, options?: IEventListenerOptions): any;
10
+ }
11
+ export interface IEventEmitterObject<T extends Function> {
12
+ addListener(type: string, handler: T): any;
13
+ removeListener(type: string, handler: T): any;
14
+ }
15
+ export declare function addDisposableEventListener<T extends Function>(target: IEventHostObject<T> | IEventEmitterObject<T>, type: string, options: IEventListenerOptions, handler: T): IDisposable;
16
+ export declare function addDisposableEventListener<T extends Function>(target: IEventHostObject<T> | IEventEmitterObject<T>, type: string, handler: T): IDisposable;
17
+ //# sourceMappingURL=disposableEvent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposableEvent.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposableEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAIlD,MAAM,WAAW,qBAAqB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,QAAQ;IACnD,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC;IACjF,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,GAAG,CAAC;CACpF;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC,SAAS,QAAQ;IACtD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;IAC3C,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC;CAC9C;AAED,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,QAAQ,EAC5D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,CAAC,GACR,WAAW,CAAC;AAEf,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,QAAQ,EAC5D,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,EACpD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GACR,WAAW,CAAC"}
@@ -0,0 +1,75 @@
1
+ export function addDisposableEventListener(target, type, _options, _handler) {
2
+ if (!_handler) {
3
+ if (typeof _options === 'function') {
4
+ _handler = _options;
5
+ _options = undefined;
6
+ }
7
+ else {
8
+ throw new Error('missing handler');
9
+ }
10
+ }
11
+ const handler = _handler;
12
+ const options = _options;
13
+ let remove;
14
+ if ('addEventListener' in target) {
15
+ if (passiveSupported === undefined || abortSupported === undefined) {
16
+ checkAllSupport(target);
17
+ }
18
+ const [abort, xOptions] = check(options);
19
+ target.addEventListener(type, handler, xOptions);
20
+ if (abort) {
21
+ remove = () => {
22
+ abort;
23
+ };
24
+ }
25
+ else {
26
+ remove = () => {
27
+ target.removeEventListener(type, handler, xOptions);
28
+ };
29
+ }
30
+ }
31
+ else {
32
+ target.addListener(type, handler);
33
+ remove = () => {
34
+ target.removeListener(type, handler);
35
+ };
36
+ }
37
+ return { dispose: remove };
38
+ }
39
+ let passiveSupported;
40
+ let abortSupported;
41
+ function check(options = {}) {
42
+ if (!passiveSupported) {
43
+ return [undefined, (options.capture || false)];
44
+ }
45
+ if (abortSupported) {
46
+ const controller = new AbortController();
47
+ options.signal = controller.signal;
48
+ return [controller, options];
49
+ }
50
+ return [undefined, options];
51
+ }
52
+ function checkAllSupport(ele) {
53
+ passiveSupported = checkSupport('passive', ele);
54
+ abortSupported = typeof AbortController !== 'undefined' && checkSupport('signal', ele);
55
+ }
56
+ function checkSupport(field, ele) {
57
+ let supported = false;
58
+ try {
59
+ const options = {
60
+ get [field]() {
61
+ // This function will be called when the browser
62
+ // attempts to access the passive property.
63
+ supported = true;
64
+ return undefined;
65
+ },
66
+ };
67
+ ele.addEventListener('_test_', null, options);
68
+ ele.removeEventListener('_test_', null, options);
69
+ }
70
+ catch (err) {
71
+ supported = false;
72
+ }
73
+ return supported;
74
+ }
75
+ //# sourceMappingURL=disposableEvent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposableEvent.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposableEvent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { StackTraceHolder } from '../../error/stackTrace.js';
2
+ /**
3
+ * Error when call dispose() twice
4
+ */
5
+ export declare class DisposedError extends Error {
6
+ readonly previous: StackTraceHolder;
7
+ readonly inspectString: string;
8
+ constructor(object: any, previous: StackTraceHolder);
9
+ tryCreateConsoleWarning(): Promise<void>;
10
+ }
11
+ export declare function isDisposedError(error: any): boolean;
12
+ //# sourceMappingURL=disposedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposedError.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposedError.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;aAItB,QAAQ,EAAE,gBAAgB;IAH3C,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAErC,MAAM,EAAE,GAAG,EACK,QAAQ,EAAE,gBAAgB;IAiB9B,uBAAuB;CAMpC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAEnD"}
@@ -0,0 +1,31 @@
1
+ import { tryInspect } from '../../debugging/tryInspect.js';
2
+ import { getErrorFrame } from '../../error/getFrame.js';
3
+ import { prettyFormatError } from '../../error/pretty.js';
4
+ /**
5
+ * Error when call dispose() twice
6
+ */
7
+ export class DisposedError extends Error {
8
+ previous;
9
+ inspectString;
10
+ constructor(object, previous) {
11
+ const insp = tryInspect(object);
12
+ const old = Error.stackTraceLimit;
13
+ Error.stackTraceLimit = Number.MAX_SAFE_INTEGER;
14
+ super(`Object [${insp}] has already disposed ${getErrorFrame(previous, 2)}.`);
15
+ this.previous = previous;
16
+ Error.stackTraceLimit = old;
17
+ this.inspectString = insp;
18
+ this.name = 'Warning';
19
+ this.tryCreateConsoleWarning().catch(() => { });
20
+ }
21
+ async tryCreateConsoleWarning() {
22
+ console.error('DisposedWarning: duplicate dispose.');
23
+ console.error(' * first dispose:\n%s', prettyFormatError(this.previous, false));
24
+ console.error(' * current dispose:\n%s', prettyFormatError(this, false));
25
+ console.error(' * Object: %s', this.inspectString);
26
+ }
27
+ }
28
+ export function isDisposedError(error) {
29
+ return error instanceof DisposedError;
30
+ }
31
+ //# sourceMappingURL=disposedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposedError.js","sourceRoot":"","sources":["../../../src/lifecycle/dispose/disposedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAItB;IAHD,aAAa,CAAS;IACtC,YACC,MAAW,EACK,QAA0B;QAE1C,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAEhC,MAAM,GAAG,GAAI,KAAa,CAAC,eAAe,CAAC;QAC1C,KAAa,CAAC,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAEzD,KAAK,CAAC,WAAW,IAAI,0BAA0B,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;QAP9D,aAAQ,GAAR,QAAQ,CAAkB;QASzC,KAAa,CAAC,eAAe,GAAG,GAAG,CAAC;QAErC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QAEtB,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,uBAAuB;QACnC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;QAClF,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;CACD;AAED,MAAM,UAAU,eAAe,CAAC,KAAU;IACzC,OAAO,KAAK,YAAY,aAAa,CAAC;AACvC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type debug from 'debug';
2
+ import { Emitter, type EventRegister } from '../event/event.js';
3
+ import type { IAsyncDisposable, IDisposableEvents } from './lifecycle.js';
4
+ interface _DOMAsyncDisposable {
5
+ [Symbol.asyncDispose](): Promise<void>;
6
+ }
7
+ /**
8
+ * Async version of Disposable
9
+ * @public
10
+ */
11
+ export declare class AsyncDisposable implements IAsyncDisposable, IDisposableEvents {
12
+ private readonly _disposables;
13
+ protected readonly _onDisposeError: Emitter<Error>;
14
+ readonly onDisposeError: EventRegister<Error>;
15
+ protected readonly _onBeforeDispose: Emitter<void>;
16
+ readonly onBeforeDispose: EventRegister<void>;
17
+ private _disposed?;
18
+ readonly displayName?: string;
19
+ /** @internal */
20
+ protected readonly _logger: debug.Debugger;
21
+ constructor(displayName?: string);
22
+ get hasDisposed(): boolean;
23
+ /**
24
+ * @throws if already disposed
25
+ */
26
+ assertNotDisposed(): void;
27
+ /**
28
+ * register a disposable object
29
+ */
30
+ _register<T extends IAsyncDisposable>(d: T): T;
31
+ _register<T extends IAsyncDisposable & IDisposableEvents>(d: T, autoDereference?: boolean): T;
32
+ _unregister(d: IAsyncDisposable): boolean;
33
+ protected __finalize_dispose(): IAsyncDisposable[];
34
+ [Symbol.asyncDispose](): Promise<void>;
35
+ static fromWeb(disposable: _DOMAsyncDisposable): IAsyncDisposable;
36
+ toWeb(): _DOMAsyncDisposable;
37
+ dispose(): Promise<void>;
38
+ }
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare class AsyncDisposableUnordered extends AsyncDisposable {
43
+ dispose(): Promise<void>;
44
+ }
45
+ export {};
46
+ //# sourceMappingURL=lifecycle.async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.async.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/dispose/lifecycle.async.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,UAAU,mBAAmB;IAC5B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,gBAAgB,EAAE,iBAAiB;IAC1E,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0B;IAEvD,SAAS,CAAC,QAAQ,CAAC,eAAe,iBAAwB;IAC1D,SAAgB,cAAc,EAAE,aAAa,CAAC,KAAK,CAAC,CAAiC;IAErF,SAAS,CAAC,QAAQ,CAAC,gBAAgB,gBAAuB;IAC1D,SAAgB,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC,CAAkC;IAEtF,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC,gBAAgB;IAChB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC;gBAE/B,WAAW,CAAC,EAAE,MAAM;IAWhC,IAAW,WAAW,YAErB;IAED;;OAEG;IACI,iBAAiB;IAMxB;;OAEG;IACI,SAAS,CAAC,CAAC,SAAS,gBAAgB,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC;IAC9C,SAAS,CAAC,CAAC,SAAS,gBAAgB,GAAG,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC;IAa7F,WAAW,CAAC,CAAC,EAAE,gBAAgB;IAKtC,SAAS,CAAC,kBAAkB;IAe5B,CAAC,MAAM,CAAC,YAAY,CAAC;IAGrB,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,mBAAmB,GAAG,gBAAgB;IAMjE,KAAK,IAAI,mBAAmB;IAIf,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAUrC;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,eAAe;IAC7C,OAAO;CAYtB"}