umt 2.12.2 → 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 +25 -20
  458. package/module/es5/index.js +135 -80
  459. package/module/es5/tsconfig.tsbuildinfo +1 -1
  460. package/module/index.d.ts +25 -20
  461. package/module/index.js +25 -20
  462. package/module/index.js.map +1 -1
  463. package/package.json +43 -17
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.mapResult = void 0;
7
+ var _safeExecute = require("../Error/safeExecute");
8
+ /**
9
+ * Transforms the value inside a successful Result using the provided
10
+ * mapping function. If the Result is an error, it is returned unchanged.
11
+ *
12
+ * @param result - The Result to transform.
13
+ * @param function_ - The function to apply to the success value.
14
+ * @returns A new Result with the transformed value, or the original error.
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const success = { type: "success", value: 5 } as const;
19
+ * mapResult(success, (n) => n * 2);
20
+ * // { type: "success", value: 10 }
21
+ *
22
+ * const error = { type: "error", error: new Error("fail") } as const;
23
+ * mapResult(error, (n) => n * 2);
24
+ * // { type: "error", error: Error("fail") }
25
+ * ```
26
+ */
27
+ var mapResult = exports.mapResult = function mapResult(result, function_) {
28
+ if (result.type === "success") {
29
+ return (0, _safeExecute.successFunction)(function_(result.value));
30
+ }
31
+ return result;
32
+ };
@@ -0,0 +1,25 @@
1
+ import type { Result } from "../Error/safeExecute";
2
+ /**
3
+ * Pattern-matches on a Result, applying the appropriate handler
4
+ * depending on whether the Result is a success or an error.
5
+ *
6
+ * @param result - The Result to match on.
7
+ * @param handlers - An object with onSuccess and onError callbacks.
8
+ * @param handlers.onSuccess - Called with the value if the Result is a success.
9
+ * @param handlers.onError - Called with the error if the Result is an error.
10
+ * @returns The return value of whichever handler is invoked.
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * const result = { type: "success", value: 42 } as const;
15
+ * matchResult(result, {
16
+ * onSuccess: (v) => `Got ${v}`,
17
+ * onError: (e) => `Failed: ${e}`,
18
+ * });
19
+ * // "Got 42"
20
+ * ```
21
+ */
22
+ export declare const matchResult: <V, E, S, F>(result: Result<V, E>, handlers: {
23
+ onSuccess: (value: V) => S;
24
+ onError: (error: E) => F;
25
+ }) => S | F;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.matchResult = void 0;
7
+ /**
8
+ * Pattern-matches on a Result, applying the appropriate handler
9
+ * depending on whether the Result is a success or an error.
10
+ *
11
+ * @param result - The Result to match on.
12
+ * @param handlers - An object with onSuccess and onError callbacks.
13
+ * @param handlers.onSuccess - Called with the value if the Result is a success.
14
+ * @param handlers.onError - Called with the error if the Result is an error.
15
+ * @returns The return value of whichever handler is invoked.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const result = { type: "success", value: 42 } as const;
20
+ * matchResult(result, {
21
+ * onSuccess: (v) => `Got ${v}`,
22
+ * onError: (e) => `Failed: ${e}`,
23
+ * });
24
+ * // "Got 42"
25
+ * ```
26
+ */
27
+ var matchResult = exports.matchResult = function matchResult(result, handlers) {
28
+ if (result.type === "success") {
29
+ return handlers.onSuccess(result.value);
30
+ }
31
+ return handlers.onError(result.error);
32
+ };
@@ -2,7 +2,7 @@
2
2
  * Represents a successful execution result containing a value
3
3
  * @template V The type of the success value
4
4
  */
5
- interface SuccessType<V> {
5
+ export interface SuccessType<V> {
6
6
  type: "success";
7
7
  value: V;
8
8
  }
@@ -10,7 +10,7 @@ interface SuccessType<V> {
10
10
  * Represents an error result containing an error object
11
11
  * @template E The type of the error
12
12
  */
13
- interface ErrorType<E> {
13
+ export interface ErrorType<E> {
14
14
  type: "error";
15
15
  error: E;
16
16
  }
@@ -20,6 +20,20 @@ interface ErrorType<E> {
20
20
  * @template E The type of the error
21
21
  */
22
22
  export type Result<V, E> = SuccessType<V> | ErrorType<E>;
23
+ /**
24
+ * Creates an error result
25
+ * @template E The type of the error
26
+ * @param error The error object
27
+ * @returns An ErrorType containing the error
28
+ */
29
+ export declare const errorFunction: <E>(error: E) => ErrorType<E>;
30
+ /**
31
+ * Creates a success result
32
+ * @template V The type of the success value
33
+ * @param value The success value
34
+ * @returns A SuccessType containing the value
35
+ */
36
+ export declare const successFunction: <V>(value: V) => SuccessType<V>;
23
37
  /**
24
38
  * Safely executes a callback function and returns a Result type
25
39
  * Catches any errors and wraps them in a Result type
@@ -29,4 +43,3 @@ export type Result<V, E> = SuccessType<V> | ErrorType<E>;
29
43
  * @returns A Result containing either the successful value or the caught error
30
44
  */
31
45
  export declare const safeExecute: <V, E = Error>(callback: () => V) => Result<V, E>;
32
- export {};
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.safeExecute = void 0;
6
+ exports.successFunction = exports.safeExecute = exports.errorFunction = void 0;
7
7
  /**
8
8
  * Represents a successful execution result containing a value
9
9
  * @template V The type of the success value
@@ -26,7 +26,7 @@ exports.safeExecute = void 0;
26
26
  * @param error The error object
27
27
  * @returns An ErrorType containing the error
28
28
  */
29
- var errorFunction = function errorFunction(error) {
29
+ var errorFunction = exports.errorFunction = function errorFunction(error) {
30
30
  return {
31
31
  type: "error",
32
32
  error: error
@@ -38,7 +38,7 @@ var errorFunction = function errorFunction(error) {
38
38
  * @param value The success value
39
39
  * @returns A SuccessType containing the value
40
40
  */
41
- var successFunction = function successFunction(value) {
41
+ var successFunction = exports.successFunction = function successFunction(value) {
42
42
  return {
43
43
  type: "success",
44
44
  value: value
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Options for the debounce function.
3
+ */
4
+ export interface DebounceOptions {
5
+ /** Whether to invoke on the leading edge of the timeout. */
6
+ leading?: boolean;
7
+ /** Whether to invoke on the trailing edge of the timeout. */
8
+ trailing?: boolean;
9
+ }
10
+ /**
11
+ * A debounced function with a cancel method.
12
+ */
13
+ export interface DebouncedFunction<T extends (...arguments_: unknown[]) => unknown> {
14
+ (...arguments_: Parameters<T>): void;
15
+ /** Cancels any pending debounced invocation. */
16
+ cancel: () => void;
17
+ }
18
+ /**
19
+ * Creates a debounced version of the provided function that delays
20
+ * invoking it until after the specified wait time has elapsed since
21
+ * the last time the debounced function was called.
22
+ *
23
+ * @param function_ - The function to debounce.
24
+ * @param wait - The number of milliseconds to delay.
25
+ * @param options - Configuration for leading/trailing invocation.
26
+ * @param options.leading - If true, invoke on the leading edge.
27
+ * @param options.trailing - If true, invoke on the trailing edge (default).
28
+ * @returns The debounced function with a cancel method.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * const debounced = debounce(() => console.log("called"), 300);
33
+ * debounced();
34
+ * debounced();
35
+ * debounced.cancel();
36
+ * ```
37
+ */
38
+ export declare const debounce: <T extends (...arguments_: unknown[]) => unknown>(function_: T, wait: number, options?: DebounceOptions) => DebouncedFunction<T>;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.debounce = void 0;
7
+ /**
8
+ * Options for the debounce function.
9
+ */
10
+
11
+ /**
12
+ * A debounced function with a cancel method.
13
+ */
14
+
15
+ /**
16
+ * Creates a debounced version of the provided function that delays
17
+ * invoking it until after the specified wait time has elapsed since
18
+ * the last time the debounced function was called.
19
+ *
20
+ * @param function_ - The function to debounce.
21
+ * @param wait - The number of milliseconds to delay.
22
+ * @param options - Configuration for leading/trailing invocation.
23
+ * @param options.leading - If true, invoke on the leading edge.
24
+ * @param options.trailing - If true, invoke on the trailing edge (default).
25
+ * @returns The debounced function with a cancel method.
26
+ *
27
+ * @example
28
+ * ```typescript
29
+ * const debounced = debounce(() => console.log("called"), 300);
30
+ * debounced();
31
+ * debounced();
32
+ * debounced.cancel();
33
+ * ```
34
+ */
35
+ var debounce = exports.debounce = function debounce(function_, wait) {
36
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
37
+ var _options$leading = options.leading,
38
+ leading = _options$leading === void 0 ? false : _options$leading,
39
+ _options$trailing = options.trailing,
40
+ trailing = _options$trailing === void 0 ? true : _options$trailing;
41
+ var timerId;
42
+ var lastArguments;
43
+ var thisReference = {
44
+ value: undefined
45
+ };
46
+ var lastCallTime = 0;
47
+ var _scheduleCheck = function scheduleCheck() {
48
+ timerId = setTimeout(function () {
49
+ var elapsed = Date.now() - lastCallTime;
50
+ var remaining = wait - elapsed;
51
+ if (remaining <= 0) {
52
+ timerId = undefined;
53
+ if (trailing && lastArguments !== undefined) {
54
+ function_.apply(thisReference.value, lastArguments);
55
+ lastArguments = undefined;
56
+ }
57
+ } else {
58
+ _scheduleCheck();
59
+ }
60
+ }, wait - (Date.now() - lastCallTime));
61
+ };
62
+ var debounced = function debounced() {
63
+ for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
64
+ arguments_[_key] = arguments[_key];
65
+ }
66
+ lastArguments = arguments_;
67
+ thisReference.value = this;
68
+ lastCallTime = Date.now();
69
+ var isFirstCall = timerId === undefined;
70
+ if (leading && isFirstCall) {
71
+ function_.apply(thisReference.value, lastArguments);
72
+ lastArguments = undefined;
73
+ }
74
+ if (isFirstCall) {
75
+ _scheduleCheck();
76
+ }
77
+ };
78
+ debounced.cancel = function () {
79
+ if (timerId !== undefined) {
80
+ clearTimeout(timerId);
81
+ }
82
+ timerId = undefined;
83
+ lastArguments = undefined;
84
+ thisReference.value = undefined;
85
+ lastCallTime = 0;
86
+ };
87
+ return debounced;
88
+ };
@@ -1 +1,5 @@
1
1
  export * from "./curry";
2
+ export * from "./debounce";
3
+ export * from "./memoize";
4
+ export * from "./once";
5
+ export * from "./throttle";
@@ -13,4 +13,48 @@ Object.keys(_curry).forEach(function (key) {
13
13
  return _curry[key];
14
14
  }
15
15
  });
16
+ });
17
+ var _debounce = require("./debounce");
18
+ Object.keys(_debounce).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _debounce[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function get() {
24
+ return _debounce[key];
25
+ }
26
+ });
27
+ });
28
+ var _memoize = require("./memoize");
29
+ Object.keys(_memoize).forEach(function (key) {
30
+ if (key === "default" || key === "__esModule") return;
31
+ if (key in exports && exports[key] === _memoize[key]) return;
32
+ Object.defineProperty(exports, key, {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _memoize[key];
36
+ }
37
+ });
38
+ });
39
+ var _once = require("./once");
40
+ Object.keys(_once).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _once[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function get() {
46
+ return _once[key];
47
+ }
48
+ });
49
+ });
50
+ var _throttle = require("./throttle");
51
+ Object.keys(_throttle).forEach(function (key) {
52
+ if (key === "default" || key === "__esModule") return;
53
+ if (key in exports && exports[key] === _throttle[key]) return;
54
+ Object.defineProperty(exports, key, {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _throttle[key];
58
+ }
59
+ });
16
60
  });
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Options for the memoize function.
3
+ */
4
+ export interface MemoizeOptions<K> {
5
+ /** Maximum number of entries to store in the cache. */
6
+ maxSize?: number;
7
+ /** Custom function to generate cache keys from arguments. */
8
+ resolver?: (...arguments_: unknown[]) => K;
9
+ }
10
+ /**
11
+ * A memoized function with an exposed cache.
12
+ */
13
+ export interface MemoizedFunction<A extends unknown[], R, K = unknown> {
14
+ (...arguments_: A): R;
15
+ /** The underlying cache Map. */
16
+ cache: Map<K, R>;
17
+ }
18
+ /**
19
+ * Creates a memoized version of the provided function. Results are
20
+ * cached in a Map keyed by the first argument (or a custom resolver).
21
+ *
22
+ * @param function_ - The function to memoize.
23
+ * @param options - Configuration for cache behavior.
24
+ * @param options.maxSize - Maximum cache entries before evicting the oldest.
25
+ * @param options.resolver - Custom key resolver function.
26
+ * @returns The memoized function with an exposed cache property.
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const memoized = memoize((n: number) => n * 2);
31
+ * memoized(5); // 10 (computed)
32
+ * memoized(5); // 10 (cached)
33
+ * memoized.cache.size; // 1
34
+ * ```
35
+ */
36
+ export declare const memoize: <A extends unknown[], R, K = unknown>(function_: (...arguments_: A) => R, options?: MemoizeOptions<K>) => MemoizedFunction<A, R, K>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.memoize = void 0;
7
+ /**
8
+ * Options for the memoize function.
9
+ */
10
+
11
+ /**
12
+ * A memoized function with an exposed cache.
13
+ */
14
+
15
+ /**
16
+ * Creates a memoized version of the provided function. Results are
17
+ * cached in a Map keyed by the first argument (or a custom resolver).
18
+ *
19
+ * @param function_ - The function to memoize.
20
+ * @param options - Configuration for cache behavior.
21
+ * @param options.maxSize - Maximum cache entries before evicting the oldest.
22
+ * @param options.resolver - Custom key resolver function.
23
+ * @returns The memoized function with an exposed cache property.
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * const memoized = memoize((n: number) => n * 2);
28
+ * memoized(5); // 10 (computed)
29
+ * memoized(5); // 10 (cached)
30
+ * memoized.cache.size; // 1
31
+ * ```
32
+ */
33
+ var memoize = exports.memoize = function memoize(function_) {
34
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
35
+ var maxSize = options.maxSize,
36
+ resolver = options.resolver;
37
+ var cache = new Map();
38
+ var memoized = resolver ? function () {
39
+ for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
40
+ arguments_[_key] = arguments[_key];
41
+ }
42
+ var key = resolver.apply(void 0, arguments_);
43
+ var cached = cache.get(key);
44
+ if (cached !== undefined) {
45
+ return cached;
46
+ }
47
+ var result = function_.apply(this, arguments_);
48
+ if (maxSize !== undefined && cache.size >= maxSize) {
49
+ var firstKey = cache.keys().next().value;
50
+ cache["delete"](firstKey);
51
+ }
52
+ cache.set(key, result);
53
+ return result;
54
+ } : function () {
55
+ for (var _len2 = arguments.length, arguments_ = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
56
+ arguments_[_key2] = arguments[_key2];
57
+ }
58
+ var key = arguments_[0];
59
+ var cached = cache.get(key);
60
+ if (cached !== undefined) {
61
+ return cached;
62
+ }
63
+ var result = function_.apply(this, arguments_);
64
+ if (maxSize !== undefined && cache.size >= maxSize) {
65
+ var firstKey = cache.keys().next().value;
66
+ cache["delete"](firstKey);
67
+ }
68
+ cache.set(key, result);
69
+ return result;
70
+ };
71
+ memoized.cache = cache;
72
+ return memoized;
73
+ };
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Creates a function that is restricted to be called only once.
3
+ * Subsequent calls return the result of the first invocation.
4
+ *
5
+ * @param function_ - The function to restrict.
6
+ * @returns A function that invokes the original only on its first call.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * const initialize = once(() => {
11
+ * console.log("initialized");
12
+ * return 42;
13
+ * });
14
+ * initialize(); // logs "initialized", returns 42
15
+ * initialize(); // returns 42 (no log)
16
+ * ```
17
+ */
18
+ export declare const once: <A extends unknown[], R>(function_: (...arguments_: A) => R) => ((...arguments_: A) => R);
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.once = void 0;
7
+ /**
8
+ * Creates a function that is restricted to be called only once.
9
+ * Subsequent calls return the result of the first invocation.
10
+ *
11
+ * @param function_ - The function to restrict.
12
+ * @returns A function that invokes the original only on its first call.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * const initialize = once(() => {
17
+ * console.log("initialized");
18
+ * return 42;
19
+ * });
20
+ * initialize(); // logs "initialized", returns 42
21
+ * initialize(); // returns 42 (no log)
22
+ * ```
23
+ */
24
+ var once = exports.once = function once(function_) {
25
+ var called = false;
26
+ var result;
27
+ return function () {
28
+ if (!called) {
29
+ called = true;
30
+ for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
31
+ arguments_[_key] = arguments[_key];
32
+ }
33
+ result = function_.apply(this, arguments_);
34
+ }
35
+ return result;
36
+ };
37
+ };
@@ -0,0 +1,25 @@
1
+ /**
2
+ * A throttled function with a cancel method.
3
+ */
4
+ export interface ThrottledFunction<T extends (...arguments_: unknown[]) => unknown> {
5
+ (...arguments_: Parameters<T>): void;
6
+ /** Cancels any pending throttled invocation. */
7
+ cancel: () => void;
8
+ }
9
+ /**
10
+ * Creates a throttled version of the provided function that only
11
+ * invokes it at most once per the specified wait period.
12
+ *
13
+ * @param function_ - The function to throttle.
14
+ * @param wait - The minimum time between invocations in milliseconds.
15
+ * @returns The throttled function with a cancel method.
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const throttled = throttle(() => console.log("called"), 300);
20
+ * throttled();
21
+ * throttled();
22
+ * throttled.cancel();
23
+ * ```
24
+ */
25
+ export declare const throttle: <T extends (...arguments_: unknown[]) => unknown>(function_: T, wait: number) => ThrottledFunction<T>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.throttle = void 0;
7
+ /**
8
+ * A throttled function with a cancel method.
9
+ */
10
+
11
+ /**
12
+ * Creates a throttled version of the provided function that only
13
+ * invokes it at most once per the specified wait period.
14
+ *
15
+ * @param function_ - The function to throttle.
16
+ * @param wait - The minimum time between invocations in milliseconds.
17
+ * @returns The throttled function with a cancel method.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const throttled = throttle(() => console.log("called"), 300);
22
+ * throttled();
23
+ * throttled();
24
+ * throttled.cancel();
25
+ * ```
26
+ */
27
+ var throttle = exports.throttle = function throttle(function_, wait) {
28
+ var lastCallTime = 0;
29
+ var timerId;
30
+ var lastContext;
31
+ var invoke = function invoke() {
32
+ lastCallTime = Date.now();
33
+ var context = lastContext;
34
+ function_.apply(context.thisArg, context.arguments_);
35
+ lastContext = undefined;
36
+ };
37
+ var throttled = function throttled() {
38
+ for (var _len = arguments.length, arguments_ = new Array(_len), _key = 0; _key < _len; _key++) {
39
+ arguments_[_key] = arguments[_key];
40
+ }
41
+ lastContext = {
42
+ arguments_: arguments_,
43
+ thisArg: this
44
+ };
45
+ var elapsed = Date.now() - lastCallTime;
46
+ var remaining = wait - elapsed;
47
+ if (remaining <= 0) {
48
+ if (timerId !== undefined) {
49
+ clearTimeout(timerId);
50
+ timerId = undefined;
51
+ }
52
+ invoke();
53
+ } else {
54
+ timerId !== null && timerId !== void 0 ? timerId : timerId = setTimeout(function () {
55
+ timerId = undefined;
56
+ invoke();
57
+ }, remaining);
58
+ }
59
+ };
60
+ throttled.cancel = function () {
61
+ if (timerId !== undefined) {
62
+ clearTimeout(timerId);
63
+ }
64
+ timerId = undefined;
65
+ lastContext = undefined;
66
+ lastCallTime = 0;
67
+ };
68
+ return throttled;
69
+ };
@@ -2,6 +2,5 @@
2
2
  * Converts CIDR notation to a subnet mask number
3
3
  * @param {number} cidr - CIDR notation (0-32)
4
4
  * @returns {number} Subnet mask as a 32-bit number
5
- * @throws {Error} If CIDR is not between 0 and 32
6
5
  */
7
6
  export declare const cidrToLong: (cidr: number) => number;
@@ -8,11 +8,7 @@ exports.cidrToLong = void 0;
8
8
  * Converts CIDR notation to a subnet mask number
9
9
  * @param {number} cidr - CIDR notation (0-32)
10
10
  * @returns {number} Subnet mask as a 32-bit number
11
- * @throws {Error} If CIDR is not between 0 and 32
12
11
  */
13
12
  var cidrToLong = exports.cidrToLong = function cidrToLong(cidr) {
14
- if (!Number.isInteger(cidr) || cidr < 0 || cidr > 32) {
15
- throw new Error("CIDR must be an integer between 0 and 32");
16
- }
17
13
  return Number.parseInt("1".repeat(cidr).padEnd(32, "0"), 2) >>> 0;
18
14
  };
@@ -2,6 +2,5 @@
2
2
  * Converts CIDR notation to a subnet mask
3
3
  * @param {number} cidr - CIDR notation (0-32)
4
4
  * @returns {string} Subnet mask in IPv4 format (e.g., "255.255.255.0")
5
- * @throws {Error} If CIDR is not between 0 and 32
6
5
  */
7
6
  export declare const cidrToSubnetMask: (cidr: number) => string;
@@ -10,7 +10,6 @@ var _longToIp = require("./longToIp");
10
10
  * Converts CIDR notation to a subnet mask
11
11
  * @param {number} cidr - CIDR notation (0-32)
12
12
  * @returns {string} Subnet mask in IPv4 format (e.g., "255.255.255.0")
13
- * @throws {Error} If CIDR is not between 0 and 32
14
13
  */
15
14
  var cidrToSubnetMask = exports.cidrToSubnetMask = function cidrToSubnetMask(cidr) {
16
15
  return (0, _longToIp.longToIp)((0, _cidrToLong.cidrToLong)(cidr));
@@ -3,6 +3,5 @@
3
3
  * @param {string} ip - IPv4 address (e.g., "192.168.1.1")
4
4
  * @param {string} subnetMask - Subnet mask (e.g., "255.255.255.0")
5
5
  * @returns {number} Network address as a 32-bit unsigned integer
6
- * @throws {Error} If IP address or subnet mask is invalid
7
6
  */
8
7
  export declare const getNetworkAddress: (ip: string, subnetMask: string) => number;