umt 2.12.3 → 2.13.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 (463) hide show
  1. package/README.md +60 -0
  2. package/module/Array/arraysJoin.js +1 -1
  3. package/module/Array/arraysJoin.js.map +1 -1
  4. package/module/Array/chunk.js +1 -2
  5. package/module/Array/chunk.js.map +1 -1
  6. package/module/Array/generateNumberArray.js +13 -3
  7. package/module/Array/generateNumberArray.js.map +1 -1
  8. package/module/Array/getArraysDiff.js +5 -1
  9. package/module/Array/getArraysDiff.js.map +1 -1
  10. package/module/Array/mergeSort.js +45 -18
  11. package/module/Array/mergeSort.js.map +1 -1
  12. package/module/Array/pop.js +2 -1
  13. package/module/Array/pop.js.map +1 -1
  14. package/module/Array/randomSelect.js +8 -0
  15. package/module/Array/randomSelect.js.map +1 -1
  16. package/module/Array/sortingHelpers/rangeValidator.js +3 -2
  17. package/module/Array/sortingHelpers/rangeValidator.js.map +1 -1
  18. package/module/Array/timSort.js +25 -23
  19. package/module/Array/timSort.js.map +1 -1
  20. package/module/Array/ultraNumberSort.js +206 -133
  21. package/module/Array/ultraNumberSort.js.map +1 -1
  22. package/module/Async/defer.d.ts +18 -0
  23. package/module/Async/defer.js +19 -0
  24. package/module/Async/defer.js.map +1 -0
  25. package/module/Async/index.d.ts +4 -0
  26. package/module/Async/index.js +5 -0
  27. package/module/Async/index.js.map +1 -0
  28. package/module/Async/parallel.d.ts +10 -0
  29. package/module/Async/parallel.js +44 -0
  30. package/module/Async/parallel.js.map +1 -0
  31. package/module/Async/sleep.d.ts +8 -0
  32. package/module/Async/sleep.js +11 -0
  33. package/module/Async/sleep.js.map +1 -0
  34. package/module/Async/timeout.d.ts +10 -0
  35. package/module/Async/timeout.js +22 -0
  36. package/module/Async/timeout.js.map +1 -0
  37. package/module/Color/cmykToRgba.js +6 -7
  38. package/module/Color/cmykToRgba.js.map +1 -1
  39. package/module/Color/hexaToRgba.js +1 -8
  40. package/module/Color/hexaToRgba.js.map +1 -1
  41. package/module/Color/hslaToRgba.d.ts +0 -1
  42. package/module/Color/hslaToRgba.js +7 -22
  43. package/module/Color/hslaToRgba.js.map +1 -1
  44. package/module/Color/rgbaToCmyk.js +0 -11
  45. package/module/Color/rgbaToCmyk.js.map +1 -1
  46. package/module/Color/rgbaToHexA.js +2 -15
  47. package/module/Color/rgbaToHexA.js.map +1 -1
  48. package/module/Color/rgbaToHsla.d.ts +0 -1
  49. package/module/Color/rgbaToHsla.js +0 -12
  50. package/module/Color/rgbaToHsla.js.map +1 -1
  51. package/module/Crypto/constants.d.ts +2 -0
  52. package/module/Crypto/constants.js +3 -0
  53. package/module/Crypto/constants.js.map +1 -0
  54. package/module/Crypto/decodeBase32.js +2 -4
  55. package/module/Crypto/decodeBase32.js.map +1 -1
  56. package/module/Crypto/decodeBase58.js +2 -4
  57. package/module/Crypto/decodeBase58.js.map +1 -1
  58. package/module/Crypto/encodeBase32.js +2 -1
  59. package/module/Crypto/encodeBase32.js.map +1 -1
  60. package/module/Crypto/encodeBase58.js +2 -1
  61. package/module/Crypto/encodeBase58.js.map +1 -1
  62. package/module/DataStructure/index.d.ts +2 -0
  63. package/module/DataStructure/index.js +2 -0
  64. package/module/DataStructure/index.js.map +1 -1
  65. package/module/DataStructure/lruCache.d.ts +139 -0
  66. package/module/DataStructure/lruCache.js +172 -0
  67. package/module/DataStructure/lruCache.js.map +1 -0
  68. package/module/DataStructure/ttlCache.d.ts +139 -0
  69. package/module/DataStructure/ttlCache.js +172 -0
  70. package/module/DataStructure/ttlCache.js.map +1 -0
  71. package/module/Error/flatMapResult.d.ts +23 -0
  72. package/module/Error/flatMapResult.js +28 -0
  73. package/module/Error/flatMapResult.js.map +1 -0
  74. package/module/Error/index.d.ts +3 -0
  75. package/module/Error/index.js +3 -0
  76. package/module/Error/index.js.map +1 -1
  77. package/module/Error/mapResult.d.ts +21 -0
  78. package/module/Error/mapResult.js +27 -0
  79. package/module/Error/mapResult.js.map +1 -0
  80. package/module/Error/matchResult.d.ts +25 -0
  81. package/module/Error/matchResult.js +27 -0
  82. package/module/Error/matchResult.js.map +1 -0
  83. package/module/Error/safeExecute.d.ts +16 -3
  84. package/module/Error/safeExecute.js +5 -2
  85. package/module/Error/safeExecute.js.map +1 -1
  86. package/module/Function/debounce.d.ts +38 -0
  87. package/module/Function/debounce.js +67 -0
  88. package/module/Function/debounce.js.map +1 -0
  89. package/module/Function/index.d.ts +4 -0
  90. package/module/Function/index.js +4 -0
  91. package/module/Function/index.js.map +1 -1
  92. package/module/Function/memoize.d.ts +36 -0
  93. package/module/Function/memoize.js +54 -0
  94. package/module/Function/memoize.js.map +1 -0
  95. package/module/Function/once.d.ts +18 -0
  96. package/module/Function/once.js +29 -0
  97. package/module/Function/once.js.map +1 -0
  98. package/module/Function/throttle.d.ts +25 -0
  99. package/module/Function/throttle.js +55 -0
  100. package/module/Function/throttle.js.map +1 -0
  101. package/module/IP/cidrToLong.d.ts +0 -1
  102. package/module/IP/cidrToLong.js +0 -4
  103. package/module/IP/cidrToLong.js.map +1 -1
  104. package/module/IP/cidrToSubnetMask.d.ts +0 -1
  105. package/module/IP/cidrToSubnetMask.js +0 -1
  106. package/module/IP/cidrToSubnetMask.js.map +1 -1
  107. package/module/IP/getNetworkAddress.d.ts +0 -1
  108. package/module/IP/getNetworkAddress.js +2 -32
  109. package/module/IP/getNetworkAddress.js.map +1 -1
  110. package/module/IP/ipToBinaryString.d.ts +0 -1
  111. package/module/IP/ipToBinaryString.js +2 -25
  112. package/module/IP/ipToBinaryString.js.map +1 -1
  113. package/module/IP/ipToLong.d.ts +0 -1
  114. package/module/IP/ipToLong.js +0 -1
  115. package/module/IP/ipToLong.js.map +1 -1
  116. package/module/IP/isInRange.d.ts +0 -1
  117. package/module/IP/isInRange.js +5 -28
  118. package/module/IP/isInRange.js.map +1 -1
  119. package/module/IP/isPrivateIp.d.ts +0 -1
  120. package/module/IP/isPrivateIp.js +1 -10
  121. package/module/IP/isPrivateIp.js.map +1 -1
  122. package/module/IP/longToIp.d.ts +0 -1
  123. package/module/IP/longToIp.js +0 -8
  124. package/module/IP/longToIp.js.map +1 -1
  125. package/module/IP/subnetMaskToCidr.d.ts +0 -1
  126. package/module/IP/subnetMaskToCidr.js +2 -23
  127. package/module/IP/subnetMaskToCidr.js.map +1 -1
  128. package/module/Iterator/index.d.ts +3 -0
  129. package/module/Iterator/index.js +4 -0
  130. package/module/Iterator/index.js.map +1 -0
  131. package/module/Iterator/lazyFilter.d.ts +10 -0
  132. package/module/Iterator/lazyFilter.js +19 -0
  133. package/module/Iterator/lazyFilter.js.map +1 -0
  134. package/module/Iterator/lazyMap.d.ts +10 -0
  135. package/module/Iterator/lazyMap.js +17 -0
  136. package/module/Iterator/lazyMap.js.map +1 -0
  137. package/module/Iterator/lazyTake.d.ts +10 -0
  138. package/module/Iterator/lazyTake.js +20 -0
  139. package/module/Iterator/lazyTake.js.map +1 -0
  140. package/module/Math/addition.js +20 -4
  141. package/module/Math/addition.js.map +1 -1
  142. package/module/Math/average.js +3 -3
  143. package/module/Math/average.js.map +1 -1
  144. package/module/Math/bitwise.js +1 -1
  145. package/module/Math/bitwise.js.map +1 -1
  146. package/module/Math/calculator/core.js +2 -1
  147. package/module/Math/calculator/core.js.map +1 -1
  148. package/module/Math/calculator/literalExpression.js +1 -1
  149. package/module/Math/clamp.d.ts +16 -0
  150. package/module/Math/clamp.js +19 -0
  151. package/module/Math/clamp.js.map +1 -0
  152. package/module/Math/correlationCoefficient.js +0 -3
  153. package/module/Math/correlationCoefficient.js.map +1 -1
  154. package/module/Math/inRange.d.ts +19 -0
  155. package/module/Math/inRange.js +24 -0
  156. package/module/Math/inRange.js.map +1 -0
  157. package/module/Math/index.d.ts +3 -0
  158. package/module/Math/index.js +3 -0
  159. package/module/Math/index.js.map +1 -1
  160. package/module/Math/median.js +2 -2
  161. package/module/Math/median.js.map +1 -1
  162. package/module/Math/nCr.js +2 -4
  163. package/module/Math/nCr.js.map +1 -1
  164. package/module/Math/percentile.js +2 -5
  165. package/module/Math/percentile.js.map +1 -1
  166. package/module/Math/primeFactorization.js +1 -1
  167. package/module/Math/primeFactorization.js.map +1 -1
  168. package/module/Math/sumPrecise.d.ts +14 -0
  169. package/module/Math/sumPrecise.js +27 -0
  170. package/module/Math/sumPrecise.js.map +1 -0
  171. package/module/Math/uuidv7.js +56 -22
  172. package/module/Math/uuidv7.js.map +1 -1
  173. package/module/Number/formatNumber.d.ts +42 -0
  174. package/module/Number/formatNumber.js +44 -0
  175. package/module/Number/formatNumber.js.map +1 -0
  176. package/module/Number/index.d.ts +3 -0
  177. package/module/Number/index.js +4 -0
  178. package/module/Number/index.js.map +1 -0
  179. package/module/Number/toOrdinal.d.ts +20 -0
  180. package/module/Number/toOrdinal.js +37 -0
  181. package/module/Number/toOrdinal.js.map +1 -0
  182. package/module/Number/toPercentage.d.ts +20 -0
  183. package/module/Number/toPercentage.js +27 -0
  184. package/module/Number/toPercentage.js.map +1 -0
  185. package/module/Object/deepClone.d.ts +15 -0
  186. package/module/Object/deepClone.js +62 -0
  187. package/module/Object/deepClone.js.map +1 -0
  188. package/module/Object/getObjectsCommon.d.ts +23 -0
  189. package/module/Object/getObjectsCommon.js +60 -0
  190. package/module/Object/getObjectsCommon.js.map +1 -0
  191. package/module/Object/getObjectsDiff.d.ts +25 -0
  192. package/module/Object/getObjectsDiff.js +79 -0
  193. package/module/Object/getObjectsDiff.js.map +1 -0
  194. package/module/Object/index.d.ts +6 -0
  195. package/module/Object/index.js +6 -0
  196. package/module/Object/index.js.map +1 -1
  197. package/module/Object/isPlainObject.d.ts +16 -0
  198. package/module/Object/isPlainObject.js +32 -0
  199. package/module/Object/isPlainObject.js.map +1 -0
  200. package/module/Object/mapKeys.d.ts +15 -0
  201. package/module/Object/mapKeys.js +28 -0
  202. package/module/Object/mapKeys.js.map +1 -0
  203. package/module/Object/mapValues.d.ts +15 -0
  204. package/module/Object/mapValues.js +27 -0
  205. package/module/Object/mapValues.js.map +1 -0
  206. package/module/Object/mergeDeep.js +4 -9
  207. package/module/Object/mergeDeep.js.map +1 -1
  208. package/module/Object/omit.d.ts +1 -1
  209. package/module/Object/omit.js.map +1 -1
  210. package/module/Object/pickDeep.js +6 -1
  211. package/module/Object/pickDeep.js.map +1 -1
  212. package/module/Predicate/every.d.ts +14 -0
  213. package/module/Predicate/every.js +22 -0
  214. package/module/Predicate/every.js.map +1 -0
  215. package/module/Predicate/index.d.ts +6 -0
  216. package/module/Predicate/index.js +7 -0
  217. package/module/Predicate/index.js.map +1 -0
  218. package/module/Predicate/isNotNullish.d.ts +11 -0
  219. package/module/Predicate/isNotNullish.js +12 -0
  220. package/module/Predicate/isNotNullish.js.map +1 -0
  221. package/module/Predicate/isNullish.d.ts +11 -0
  222. package/module/Predicate/isNullish.js +12 -0
  223. package/module/Predicate/isNullish.js.map +1 -0
  224. package/module/Predicate/matches.d.ts +11 -0
  225. package/module/Predicate/matches.js +20 -0
  226. package/module/Predicate/matches.js.map +1 -0
  227. package/module/Predicate/not.d.ts +10 -0
  228. package/module/Predicate/not.js +11 -0
  229. package/module/Predicate/not.js.map +1 -0
  230. package/module/Predicate/some.d.ts +15 -0
  231. package/module/Predicate/some.js +23 -0
  232. package/module/Predicate/some.js.map +1 -0
  233. package/module/String/camelCase.js +2 -2
  234. package/module/String/camelCase.js.map +1 -1
  235. package/module/String/escapeHtml.js +1 -1
  236. package/module/String/formatString/getValue.js +1 -1
  237. package/module/String/formatString/getValue.js.map +1 -1
  238. package/module/String/fromBase64.d.ts +0 -1
  239. package/module/String/fromBase64.js +1 -9
  240. package/module/String/fromBase64.js.map +1 -1
  241. package/module/String/fuzzySearch.js +74 -6
  242. package/module/String/fuzzySearch.js.map +1 -1
  243. package/module/String/kebabCase.js +1 -1
  244. package/module/String/kebabCase.js.map +1 -1
  245. package/module/String/levenshteinDistance.js +1 -2
  246. package/module/String/levenshteinDistance.js.map +1 -1
  247. package/module/String/randomString.js +23 -2
  248. package/module/String/randomString.js.map +1 -1
  249. package/module/String/reverseString.js +1 -1
  250. package/module/String/reverseString.js.map +1 -1
  251. package/module/String/slugify.js +1 -1
  252. package/module/String/toHalfWidth.js +2 -2
  253. package/module/String/toHalfWidth.js.map +1 -1
  254. package/module/String/truncate.js +0 -3
  255. package/module/String/truncate.js.map +1 -1
  256. package/module/String/unescapeHtml.js +1 -1
  257. package/module/String/unescapeHtml.js.map +1 -1
  258. package/module/Time/convertTime.js +4 -3
  259. package/module/Time/convertTime.js.map +1 -1
  260. package/module/Tool/escapeRegExp.d.ts +8 -0
  261. package/module/Tool/escapeRegExp.js +11 -0
  262. package/module/Tool/escapeRegExp.js.map +1 -0
  263. package/module/Tool/index.d.ts +1 -0
  264. package/module/Tool/index.js +1 -0
  265. package/module/Tool/index.js.map +1 -1
  266. package/module/URL/buildUrl.d.ts +17 -0
  267. package/module/URL/buildUrl.js +24 -0
  268. package/module/URL/buildUrl.js.map +1 -0
  269. package/module/URL/index.d.ts +4 -0
  270. package/module/URL/index.js +5 -0
  271. package/module/URL/index.js.map +1 -0
  272. package/module/URL/isAbsoluteUrl.d.ts +20 -0
  273. package/module/URL/isAbsoluteUrl.js +23 -0
  274. package/module/URL/isAbsoluteUrl.js.map +1 -0
  275. package/module/URL/joinPath.d.ts +24 -0
  276. package/module/URL/joinPath.js +43 -0
  277. package/module/URL/joinPath.js.map +1 -0
  278. package/module/URL/parseQueryString.d.ts +22 -0
  279. package/module/URL/parseQueryString.js +34 -0
  280. package/module/URL/parseQueryString.js.map +1 -0
  281. package/module/Validate/parseEmail.js +5 -5
  282. package/module/Validate/parseEmail.js.map +1 -1
  283. package/module/es5/Array/arraysJoin.js +1 -1
  284. package/module/es5/Array/chunk.js +3 -2
  285. package/module/es5/Array/generateNumberArray.js +21 -3
  286. package/module/es5/Array/getArraysDiff.js +5 -3
  287. package/module/es5/Array/mergeSort.js +51 -19
  288. package/module/es5/Array/pop.js +2 -7
  289. package/module/es5/Array/randomSelect.js +8 -0
  290. package/module/es5/Array/sortingHelpers/rangeValidator.js +3 -2
  291. package/module/es5/Array/timSort.js +25 -23
  292. package/module/es5/Array/ultraNumberSort.js +221 -207
  293. package/module/es5/Async/defer.d.ts +18 -0
  294. package/module/es5/Async/defer.js +32 -0
  295. package/module/es5/Async/index.d.ts +4 -0
  296. package/module/es5/Async/index.js +49 -0
  297. package/module/es5/Async/parallel.d.ts +10 -0
  298. package/module/es5/Async/parallel.js +48 -0
  299. package/module/es5/Async/sleep.d.ts +8 -0
  300. package/module/es5/Async/sleep.js +18 -0
  301. package/module/es5/Async/timeout.d.ts +10 -0
  302. package/module/es5/Async/timeout.js +29 -0
  303. package/module/es5/Color/cmykToRgba.js +6 -7
  304. package/module/es5/Color/hexaToRgba.js +7 -5
  305. package/module/es5/Color/hslaToRgba.d.ts +0 -1
  306. package/module/es5/Color/hslaToRgba.js +7 -22
  307. package/module/es5/Color/rgbaToCmyk.js +0 -4
  308. package/module/es5/Color/rgbaToHexA.js +2 -6
  309. package/module/es5/Color/rgbaToHsla.d.ts +0 -1
  310. package/module/es5/Color/rgbaToHsla.js +0 -5
  311. package/module/es5/Crypto/constants.d.ts +2 -0
  312. package/module/es5/Crypto/constants.js +8 -0
  313. package/module/es5/Crypto/decodeBase32.js +2 -4
  314. package/module/es5/Crypto/decodeBase58.js +2 -4
  315. package/module/es5/Crypto/encodeBase32.js +2 -1
  316. package/module/es5/Crypto/encodeBase58.js +2 -1
  317. package/module/es5/DataStructure/index.d.ts +2 -0
  318. package/module/es5/DataStructure/index.js +22 -0
  319. package/module/es5/DataStructure/lruCache.d.ts +139 -0
  320. package/module/es5/DataStructure/lruCache.js +205 -0
  321. package/module/es5/DataStructure/ttlCache.d.ts +139 -0
  322. package/module/es5/DataStructure/ttlCache.js +211 -0
  323. package/module/es5/Error/flatMapResult.d.ts +23 -0
  324. package/module/es5/Error/flatMapResult.js +33 -0
  325. package/module/es5/Error/index.d.ts +3 -0
  326. package/module/es5/Error/index.js +33 -0
  327. package/module/es5/Error/mapResult.d.ts +21 -0
  328. package/module/es5/Error/mapResult.js +32 -0
  329. package/module/es5/Error/matchResult.d.ts +25 -0
  330. package/module/es5/Error/matchResult.js +32 -0
  331. package/module/es5/Error/safeExecute.d.ts +16 -3
  332. package/module/es5/Error/safeExecute.js +3 -3
  333. package/module/es5/Function/debounce.d.ts +38 -0
  334. package/module/es5/Function/debounce.js +88 -0
  335. package/module/es5/Function/index.d.ts +4 -0
  336. package/module/es5/Function/index.js +44 -0
  337. package/module/es5/Function/memoize.d.ts +36 -0
  338. package/module/es5/Function/memoize.js +73 -0
  339. package/module/es5/Function/once.d.ts +18 -0
  340. package/module/es5/Function/once.js +37 -0
  341. package/module/es5/Function/throttle.d.ts +25 -0
  342. package/module/es5/Function/throttle.js +69 -0
  343. package/module/es5/IP/cidrToLong.d.ts +0 -1
  344. package/module/es5/IP/cidrToLong.js +0 -4
  345. package/module/es5/IP/cidrToSubnetMask.d.ts +0 -1
  346. package/module/es5/IP/cidrToSubnetMask.js +0 -1
  347. package/module/es5/IP/getNetworkAddress.d.ts +0 -1
  348. package/module/es5/IP/getNetworkAddress.js +2 -31
  349. package/module/es5/IP/ipToBinaryString.d.ts +0 -1
  350. package/module/es5/IP/ipToBinaryString.js +1 -40
  351. package/module/es5/IP/ipToLong.d.ts +0 -1
  352. package/module/es5/IP/ipToLong.js +0 -1
  353. package/module/es5/IP/isInRange.d.ts +0 -1
  354. package/module/es5/IP/isInRange.js +5 -29
  355. package/module/es5/IP/isPrivateIp.d.ts +0 -1
  356. package/module/es5/IP/isPrivateIp.js +3 -12
  357. package/module/es5/IP/longToIp.d.ts +0 -1
  358. package/module/es5/IP/longToIp.js +0 -6
  359. package/module/es5/IP/subnetMaskToCidr.d.ts +0 -1
  360. package/module/es5/IP/subnetMaskToCidr.js +2 -26
  361. package/module/es5/Iterator/index.d.ts +3 -0
  362. package/module/es5/Iterator/index.js +38 -0
  363. package/module/es5/Iterator/lazyFilter.d.ts +10 -0
  364. package/module/es5/Iterator/lazyFilter.js +63 -0
  365. package/module/es5/Iterator/lazyMap.d.ts +10 -0
  366. package/module/es5/Iterator/lazyMap.js +59 -0
  367. package/module/es5/Iterator/lazyTake.d.ts +10 -0
  368. package/module/es5/Iterator/lazyTake.js +65 -0
  369. package/module/es5/Math/addition.js +24 -14
  370. package/module/es5/Math/average.js +3 -5
  371. package/module/es5/Math/bitwise.js +1 -1
  372. package/module/es5/Math/calculator/core.js +2 -1
  373. package/module/es5/Math/calculator/literalExpression.js +1 -1
  374. package/module/es5/Math/clamp.d.ts +16 -0
  375. package/module/es5/Math/clamp.js +24 -0
  376. package/module/es5/Math/correlationCoefficient.js +0 -3
  377. package/module/es5/Math/inRange.d.ts +19 -0
  378. package/module/es5/Math/inRange.js +29 -0
  379. package/module/es5/Math/index.d.ts +3 -0
  380. package/module/es5/Math/index.js +33 -0
  381. package/module/es5/Math/median.js +2 -2
  382. package/module/es5/Math/nCr.js +2 -4
  383. package/module/es5/Math/percentile.js +2 -11
  384. package/module/es5/Math/primeFactorization.js +1 -1
  385. package/module/es5/Math/sumPrecise.d.ts +14 -0
  386. package/module/es5/Math/sumPrecise.js +41 -0
  387. package/module/es5/Math/uuidv7.js +25 -40
  388. package/module/es5/Number/formatNumber.d.ts +42 -0
  389. package/module/es5/Number/formatNumber.js +58 -0
  390. package/module/es5/Number/index.d.ts +3 -0
  391. package/module/es5/Number/index.js +38 -0
  392. package/module/es5/Number/toOrdinal.d.ts +20 -0
  393. package/module/es5/Number/toOrdinal.js +42 -0
  394. package/module/es5/Number/toPercentage.d.ts +20 -0
  395. package/module/es5/Number/toPercentage.js +33 -0
  396. package/module/es5/Object/deepClone.d.ts +15 -0
  397. package/module/es5/Object/deepClone.js +107 -0
  398. package/module/es5/Object/getObjectsCommon.d.ts +23 -0
  399. package/module/es5/Object/getObjectsCommon.js +92 -0
  400. package/module/es5/Object/getObjectsDiff.d.ts +25 -0
  401. package/module/es5/Object/getObjectsDiff.js +146 -0
  402. package/module/es5/Object/index.d.ts +6 -0
  403. package/module/es5/Object/index.js +66 -0
  404. package/module/es5/Object/isPlainObject.d.ts +16 -0
  405. package/module/es5/Object/isPlainObject.js +39 -0
  406. package/module/es5/Object/mapKeys.d.ts +15 -0
  407. package/module/es5/Object/mapKeys.js +33 -0
  408. package/module/es5/Object/mapValues.d.ts +15 -0
  409. package/module/es5/Object/mapValues.js +32 -0
  410. package/module/es5/Object/mergeDeep.js +7 -10
  411. package/module/es5/Object/omit.d.ts +1 -1
  412. package/module/es5/Object/pickDeep.js +4 -6
  413. package/module/es5/Predicate/every.d.ts +14 -0
  414. package/module/es5/Predicate/every.js +33 -0
  415. package/module/es5/Predicate/index.d.ts +6 -0
  416. package/module/es5/Predicate/index.js +71 -0
  417. package/module/es5/Predicate/isNotNullish.d.ts +11 -0
  418. package/module/es5/Predicate/isNotNullish.js +19 -0
  419. package/module/es5/Predicate/isNullish.d.ts +11 -0
  420. package/module/es5/Predicate/isNullish.js +19 -0
  421. package/module/es5/Predicate/matches.d.ts +11 -0
  422. package/module/es5/Predicate/matches.js +28 -0
  423. package/module/es5/Predicate/not.d.ts +10 -0
  424. package/module/es5/Predicate/not.js +20 -0
  425. package/module/es5/Predicate/some.d.ts +15 -0
  426. package/module/es5/Predicate/some.js +34 -0
  427. package/module/es5/String/camelCase.js +2 -2
  428. package/module/es5/String/escapeHtml.js +1 -1
  429. package/module/es5/String/formatString/getValue.js +1 -1
  430. package/module/es5/String/fromBase64.d.ts +0 -1
  431. package/module/es5/String/fromBase64.js +9 -8
  432. package/module/es5/String/fuzzySearch.js +84 -9
  433. package/module/es5/String/kebabCase.js +1 -1
  434. package/module/es5/String/levenshteinDistance.js +3 -2
  435. package/module/es5/String/randomString.js +24 -2
  436. package/module/es5/String/reverseString.js +7 -1
  437. package/module/es5/String/slugify.js +1 -1
  438. package/module/es5/String/toHalfWidth.js +2 -2
  439. package/module/es5/String/truncate.js +0 -3
  440. package/module/es5/String/unescapeHtml.js +1 -1
  441. package/module/es5/Time/convertTime.js +4 -3
  442. package/module/es5/Tool/escapeRegExp.d.ts +8 -0
  443. package/module/es5/Tool/escapeRegExp.js +18 -0
  444. package/module/es5/Tool/index.d.ts +1 -0
  445. package/module/es5/Tool/index.js +11 -0
  446. package/module/es5/URL/buildUrl.d.ts +17 -0
  447. package/module/es5/URL/buildUrl.js +31 -0
  448. package/module/es5/URL/index.d.ts +4 -0
  449. package/module/es5/URL/index.js +49 -0
  450. package/module/es5/URL/isAbsoluteUrl.d.ts +20 -0
  451. package/module/es5/URL/isAbsoluteUrl.js +28 -0
  452. package/module/es5/URL/joinPath.d.ts +24 -0
  453. package/module/es5/URL/joinPath.js +48 -0
  454. package/module/es5/URL/parseQueryString.d.ts +22 -0
  455. package/module/es5/URL/parseQueryString.js +57 -0
  456. package/module/es5/Validate/parseEmail.js +5 -5
  457. package/module/es5/index.d.ts +5 -0
  458. package/module/es5/index.js +73 -18
  459. package/module/es5/tsconfig.tsbuildinfo +1 -1
  460. package/module/index.d.ts +5 -0
  461. package/module/index.js +5 -0
  462. package/module/index.js.map +1 -1
  463. package/package.json +43 -17
@@ -19,18 +19,16 @@ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length)
19
19
  */
20
20
  var ultraNumberSort = exports.ultraNumberSort = function ultraNumberSort(array) {
21
21
  var ascending = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
22
- var result = _toConsumableArray(array);
23
- var length = result.length;
22
+ var length = array.length;
24
23
  if (length <= 1) {
25
- return result;
24
+ return _toConsumableArray(array);
26
25
  }
27
-
28
- // For tiny arrays, use optimized inline sort
26
+ var result = _toConsumableArray(array);
29
27
  if (length === 2) {
30
28
  if (result[0] > result[1] === ascending) {
31
- var _ref = [result[1], result[0]];
32
- result[0] = _ref[0];
33
- result[1] = _ref[1];
29
+ var temporary = result[0];
30
+ result[0] = result[1];
31
+ result[1] = temporary;
34
32
  }
35
33
  return result;
36
34
  }
@@ -39,13 +37,25 @@ var ultraNumberSort = exports.ultraNumberSort = function ultraNumberSort(array)
39
37
  return result;
40
38
  }
41
39
 
40
+ // For small-medium arrays, skip integer/range analysis
41
+ if (length <= 128) {
42
+ for (var index = 0; index < length; index++) {
43
+ // biome-ignore lint/suspicious/noSelfCompare: NaN detection
44
+ if (result[index] !== result[index]) {
45
+ return handleNaNSort(result, ascending);
46
+ }
47
+ }
48
+ numericQuickSort(result, 0, length - 1, ascending);
49
+ return result;
50
+ }
51
+
42
52
  // Check if all numbers are integers and find range
43
53
  var allIntegers = true;
44
54
  var min = result[0];
45
55
  var max = result[0];
46
56
  var hasNaN = false;
47
- for (var index = 0; index < length; index++) {
48
- var value = result[index];
57
+ for (var _index = 0; _index < length; _index++) {
58
+ var value = result[_index];
49
59
  // biome-ignore lint/suspicious/noSelfCompare: ignore
50
60
  if (value !== value) {
51
61
  hasNaN = true;
@@ -62,23 +72,155 @@ var ultraNumberSort = exports.ultraNumberSort = function ultraNumberSort(array)
62
72
  }
63
73
  }
64
74
 
65
- // Handle NaN values
75
+ // For small integer ranges, use counting sort
76
+ if (!hasNaN && allIntegers && max - min < length * 2 && max - min < 1000000) {
77
+ return countingSort(result, min, max, ascending);
78
+ }
79
+
80
+ // For medium arrays, quicksort is faster than radix sort
81
+ // due to typed array allocation overhead
82
+ if (length < 4096) {
83
+ if (hasNaN) {
84
+ return handleNaNSort(result, ascending);
85
+ }
86
+ numericQuickSort(result, 0, length - 1, ascending);
87
+ return result;
88
+ }
89
+
90
+ // Use IEEE 754 Float64 radix sort for large arrays
91
+ return float64RadixSort(result, ascending, hasNaN);
92
+ };
93
+
94
+ /**
95
+ * IEEE 754 Float64 radix sort
96
+ * Works on all number types (integers and floats) by treating
97
+ * the 64-bit IEEE 754 bit pattern as a sortable unsigned integer.
98
+ *
99
+ * Bit transformation:
100
+ * - Positive numbers (sign bit 0): flip only the sign bit
101
+ * - Negative numbers (sign bit 1): flip ALL 64 bits
102
+ * After this transformation, unsigned integer comparison matches
103
+ * the original floating-point numerical order.
104
+ */
105
+ var float64RadixSort = function float64RadixSort(array, ascending, hasNaN) {
106
+ var length = array.length;
107
+ var sourceBuffer = new ArrayBuffer(length * 8);
108
+ var sourceF64 = new Float64Array(sourceBuffer);
109
+ var sourceU32 = new Uint32Array(sourceBuffer);
110
+ var validLength;
66
111
  if (hasNaN) {
67
- return handleNaNSort(result, ascending);
112
+ var writeIndex = 0;
113
+ for (var index = 0; index < length; index++) {
114
+ var v = array[index];
115
+ // biome-ignore lint/suspicious/noSelfCompare: NaN detection
116
+ if (v === v) {
117
+ sourceF64[writeIndex++] = v;
118
+ }
119
+ }
120
+ validLength = writeIndex;
121
+ } else {
122
+ for (var _index2 = 0; _index2 < length; _index2++) {
123
+ sourceF64[_index2] = array[_index2];
124
+ }
125
+ validLength = length;
126
+ }
127
+ if (validLength === 0) {
128
+ return array;
68
129
  }
69
130
 
70
- // For small integer ranges, use counting sort
71
- if (allIntegers && max - min < length * 2 && max - min < 1000000) {
72
- return countingSort(result, min, max, ascending);
131
+ // Transform IEEE 754 bit patterns to sortable unsigned form
132
+ for (var _index3 = 0; _index3 < validLength; _index3++) {
133
+ var hiIndex = _index3 * 2 + 1;
134
+ var loIndex = _index3 * 2;
135
+ if (sourceU32[hiIndex] & 0x80000000) {
136
+ sourceU32[hiIndex] = ~sourceU32[hiIndex] >>> 0;
137
+ sourceU32[loIndex] = ~sourceU32[loIndex] >>> 0;
138
+ } else {
139
+ sourceU32[hiIndex] ^= 0x80000000;
140
+ }
73
141
  }
142
+ var destinationBuffer = new ArrayBuffer(validLength * 8);
143
+ var destinationU32 = new Uint32Array(destinationBuffer);
144
+ var count = new Uint32Array(256);
145
+ var currentSource = sourceU32;
146
+ var currentDestination = destinationU32;
147
+ var resultInSource = true;
148
+
149
+ // 8-pass LSD radix sort (8 bits per pass)
150
+ // Passes 0-3: low 32-bit word (index i*2)
151
+ // Passes 4-7: high 32-bit word (index i*2+1)
152
+ for (var pass = 0; pass < 8; pass++) {
153
+ count.fill(0);
154
+ var wordOffset = pass < 4 ? 0 : 1;
155
+ var shift = pass % 4 * 8;
156
+ for (var _index4 = 0; _index4 < validLength; _index4++) {
157
+ count[currentSource[_index4 * 2 + wordOffset] >>> shift & 0xff]++;
158
+ }
159
+
160
+ // Skip pass if all elements have the same byte value
161
+ var skipPass = false;
162
+ for (var _index5 = 0; _index5 < 256; _index5++) {
163
+ if (count[_index5] === validLength) {
164
+ skipPass = true;
165
+ break;
166
+ }
167
+ }
168
+ if (skipPass) {
169
+ continue;
170
+ }
171
+
172
+ // Prefix sum (reverse for descending sort)
173
+ if (ascending) {
174
+ for (var _index6 = 1; _index6 < 256; _index6++) {
175
+ count[_index6] += count[_index6 - 1];
176
+ }
177
+ } else {
178
+ for (var _index7 = 254; _index7 >= 0; _index7--) {
179
+ count[_index7] += count[_index7 + 1];
180
+ }
181
+ }
74
182
 
75
- // For larger arrays, use radix sort if applicable
76
- if (allIntegers && length > 100) {
77
- return radixSort(result, ascending);
183
+ // Scatter (backward for stability)
184
+ for (var _index8 = validLength - 1; _index8 >= 0; _index8--) {
185
+ var _byte = currentSource[_index8 * 2 + wordOffset] >>> shift & 0xff;
186
+ var pos = --count[_byte];
187
+ currentDestination[pos * 2] = currentSource[_index8 * 2];
188
+ currentDestination[pos * 2 + 1] = currentSource[_index8 * 2 + 1];
189
+ }
190
+
191
+ // Ping-pong swap
192
+ var temporary = currentSource;
193
+ currentSource = currentDestination;
194
+ currentDestination = temporary;
195
+ resultInSource = !resultInSource;
78
196
  }
79
197
 
80
- // Fall back to optimized quicksort for floating point
81
- return numericQuickSort(result, 0, length - 1, ascending);
198
+ // Determine which buffer holds the result
199
+ var resultU32 = currentSource;
200
+ var resultBuffer = resultInSource ? sourceBuffer : destinationBuffer;
201
+ var resultF64 = new Float64Array(resultBuffer);
202
+
203
+ // Reverse bit transformation
204
+ for (var _index9 = 0; _index9 < validLength; _index9++) {
205
+ var _hiIndex = _index9 * 2 + 1;
206
+ if (resultU32[_hiIndex] & 0x80000000) {
207
+ resultU32[_hiIndex] ^= 0x80000000;
208
+ } else {
209
+ resultU32[_hiIndex] = ~resultU32[_hiIndex] >>> 0;
210
+ resultU32[_index9 * 2] = ~resultU32[_index9 * 2] >>> 0;
211
+ }
212
+ }
213
+
214
+ // Copy results back
215
+ for (var _index0 = 0; _index0 < validLength; _index0++) {
216
+ array[_index0] = resultF64[_index0];
217
+ }
218
+
219
+ // Append NaN values at the end
220
+ for (var _index1 = validLength; _index1 < length; _index1++) {
221
+ array[_index1] = Number.NaN;
222
+ }
223
+ return array;
82
224
  };
83
225
 
84
226
  /**
@@ -88,36 +230,37 @@ var inlineSort3 = function inlineSort3(array, ascending) {
88
230
  var a = array[0];
89
231
  var b = array[1];
90
232
  var c = array[2];
233
+ var temporary;
91
234
  if (ascending) {
92
235
  if (a > b) {
93
- var _ref2 = [b, a];
94
- a = _ref2[0];
95
- b = _ref2[1];
236
+ temporary = a;
237
+ a = b;
238
+ b = temporary;
96
239
  }
97
240
  if (b > c) {
98
- var _ref3 = [c, b];
99
- b = _ref3[0];
100
- c = _ref3[1];
241
+ temporary = b;
242
+ b = c;
243
+ c = temporary;
101
244
  if (a > b) {
102
- var _ref4 = [b, a];
103
- a = _ref4[0];
104
- b = _ref4[1];
245
+ temporary = a;
246
+ a = b;
247
+ b = temporary;
105
248
  }
106
249
  }
107
250
  } else {
108
251
  if (a < b) {
109
- var _ref5 = [b, a];
110
- a = _ref5[0];
111
- b = _ref5[1];
252
+ temporary = a;
253
+ a = b;
254
+ b = temporary;
112
255
  }
113
256
  if (b < c) {
114
- var _ref6 = [c, b];
115
- b = _ref6[0];
116
- c = _ref6[1];
257
+ temporary = b;
258
+ b = c;
259
+ c = temporary;
117
260
  if (a < b) {
118
- var _ref7 = [b, a];
119
- a = _ref7[0];
120
- b = _ref7[1];
261
+ temporary = a;
262
+ a = b;
263
+ b = temporary;
121
264
  }
122
265
  }
123
266
  }
@@ -157,8 +300,8 @@ var handleNaNSort = function handleNaNSort(array, ascending) {
157
300
  }
158
301
 
159
302
  // Copy back
160
- for (var _index = 0; _index < array.length; _index++) {
161
- array[_index] = valid[_index];
303
+ for (var _index10 = 0; _index10 < array.length; _index10++) {
304
+ array[_index10] = valid[_index10];
162
305
  }
163
306
  return array;
164
307
  };
@@ -206,136 +349,6 @@ var countingSort = function countingSort(array, min, max, ascending) {
206
349
  return array;
207
350
  };
208
351
 
209
- /**
210
- * Radix sort for integers
211
- */
212
- var radixSort = function radixSort(array, ascending) {
213
- var length = array.length;
214
-
215
- // Separate positive and negative numbers
216
- var positive = [];
217
- var negative = [];
218
- var zeroCount = 0;
219
- for (var index_ = 0; index_ < length; index_++) {
220
- if (array[index_] > 0) {
221
- positive.push(array[index_]);
222
- } else if (array[index_] < 0) {
223
- negative.push(-array[index_]);
224
- } else {
225
- zeroCount++;
226
- }
227
- }
228
-
229
- // Sort positive numbers
230
- if (positive.length > 0) {
231
- radixSortPositive(positive);
232
- }
233
-
234
- // Sort negative numbers
235
- if (negative.length > 0) {
236
- radixSortPositive(negative);
237
- }
238
-
239
- // Merge results
240
- var index = 0;
241
- if (ascending) {
242
- // Negative numbers first (in reverse order)
243
- for (var _index_2 = negative.length - 1; _index_2 >= 0; _index_2--) {
244
- array[index++] = -negative[_index_2];
245
- }
246
- // Zeros
247
- for (var _index_3 = 0; _index_3 < zeroCount; _index_3++) {
248
- array[index++] = 0;
249
- }
250
- // Positive numbers
251
- var _iterator3 = _createForOfIteratorHelper(positive),
252
- _step3;
253
- try {
254
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
255
- var element = _step3.value;
256
- array[index++] = element;
257
- }
258
- } catch (err) {
259
- _iterator3.e(err);
260
- } finally {
261
- _iterator3.f();
262
- }
263
- } else {
264
- // Positive numbers first (in reverse order)
265
- for (var _index_4 = positive.length - 1; _index_4 >= 0; _index_4--) {
266
- array[index++] = positive[_index_4];
267
- }
268
- // Zeros
269
- for (var _index_5 = 0; _index_5 < zeroCount; _index_5++) {
270
- array[index++] = 0;
271
- }
272
- // Negative numbers
273
- var _iterator4 = _createForOfIteratorHelper(negative),
274
- _step4;
275
- try {
276
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
277
- var _element = _step4.value;
278
- array[index++] = -_element;
279
- }
280
- } catch (err) {
281
- _iterator4.e(err);
282
- } finally {
283
- _iterator4.f();
284
- }
285
- }
286
- return array;
287
- };
288
-
289
- /**
290
- * Radix sort for positive integers
291
- */
292
- var radixSortPositive = function radixSortPositive(array) {
293
- var length = array.length;
294
- if (length <= 1) {
295
- return;
296
- }
297
-
298
- // Find maximum to determine number of digits
299
- var max = array[0];
300
- for (var index = 1; index < length; index++) {
301
- if (array[index] > max) {
302
- max = array[index];
303
- }
304
- }
305
-
306
- // Use typed arrays for better performance
307
- var output = new Float64Array(length);
308
- var count = new Uint32Array(256);
309
-
310
- // Process 8 bits at a time
311
- for (var shift = 0; max >> shift > 0; shift += 8) {
312
- // Reset count array
313
- count.fill(0);
314
-
315
- // Count occurrences
316
- for (var _index2 = 0; _index2 < length; _index2++) {
317
- var digit = array[_index2] >> shift & 0xff;
318
- count[digit]++;
319
- }
320
-
321
- // Change count[i] to actual position
322
- for (var _index3 = 1; _index3 < 256; _index3++) {
323
- count[_index3] += count[_index3 - 1];
324
- }
325
-
326
- // Build output array
327
- for (var _index4 = length - 1; _index4 >= 0; _index4--) {
328
- var _digit = array[_index4] >> shift & 0xff;
329
- output[--count[_digit]] = array[_index4];
330
- }
331
-
332
- // Copy back
333
- for (var _index5 = 0; _index5 < length; _index5++) {
334
- array[_index5] = output[_index5];
335
- }
336
- }
337
- };
338
-
339
352
  /**
340
353
  * Optimized quicksort for numbers
341
354
  */
@@ -382,14 +395,14 @@ var numericInsertionSort = function numericInsertionSort(array, low, high, ascen
382
395
  array[index_ + 1] = key;
383
396
  }
384
397
  } else {
385
- for (var _index6 = low + 1; _index6 <= high; _index6++) {
386
- var _key = array[_index6];
387
- var _index_6 = _index6 - 1;
388
- while (_index_6 >= low && array[_index_6] < _key) {
389
- array[_index_6 + 1] = array[_index_6];
390
- _index_6--;
398
+ for (var _index11 = low + 1; _index11 <= high; _index11++) {
399
+ var _key = array[_index11];
400
+ var _index_2 = _index11 - 1;
401
+ while (_index_2 >= low && array[_index_2] < _key) {
402
+ array[_index_2 + 1] = array[_index_2];
403
+ _index_2--;
391
404
  }
392
- array[_index_6 + 1] = _key;
405
+ array[_index_2 + 1] = _key;
393
406
  }
394
407
  }
395
408
  };
@@ -400,44 +413,45 @@ var numericInsertionSort = function numericInsertionSort(array, low, high, ascen
400
413
  var numericPartition = function numericPartition(array, low, high, ascending) {
401
414
  // Median-of-three pivot selection
402
415
  var mid = low + (high - low >> 1);
416
+ var temporary;
403
417
  if (ascending) {
404
418
  if (array[mid] < array[low]) {
405
- var _ref8 = [array[mid], array[low]];
406
- array[low] = _ref8[0];
407
- array[mid] = _ref8[1];
419
+ temporary = array[low];
420
+ array[low] = array[mid];
421
+ array[mid] = temporary;
408
422
  }
409
423
  if (array[high] < array[low]) {
410
- var _ref9 = [array[high], array[low]];
411
- array[low] = _ref9[0];
412
- array[high] = _ref9[1];
424
+ temporary = array[low];
425
+ array[low] = array[high];
426
+ array[high] = temporary;
413
427
  }
414
428
  if (array[high] < array[mid]) {
415
- var _ref0 = [array[high], array[mid]];
416
- array[mid] = _ref0[0];
417
- array[high] = _ref0[1];
429
+ temporary = array[mid];
430
+ array[mid] = array[high];
431
+ array[high] = temporary;
418
432
  }
419
433
  } else {
420
434
  if (array[mid] > array[low]) {
421
- var _ref1 = [array[mid], array[low]];
422
- array[low] = _ref1[0];
423
- array[mid] = _ref1[1];
435
+ temporary = array[low];
436
+ array[low] = array[mid];
437
+ array[mid] = temporary;
424
438
  }
425
439
  if (array[high] > array[low]) {
426
- var _ref10 = [array[high], array[low]];
427
- array[low] = _ref10[0];
428
- array[high] = _ref10[1];
440
+ temporary = array[low];
441
+ array[low] = array[high];
442
+ array[high] = temporary;
429
443
  }
430
444
  if (array[high] > array[mid]) {
431
- var _ref11 = [array[high], array[mid]];
432
- array[mid] = _ref11[0];
433
- array[high] = _ref11[1];
445
+ temporary = array[mid];
446
+ array[mid] = array[high];
447
+ array[high] = temporary;
434
448
  }
435
449
  }
436
450
 
437
451
  // Move pivot to end-1
438
- var _ref12 = [array[high - 1], array[mid]];
439
- array[mid] = _ref12[0];
440
- array[high - 1] = _ref12[1];
452
+ temporary = array[mid];
453
+ array[mid] = array[high - 1];
454
+ array[high - 1] = temporary;
441
455
  var pivot = array[high - 1];
442
456
  var index = low;
443
457
  var index_ = high - 1;
@@ -452,9 +466,9 @@ var numericPartition = function numericPartition(array, low, high, ascending) {
452
466
  if (index >= index_) {
453
467
  break;
454
468
  }
455
- var _ref13 = [array[index_], array[index]];
456
- array[index] = _ref13[0];
457
- array[index_] = _ref13[1];
469
+ temporary = array[index];
470
+ array[index] = array[index_];
471
+ array[index_] = temporary;
458
472
  }
459
473
  } else {
460
474
  while (true) {
@@ -467,13 +481,13 @@ var numericPartition = function numericPartition(array, low, high, ascending) {
467
481
  if (index >= index_) {
468
482
  break;
469
483
  }
470
- var _ref14 = [array[index_], array[index]];
471
- array[index] = _ref14[0];
472
- array[index_] = _ref14[1];
484
+ temporary = array[index];
485
+ array[index] = array[index_];
486
+ array[index_] = temporary;
473
487
  }
474
488
  }
475
- var _ref15 = [array[high - 1], array[index]];
476
- array[index] = _ref15[0];
477
- array[high - 1] = _ref15[1];
489
+ temporary = array[index];
490
+ array[index] = array[high - 1];
491
+ array[high - 1] = temporary;
478
492
  return index;
479
493
  };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A deferred promise with externally accessible resolve and reject
3
+ */
4
+ export interface Deferred<T> {
5
+ promise: Promise<T>;
6
+ resolve: (value: T | PromiseLike<T>) => void;
7
+ reject: (reason?: unknown) => void;
8
+ }
9
+ /**
10
+ * Creates a deferred promise whose resolve and reject can be
11
+ * called externally
12
+ * @returns {Deferred<T>} An object with promise, resolve, and reject
13
+ * @example
14
+ * const d = defer<number>();
15
+ * d.resolve(42);
16
+ * const value = await d.promise;
17
+ */
18
+ export declare const defer: <T>() => Deferred<T>;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.defer = void 0;
7
+ /**
8
+ * A deferred promise with externally accessible resolve and reject
9
+ */
10
+
11
+ /**
12
+ * Creates a deferred promise whose resolve and reject can be
13
+ * called externally
14
+ * @returns {Deferred<T>} An object with promise, resolve, and reject
15
+ * @example
16
+ * const d = defer<number>();
17
+ * d.resolve(42);
18
+ * const value = await d.promise;
19
+ */
20
+ var defer = exports.defer = function defer() {
21
+ var resolve;
22
+ var reject;
23
+ var promise = new Promise(function (resolver, rejector) {
24
+ resolve = resolver;
25
+ reject = rejector;
26
+ });
27
+ return {
28
+ promise: promise,
29
+ resolve: resolve,
30
+ reject: reject
31
+ };
32
+ };
@@ -0,0 +1,4 @@
1
+ export * from "./defer";
2
+ export * from "./parallel";
3
+ export * from "./sleep";
4
+ export * from "./timeout";
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _defer = require("./defer");
7
+ Object.keys(_defer).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _defer[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _defer[key];
14
+ }
15
+ });
16
+ });
17
+ var _parallel = require("./parallel");
18
+ Object.keys(_parallel).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _parallel[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _parallel[key];
25
+ }
26
+ });
27
+ });
28
+ var _sleep = require("./sleep");
29
+ Object.keys(_sleep).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _sleep[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _sleep[key];
36
+ }
37
+ });
38
+ });
39
+ var _timeout = require("./timeout");
40
+ Object.keys(_timeout).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _timeout[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _timeout[key];
47
+ }
48
+ });
49
+ });
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Executes async functions in parallel with a concurrency limit
3
+ * @param {number} limit - Maximum number of concurrent executions
4
+ * @param {T[]} items - The items to process
5
+ * @param {(item: T, index: number) => Promise<U>} function_ - The async function to apply to each item
6
+ * @returns {Promise<U[]>} Results in the same order as the input items
7
+ * @example
8
+ * const results = await parallel(2, [1, 2, 3], async (n) => n * 2);
9
+ */
10
+ export declare const parallel: <T, U>(limit: number, items: T[], function_: (item: T, index: number) => Promise<U>) => Promise<U[]>;