@ls-stack/utils 3.65.0 → 3.66.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (336) hide show
  1. package/dist/{arrayUtils.d.cts → arrayUtils.d.mts} +24 -23
  2. package/dist/arrayUtils.mjs +249 -0
  3. package/dist/assertions-qMxfVhSu.mjs +207 -0
  4. package/dist/{assertions.d.ts → assertions.d.mts} +4 -3
  5. package/dist/assertions.mjs +3 -0
  6. package/dist/asyncQueue.d.mts +497 -0
  7. package/dist/asyncQueue.mjs +757 -0
  8. package/dist/{awaitDebounce.d.cts → awaitDebounce.d.mts} +11 -6
  9. package/dist/awaitDebounce.mjs +54 -0
  10. package/dist/{cache.d.ts → cache.d.mts} +76 -68
  11. package/dist/cache.mjs +355 -0
  12. package/dist/castValues-DfICShCc.mjs +19 -0
  13. package/dist/{castValues.d.cts → castValues.d.mts} +3 -2
  14. package/dist/castValues.mjs +3 -0
  15. package/dist/{concurrentCalls.d.ts → concurrentCalls.d.mts} +74 -65
  16. package/dist/concurrentCalls.mjs +295 -0
  17. package/dist/consoleFmt.d.mts +55 -0
  18. package/dist/consoleFmt.mjs +63 -0
  19. package/dist/conversions-DTmwEMIu.mjs +12 -0
  20. package/dist/conversions.d.mts +4 -0
  21. package/dist/conversions.mjs +3 -0
  22. package/dist/createThrottleController.d.mts +18 -0
  23. package/dist/createThrottleController.mjs +40 -0
  24. package/dist/debounce.d.mts +47 -0
  25. package/dist/debounce.mjs +117 -0
  26. package/dist/dedent.d.mts +74 -0
  27. package/dist/dedent.mjs +80 -0
  28. package/dist/deepEqual-C7EZEixx.mjs +78 -0
  29. package/dist/{deepEqual.d.cts → deepEqual.d.mts} +3 -2
  30. package/dist/deepEqual.mjs +3 -0
  31. package/dist/{deepReplaceValues.d.cts → deepReplaceValues.d.mts} +4 -3
  32. package/dist/deepReplaceValues.mjs +61 -0
  33. package/dist/diffParser.d.mts +63 -0
  34. package/dist/diffParser.mjs +410 -0
  35. package/dist/enhancedMap.d.mts +21 -0
  36. package/dist/enhancedMap.mjs +69 -0
  37. package/dist/exhaustiveMatch.d.mts +10 -0
  38. package/dist/exhaustiveMatch.mjs +48 -0
  39. package/dist/{filterObjectOrArrayKeys.d.cts → filterObjectOrArrayKeys.d.mts} +15 -8
  40. package/dist/filterObjectOrArrayKeys.mjs +497 -0
  41. package/dist/{getAutoIncrementId.d.cts → getAutoIncrementId.d.mts} +9 -5
  42. package/dist/getAutoIncrementId.mjs +53 -0
  43. package/dist/{getCompositeKey.d.cts → getCompositeKey.d.mts} +3 -2
  44. package/dist/getCompositeKey.mjs +50 -0
  45. package/dist/{getValueStableKey.d.cts → getValueStableKey.d.mts} +5 -3
  46. package/dist/getValueStableKey.mjs +17 -0
  47. package/dist/{hash.d.cts → hash.d.mts} +3 -2
  48. package/dist/hash.mjs +28 -0
  49. package/dist/interpolate.d.mts +17 -0
  50. package/dist/interpolate.mjs +28 -0
  51. package/dist/{iteratorUtils.d.cts → iteratorUtils.d.mts} +5 -4
  52. package/dist/iteratorUtils.mjs +39 -0
  53. package/dist/keepPrevIfUnchanged.d.mts +12 -0
  54. package/dist/keepPrevIfUnchanged.mjs +9 -0
  55. package/dist/keyedMap.d.mts +76 -0
  56. package/dist/keyedMap.mjs +139 -0
  57. package/dist/keyedSet.d.mts +77 -0
  58. package/dist/keyedSet.mjs +129 -0
  59. package/dist/{levenshtein.d.cts → levenshtein.d.mts} +3 -2
  60. package/dist/levenshtein.mjs +121 -0
  61. package/dist/main.d.mts +4 -0
  62. package/dist/main.mjs +7 -0
  63. package/dist/matchPath.d.mts +50 -0
  64. package/dist/matchPath.mjs +81 -0
  65. package/dist/mathUtils-BDP1lM_z.mjs +81 -0
  66. package/dist/{mathUtils.d.cts → mathUtils.d.mts} +3 -2
  67. package/dist/mathUtils.mjs +3 -0
  68. package/dist/{mutationUtils.d.cts → mutationUtils.d.mts} +6 -5
  69. package/dist/mutationUtils.mjs +44 -0
  70. package/dist/{objUtils.d.ts → objUtils.d.mts} +8 -6
  71. package/dist/objUtils.mjs +115 -0
  72. package/dist/parallelAsyncCalls.d.mts +83 -0
  73. package/dist/parallelAsyncCalls.mjs +121 -0
  74. package/dist/partialEqual.d.mts +139 -0
  75. package/dist/partialEqual.mjs +1055 -0
  76. package/dist/promiseUtils.d.mts +9 -0
  77. package/dist/promiseUtils.mjs +17 -0
  78. package/dist/regexUtils.d.mts +18 -0
  79. package/dist/regexUtils.mjs +34 -0
  80. package/dist/{retryOnError.d.cts → retryOnError.d.mts} +38 -37
  81. package/dist/retryOnError.mjs +91 -0
  82. package/dist/{runShellCmd.d.ts → runShellCmd.d.mts} +24 -15
  83. package/dist/runShellCmd.mjs +151 -0
  84. package/dist/{safeJson.d.cts → safeJson.d.mts} +3 -2
  85. package/dist/safeJson.mjs +30 -0
  86. package/dist/{saferTyping.d.cts → saferTyping.d.mts} +4 -3
  87. package/dist/saferTyping.mjs +45 -0
  88. package/dist/serializeXML.d.mts +23 -0
  89. package/dist/serializeXML.mjs +74 -0
  90. package/dist/{shallowEqual.d.cts → shallowEqual.d.mts} +3 -2
  91. package/dist/shallowEqual.mjs +54 -0
  92. package/dist/sleep.d.mts +4 -0
  93. package/dist/sleep.mjs +7 -0
  94. package/dist/stringUtils-DjhWOiYn.mjs +113 -0
  95. package/dist/{stringUtils.d.cts → stringUtils.d.mts} +3 -2
  96. package/dist/stringUtils.mjs +3 -0
  97. package/dist/{testUtils.d.ts → testUtils.d.mts} +83 -52
  98. package/dist/testUtils.mjs +310 -0
  99. package/dist/{throttle.d.ts → throttle.d.mts} +18 -17
  100. package/dist/throttle.mjs +102 -0
  101. package/dist/time-sr2lhQRw.mjs +67 -0
  102. package/dist/{time.d.ts → time.d.mts} +8 -7
  103. package/dist/time.mjs +3 -0
  104. package/dist/{timers.d.cts → timers.d.mts} +22 -13
  105. package/dist/timers.mjs +220 -0
  106. package/dist/{tsResult.d.cts → tsResult.d.mts} +52 -48
  107. package/dist/tsResult.mjs +142 -0
  108. package/dist/typeGuards-B1mzA-Rz.mjs +128 -0
  109. package/dist/{typeGuards.d.cts → typeGuards.d.mts} +3 -2
  110. package/dist/typeGuards.mjs +3 -0
  111. package/dist/{typeUtils.d.ts → typeUtils.d.mts} +13 -34
  112. package/dist/typeUtils.mjs +1 -0
  113. package/dist/{typedStrings.d.cts → typedStrings.d.mts} +5 -4
  114. package/dist/typedStrings.mjs +131 -0
  115. package/dist/typingFnUtils-Bb8drgKF.mjs +101 -0
  116. package/dist/{typingFnUtils.d.cts → typingFnUtils.d.mts} +13 -22
  117. package/dist/typingFnUtils.mjs +3 -0
  118. package/dist/{typingTestUtils.d.cts → typingTestUtils.d.mts} +11 -15
  119. package/dist/typingTestUtils.mjs +80 -0
  120. package/dist/typingUtils.d.mts +20 -0
  121. package/dist/typingUtils.mjs +1 -0
  122. package/dist/yamlStringify.d.mts +17 -0
  123. package/dist/yamlStringify.mjs +189 -0
  124. package/package.json +65 -242
  125. package/dist/arrayUtils.cjs +0 -229
  126. package/dist/arrayUtils.d.ts +0 -171
  127. package/dist/arrayUtils.js +0 -42
  128. package/dist/assertions.cjs +0 -107
  129. package/dist/assertions.d.cts +0 -192
  130. package/dist/assertions.js +0 -25
  131. package/dist/asyncQueue.cjs +0 -672
  132. package/dist/asyncQueue.d.cts +0 -488
  133. package/dist/asyncQueue.d.ts +0 -488
  134. package/dist/asyncQueue.js +0 -631
  135. package/dist/awaitDebounce.cjs +0 -106
  136. package/dist/awaitDebounce.d.ts +0 -41
  137. package/dist/awaitDebounce.js +0 -28
  138. package/dist/cache.cjs +0 -367
  139. package/dist/cache.d.cts +0 -228
  140. package/dist/cache.js +0 -19
  141. package/dist/castValues.cjs +0 -50
  142. package/dist/castValues.d.ts +0 -4
  143. package/dist/castValues.js +0 -8
  144. package/dist/chunk-5DZT3Z5Z.js +0 -8
  145. package/dist/chunk-6FBIEPWU.js +0 -96
  146. package/dist/chunk-6FIBVC2P.js +0 -56
  147. package/dist/chunk-7CQPOM5I.js +0 -100
  148. package/dist/chunk-B6DNOZCP.js +0 -369
  149. package/dist/chunk-BM4PYVOX.js +0 -109
  150. package/dist/chunk-C2SVCIWE.js +0 -57
  151. package/dist/chunk-CCUPDGSZ.js +0 -132
  152. package/dist/chunk-DBOWTYR4.js +0 -49
  153. package/dist/chunk-DFXNVEH6.js +0 -14
  154. package/dist/chunk-DX2524CZ.js +0 -314
  155. package/dist/chunk-GMJTLFM6.js +0 -60
  156. package/dist/chunk-IATIXMCE.js +0 -20
  157. package/dist/chunk-II4R3VVX.js +0 -25
  158. package/dist/chunk-JF2MDHOJ.js +0 -40
  159. package/dist/chunk-JQFUKJU5.js +0 -71
  160. package/dist/chunk-MI4UE2PQ.js +0 -561
  161. package/dist/chunk-PUKVXYYL.js +0 -52
  162. package/dist/chunk-QQS7I7ZL.js +0 -16
  163. package/dist/chunk-VAAMRG4K.js +0 -20
  164. package/dist/chunk-WFQJUJTC.js +0 -182
  165. package/dist/chunk-ZXIKIA5B.js +0 -178
  166. package/dist/concurrentCalls.cjs +0 -406
  167. package/dist/concurrentCalls.d.cts +0 -116
  168. package/dist/concurrentCalls.js +0 -346
  169. package/dist/consoleFmt.cjs +0 -85
  170. package/dist/consoleFmt.d.cts +0 -54
  171. package/dist/consoleFmt.d.ts +0 -54
  172. package/dist/consoleFmt.js +0 -60
  173. package/dist/conversions.cjs +0 -44
  174. package/dist/conversions.d.cts +0 -3
  175. package/dist/conversions.d.ts +0 -3
  176. package/dist/conversions.js +0 -6
  177. package/dist/createThrottleController.cjs +0 -193
  178. package/dist/createThrottleController.d.cts +0 -13
  179. package/dist/createThrottleController.d.ts +0 -13
  180. package/dist/createThrottleController.js +0 -61
  181. package/dist/debounce.cjs +0 -157
  182. package/dist/debounce.d.cts +0 -46
  183. package/dist/debounce.d.ts +0 -46
  184. package/dist/debounce.js +0 -8
  185. package/dist/dedent.cjs +0 -104
  186. package/dist/dedent.d.cts +0 -73
  187. package/dist/dedent.d.ts +0 -73
  188. package/dist/dedent.js +0 -79
  189. package/dist/deepEqual.cjs +0 -96
  190. package/dist/deepEqual.d.ts +0 -21
  191. package/dist/deepEqual.js +0 -8
  192. package/dist/deepReplaceValues.cjs +0 -87
  193. package/dist/deepReplaceValues.d.ts +0 -27
  194. package/dist/deepReplaceValues.js +0 -7
  195. package/dist/enhancedMap.cjs +0 -131
  196. package/dist/enhancedMap.d.cts +0 -20
  197. package/dist/enhancedMap.d.ts +0 -20
  198. package/dist/enhancedMap.js +0 -10
  199. package/dist/exhaustiveMatch.cjs +0 -66
  200. package/dist/exhaustiveMatch.d.cts +0 -9
  201. package/dist/exhaustiveMatch.d.ts +0 -9
  202. package/dist/exhaustiveMatch.js +0 -40
  203. package/dist/filterObjectOrArrayKeys.cjs +0 -619
  204. package/dist/filterObjectOrArrayKeys.d.ts +0 -88
  205. package/dist/filterObjectOrArrayKeys.js +0 -9
  206. package/dist/getAutoIncrementId.cjs +0 -44
  207. package/dist/getAutoIncrementId.d.ts +0 -46
  208. package/dist/getAutoIncrementId.js +0 -18
  209. package/dist/getCompositeKey.cjs +0 -86
  210. package/dist/getCompositeKey.d.ts +0 -11
  211. package/dist/getCompositeKey.js +0 -8
  212. package/dist/getValueStableKey.cjs +0 -89
  213. package/dist/getValueStableKey.d.ts +0 -15
  214. package/dist/getValueStableKey.js +0 -11
  215. package/dist/hash.cjs +0 -57
  216. package/dist/hash.d.ts +0 -7
  217. package/dist/hash.js +0 -32
  218. package/dist/interpolate.cjs +0 -88
  219. package/dist/interpolate.d.cts +0 -11
  220. package/dist/interpolate.d.ts +0 -11
  221. package/dist/interpolate.js +0 -46
  222. package/dist/iteratorUtils.cjs +0 -73
  223. package/dist/iteratorUtils.d.ts +0 -10
  224. package/dist/iteratorUtils.js +0 -44
  225. package/dist/keepPrevIfUnchanged.cjs +0 -102
  226. package/dist/keepPrevIfUnchanged.d.cts +0 -7
  227. package/dist/keepPrevIfUnchanged.d.ts +0 -7
  228. package/dist/keepPrevIfUnchanged.js +0 -7
  229. package/dist/keyedMap.cjs +0 -224
  230. package/dist/keyedMap.d.cts +0 -75
  231. package/dist/keyedMap.d.ts +0 -75
  232. package/dist/keyedMap.js +0 -145
  233. package/dist/keyedSet.cjs +0 -205
  234. package/dist/keyedSet.d.cts +0 -76
  235. package/dist/keyedSet.d.ts +0 -76
  236. package/dist/keyedSet.js +0 -126
  237. package/dist/levenshtein.cjs +0 -180
  238. package/dist/levenshtein.d.ts +0 -5
  239. package/dist/levenshtein.js +0 -153
  240. package/dist/main.cjs +0 -32
  241. package/dist/main.d.cts +0 -3
  242. package/dist/main.d.ts +0 -3
  243. package/dist/main.js +0 -7
  244. package/dist/matchPath.cjs +0 -155
  245. package/dist/matchPath.d.cts +0 -53
  246. package/dist/matchPath.d.ts +0 -53
  247. package/dist/matchPath.js +0 -108
  248. package/dist/mathUtils.cjs +0 -81
  249. package/dist/mathUtils.d.ts +0 -54
  250. package/dist/mathUtils.js +0 -22
  251. package/dist/mutationUtils.cjs +0 -153
  252. package/dist/mutationUtils.d.ts +0 -15
  253. package/dist/mutationUtils.js +0 -55
  254. package/dist/objUtils.cjs +0 -242
  255. package/dist/objUtils.d.cts +0 -28
  256. package/dist/objUtils.js +0 -38
  257. package/dist/parallelAsyncCalls.cjs +0 -162
  258. package/dist/parallelAsyncCalls.d.cts +0 -82
  259. package/dist/parallelAsyncCalls.d.ts +0 -82
  260. package/dist/parallelAsyncCalls.js +0 -126
  261. package/dist/partialEqual.cjs +0 -1196
  262. package/dist/partialEqual.d.cts +0 -141
  263. package/dist/partialEqual.d.ts +0 -141
  264. package/dist/partialEqual.js +0 -1168
  265. package/dist/promiseUtils.cjs +0 -38
  266. package/dist/promiseUtils.d.cts +0 -8
  267. package/dist/promiseUtils.d.ts +0 -8
  268. package/dist/promiseUtils.js +0 -6
  269. package/dist/regexUtils.cjs +0 -60
  270. package/dist/regexUtils.d.cts +0 -17
  271. package/dist/regexUtils.d.ts +0 -17
  272. package/dist/regexUtils.js +0 -33
  273. package/dist/retryOnError.cjs +0 -130
  274. package/dist/retryOnError.d.ts +0 -83
  275. package/dist/retryOnError.js +0 -101
  276. package/dist/runShellCmd.cjs +0 -127
  277. package/dist/runShellCmd.d.cts +0 -90
  278. package/dist/runShellCmd.js +0 -98
  279. package/dist/safeJson.cjs +0 -45
  280. package/dist/safeJson.d.ts +0 -16
  281. package/dist/safeJson.js +0 -8
  282. package/dist/saferTyping.cjs +0 -52
  283. package/dist/saferTyping.d.ts +0 -47
  284. package/dist/saferTyping.js +0 -23
  285. package/dist/serializeXML.cjs +0 -154
  286. package/dist/serializeXML.d.cts +0 -22
  287. package/dist/serializeXML.d.ts +0 -22
  288. package/dist/serializeXML.js +0 -116
  289. package/dist/shallowEqual.cjs +0 -88
  290. package/dist/shallowEqual.d.ts +0 -4
  291. package/dist/shallowEqual.js +0 -63
  292. package/dist/sleep.cjs +0 -32
  293. package/dist/sleep.d.cts +0 -3
  294. package/dist/sleep.d.ts +0 -3
  295. package/dist/sleep.js +0 -6
  296. package/dist/stringUtils.cjs +0 -155
  297. package/dist/stringUtils.d.ts +0 -55
  298. package/dist/stringUtils.js +0 -50
  299. package/dist/testUtils.cjs +0 -1490
  300. package/dist/testUtils.d.cts +0 -133
  301. package/dist/testUtils.js +0 -359
  302. package/dist/throttle.cjs +0 -282
  303. package/dist/throttle.d.cts +0 -98
  304. package/dist/throttle.js +0 -38
  305. package/dist/time.cjs +0 -152
  306. package/dist/time.d.cts +0 -25
  307. package/dist/time.js +0 -38
  308. package/dist/timers.cjs +0 -194
  309. package/dist/timers.d.ts +0 -121
  310. package/dist/timers.js +0 -156
  311. package/dist/tsResult.cjs +0 -226
  312. package/dist/tsResult.d.ts +0 -114
  313. package/dist/tsResult.js +0 -180
  314. package/dist/typeGuards.cjs +0 -70
  315. package/dist/typeGuards.d.ts +0 -111
  316. package/dist/typeGuards.js +0 -18
  317. package/dist/typeUtils.cjs +0 -18
  318. package/dist/typeUtils.d.cts +0 -61
  319. package/dist/typeUtils.js +0 -0
  320. package/dist/typedStrings.cjs +0 -90
  321. package/dist/typedStrings.d.ts +0 -163
  322. package/dist/typedStrings.js +0 -57
  323. package/dist/typingFnUtils.cjs +0 -96
  324. package/dist/typingFnUtils.d.ts +0 -100
  325. package/dist/typingFnUtils.js +0 -30
  326. package/dist/typingTestUtils.cjs +0 -52
  327. package/dist/typingTestUtils.d.ts +0 -79
  328. package/dist/typingTestUtils.js +0 -27
  329. package/dist/typingUtils.cjs +0 -18
  330. package/dist/typingUtils.d.cts +0 -35
  331. package/dist/typingUtils.d.ts +0 -35
  332. package/dist/typingUtils.js +0 -0
  333. package/dist/yamlStringify.cjs +0 -423
  334. package/dist/yamlStringify.d.cts +0 -10
  335. package/dist/yamlStringify.d.ts +0 -10
  336. package/dist/yamlStringify.js +0 -9
package/dist/timers.cjs DELETED
@@ -1,194 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/timers.ts
21
- var timers_exports = {};
22
- __export(timers_exports, {
23
- createDebouncedTimeout: () => createDebouncedTimeout,
24
- createInterval: () => createInterval,
25
- createTimeout: () => createTimeout,
26
- createWaitUntil: () => createWaitUntil,
27
- waitFor: () => waitFor
28
- });
29
- module.exports = __toCommonJS(timers_exports);
30
- var import_t_result = require("t-result");
31
-
32
- // src/promiseUtils.ts
33
- function defer() {
34
- let resolve;
35
- let reject;
36
- const promise = new Promise((_resolve, _reject) => {
37
- resolve = _resolve;
38
- reject = _reject;
39
- });
40
- return { resolve, reject, promise };
41
- }
42
-
43
- // src/timers.ts
44
- function createTimeout(ms, callback) {
45
- const timeoutId = setTimeout(callback, ms);
46
- let isCleaned = false;
47
- return () => {
48
- if (isCleaned) return;
49
- clearTimeout(timeoutId);
50
- isCleaned = true;
51
- };
52
- }
53
- function createInterval(ms, callback) {
54
- const intervalId = setInterval(callback, ms);
55
- let isCleaned = false;
56
- return () => {
57
- if (isCleaned) return;
58
- clearInterval(intervalId);
59
- isCleaned = true;
60
- };
61
- }
62
- function createDebouncedTimeout(ms, callback) {
63
- let cleanupTimer = null;
64
- return {
65
- clean: () => {
66
- cleanupTimer?.();
67
- },
68
- call: () => {
69
- cleanupTimer?.();
70
- cleanupTimer = createTimeout(ms, () => {
71
- callback();
72
- });
73
- }
74
- };
75
- }
76
- function createWaitUntil({
77
- condition,
78
- maxWaitMs,
79
- callback,
80
- checkIntervalMs = 20
81
- }) {
82
- let cleanCheckTimeout = null;
83
- let cleanMaxWaitTimeout = null;
84
- cleanMaxWaitTimeout = createTimeout(maxWaitMs, () => {
85
- cleanCheckTimeout?.();
86
- });
87
- function check() {
88
- const result = condition();
89
- if (result) {
90
- cleanMaxWaitTimeout?.();
91
- callback(result);
92
- } else {
93
- cleanCheckTimeout = createTimeout(checkIntervalMs, check);
94
- }
95
- }
96
- check();
97
- return () => {
98
- cleanMaxWaitTimeout();
99
- cleanCheckTimeout?.();
100
- };
101
- }
102
- async function waitFor(condition, { polling, timeout }) {
103
- const { promise, resolve } = defer();
104
- let timeoutId = null;
105
- let intervalId = null;
106
- let rafId = null;
107
- let isResolved = false;
108
- function cleanup() {
109
- if (timeoutId) {
110
- clearTimeout(timeoutId);
111
- timeoutId = null;
112
- }
113
- if (intervalId) {
114
- clearInterval(intervalId);
115
- intervalId = null;
116
- }
117
- if (rafId && typeof cancelAnimationFrame !== "undefined") {
118
- cancelAnimationFrame(rafId);
119
- rafId = null;
120
- }
121
- }
122
- function resolveWith(result) {
123
- if (isResolved) return;
124
- isResolved = true;
125
- cleanup();
126
- resolve(result);
127
- }
128
- async function checkCondition() {
129
- try {
130
- const result = condition();
131
- const conditionMet = result instanceof Promise ? await result : result;
132
- if (conditionMet) {
133
- resolveWith(import_t_result.Result.ok(void 0));
134
- return true;
135
- }
136
- return false;
137
- } catch (error) {
138
- resolveWith(import_t_result.Result.err(new Error(`Condition check failed: ${error}`)));
139
- return true;
140
- }
141
- }
142
- checkCondition().then((resolved) => {
143
- if (resolved) {
144
- return;
145
- }
146
- timeoutId = setTimeout(() => {
147
- resolveWith(
148
- import_t_result.Result.err(
149
- new Error(
150
- `Timeout of ${timeout}ms exceeded while waiting for condition`
151
- )
152
- )
153
- );
154
- }, timeout);
155
- if (polling === "raf") {
156
- let rafCheck2 = function() {
157
- if (isResolved) return;
158
- checkCondition().then((conditionResolved) => {
159
- if (!conditionResolved && !isResolved) {
160
- rafId = requestAnimationFrame(rafCheck2);
161
- }
162
- }).catch(() => {
163
- });
164
- };
165
- var rafCheck = rafCheck2;
166
- if (typeof requestAnimationFrame === "undefined") {
167
- resolveWith(
168
- import_t_result.Result.err(
169
- new Error(
170
- "requestAnimationFrame is not available in this environment"
171
- )
172
- )
173
- );
174
- return;
175
- }
176
- rafId = requestAnimationFrame(rafCheck2);
177
- } else {
178
- intervalId = setInterval(() => {
179
- checkCondition().catch(() => {
180
- });
181
- }, polling);
182
- }
183
- }).catch(() => {
184
- });
185
- return promise;
186
- }
187
- // Annotate the CommonJS export names for ESM import in node:
188
- 0 && (module.exports = {
189
- createDebouncedTimeout,
190
- createInterval,
191
- createTimeout,
192
- createWaitUntil,
193
- waitFor
194
- });
package/dist/timers.d.ts DELETED
@@ -1,121 +0,0 @@
1
- import { Result } from 't-result';
2
-
3
- type CleanupTimer = () => void;
4
- /**
5
- * Creates a timeout with automatic cleanup capability.
6
- *
7
- * Returns a cleanup function that can be called to cancel the timeout. The
8
- * cleanup function is idempotent - calling it multiple times is safe.
9
- *
10
- * @example
11
- * ```typescript
12
- * const cleanup = createTimeout(1000, () => {
13
- * console.log('Timeout completed');
14
- * });
15
- *
16
- * // Cancel the timeout before it completes
17
- * cleanup();
18
- * ```;
19
- *
20
- * @param ms - The timeout duration in milliseconds
21
- * @param callback - The function to execute when the timeout completes
22
- * @returns A cleanup function that cancels the timeout when called
23
- */
24
- declare function createTimeout(ms: number, callback: () => void): CleanupTimer;
25
- /**
26
- * Creates an interval with automatic cleanup capability.
27
- *
28
- * Returns a cleanup function that can be called to cancel the interval. The
29
- * cleanup function is idempotent - calling it multiple times is safe.
30
- *
31
- * @example
32
- * ```typescript
33
- * const cleanup = createInterval(1000, () => {
34
- * console.log('Interval tick');
35
- * });
36
- *
37
- * // Stop the interval
38
- * cleanup();
39
- * ```;
40
- *
41
- * @param ms - The interval duration in milliseconds
42
- * @param callback - The function to execute on each interval tick
43
- * @returns A cleanup function that cancels the interval when called
44
- */
45
- declare function createInterval(ms: number, callback: () => void): CleanupTimer;
46
- /**
47
- * Creates a timeout that prevents concurrent executions.
48
- *
49
- * Each call to the `call` function will cancel any previous pending timeout and
50
- * start a new one. This is useful for debouncing or ensuring only the last call
51
- * executes after a delay.
52
- *
53
- * @example
54
- * ```typescript
55
- * const { call, clean } = createDebouncedTimeout(1000, () => {
56
- * console.log('Only the last call executes');
57
- * });
58
- *
59
- * call(); // This will be cancelled
60
- * call(); // This will be cancelled
61
- * call(); // Only this one will execute after 1000ms
62
- *
63
- * // Or cancel all pending timeouts
64
- * clean();
65
- * ```;
66
- *
67
- * @param ms - The timeout duration in milliseconds
68
- * @param callback - The function to execute when the timeout completes
69
- * @returns An object with `call` to trigger the timeout and `clean` to cancel
70
- * it
71
- */
72
- declare function createDebouncedTimeout(ms: number, callback: () => void): {
73
- call: () => void;
74
- clean: CleanupTimer;
75
- };
76
- /**
77
- * Creates a timeout that waits for a condition to become true.
78
- *
79
- * Polls the condition function at regular intervals until it returns a truthy
80
- * value, then calls the callback with that value. If the condition doesn't
81
- * become true within the maximum wait time, the timeout expires without calling
82
- * the callback.
83
- *
84
- * @example
85
- * ```typescript
86
- * const cleanup = createWaitUntil({
87
- * condition: () => document.getElementById('myElement'),
88
- * maxWaitMs: 5000,
89
- * callback: (element) => {
90
- * console.log('Element found:', element);
91
- * },
92
- * checkIntervalMs: 50
93
- * });
94
- *
95
- * // Cancel the condition check
96
- * cleanup();
97
- * ```;
98
- *
99
- * @template T - The type of value returned by the condition function when true
100
- * @param options - Configuration options
101
- * @param options.condition - Function that returns false or a truthy value when
102
- * the condition is met
103
- * @param options.maxWaitMs - Maximum time to wait for the condition in
104
- * milliseconds
105
- * @param options.callback - Function to call when the condition becomes true
106
- * @param options.checkIntervalMs - How often to check the condition in
107
- * milliseconds (default: 20)
108
- * @returns A cleanup function that cancels the condition timeout
109
- */
110
- declare function createWaitUntil<T extends NonNullable<unknown>>({ condition, maxWaitMs, callback, checkIntervalMs, }: {
111
- condition: () => false | T;
112
- maxWaitMs: number;
113
- callback: (value: T) => void;
114
- checkIntervalMs?: number;
115
- }): CleanupTimer;
116
- declare function waitFor(condition: () => boolean | Promise<boolean>, { polling, timeout }: {
117
- polling: number | 'raf';
118
- timeout: number;
119
- }): Promise<Result<void, Error>>;
120
-
121
- export { type CleanupTimer, createDebouncedTimeout, createInterval, createTimeout, createWaitUntil, waitFor };
package/dist/timers.js DELETED
@@ -1,156 +0,0 @@
1
- import {
2
- defer
3
- } from "./chunk-DFXNVEH6.js";
4
-
5
- // src/timers.ts
6
- import { Result } from "t-result";
7
- function createTimeout(ms, callback) {
8
- const timeoutId = setTimeout(callback, ms);
9
- let isCleaned = false;
10
- return () => {
11
- if (isCleaned) return;
12
- clearTimeout(timeoutId);
13
- isCleaned = true;
14
- };
15
- }
16
- function createInterval(ms, callback) {
17
- const intervalId = setInterval(callback, ms);
18
- let isCleaned = false;
19
- return () => {
20
- if (isCleaned) return;
21
- clearInterval(intervalId);
22
- isCleaned = true;
23
- };
24
- }
25
- function createDebouncedTimeout(ms, callback) {
26
- let cleanupTimer = null;
27
- return {
28
- clean: () => {
29
- cleanupTimer?.();
30
- },
31
- call: () => {
32
- cleanupTimer?.();
33
- cleanupTimer = createTimeout(ms, () => {
34
- callback();
35
- });
36
- }
37
- };
38
- }
39
- function createWaitUntil({
40
- condition,
41
- maxWaitMs,
42
- callback,
43
- checkIntervalMs = 20
44
- }) {
45
- let cleanCheckTimeout = null;
46
- let cleanMaxWaitTimeout = null;
47
- cleanMaxWaitTimeout = createTimeout(maxWaitMs, () => {
48
- cleanCheckTimeout?.();
49
- });
50
- function check() {
51
- const result = condition();
52
- if (result) {
53
- cleanMaxWaitTimeout?.();
54
- callback(result);
55
- } else {
56
- cleanCheckTimeout = createTimeout(checkIntervalMs, check);
57
- }
58
- }
59
- check();
60
- return () => {
61
- cleanMaxWaitTimeout();
62
- cleanCheckTimeout?.();
63
- };
64
- }
65
- async function waitFor(condition, { polling, timeout }) {
66
- const { promise, resolve } = defer();
67
- let timeoutId = null;
68
- let intervalId = null;
69
- let rafId = null;
70
- let isResolved = false;
71
- function cleanup() {
72
- if (timeoutId) {
73
- clearTimeout(timeoutId);
74
- timeoutId = null;
75
- }
76
- if (intervalId) {
77
- clearInterval(intervalId);
78
- intervalId = null;
79
- }
80
- if (rafId && typeof cancelAnimationFrame !== "undefined") {
81
- cancelAnimationFrame(rafId);
82
- rafId = null;
83
- }
84
- }
85
- function resolveWith(result) {
86
- if (isResolved) return;
87
- isResolved = true;
88
- cleanup();
89
- resolve(result);
90
- }
91
- async function checkCondition() {
92
- try {
93
- const result = condition();
94
- const conditionMet = result instanceof Promise ? await result : result;
95
- if (conditionMet) {
96
- resolveWith(Result.ok(void 0));
97
- return true;
98
- }
99
- return false;
100
- } catch (error) {
101
- resolveWith(Result.err(new Error(`Condition check failed: ${error}`)));
102
- return true;
103
- }
104
- }
105
- checkCondition().then((resolved) => {
106
- if (resolved) {
107
- return;
108
- }
109
- timeoutId = setTimeout(() => {
110
- resolveWith(
111
- Result.err(
112
- new Error(
113
- `Timeout of ${timeout}ms exceeded while waiting for condition`
114
- )
115
- )
116
- );
117
- }, timeout);
118
- if (polling === "raf") {
119
- let rafCheck2 = function() {
120
- if (isResolved) return;
121
- checkCondition().then((conditionResolved) => {
122
- if (!conditionResolved && !isResolved) {
123
- rafId = requestAnimationFrame(rafCheck2);
124
- }
125
- }).catch(() => {
126
- });
127
- };
128
- var rafCheck = rafCheck2;
129
- if (typeof requestAnimationFrame === "undefined") {
130
- resolveWith(
131
- Result.err(
132
- new Error(
133
- "requestAnimationFrame is not available in this environment"
134
- )
135
- )
136
- );
137
- return;
138
- }
139
- rafId = requestAnimationFrame(rafCheck2);
140
- } else {
141
- intervalId = setInterval(() => {
142
- checkCondition().catch(() => {
143
- });
144
- }, polling);
145
- }
146
- }).catch(() => {
147
- });
148
- return promise;
149
- }
150
- export {
151
- createDebouncedTimeout,
152
- createInterval,
153
- createTimeout,
154
- createWaitUntil,
155
- waitFor
156
- };
package/dist/tsResult.cjs DELETED
@@ -1,226 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/tsResult.ts
21
- var tsResult_exports = {};
22
- __export(tsResult_exports, {
23
- Result: () => Result,
24
- err: () => err,
25
- ok: () => ok,
26
- resultify: () => resultify,
27
- unknownToError: () => unknownToError
28
- });
29
- module.exports = __toCommonJS(tsResult_exports);
30
-
31
- // src/typeGuards.ts
32
- function isObject(value) {
33
- return typeof value === "object" && value !== null && !Array.isArray(value);
34
- }
35
- function isFunction(value) {
36
- return typeof value === "function";
37
- }
38
- function isPromise(value) {
39
- return isObject(value) && "then" in value && isFunction(value.then);
40
- }
41
-
42
- // src/assertions.ts
43
- var isFunction2 = isFunction;
44
- var isObject2 = isObject;
45
- var isPromise2 = isPromise;
46
-
47
- // src/safeJson.ts
48
- function safeJsonStringify(value) {
49
- try {
50
- return JSON.stringify(value);
51
- } catch (_) {
52
- return void 0;
53
- }
54
- }
55
-
56
- // src/tsResult.ts
57
- function okUnwrapOr() {
58
- return this.value;
59
- }
60
- function okMap(mapFn) {
61
- return this.ok ? ok(mapFn(this.value)) : this;
62
- }
63
- function errMap(mapFn) {
64
- return this.ok ? this : err(mapFn(this.error));
65
- }
66
- function mapOkAndErr({
67
- ok: mapFn,
68
- err: mapErrFn
69
- }) {
70
- return this.ok ? ok(mapFn(this.value)) : err(mapErrFn(this.error));
71
- }
72
- function returnResult() {
73
- return this;
74
- }
75
- function okOnOk(fn) {
76
- if (this.ok) {
77
- fn(this.value);
78
- }
79
- return this;
80
- }
81
- function errOnErr(fn) {
82
- if (!this.ok) {
83
- fn(this.error);
84
- }
85
- return this;
86
- }
87
- function ok(value = void 0) {
88
- const methods = {
89
- unwrapOrNull: okUnwrapOr,
90
- unwrapOr: okUnwrapOr,
91
- unwrap: okUnwrapOr,
92
- mapOk: okMap,
93
- mapErr: returnResult,
94
- mapOkAndErr,
95
- ifOk: okOnOk,
96
- ifErr: returnResult
97
- };
98
- return {
99
- ok: true,
100
- error: false,
101
- value,
102
- ...methods
103
- };
104
- }
105
- function err(error) {
106
- const methods = {
107
- unwrapOrNull: () => null,
108
- unwrapOr: (defaultValue) => defaultValue,
109
- unwrap: () => {
110
- if (error instanceof Error) {
111
- throw error;
112
- }
113
- throw unknownToError(error);
114
- },
115
- mapOk: returnResult,
116
- mapErr: errMap,
117
- mapOkAndErr,
118
- ifOk: returnResult,
119
- ifErr: errOnErr
120
- };
121
- return {
122
- ok: false,
123
- error,
124
- errorResult() {
125
- return err(error);
126
- },
127
- ...methods
128
- };
129
- }
130
- function unknownToResultError(error) {
131
- return err(unknownToError(error));
132
- }
133
- async function asyncUnwrap(result) {
134
- const unwrapped = await result;
135
- if (unwrapped.ok) {
136
- return unwrapped.value;
137
- }
138
- if (unwrapped.error instanceof Error) {
139
- throw unwrapped.error;
140
- }
141
- throw unknownToError(unwrapped.error);
142
- }
143
- function asyncMap(resultPromise) {
144
- return {
145
- err: async (mapFn) => {
146
- const result = await resultPromise;
147
- return result.ok ? ok(result.value) : err(mapFn(result.error));
148
- },
149
- ok: async (mapFn) => {
150
- const result = await resultPromise;
151
- return result.ok ? ok(mapFn(result.value)) : err(result.error);
152
- },
153
- okAndErr: async ({
154
- ok: mapFn,
155
- err: mapErrFn
156
- }) => {
157
- const result = await resultPromise;
158
- return result.ok ? ok(mapFn(result.value)) : err(mapErrFn(result.error));
159
- }
160
- };
161
- }
162
- var Result = {
163
- ok,
164
- err,
165
- unknownToError: unknownToResultError,
166
- asyncUnwrap,
167
- asyncMap,
168
- getOkErr
169
- };
170
- function resultify(fn, errorNormalizer) {
171
- if (!isFunction2(fn)) {
172
- return fn.then((value) => ok(value)).catch(
173
- (error) => err(
174
- errorNormalizer ? errorNormalizer(error) : unknownToError(error)
175
- )
176
- );
177
- }
178
- try {
179
- const result = fn();
180
- if (isPromise2(result)) {
181
- return result.then((value) => ok(value)).catch(
182
- (error) => err(
183
- errorNormalizer ? errorNormalizer(error) : unknownToError(error)
184
- )
185
- );
186
- }
187
- return ok(result);
188
- } catch (error) {
189
- return err(
190
- errorNormalizer ? errorNormalizer(error) : unknownToError(error)
191
- );
192
- }
193
- }
194
- function unknownToError(error) {
195
- if (error instanceof Error) return error;
196
- if (typeof error === "string") {
197
- return new Error(error);
198
- }
199
- if (isObject2(error)) {
200
- return new Error(
201
- "message" in error && error.message && typeof error.message === "string" ? error.message : safeJsonStringify(error) ?? "unknown",
202
- { cause: error }
203
- );
204
- }
205
- return new Error(safeJsonStringify(error) ?? "unknown", {
206
- cause: error
207
- });
208
- }
209
- var typedResult = {
210
- ok,
211
- err,
212
- get _type() {
213
- throw new Error("usage as value is not allowed");
214
- }
215
- };
216
- function getOkErr() {
217
- return typedResult;
218
- }
219
- // Annotate the CommonJS export names for ESM import in node:
220
- 0 && (module.exports = {
221
- Result,
222
- err,
223
- ok,
224
- resultify,
225
- unknownToError
226
- });