@vinicunca/perkakas 1.5.0 → 1.7.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 (569) hide show
  1. package/dist/add-prop.cjs +1 -1
  2. package/dist/add-prop.d.cts +1 -1
  3. package/dist/add-prop.d.ts +1 -1
  4. package/dist/add-prop.js +1 -1
  5. package/dist/add.cjs +1 -1
  6. package/dist/add.js +1 -1
  7. package/dist/all-pass.cjs +1 -1
  8. package/dist/all-pass.js +1 -1
  9. package/dist/any-pass.cjs +1 -1
  10. package/dist/any-pass.js +1 -1
  11. package/dist/array-required-prefix-Ck4lHkbA.d.cts +33 -0
  12. package/dist/array-required-prefix-DXv_WnmG.d.ts +33 -0
  13. package/dist/bounded-partial-BqwRN49U.d.cts +15 -0
  14. package/dist/bounded-partial-BzynYDVs.d.ts +15 -0
  15. package/dist/ceil.cjs +1 -1
  16. package/dist/ceil.js +1 -1
  17. package/dist/{chunk-AJQEGHF5.cjs → chunk-22AQJBPW.cjs} +1 -1
  18. package/dist/chunk-2HQM73IT.cjs +1 -0
  19. package/dist/chunk-2XGSSTCA.js +1 -0
  20. package/dist/chunk-3DOG24FJ.cjs +1 -0
  21. package/dist/{chunk-6ENW2VLC.cjs → chunk-3LC3CLYE.cjs} +1 -1
  22. package/dist/chunk-44LUF6RO.js +1 -0
  23. package/dist/chunk-4BTTPOEU.cjs +1 -0
  24. package/dist/chunk-4Y6KJJOW.js +1 -0
  25. package/dist/chunk-5PMGMODH.js +1 -0
  26. package/dist/{chunk-GVYLRJPB.cjs → chunk-66JP4PUG.cjs} +1 -1
  27. package/dist/chunk-6M4IYQFZ.js +1 -0
  28. package/dist/chunk-76VE5EC6.cjs +1 -0
  29. package/dist/{chunk-TNA73S2T.cjs → chunk-7C7R7JNX.cjs} +1 -1
  30. package/dist/{chunk-WONMP5WS.js → chunk-7V7IBWP5.js} +1 -1
  31. package/dist/chunk-B6SBIS6W.js +1 -0
  32. package/dist/chunk-BEMQAYI5.cjs +1 -0
  33. package/dist/chunk-BKBHW2XJ.js +1 -0
  34. package/dist/chunk-BSNCALDT.cjs +1 -0
  35. package/dist/chunk-CTGIT5TY.js +1 -0
  36. package/dist/{chunk-UGWBDJPI.cjs → chunk-D4TUHKBA.cjs} +1 -1
  37. package/dist/chunk-EK7ODJWE.js +1 -0
  38. package/dist/chunk-FGMSPUSF.cjs +1 -0
  39. package/dist/chunk-FIO5FNV2.js +1 -0
  40. package/dist/chunk-FOUZI2Q3.cjs +1 -0
  41. package/dist/chunk-GRKRFDIL.js +1 -0
  42. package/dist/chunk-GW4KDK3D.cjs +1 -0
  43. package/dist/chunk-HSNPZS6R.cjs +1 -0
  44. package/dist/chunk-ITDJLXHO.js +1 -0
  45. package/dist/{chunk-FLQYTU5W.cjs → chunk-JHFSYEXB.cjs} +1 -1
  46. package/dist/{chunk-WCPENZWH.js → chunk-JI5FJX2E.js} +1 -1
  47. package/dist/chunk-JYWIRZ2Z.js +1 -0
  48. package/dist/chunk-K26HQR4Y.cjs +1 -0
  49. package/dist/chunk-KYMVIFAW.cjs +1 -0
  50. package/dist/chunk-MBGSSEZN.cjs +1 -0
  51. package/dist/{chunk-22IDCBFS.js → chunk-MPWQN3WY.js} +1 -1
  52. package/dist/chunk-NHTBBY2L.js +1 -0
  53. package/dist/chunk-NQUTCPKD.js +1 -0
  54. package/dist/{chunk-ZQXE6PIV.cjs → chunk-NVCXF5UR.cjs} +1 -1
  55. package/dist/chunk-O74TUGYF.js +1 -0
  56. package/dist/chunk-OKBFQ7B6.js +1 -0
  57. package/dist/{chunk-MHEODCN3.cjs → chunk-OMHZCALN.cjs} +1 -1
  58. package/dist/chunk-P7RCAO7P.cjs +438 -0
  59. package/dist/chunk-QGF2XNZS.cjs +1 -0
  60. package/dist/chunk-R4O7XE2F.cjs +1 -0
  61. package/dist/chunk-RMOD5JNB.cjs +1 -0
  62. package/dist/chunk-RTFVY5D4.cjs +1 -0
  63. package/dist/chunk-SG2YWG6U.cjs +1 -0
  64. package/dist/chunk-SXNRBENP.cjs +1 -0
  65. package/dist/chunk-TSP3FU72.cjs +1 -0
  66. package/dist/chunk-TVMG2NYC.js +1 -0
  67. package/dist/chunk-TWCEO47X.cjs +1 -0
  68. package/dist/{chunk-L4FN2W5Q.cjs → chunk-TXPRX236.cjs} +1 -1
  69. package/dist/{chunk-3K7SNX4D.cjs → chunk-UURK6I3D.cjs} +1 -1
  70. package/dist/chunk-UWMBE6BM.js +1 -0
  71. package/dist/{chunk-VBH6SKKO.js → chunk-VI2QG3FU.js} +1 -1
  72. package/dist/chunk-XCG2UC6T.js +1 -0
  73. package/dist/chunk-YCSQX2SY.js +1 -0
  74. package/dist/{chunk-6XVLHSPK.js → chunk-YRVN4PYH.js} +1 -1
  75. package/dist/chunk-YWIXN5BR.js +1 -0
  76. package/dist/chunk-Z23BZCCD.js +438 -0
  77. package/dist/{chunk-EDZFEURO.js → chunk-Z5YZYBC2.js} +1 -1
  78. package/dist/chunk-Z7D7Q6U3.js +1 -0
  79. package/dist/chunk-ZITGCTSW.js +1 -0
  80. package/dist/chunk-ZMG3NQDL.js +1 -0
  81. package/dist/chunk.cjs +1 -1
  82. package/dist/chunk.d.cts +37 -41
  83. package/dist/chunk.d.ts +37 -41
  84. package/dist/chunk.js +1 -1
  85. package/dist/clamp.cjs +1 -1
  86. package/dist/clamp.js +1 -1
  87. package/dist/clamped-integer-subtract-DZ7rsJE4.d.cts +15 -0
  88. package/dist/clamped-integer-subtract-DZ7rsJE4.d.ts +15 -0
  89. package/dist/clone.cjs +1 -1
  90. package/dist/clone.js +1 -1
  91. package/dist/coerced-array-DRz3tqda.d.cts +14 -0
  92. package/dist/coerced-array-DRz3tqda.d.ts +14 -0
  93. package/dist/concat.cjs +1 -1
  94. package/dist/concat.js +1 -1
  95. package/dist/conditional.cjs +1 -1
  96. package/dist/conditional.d.cts +133 -43
  97. package/dist/conditional.d.ts +133 -43
  98. package/dist/conditional.js +1 -1
  99. package/dist/constant.cjs +1 -1
  100. package/dist/constant.js +1 -1
  101. package/dist/count-by.cjs +1 -1
  102. package/dist/count-by.d.cts +5 -4
  103. package/dist/count-by.d.ts +5 -4
  104. package/dist/count-by.js +1 -1
  105. package/dist/curry.cjs +1 -1
  106. package/dist/curry.js +1 -1
  107. package/dist/debounce.cjs +1 -1
  108. package/dist/debounce.js +1 -1
  109. package/dist/difference-with.cjs +1 -1
  110. package/dist/difference-with.js +1 -1
  111. package/dist/difference.cjs +1 -1
  112. package/dist/difference.js +1 -1
  113. package/dist/divide.cjs +1 -1
  114. package/dist/divide.js +1 -1
  115. package/dist/do-nothing.cjs +1 -1
  116. package/dist/do-nothing.js +1 -1
  117. package/dist/drop-first-by.cjs +1 -1
  118. package/dist/drop-first-by.d.cts +1 -1
  119. package/dist/drop-first-by.d.ts +1 -1
  120. package/dist/drop-first-by.js +1 -1
  121. package/dist/drop-last-while.cjs +1 -1
  122. package/dist/drop-last-while.js +1 -1
  123. package/dist/drop-last.cjs +1 -1
  124. package/dist/drop-last.js +1 -1
  125. package/dist/drop-while.cjs +1 -1
  126. package/dist/drop-while.js +1 -1
  127. package/dist/drop.cjs +1 -1
  128. package/dist/drop.d.cts +18 -30
  129. package/dist/drop.d.ts +18 -30
  130. package/dist/drop.js +1 -1
  131. package/dist/entries.cjs +1 -1
  132. package/dist/entries.d.cts +8 -5
  133. package/dist/entries.d.ts +8 -5
  134. package/dist/entries.js +1 -1
  135. package/dist/{enumerable-string-key-of-BQ4aR5ep.d.cts → enumerable-string-key-of-C4gsorXe.d.ts} +3 -1
  136. package/dist/{enumerable-string-key-of-BQ4aR5ep.d.ts → enumerable-string-key-of-D8w_3Yg8.d.cts} +3 -1
  137. package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.cts +9 -0
  138. package/dist/enumerable-string-keyed-value-of-BU9R_cEk.d.ts +9 -0
  139. package/dist/evolve.cjs +1 -1
  140. package/dist/evolve.js +1 -1
  141. package/dist/filter.cjs +1 -1
  142. package/dist/filter.d.cts +12 -4
  143. package/dist/filter.d.ts +12 -4
  144. package/dist/filter.js +1 -1
  145. package/dist/filtered-array-BCjySbC6.d.cts +18 -0
  146. package/dist/filtered-array-JKATL39M.d.ts +18 -0
  147. package/dist/find-index.cjs +1 -1
  148. package/dist/find-index.js +1 -1
  149. package/dist/find-last-index.cjs +1 -1
  150. package/dist/find-last-index.js +1 -1
  151. package/dist/find-last.cjs +1 -1
  152. package/dist/find-last.js +1 -1
  153. package/dist/find.cjs +1 -1
  154. package/dist/find.js +1 -1
  155. package/dist/first-by.cjs +1 -1
  156. package/dist/first-by.d.cts +1 -1
  157. package/dist/first-by.d.ts +1 -1
  158. package/dist/first-by.js +1 -1
  159. package/dist/first.cjs +1 -1
  160. package/dist/first.js +1 -1
  161. package/dist/flat-map.cjs +1 -1
  162. package/dist/flat-map.js +1 -1
  163. package/dist/flat.cjs +1 -1
  164. package/dist/flat.d.cts +2 -5
  165. package/dist/flat.d.ts +2 -5
  166. package/dist/flat.js +1 -1
  167. package/dist/floor.cjs +1 -1
  168. package/dist/floor.js +1 -1
  169. package/dist/for-each-obj.cjs +1 -1
  170. package/dist/for-each-obj.d.cts +3 -2
  171. package/dist/for-each-obj.d.ts +3 -2
  172. package/dist/for-each-obj.js +1 -1
  173. package/dist/for-each.cjs +1 -1
  174. package/dist/for-each.js +1 -1
  175. package/dist/from-entries.cjs +1 -1
  176. package/dist/from-entries.d.cts +4 -2
  177. package/dist/from-entries.d.ts +4 -2
  178. package/dist/from-entries.js +1 -1
  179. package/dist/from-keys.cjs +1 -1
  180. package/dist/from-keys.d.cts +4 -3
  181. package/dist/from-keys.d.ts +4 -3
  182. package/dist/from-keys.js +1 -1
  183. package/dist/funnel.cjs +1 -1
  184. package/dist/funnel.d.cts +7 -7
  185. package/dist/funnel.d.ts +7 -7
  186. package/dist/funnel.js +1 -1
  187. package/dist/funnel.lodash-debounce-with-cached-value.test.cjs +1 -1
  188. package/dist/funnel.lodash-debounce-with-cached-value.test.js +1 -1
  189. package/dist/funnel.lodash-debounce.test.cjs +1 -1
  190. package/dist/funnel.lodash-debounce.test.js +1 -1
  191. package/dist/funnel.lodash-throttle-with-cached-value.test.cjs +1 -1
  192. package/dist/funnel.lodash-throttle-with-cached-value.test.js +1 -1
  193. package/dist/funnel.lodash-throttle.test.cjs +1 -1
  194. package/dist/funnel.lodash-throttle.test.js +1 -1
  195. package/dist/funnel.perkakas-debounce.test.cjs +1 -0
  196. package/dist/funnel.perkakas-debounce.test.js +1 -0
  197. package/dist/funnel.reference-batch.test.cjs +1 -1
  198. package/dist/funnel.reference-batch.test.js +1 -1
  199. package/dist/funnel.test-d.cjs +1 -1
  200. package/dist/funnel.test-d.js +1 -1
  201. package/dist/funnel.test.cjs +1 -1
  202. package/dist/funnel.test.js +1 -1
  203. package/dist/group-by-prop.cjs +1 -0
  204. package/dist/group-by-prop.d.cts +93 -0
  205. package/dist/group-by-prop.d.ts +93 -0
  206. package/dist/group-by-prop.js +1 -0
  207. package/dist/group-by.cjs +1 -1
  208. package/dist/group-by.d.cts +15 -4
  209. package/dist/group-by.d.ts +15 -4
  210. package/dist/group-by.js +1 -1
  211. package/dist/has-at-least.cjs +1 -1
  212. package/dist/has-at-least.d.cts +7 -15
  213. package/dist/has-at-least.d.ts +7 -15
  214. package/dist/has-at-least.js +1 -1
  215. package/dist/has-sub-object.cjs +1 -1
  216. package/dist/has-sub-object.js +1 -1
  217. package/dist/human-readable-file-size.cjs +1 -1
  218. package/dist/human-readable-file-size.js +1 -1
  219. package/dist/identity.cjs +1 -1
  220. package/dist/identity.js +1 -1
  221. package/dist/if-D4QIikQ1.d.cts +5 -0
  222. package/dist/if-D4QIikQ1.d.ts +5 -0
  223. package/dist/index-by.cjs +1 -1
  224. package/dist/index-by.d.cts +5 -4
  225. package/dist/index-by.d.ts +5 -4
  226. package/dist/index-by.js +1 -1
  227. package/dist/index.cjs +1 -1
  228. package/dist/index.d.cts +15 -8
  229. package/dist/index.d.ts +15 -8
  230. package/dist/index.js +1 -1
  231. package/dist/intersection-with.cjs +1 -1
  232. package/dist/intersection-with.js +1 -1
  233. package/dist/intersection.cjs +1 -1
  234. package/dist/intersection.js +1 -1
  235. package/dist/invert.cjs +1 -1
  236. package/dist/invert.d.cts +2 -1
  237. package/dist/invert.d.ts +2 -1
  238. package/dist/invert.js +1 -1
  239. package/dist/is-array.cjs +1 -1
  240. package/dist/is-array.js +1 -1
  241. package/dist/is-big-int.cjs +1 -1
  242. package/dist/is-big-int.js +1 -1
  243. package/dist/is-boolean.cjs +1 -1
  244. package/dist/is-boolean.js +1 -1
  245. package/dist/is-bounded-record-C9WAwfA8.d.cts +30 -0
  246. package/dist/is-bounded-record-C9WAwfA8.d.ts +30 -0
  247. package/dist/is-date.cjs +1 -1
  248. package/dist/is-date.js +1 -1
  249. package/dist/is-deep-equal.cjs +1 -1
  250. package/dist/is-deep-equal.js +1 -1
  251. package/dist/is-defined.cjs +1 -1
  252. package/dist/is-defined.js +1 -1
  253. package/dist/is-empty.cjs +1 -1
  254. package/dist/is-empty.js +1 -1
  255. package/dist/is-error.cjs +1 -1
  256. package/dist/is-error.js +1 -1
  257. package/dist/is-function.cjs +1 -1
  258. package/dist/is-function.js +1 -1
  259. package/dist/is-included-in.cjs +1 -1
  260. package/dist/is-included-in.js +1 -1
  261. package/dist/is-non-null.cjs +1 -1
  262. package/dist/is-non-null.js +1 -1
  263. package/dist/is-non-nullish.cjs +1 -1
  264. package/dist/is-non-nullish.js +1 -1
  265. package/dist/is-not.cjs +1 -1
  266. package/dist/is-not.js +1 -1
  267. package/dist/is-nullish.cjs +1 -1
  268. package/dist/is-nullish.js +1 -1
  269. package/dist/is-number.cjs +1 -1
  270. package/dist/is-number.js +1 -1
  271. package/dist/is-object-type.cjs +1 -1
  272. package/dist/is-object-type.js +1 -1
  273. package/dist/is-plain-object.cjs +1 -1
  274. package/dist/is-plain-object.js +1 -1
  275. package/dist/is-promise.cjs +1 -1
  276. package/dist/is-promise.js +1 -1
  277. package/dist/is-shallow-equal.cjs +1 -1
  278. package/dist/is-shallow-equal.js +1 -1
  279. package/dist/is-strict-equal.cjs +1 -1
  280. package/dist/is-strict-equal.js +1 -1
  281. package/dist/is-string.cjs +1 -1
  282. package/dist/is-string.js +1 -1
  283. package/dist/is-symbol.cjs +1 -1
  284. package/dist/is-symbol.js +1 -1
  285. package/dist/is-truthy.cjs +1 -1
  286. package/dist/is-truthy.js +1 -1
  287. package/dist/join.cjs +1 -1
  288. package/dist/join.js +1 -1
  289. package/dist/key-codes.cjs +1 -1
  290. package/dist/key-codes.js +1 -1
  291. package/dist/keys.cjs +1 -1
  292. package/dist/keys.d.cts +4 -3
  293. package/dist/keys.d.ts +4 -3
  294. package/dist/keys.js +1 -1
  295. package/dist/last.cjs +1 -1
  296. package/dist/last.js +1 -1
  297. package/dist/length.cjs +1 -1
  298. package/dist/length.js +1 -1
  299. package/dist/magic-string.es-2ADFIHOO.cjs +13 -0
  300. package/dist/magic-string.es-PNCTE22R.js +13 -0
  301. package/dist/map-keys.cjs +1 -1
  302. package/dist/map-keys.d.cts +8 -6
  303. package/dist/map-keys.d.ts +8 -6
  304. package/dist/map-keys.js +1 -1
  305. package/dist/map-to-obj.cjs +1 -1
  306. package/dist/map-to-obj.d.cts +30 -12
  307. package/dist/map-to-obj.d.ts +30 -12
  308. package/dist/map-to-obj.js +1 -1
  309. package/dist/map-values.cjs +1 -1
  310. package/dist/map-values.d.cts +3 -2
  311. package/dist/map-values.d.ts +3 -2
  312. package/dist/map-values.js +1 -1
  313. package/dist/map-with-feedback.cjs +1 -1
  314. package/dist/map-with-feedback.js +1 -1
  315. package/dist/map.cjs +1 -1
  316. package/dist/map.js +1 -1
  317. package/dist/mean-by.cjs +1 -1
  318. package/dist/mean-by.js +1 -1
  319. package/dist/merge-all.cjs +1 -1
  320. package/dist/merge-all.d.cts +2 -1
  321. package/dist/merge-all.d.ts +2 -1
  322. package/dist/merge-all.js +1 -1
  323. package/dist/merge-deep.cjs +1 -1
  324. package/dist/merge-deep.js +1 -1
  325. package/dist/merge.cjs +1 -1
  326. package/dist/merge.js +1 -1
  327. package/dist/multiply.cjs +1 -1
  328. package/dist/multiply.js +1 -1
  329. package/dist/nth-by.cjs +1 -1
  330. package/dist/nth-by.d.cts +1 -1
  331. package/dist/nth-by.d.ts +1 -1
  332. package/dist/nth-by.js +1 -1
  333. package/dist/obj-of.cjs +1 -1
  334. package/dist/obj-of.js +1 -1
  335. package/dist/omit-by.cjs +1 -1
  336. package/dist/omit-by.d.cts +7 -6
  337. package/dist/omit-by.d.ts +7 -6
  338. package/dist/omit-by.js +1 -1
  339. package/dist/omit.cjs +1 -1
  340. package/dist/omit.js +1 -1
  341. package/dist/once.cjs +1 -1
  342. package/dist/once.js +1 -1
  343. package/dist/only.cjs +1 -1
  344. package/dist/only.js +1 -1
  345. package/dist/partial-array-Vnf1fBtl.d.cts +10 -0
  346. package/dist/partial-array-Vnf1fBtl.d.ts +10 -0
  347. package/dist/partition.cjs +1 -1
  348. package/dist/partition.js +1 -1
  349. package/dist/path-or.cjs +1 -1
  350. package/dist/path-or.js +1 -1
  351. package/dist/perkakas-type-error-8wPb8T2y.d.cts +17 -0
  352. package/dist/perkakas-type-error-8wPb8T2y.d.ts +17 -0
  353. package/dist/pick-by.cjs +1 -1
  354. package/dist/pick-by.d.cts +11 -11
  355. package/dist/pick-by.d.ts +11 -11
  356. package/dist/pick-by.js +1 -1
  357. package/dist/pick.cjs +1 -1
  358. package/dist/pick.d.cts +52 -7
  359. package/dist/pick.d.ts +52 -7
  360. package/dist/pick.js +1 -1
  361. package/dist/pipe.cjs +1 -1
  362. package/dist/pipe.js +1 -1
  363. package/dist/piped.cjs +1 -1
  364. package/dist/piped.js +1 -1
  365. package/dist/product.cjs +1 -1
  366. package/dist/product.js +1 -1
  367. package/dist/prop.cjs +1 -1
  368. package/dist/prop.js +1 -1
  369. package/dist/pull-object.cjs +1 -1
  370. package/dist/pull-object.d.cts +5 -4
  371. package/dist/pull-object.d.ts +5 -4
  372. package/dist/pull-object.js +1 -1
  373. package/dist/random-integer.cjs +1 -1
  374. package/dist/random-integer.js +1 -1
  375. package/dist/random-string.cjs +1 -1
  376. package/dist/random-string.js +1 -1
  377. package/dist/range.cjs +1 -1
  378. package/dist/range.js +1 -1
  379. package/dist/rank-by.cjs +1 -1
  380. package/dist/rank-by.d.cts +1 -1
  381. package/dist/rank-by.d.ts +1 -1
  382. package/dist/rank-by.js +1 -1
  383. package/dist/reduce.cjs +1 -1
  384. package/dist/reduce.js +1 -1
  385. package/dist/reverse.cjs +1 -1
  386. package/dist/reverse.js +1 -1
  387. package/dist/round.cjs +1 -1
  388. package/dist/round.js +1 -1
  389. package/dist/sample.cjs +1 -1
  390. package/dist/sample.js +1 -1
  391. package/dist/set-path.cjs +1 -1
  392. package/dist/set-path.d.cts +18 -7
  393. package/dist/set-path.d.ts +18 -7
  394. package/dist/set-path.js +1 -1
  395. package/dist/set.cjs +1 -1
  396. package/dist/set.d.cts +1 -1
  397. package/dist/set.d.ts +1 -1
  398. package/dist/set.js +1 -1
  399. package/dist/shuffle.cjs +1 -1
  400. package/dist/shuffle.js +1 -1
  401. package/dist/sleep.cjs +1 -1
  402. package/dist/sleep.js +1 -1
  403. package/dist/slice-string.cjs +1 -1
  404. package/dist/slice-string.js +1 -1
  405. package/dist/slugify.cjs +1 -1
  406. package/dist/slugify.js +1 -1
  407. package/dist/sort-by.cjs +1 -1
  408. package/dist/sort-by.d.cts +1 -1
  409. package/dist/sort-by.d.ts +1 -1
  410. package/dist/sort-by.js +1 -1
  411. package/dist/sort.cjs +1 -1
  412. package/dist/sort.js +1 -1
  413. package/dist/sorted-index-by.cjs +1 -1
  414. package/dist/sorted-index-by.js +1 -1
  415. package/dist/sorted-index-with.cjs +1 -1
  416. package/dist/sorted-index-with.js +1 -1
  417. package/dist/sorted-index.cjs +1 -1
  418. package/dist/sorted-index.js +1 -1
  419. package/dist/sorted-last-index-by.cjs +1 -1
  420. package/dist/sorted-last-index-by.js +1 -1
  421. package/dist/sorted-last-index.cjs +1 -1
  422. package/dist/sorted-last-index.js +1 -1
  423. package/dist/splice.cjs +1 -1
  424. package/dist/splice.js +1 -1
  425. package/dist/split-at.cjs +1 -1
  426. package/dist/split-at.js +1 -1
  427. package/dist/split-when.cjs +1 -1
  428. package/dist/split-when.js +1 -1
  429. package/dist/split.cjs +1 -1
  430. package/dist/split.js +1 -1
  431. package/dist/string-to-path.cjs +1 -1
  432. package/dist/string-to-path.d.cts +33 -11
  433. package/dist/string-to-path.d.ts +33 -11
  434. package/dist/string-to-path.js +1 -1
  435. package/dist/subtract.cjs +1 -1
  436. package/dist/subtract.js +1 -1
  437. package/dist/sum-by.cjs +1 -1
  438. package/dist/sum-by.js +1 -1
  439. package/dist/sum.cjs +1 -1
  440. package/dist/sum.js +1 -1
  441. package/dist/swap-indices.cjs +1 -1
  442. package/dist/swap-indices.js +1 -1
  443. package/dist/swap-props.cjs +1 -1
  444. package/dist/swap-props.js +1 -1
  445. package/dist/take-first-by.cjs +1 -1
  446. package/dist/take-first-by.d.cts +1 -1
  447. package/dist/take-first-by.d.ts +1 -1
  448. package/dist/take-first-by.js +1 -1
  449. package/dist/take-last-while.cjs +1 -1
  450. package/dist/take-last-while.d.cts +2 -0
  451. package/dist/take-last-while.d.ts +2 -0
  452. package/dist/take-last-while.js +1 -1
  453. package/dist/take-last.cjs +1 -1
  454. package/dist/take-last.js +1 -1
  455. package/dist/take-while.cjs +1 -1
  456. package/dist/take-while.d.cts +2 -0
  457. package/dist/take-while.d.ts +2 -0
  458. package/dist/take-while.js +1 -1
  459. package/dist/take.cjs +1 -1
  460. package/dist/take.js +1 -1
  461. package/dist/tap.cjs +1 -1
  462. package/dist/tap.js +1 -1
  463. package/dist/times.cjs +1 -1
  464. package/dist/times.d.cts +1 -9
  465. package/dist/times.d.ts +1 -9
  466. package/dist/times.js +1 -1
  467. package/dist/to-camel-case.cjs +1 -1
  468. package/dist/to-camel-case.js +1 -1
  469. package/dist/to-capital-case.cjs +1 -1
  470. package/dist/to-capital-case.js +1 -1
  471. package/dist/to-constant-case.cjs +1 -1
  472. package/dist/to-constant-case.js +1 -1
  473. package/dist/to-kebab-case.cjs +1 -1
  474. package/dist/to-kebab-case.js +1 -1
  475. package/dist/to-no-case.cjs +1 -1
  476. package/dist/to-no-case.js +1 -1
  477. package/dist/to-pascal-case.cjs +1 -1
  478. package/dist/to-pascal-case.js +1 -1
  479. package/dist/to-pascal-snake-case.cjs +1 -1
  480. package/dist/to-pascal-snake-case.js +1 -1
  481. package/dist/to-sentence-case.cjs +1 -1
  482. package/dist/to-sentence-case.js +1 -1
  483. package/dist/to-snake-case.cjs +1 -1
  484. package/dist/to-snake-case.js +1 -1
  485. package/dist/to-string-DO8zw6jS.d.cts +11 -0
  486. package/dist/to-string-DO8zw6jS.d.ts +11 -0
  487. package/dist/to-train-case.cjs +1 -1
  488. package/dist/to-train-case.js +1 -1
  489. package/dist/tuple-parts-BTivqbtT.d.ts +86 -0
  490. package/dist/tuple-parts-v6av7LMU.d.cts +86 -0
  491. package/dist/unique-by.cjs +1 -1
  492. package/dist/unique-by.js +1 -1
  493. package/dist/unique-with.cjs +1 -1
  494. package/dist/unique-with.js +1 -1
  495. package/dist/unique.cjs +1 -1
  496. package/dist/unique.js +1 -1
  497. package/dist/{upsert-prop-tIHFi_F_.d.cts → upsert-prop-Cc3jEW9l.d.cts} +1 -2
  498. package/dist/{upsert-prop-D0N8486l.d.ts → upsert-prop-CdUtD50i.d.ts} +1 -2
  499. package/dist/values.cjs +1 -1
  500. package/dist/values.d.cts +1 -1
  501. package/dist/values.d.ts +1 -1
  502. package/dist/values.js +1 -1
  503. package/dist/zip-with.cjs +1 -1
  504. package/dist/zip-with.js +1 -1
  505. package/dist/zip.cjs +1 -1
  506. package/dist/zip.js +1 -1
  507. package/package.json +12 -12
  508. package/dist/chunk-2MU3SHCO.js +0 -1
  509. package/dist/chunk-3CFBQYOQ.js +0 -1
  510. package/dist/chunk-5SAUYUEK.js +0 -1
  511. package/dist/chunk-5VXKW6SI.cjs +0 -1
  512. package/dist/chunk-6HSB3NFW.js +0 -1
  513. package/dist/chunk-6L5XEBJG.js +0 -1
  514. package/dist/chunk-A2PAJNYA.js +0 -1
  515. package/dist/chunk-APUBIDDU.cjs +0 -1
  516. package/dist/chunk-AWXJSK4F.js +0 -1
  517. package/dist/chunk-B5QDOWVQ.cjs +0 -1
  518. package/dist/chunk-B7RHAPUE.js +0 -1
  519. package/dist/chunk-BOOMUHPG.js +0 -1
  520. package/dist/chunk-CZLV6ZLZ.js +0 -1
  521. package/dist/chunk-DLXKXNZT.js +0 -1
  522. package/dist/chunk-F3JXHUP4.cjs +0 -1
  523. package/dist/chunk-FMUPPQZE.js +0 -1
  524. package/dist/chunk-GFQXVPLP.cjs +0 -1
  525. package/dist/chunk-GOUUMCT7.cjs +0 -1
  526. package/dist/chunk-HRK4GMT2.cjs +0 -1
  527. package/dist/chunk-I7K3Z4BT.js +0 -1
  528. package/dist/chunk-ICYGL2YZ.js +0 -1
  529. package/dist/chunk-IJ4I5A3K.js +0 -1
  530. package/dist/chunk-IXGOK22A.cjs +0 -1
  531. package/dist/chunk-L4ITKDYB.cjs +0 -1
  532. package/dist/chunk-MBC7VZHY.js +0 -1
  533. package/dist/chunk-NQGMUM3E.cjs +0 -1
  534. package/dist/chunk-OBWPUDD3.cjs +0 -1
  535. package/dist/chunk-OEJ5J23C.js +0 -1
  536. package/dist/chunk-OL2TQDYM.cjs +0 -1
  537. package/dist/chunk-PIF5X7RQ.cjs +0 -1
  538. package/dist/chunk-PWHX2554.js +0 -1
  539. package/dist/chunk-QQMFHVPX.cjs +0 -1
  540. package/dist/chunk-SQZULO7V.js +0 -1
  541. package/dist/chunk-THE6MSJO.cjs +0 -1
  542. package/dist/chunk-UDSRBKNR.js +0 -1
  543. package/dist/chunk-UUYCL4G2.js +0 -1
  544. package/dist/chunk-VRZNQSZN.cjs +0 -1
  545. package/dist/chunk-WYM2JV5T.cjs +0 -1
  546. package/dist/chunk-XLGD5ZUY.cjs +0 -1
  547. package/dist/chunk-XU4TDKMD.cjs +0 -1
  548. package/dist/chunk-YCM6N46T.js +0 -1
  549. package/dist/chunk-Z46FX2Y4.js +0 -1
  550. package/dist/enumerable-string-keyed-value-of-CLzltniW.d.cts +0 -15
  551. package/dist/enumerable-string-keyed-value-of-CLzltniW.d.ts +0 -15
  552. package/dist/exact-record-Dhbe_K-E.d.ts +0 -5
  553. package/dist/exact-record-_isi2JMR.d.cts +0 -5
  554. package/dist/funnel.remeda-debounce.test.cjs +0 -1
  555. package/dist/funnel.remeda-debounce.test.js +0 -1
  556. package/dist/if-bounded-record-Drd4UbBU.d.cts +0 -29
  557. package/dist/if-bounded-record-Drd4UbBU.d.ts +0 -29
  558. package/dist/n-tuple-5jljrt4c.d.cts +0 -10
  559. package/dist/n-tuple-5jljrt4c.d.ts +0 -10
  560. package/dist/reconstructed-record-DchLaSO8.d.cts +0 -10
  561. package/dist/reconstructed-record-DuxOLlMs.d.ts +0 -10
  562. package/dist/take-last-while.spec-d-.cjs +0 -1
  563. package/dist/take-last-while.spec-d-.d.cts +0 -2
  564. package/dist/take-last-while.spec-d-.d.ts +0 -2
  565. package/dist/take-last-while.spec-d-.js +0 -1
  566. package/dist/tuple-parts-CP0H7BrE.d.cts +0 -37
  567. package/dist/tuple-parts-CP0H7BrE.d.ts +0 -37
  568. /package/dist/{funnel.remeda-debounce.test.d.cts → funnel.perkakas-debounce.test.d.cts} +0 -0
  569. /package/dist/{funnel.remeda-debounce.test.d.ts → funnel.perkakas-debounce.test.d.ts} +0 -0
package/dist/values.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-CLzltniW.cjs';
1
+ import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-BU9R_cEk.cjs';
2
2
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.cjs';
3
3
  import 'type-fest';
4
4
 
package/dist/values.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-CLzltniW.js';
1
+ import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-BU9R_cEk.js';
2
2
  import { I as IterableContainer } from './iterable-container-BTpDVdNc.js';
3
3
  import 'type-fest';
4
4
 
package/dist/values.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-VOFKZP4G.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as values};
1
+ import{a}from"./chunk-VOFKZP4G.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as values};
package/dist/zip-with.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBUOTA64Pcjs = require('./chunk-BUOTA64P.cjs');require('./chunk-GZJMERDJ.cjs');exports.zipWith = _chunkBUOTA64Pcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBUOTA64Pcjs = require('./chunk-BUOTA64P.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.zipWith = _chunkBUOTA64Pcjs.a;
package/dist/zip-with.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-Z7DYKN6W.js";import"./chunk-KGPDVVVV.js";export{a as zipWith};
1
+ import{a}from"./chunk-Z7DYKN6W.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as zipWith};
package/dist/zip.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKGWDTRVRcjs = require('./chunk-KGWDTRVR.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');exports.zip = _chunkKGWDTRVRcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkKGWDTRVRcjs = require('./chunk-KGWDTRVR.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');require('./chunk-MBGSSEZN.cjs');exports.zip = _chunkKGWDTRVRcjs.a;
package/dist/zip.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-K7T2WOD7.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";export{a as zip};
1
+ import{a}from"./chunk-K7T2WOD7.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";import"./chunk-EK7ODJWE.js";export{a as zip};
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vinicunca/perkakas",
3
3
  "type": "module",
4
- "version": "1.5.0",
4
+ "version": "1.7.0",
5
5
  "description": "Utility for JavaScript and Typescript.",
6
6
  "author": "praburangki<https://github.com/praburangki>",
7
7
  "license": "MIT",
@@ -37,19 +37,19 @@
37
37
  "node": ">=20.0.0"
38
38
  },
39
39
  "dependencies": {
40
- "type-fest": "^4.37.0"
40
+ "type-fest": "^4.41.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@types/node": "^22.13.10",
44
- "@vinicunca/eslint-config": "^3.7.2",
45
- "@vitest/coverage-v8": "^3.0.8",
46
- "bumpp": "^10.0.3",
47
- "eslint": "^9.22.0",
48
- "prettier": "^3.5.3",
49
- "taze": "^18.7.1",
50
- "tsup": "^8.4.0",
51
- "typescript": "^5.8.2",
52
- "vitest": "^3.0.8"
43
+ "@types/node": "^22.16.5",
44
+ "@vinicunca/eslint-config": "^3.18.0",
45
+ "@vitest/coverage-v8": "^3.2.4",
46
+ "bumpp": "^10.2.0",
47
+ "eslint": "^9.31.0",
48
+ "prettier": "^3.6.2",
49
+ "taze": "^19.1.0",
50
+ "tsup": "^8.5.0",
51
+ "typescript": "^5.8.3",
52
+ "vitest": "^3.2.4"
53
53
  },
54
54
  "scripts": {
55
55
  "build": "tsup",
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-J6WPJH72.js";function i(...e){return o(p,e)}function p(e,a){let n=new Map;for(let[d,t]of e.entries()){let y=a(t,d,e);if(y!==void 0){let r=n.get(y);r===void 0&&(r=[],n.set(y,r)),r.push(t)}}return Object.fromEntries(n)}export{i as a};
@@ -1 +0,0 @@
1
- import{a as r}from"./chunk-J6WPJH72.js";function o(...e){return r(a,e)}function a(e,t){for(let n=e.length-1;n>=0;n--)if(!t(e[n],n,e))return e.slice(n+1);return[...e]}export{o as a};
@@ -1 +0,0 @@
1
- var e=n=>Object.assign(n,{single:!0});export{e as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function p(...e){return _chunkXR72I63Wcjs.a.call(void 0, u,e)}function u(e,a){let n={};for(let[o,r]of Object.entries(e)){let y=a(o,r,e);n[y]=r}return n}exports.a = p;
@@ -1 +0,0 @@
1
- import{a as P}from"./chunk-J6WPJH72.js";function s(...e){return P(r,e)}function r(e,u,t){let[n,...a]=u;if(n===void 0)return t;if(Array.isArray(e)){let o=[...e];return o[n]=r(e[n],a,t),o}let{[n]:T,...y}=e;return{...y,[n]:r(T,a,t)}}export{s as a};
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-J6WPJH72.js";function a(...n){return t(c,n)}function c(n,r){let o={};for(let e of r)e in n&&(o[e]=n[e]);return o}export{a};
@@ -1 +0,0 @@
1
- function u(n,t,e){return n(e[0])?r=>t(r,...e):t(...e)}var x=Object.assign(a,{defaultCase:R});function a(...n){return u(s,o,n)}function o(n,...t){for(let[e,r]of t)if(e(n))return r(n);throw new Error("conditional: data failed for all cases")}function s(n){if(!Array.isArray(n))return!1;let[t,e,...r]=n;return typeof t=="function"&&t.length<=1&&typeof e=="function"&&e.length<=1&&r.length===0}function R(n=d){return[T,n]}function T(){return!0}function d(){}export{x as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function i(...e){return _chunkXR72I63Wcjs.a.call(void 0, p,e)}function p(e,a){let n=new Map;for(let[d,t]of e.entries()){let y=a(t,d,e);if(y!==void 0){let r=n.get(y);r===void 0&&(r=[],n.set(y,r)),r.push(t)}}return Object.fromEntries(n)}exports.a = i;
@@ -1 +0,0 @@
1
- function T(c,{triggerAt:l="end",minQuietPeriodMs:u,maxBurstDurationMs:t,minGapMs:o,reducer:p=g}){let e,n,d,r;function a(){let i=d;i!==void 0&&(d=void 0,c(i),o!==void 0&&(n=setTimeout(f,o)))}function f(){clearTimeout(n),n=void 0,e===void 0&&a()}function m(){clearTimeout(e),e=void 0,r=void 0,n===void 0&&a()}return{call:(...i)=>{let s=e===void 0&&n===void 0;if((l!=="start"||s)&&(d=p(d,...i)),!(e===void 0&&!s)){if(u!==void 0||t!==void 0||o===void 0){clearTimeout(e);let y=Date.now();r??=y;let R=t===void 0?u??0:Math.min(u??t,t-(y-r));e=setTimeout(m,R)}l!=="end"&&s&&a()}},cancel:()=>{clearTimeout(e),e=void 0,r=void 0,clearTimeout(n),n=void 0,d=void 0},flush:()=>{m(),f()},get isIdle(){return e===void 0&&n===void 0}}}var g=()=>"";export{T as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkN5JE6642cjs = require('./chunk-N5JE6642.cjs');var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function l(...e){return _chunkXR72I63Wcjs.a.call(void 0, p,e,u)}function p(e,r){return r<0?[...e]:e.slice(r)}function u(e){if(e<=0)return _chunkN5JE6642cjs.c;let r=e;return o=>r>0?(r-=1,_chunkN5JE6642cjs.a):{done:!1,hasNext:!0,next:o}}exports.a = l;
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-J6WPJH72.js";function c(...e){return t(y,e)}function y(e,o){let r={};for(let[a,n]of e.entries()){let d=o(n,a,e);r[d]=n}return r}export{c as a};
@@ -1 +0,0 @@
1
- import{a as o}from"./chunk-J6WPJH72.js";function i(...e){return o(u,e)}function u(e,a){let n=new Map;for(let[d,y]of e.entries()){let r=a(y,d,e);if(r!==void 0){let t=n.get(r);t===void 0?n.set(r,1):n.set(r,t+1)}}return Object.fromEntries(n)}export{i as a};
@@ -1 +0,0 @@
1
- var n=/^(?:\.?(?<propName>[^.[\]]+)|\[(?<index>.+?)\])(?<rest>.*)$/u;function r(t){if(t.length===0)return[];let e=n.exec(t);return e?.groups===void 0?[t]:[e.groups.index??e.groups.propName,...r(e.groups.rest)]}export{r as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-J6WPJH72.js";function i(...e){return n(r,e)}function r(e,t){return e.length>=t}export{i as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZ6OOXW67cjs = require('./chunk-Z6OOXW67.cjs');var _chunkEROXO3T4cjs = require('./chunk-EROXO3T4.cjs');function y(n,e,r){return e<0||e>=n.length?void 0:c([...n],0,n.length-1,e,r)}function c(n,e,r,o,u){if(e===r)return n[e];let t=l(n,e,r,u);return o===t?n[o]:c(n,o<t?e:t+1,o<t?t-1:r,o,u)}function l(n,e,r,o){let u=n[r],t=e;for(let m=e;m<r;m++)o(n[m],u)<0&&(_chunkZ6OOXW67cjs.a.call(void 0, n,t,m),t+=1);return _chunkZ6OOXW67cjs.a.call(void 0, n,t,r),t}function d(...n){return _chunkEROXO3T4cjs.b.call(void 0, a,n)}function a(n,e,r){return y(n,r>=0?r:n.length+r,e)}exports.a = d;
@@ -1 +0,0 @@
1
- import{a as u}from"./chunk-J6WPJH72.js";function s(...n){return u(l,n)}function l(n,e){let t=n.entries(),r=t.next();if(r.done??!1)return 0;let{value:[,i]}=r,a=e(i,0,n);for(let[o,m]of t){let b=e(m,o,n);a+=b}return a}export{s as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function p(...n){return _chunkXR72I63Wcjs.a.call(void 0, u,n)}function u(n,t=[],r=[]){if(typeof n=="function")return n;if(typeof n!="object"||n===null||n instanceof Date||n instanceof RegExp)return structuredClone(n);let o=t.indexOf(n);return o>=0?r[o]:(t.push(n),Array.isArray(n)?y(n,t,r):s(n,t,r))}function s(n,t,r){let o={};r.push(o);for(let[e,c]of Object.entries(n))o[e]=u(c,t,r);return o}function y(n,t,r){let o=[];r.push(o);for(let[e,c]of n.entries())o[e]=u(c,t,r);return o}exports.a = p;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }function T(c,{triggerAt:l="end",minQuietPeriodMs:u,maxBurstDurationMs:t,minGapMs:o,reducer:p=g}){let e,n,d,r;function a(){let i=d;i!==void 0&&(d=void 0,c(i),o!==void 0&&(n=setTimeout(f,o)))}function f(){clearTimeout(n),n=void 0,e===void 0&&a()}function m(){clearTimeout(e),e=void 0,r=void 0,n===void 0&&a()}return{call:(...i)=>{let s=e===void 0&&n===void 0;if((l!=="start"||s)&&(d=p(d,...i)),!(e===void 0&&!s)){if(u!==void 0||t!==void 0||o===void 0){clearTimeout(e);let y=Date.now();r??=y;let R=t===void 0?_nullishCoalesce(u, () => (0)):Math.min(_nullishCoalesce(u, () => (t)),t-(y-r));e=setTimeout(m,R)}l!=="end"&&s&&a()}},cancel:()=>{clearTimeout(e),e=void 0,r=void 0,clearTimeout(n),n=void 0,d=void 0},flush:()=>{m(),f()},get isIdle(){return e===void 0&&n===void 0}}}var g=()=>"";exports.a = T;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function a(...n){return _chunkXR72I63Wcjs.a.call(void 0, c,n)}function c(n,r){let o={};for(let e of r)e in n&&(o[e]=n[e]);return o}exports.a = a;
@@ -1 +0,0 @@
1
- import{a}from"./chunk-J6WPJH72.js";function l(...e){return a(s,e)}function s(e,n){if(n<1)throw new RangeError(`chunk: A chunk size of '${n}' would result in an infinite array`);if(e.length===0)return[];if(n>=e.length)return[[...e]];let i=Math.ceil(e.length/n),u=new Array(i);if(n===1)for(let[r,t]of e.entries())u[r]=[t];else for(let r=0;r<i;r+=1){let t=r*n;u[r]=e.slice(t,t+n)}return u}export{l as a};
@@ -1 +0,0 @@
1
- import{a as i}from"./chunk-J6WPJH72.js";function p(...n){return i(u,n)}function u(n,t=[],r=[]){if(typeof n=="function")return n;if(typeof n!="object"||n===null||n instanceof Date||n instanceof RegExp)return structuredClone(n);let o=t.indexOf(n);return o>=0?r[o]:(t.push(n),Array.isArray(n)?y(n,t,r):s(n,t,r))}function s(n,t,r){let o={};r.push(o);for(let[e,c]of Object.entries(n))o[e]=u(c,t,r);return o}function y(n,t,r){let o=[];r.push(o);for(let[e,c]of n.entries())o[e]=u(c,t,r);return o}export{p as a};
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-J6WPJH72.js";function i(...e){return n(a,e)}function a(e,o){let r={};for(let[y,t]of e.entries())r[t]=o(t,y,e);return r}export{i as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFLQYTU5Wcjs = require('./chunk-FLQYTU5W.cjs');var _chunkEROXO3T4cjs = require('./chunk-EROXO3T4.cjs');function s(...r){return _chunkEROXO3T4cjs.b.call(void 0, p,r)}function p(r,t,e){if(e<=0)return[];if(e>=r.length)return[...r];let n=r.slice(0,e);_chunkFLQYTU5Wcjs.a.call(void 0, n,t);let i=r.slice(e);for(let u of i)_chunkFLQYTU5Wcjs.b.call(void 0, n,t,u);return n}exports.a = s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function l(...e){return _chunkXR72I63Wcjs.a.call(void 0, s,e)}function s(e,n){if(n<1)throw new RangeError(`chunk: A chunk size of '${n}' would result in an infinite array`);if(e.length===0)return[];if(n>=e.length)return[[...e]];let i=Math.ceil(e.length/n),u=new Array(i);if(n===1)for(let[r,t]of e.entries())u[r]=[t];else for(let r=0;r<i;r+=1){let t=r*n;u[r]=e.slice(t,t+n)}return u}exports.a = l;
@@ -1 +0,0 @@
1
- import{a as e}from"./chunk-J6WPJH72.js";function t(...r){return e(Object.entries,r)}export{t as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function s(...e){return _chunkXR72I63Wcjs.a.call(void 0, r,e)}function r(e,u,t){let[n,...a]=u;if(n===void 0)return t;if(Array.isArray(e)){let o=[...e];return o[n]=r(e[n],a,t),o}let{[n]:T,...y}=e;return{...y,[n]:r(T,a,t)}}exports.a = s;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var e=n=>Object.assign(n,{single:!0});exports.a = e;
@@ -1 +0,0 @@
1
- import{a as n,c as a}from"./chunk-EPU4K3DD.js";import{a as t}from"./chunk-J6WPJH72.js";function l(...e){return t(p,e,u)}function p(e,r){return r<0?[...e]:e.slice(r)}function u(e){if(e<=0)return a;let r=e;return o=>r>0?(r-=1,n):{done:!1,hasNext:!0,next:o}}export{l as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkFLQYTU5Wcjs = require('./chunk-FLQYTU5W.cjs');var _chunkEROXO3T4cjs = require('./chunk-EROXO3T4.cjs');function d(...r){return _chunkEROXO3T4cjs.b.call(void 0, s,r)}function s(r,n,e){if(e>=r.length)return[];if(e<=0)return[...r];let o=r.slice(0,e);_chunkFLQYTU5Wcjs.a.call(void 0, o,n);let t=[],i=r.slice(e);for(let y of i){let m=_chunkFLQYTU5Wcjs.b.call(void 0, o,n,y);t.push(_nullishCoalesce(m, () => (y)))}return t}exports.a = d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function i(...e){return _chunkXR72I63Wcjs.a.call(void 0, u,e)}function u(e,a){let n=new Map;for(let[d,y]of e.entries()){let r=a(y,d,e);if(r!==void 0){let t=n.get(r);t===void 0?n.set(r,1):n.set(r,t+1)}}return Object.fromEntries(n)}exports.a = i;
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-EPU4K3DD.js";import{a as e}from"./chunk-J6WPJH72.js";function u(...a){return e(l,a,y)}function l(a,r){return a.filter(r)}function y(a){return(r,t,o)=>a(r,t,o)?{done:!1,hasNext:!0,next:r}:n}export{u as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEROXO3T4cjs = require('./chunk-EROXO3T4.cjs');var _chunkGVYLRJPBcjs = require('./chunk-GVYLRJPB.cjs');function p(...n){return _chunkEROXO3T4cjs.a.call(void 0, a,n)}function a(n,y){if(!_chunkGVYLRJPBcjs.a.call(void 0, n,2))return n[0];let[e]=n,[,...i]=n;for(let r of i)y(r,e)<0&&(e=r);return e}exports.a = p;
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-J6WPJH72.js";function y(...e){return n(l,e)}function l(e,a){let t={...e};for(let[r,o]of Object.entries(t))a(o,r,e)&&delete t[r];return t}export{y as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function i(...e){return _chunkXR72I63Wcjs.a.call(void 0, a,e)}function a(e,o){let r={};for(let[y,t]of e.entries())r[t]=o(t,y,e);return r}exports.a = i;
@@ -1 +0,0 @@
1
- import{a as i}from"./chunk-YYEJOSR3.js";import{b as p}from"./chunk-7KBK2RWQ.js";function y(n,e,r){return e<0||e>=n.length?void 0:c([...n],0,n.length-1,e,r)}function c(n,e,r,o,u){if(e===r)return n[e];let t=l(n,e,r,u);return o===t?n[o]:c(n,o<t?e:t+1,o<t?t-1:r,o,u)}function l(n,e,r,o){let u=n[r],t=e;for(let m=e;m<r;m++)o(n[m],u)<0&&(i(n,t,m),t+=1);return i(n,t,r),t}function d(...n){return p(a,n)}function a(n,e,r){return y(n,r>=0?r:n.length+r,e)}export{d as a};
@@ -1 +0,0 @@
1
- import{a}from"./chunk-J6WPJH72.js";function x(...e){return a(m,e)}function m(e,o,i){let t={};for(let[r,n]of e.entries()){let u=o(n,r,e),c=i(n,r,e);t[u]=c}return t}export{x as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var n=/^(?:\.?(?<propName>[^.[\]]+)|\[(?<index>.+?)\])(?<rest>.*)$/u;function r(t){if(t.length===0)return[];let e=n.exec(t);return _optionalChain([e, 'optionalAccess', _ => _.groups])===void 0?[t]:[_nullishCoalesce(e.groups.index, () => (e.groups.propName)),...r(e.groups.rest)]}exports.a = r;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});function u(n,t,e){return n(e[0])?r=>t(r,...e):t(...e)}var x=Object.assign(a,{defaultCase:R});function a(...n){return u(s,o,n)}function o(n,...t){for(let[e,r]of t)if(e(n))return r(n);throw new Error("conditional: data failed for all cases")}function s(n){if(!Array.isArray(n))return!1;let[t,e,...r]=n;return typeof t=="function"&&t.length<=1&&typeof e=="function"&&e.length<=1&&r.length===0}function R(n=d){return[T,n]}function T(){return!0}function d(){}exports.a = x;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function x(...e){return _chunkXR72I63Wcjs.a.call(void 0, m,e)}function m(e,o,i){let t={};for(let[r,n]of e.entries()){let u=o(n,r,e),c=i(n,r,e);t[u]=c}return t}exports.a = x;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkXR72I63Wcjs = require('./chunk-XR72I63W.cjs');function s(...n){return _chunkXR72I63Wcjs.a.call(void 0, l,n)}function l(n,e){let t=n.entries(),r=t.next();if(_nullishCoalesce(r.done, () => (!1)))return 0;let{value:[,i]}=r,a=e(i,0,n);for(let[o,m]of t){let b=e(m,o,n);a+=b}return a}exports.a = s;
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-J6WPJH72.js";function p(...e){return t(u,e)}function u(e,a){let n={};for(let[o,r]of Object.entries(e)){let y=a(o,r,e);n[y]=r}return n}export{p as a};
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-7KBK2RWQ.js";import{a as o}from"./chunk-DLXKXNZT.js";function p(...n){return t(a,n)}function a(n,y){if(!o(n,2))return n[0];let[e]=n,[,...i]=n;for(let r of i)y(r,e)<0&&(e=r);return e}export{p as a};
@@ -1,15 +0,0 @@
1
- import { EmptyObject } from 'type-fest';
2
-
3
- /**
4
- * A union of all values of properties in T which are not keyed by a symbol,
5
- * following the definition of `Object.values` and `Object.entries`.
6
- */
7
- type EnumerableStringKeyedValueOf<T> = ValuesOf<{
8
- [K in keyof T]-?: K extends symbol ? never : T[K];
9
- }>;
10
- /**
11
- * Extracts the value type from an object type T.
12
- */
13
- type ValuesOf<T> = T extends EmptyObject ? T[keyof T] : T extends Record<PropertyKey, infer V> ? V : never;
14
-
15
- export type { EnumerableStringKeyedValueOf as E };
@@ -1,15 +0,0 @@
1
- import { EmptyObject } from 'type-fest';
2
-
3
- /**
4
- * A union of all values of properties in T which are not keyed by a symbol,
5
- * following the definition of `Object.values` and `Object.entries`.
6
- */
7
- type EnumerableStringKeyedValueOf<T> = ValuesOf<{
8
- [K in keyof T]-?: K extends symbol ? never : T[K];
9
- }>;
10
- /**
11
- * Extracts the value type from an object type T.
12
- */
13
- type ValuesOf<T> = T extends EmptyObject ? T[keyof T] : T extends Record<PropertyKey, infer V> ? V : never;
14
-
15
- export type { EnumerableStringKeyedValueOf as E };
@@ -1,5 +0,0 @@
1
- import { I as IfBoundedRecord } from './if-bounded-record-Drd4UbBU.js';
2
-
3
- type ExactRecord<Key extends PropertyKey, Value> = IfBoundedRecord<Record<Key, Value>, Partial<Record<Key, Value>>, Record<Key, Value>>;
4
-
5
- export type { ExactRecord as E };
@@ -1,5 +0,0 @@
1
- import { I as IfBoundedRecord } from './if-bounded-record-Drd4UbBU.cjs';
2
-
3
- type ExactRecord<Key extends PropertyKey, Value> = IfBoundedRecord<Record<Key, Value>, Partial<Record<Key, Value>>, Record<Key, Value>>;
4
-
5
- export type { ExactRecord as E };
@@ -1 +0,0 @@
1
- "use strict"; function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _chunkAQRYBCA3cjs = require('./chunk-AQRYBCA3.cjs');var _chunkHC3HZK4Qcjs = require('./chunk-HC3HZK4Q.cjs');var _chunkGOUUMCT7cjs = require('./chunk-GOUUMCT7.cjs');function n(e,{timing:t,waitMs:l,maxWaitMs:i}){if(i!==void 0&&l!==void 0&&i<l)throw new Error(`debounce: maxWaitMs (${i.toString()}) cannot be less than waitMs (${l.toString()})`);let o,s=_chunkGOUUMCT7cjs.a.call(void 0, d=>{o=e(...d)},{reducer:(d,...u)=>u,minQuietPeriodMs:_nullishCoalesce(_nullishCoalesce(l, () => (i)), () => (0)),...i!==void 0&&{maxBurstDurationMs:i},...t==="leading"?{triggerAt:"start"}:t==="both"?{triggerAt:"both"}:{triggerAt:"end"}});return{call:(...d)=>(s.call(...d),o),flush:()=>(s.flush(),o),cancel:()=>{s.cancel()},get isPending(){return!s.isIdle},get cachedValue(){return o}}}describe("main functionality",()=>{it("should debounce a function",async()=>{let e=vi.fn(_chunkAQRYBCA3cjs.a.call(void 0, )),t=n(e,{waitMs:32});expect([t.call("a"),t.call("b"),t.call("c")]).toStrictEqual([void 0,void 0,void 0]),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),expect(e).toHaveBeenCalledTimes(1),expect([t.call("d"),t.call("e"),t.call("f")]).toStrictEqual(["c","c","c"]),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 256),expect(e).toHaveBeenCalledTimes(2)}),it("subsequent debounced calls return the last `func` result",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});e.call("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),expect(e.call("b")).toBe("a"),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),expect(e.call("c")).toBe("b")}),it("should not immediately call `func` when `wait` is `0`",async()=>{let e=vi.fn(),t=n(e,{});t.call(),t.call(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 5),expect(e).toHaveBeenCalledTimes(1)}),it("should apply default options",async()=>{let e=vi.fn();n(e,{waitMs:32}).call(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),expect(e).toHaveBeenCalledTimes(1)}),it("should support a `leading` option",async()=>{let e=vi.fn(),t=vi.fn(),l=n(e,{waitMs:32,timing:"leading"});l.call(),expect(e).toHaveBeenCalledTimes(1);let i=n(t,{waitMs:32,timing:"both"});i.call(),i.call(),expect(t).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),expect(t).toHaveBeenCalledTimes(2),l.call(),expect(e).toHaveBeenCalledTimes(2)}),it("subsequent leading debounced calls return the last `func` result",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32,timing:"leading"});expect([e.call("a"),e.call("b")]).toStrictEqual(["a","a"]),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),expect([e.call("c"),e.call("d")]).toStrictEqual(["c","c"])}),it("should support a `trailing` option",async()=>{let e=vi.fn();n(e,{waitMs:32,timing:"trailing"}).call(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 64),expect(e).toHaveBeenCalledTimes(1)})});describe("optional param maxWaitMs",()=>{it("should support a `maxWait` option",async()=>{let e=vi.fn(_chunkAQRYBCA3cjs.a.call(void 0, )),t=n(e,{waitMs:32,maxWaitMs:64});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),expect(e).toHaveBeenCalledTimes(1),t.call("c"),t.call("d"),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 256),expect(e).toHaveBeenCalledTimes(2)}),it("should support `maxWait` in a tight loop",async()=>{let e=vi.fn(),t=vi.fn(),l=n(e,{waitMs:32,maxWaitMs:128}),i=n(t,{waitMs:96}),o=Date.now();for(;Date.now()-o<320;)l.call(),i.call();await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(t).toHaveBeenCalledTimes(0),expect(e).not.toHaveBeenCalledTimes(0)}),it("should queue a trailing call for subsequent debounced calls after `maxWait`",async()=>{let e=vi.fn(),t=n(e,{waitMs:200,maxWaitMs:200});t.call(),setTimeout(()=>{t.call()},190),setTimeout(()=>{t.call()},200),setTimeout(()=>{t.call()},210),await _chunkHC3HZK4Qcjs.a.call(void 0, 500),expect(e).toHaveBeenCalledTimes(2)}),it("should cancel `maxDelayed` when `delayed` is invoked",async()=>{let e=vi.fn(),t=n(e,{waitMs:32,maxWaitMs:64});t.call(),await _chunkHC3HZK4Qcjs.a.call(void 0, 128),t.call(),expect(e).toHaveBeenCalledTimes(1),await _chunkHC3HZK4Qcjs.a.call(void 0, 192),expect(e).toHaveBeenCalledTimes(2)}),it("works like a leaky bucket when only maxWaitMs is set",async()=>{let e=vi.fn(),t=n(e,{maxWaitMs:32});t.call(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 16),t.call(),expect(e).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 17),expect(e).toHaveBeenCalledTimes(1)})});describe("additional functionality",()=>{it("can cancel before the timer starts",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(()=>{e.cancel()}).not.toThrow(),expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.call("world")).toBe("hello")}),it("can cancel the timer",async()=>{let e="Hello, World!",t=vi.fn(()=>e),l=n(t,{waitMs:32});expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),l.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(l.call()).toStrictEqual(e),expect(t).toHaveBeenCalledTimes(1)}),it("can cancel after the timer ends",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.call("world")).toBe("hello"),expect(()=>{e.cancel()}).not.toThrow()}),it("can cancel maxWait timer",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:16,maxWaitMs:32});expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),e.cancel(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.call("world")).toBeUndefined()}),it("can return a cached value",()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{timing:"leading",waitMs:32});expect(e.cachedValue).toBeUndefined(),expect(e.call("hello")).toBe("hello"),expect(e.cachedValue).toBe("hello")}),it("can check for inflight timers (trailing)",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(e.isPending).toBe(!1),expect(e.call("hello")).toBeUndefined(),expect(e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.isPending).toBe(!1)}),it("can check for inflight timers (leading)",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{timing:"leading",waitMs:32});expect(e.isPending).toBe(!1),expect(e.call("hello")).toBe("hello"),expect(e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(e.isPending).toBe(!0),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.isPending).toBe(!1)}),it("can flush before a cool-down",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(e.flush()).toBeUndefined(),expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.call("world")).toBe("hello")}),it("can flush during a cool-down",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(e.call("world")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 1),expect(e.flush()).toBe("world")}),it("can flush after a cool-down",async()=>{let e=n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await _chunkHC3HZK4Qcjs.a.call(void 0, 32),expect(e.flush()).toBe("hello")})});describe("errors",()=>{it("prevents maxWaitMs to be less then waitMs",()=>{expect(()=>n(_chunkAQRYBCA3cjs.a.call(void 0, ),{waitMs:32,maxWaitMs:16})).toThrow("debounce: maxWaitMs (16) cannot be less than waitMs (32)")})});
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-46GBCFAG.js";import{a}from"./chunk-6SYP2DRD.js";import{a as r}from"./chunk-AWXJSK4F.js";function n(e,{timing:t,waitMs:l,maxWaitMs:i}){if(i!==void 0&&l!==void 0&&i<l)throw new Error(`debounce: maxWaitMs (${i.toString()}) cannot be less than waitMs (${l.toString()})`);let o,s=r(d=>{o=e(...d)},{reducer:(d,...u)=>u,minQuietPeriodMs:l??i??0,...i!==void 0&&{maxBurstDurationMs:i},...t==="leading"?{triggerAt:"start"}:t==="both"?{triggerAt:"both"}:{triggerAt:"end"}});return{call:(...d)=>(s.call(...d),o),flush:()=>(s.flush(),o),cancel:()=>{s.cancel()},get isPending(){return!s.isIdle},get cachedValue(){return o}}}describe("main functionality",()=>{it("should debounce a function",async()=>{let e=vi.fn(c()),t=n(e,{waitMs:32});expect([t.call("a"),t.call("b"),t.call("c")]).toStrictEqual([void 0,void 0,void 0]),expect(e).toHaveBeenCalledTimes(0),await a(128),expect(e).toHaveBeenCalledTimes(1),expect([t.call("d"),t.call("e"),t.call("f")]).toStrictEqual(["c","c","c"]),expect(e).toHaveBeenCalledTimes(1),await a(256),expect(e).toHaveBeenCalledTimes(2)}),it("subsequent debounced calls return the last `func` result",async()=>{let e=n(c(),{waitMs:32});e.call("a"),await a(64),expect(e.call("b")).toBe("a"),await a(128),expect(e.call("c")).toBe("b")}),it("should not immediately call `func` when `wait` is `0`",async()=>{let e=vi.fn(),t=n(e,{});t.call(),t.call(),expect(e).toHaveBeenCalledTimes(0),await a(5),expect(e).toHaveBeenCalledTimes(1)}),it("should apply default options",async()=>{let e=vi.fn();n(e,{waitMs:32}).call(),expect(e).toHaveBeenCalledTimes(0),await a(64),expect(e).toHaveBeenCalledTimes(1)}),it("should support a `leading` option",async()=>{let e=vi.fn(),t=vi.fn(),l=n(e,{waitMs:32,timing:"leading"});l.call(),expect(e).toHaveBeenCalledTimes(1);let i=n(t,{waitMs:32,timing:"both"});i.call(),i.call(),expect(t).toHaveBeenCalledTimes(1),await a(64),expect(t).toHaveBeenCalledTimes(2),l.call(),expect(e).toHaveBeenCalledTimes(2)}),it("subsequent leading debounced calls return the last `func` result",async()=>{let e=n(c(),{waitMs:32,timing:"leading"});expect([e.call("a"),e.call("b")]).toStrictEqual(["a","a"]),await a(64),expect([e.call("c"),e.call("d")]).toStrictEqual(["c","c"])}),it("should support a `trailing` option",async()=>{let e=vi.fn();n(e,{waitMs:32,timing:"trailing"}).call(),expect(e).toHaveBeenCalledTimes(0),await a(64),expect(e).toHaveBeenCalledTimes(1)})});describe("optional param maxWaitMs",()=>{it("should support a `maxWait` option",async()=>{let e=vi.fn(c()),t=n(e,{waitMs:32,maxWaitMs:64});t.call("a"),t.call("b"),expect(e).toHaveBeenCalledTimes(0),await a(128),expect(e).toHaveBeenCalledTimes(1),t.call("c"),t.call("d"),expect(e).toHaveBeenCalledTimes(1),await a(256),expect(e).toHaveBeenCalledTimes(2)}),it("should support `maxWait` in a tight loop",async()=>{let e=vi.fn(),t=vi.fn(),l=n(e,{waitMs:32,maxWaitMs:128}),i=n(t,{waitMs:96}),o=Date.now();for(;Date.now()-o<320;)l.call(),i.call();await a(1),expect(t).toHaveBeenCalledTimes(0),expect(e).not.toHaveBeenCalledTimes(0)}),it("should queue a trailing call for subsequent debounced calls after `maxWait`",async()=>{let e=vi.fn(),t=n(e,{waitMs:200,maxWaitMs:200});t.call(),setTimeout(()=>{t.call()},190),setTimeout(()=>{t.call()},200),setTimeout(()=>{t.call()},210),await a(500),expect(e).toHaveBeenCalledTimes(2)}),it("should cancel `maxDelayed` when `delayed` is invoked",async()=>{let e=vi.fn(),t=n(e,{waitMs:32,maxWaitMs:64});t.call(),await a(128),t.call(),expect(e).toHaveBeenCalledTimes(1),await a(192),expect(e).toHaveBeenCalledTimes(2)}),it("works like a leaky bucket when only maxWaitMs is set",async()=>{let e=vi.fn(),t=n(e,{maxWaitMs:32});t.call(),expect(e).toHaveBeenCalledTimes(0),await a(16),t.call(),expect(e).toHaveBeenCalledTimes(0),await a(17),expect(e).toHaveBeenCalledTimes(1)})});describe("additional functionality",()=>{it("can cancel before the timer starts",async()=>{let e=n(c(),{waitMs:32});expect(()=>{e.cancel()}).not.toThrow(),expect(e.call("hello")).toBeUndefined(),await a(32),expect(e.call("world")).toBe("hello")}),it("can cancel the timer",async()=>{let e="Hello, World!",t=vi.fn(()=>e),l=n(t,{waitMs:32});expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),await a(1),expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),l.cancel(),await a(32),expect(l.call()).toBeUndefined(),expect(t).toHaveBeenCalledTimes(0),await a(32),expect(l.call()).toStrictEqual(e),expect(t).toHaveBeenCalledTimes(1)}),it("can cancel after the timer ends",async()=>{let e=n(c(),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await a(32),expect(e.call("world")).toBe("hello"),expect(()=>{e.cancel()}).not.toThrow()}),it("can cancel maxWait timer",async()=>{let e=n(c(),{waitMs:16,maxWaitMs:32});expect(e.call("hello")).toBeUndefined(),await a(1),e.cancel(),await a(32),expect(e.call("world")).toBeUndefined()}),it("can return a cached value",()=>{let e=n(c(),{timing:"leading",waitMs:32});expect(e.cachedValue).toBeUndefined(),expect(e.call("hello")).toBe("hello"),expect(e.cachedValue).toBe("hello")}),it("can check for inflight timers (trailing)",async()=>{let e=n(c(),{waitMs:32});expect(e.isPending).toBe(!1),expect(e.call("hello")).toBeUndefined(),expect(e.isPending).toBe(!0),await a(1),expect(e.isPending).toBe(!0),await a(32),expect(e.isPending).toBe(!1)}),it("can check for inflight timers (leading)",async()=>{let e=n(c(),{timing:"leading",waitMs:32});expect(e.isPending).toBe(!1),expect(e.call("hello")).toBe("hello"),expect(e.isPending).toBe(!0),await a(1),expect(e.isPending).toBe(!0),await a(32),expect(e.isPending).toBe(!1)}),it("can flush before a cool-down",async()=>{let e=n(c(),{waitMs:32});expect(e.flush()).toBeUndefined(),expect(e.call("hello")).toBeUndefined(),await a(32),expect(e.call("world")).toBe("hello")}),it("can flush during a cool-down",async()=>{let e=n(c(),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await a(1),expect(e.call("world")).toBeUndefined(),await a(1),expect(e.flush()).toBe("world")}),it("can flush after a cool-down",async()=>{let e=n(c(),{waitMs:32});expect(e.call("hello")).toBeUndefined(),await a(32),expect(e.flush()).toBe("hello")})});describe("errors",()=>{it("prevents maxWaitMs to be less then waitMs",()=>{expect(()=>n(c(),{waitMs:32,maxWaitMs:16})).toThrow("debounce: maxWaitMs (16) cannot be less than waitMs (32)")})});
@@ -1,29 +0,0 @@
1
- import { IsStringLiteral, Split, IsNumericLiteral, IsSymbolLiteral, KeysOfUnion } from 'type-fest';
2
-
3
- /**
4
- * Check if a type is guaranteed to be a bounded record: a record with a finite
5
- * set of keys.
6
- *
7
- * @example
8
- * IfBoundedRecord<{ a: 1, 1: "a" }>; //=> true
9
- * IfBoundedRecord<Record<string | number, unknown>>; //=> false
10
- * IfBoundedRecord<Record<`prefix_${number}`, unknown>>; //=> false
11
- */
12
- type IfBoundedRecord<T, TypeIfBoundedRecord = true, TypeIfUnboundedRecord = false> = IsBoundedKey<KeysOfUnion<T>> extends true ? TypeIfBoundedRecord : TypeIfUnboundedRecord;
13
- /**
14
- * Checks if a type is a bounded key: a union of bounded strings, numeric
15
- * literals, or symbol literals.
16
- */
17
- type IsBoundedKey<T> = T extends unknown ? IsStringLiteral<T> extends true ? IsBoundedString<T> : IsNumericLiteral<T> extends true ? true : IsSymbolLiteral<T> : never;
18
- /**
19
- * Checks if a type is a bounded string: a type that only has a finite
20
- * number of strings that are that type.
21
- *
22
- * Most relevant for template literals: IsBoundedString<`${1 | 2}_${3 | 4}`> is
23
- * true, and IsBoundedString<`${1 | 2}_${number}`> is false.
24
- */
25
- type IsBoundedString<T> = T extends string ? Split<T, ''>[number] extends infer U ? [
26
- `${number}`
27
- ] extends [U] ? false : [string] extends [U] ? false : true : false : false;
28
-
29
- export type { IfBoundedRecord as I };
@@ -1,29 +0,0 @@
1
- import { IsStringLiteral, Split, IsNumericLiteral, IsSymbolLiteral, KeysOfUnion } from 'type-fest';
2
-
3
- /**
4
- * Check if a type is guaranteed to be a bounded record: a record with a finite
5
- * set of keys.
6
- *
7
- * @example
8
- * IfBoundedRecord<{ a: 1, 1: "a" }>; //=> true
9
- * IfBoundedRecord<Record<string | number, unknown>>; //=> false
10
- * IfBoundedRecord<Record<`prefix_${number}`, unknown>>; //=> false
11
- */
12
- type IfBoundedRecord<T, TypeIfBoundedRecord = true, TypeIfUnboundedRecord = false> = IsBoundedKey<KeysOfUnion<T>> extends true ? TypeIfBoundedRecord : TypeIfUnboundedRecord;
13
- /**
14
- * Checks if a type is a bounded key: a union of bounded strings, numeric
15
- * literals, or symbol literals.
16
- */
17
- type IsBoundedKey<T> = T extends unknown ? IsStringLiteral<T> extends true ? IsBoundedString<T> : IsNumericLiteral<T> extends true ? true : IsSymbolLiteral<T> : never;
18
- /**
19
- * Checks if a type is a bounded string: a type that only has a finite
20
- * number of strings that are that type.
21
- *
22
- * Most relevant for template literals: IsBoundedString<`${1 | 2}_${3 | 4}`> is
23
- * true, and IsBoundedString<`${1 | 2}_${number}`> is false.
24
- */
25
- type IsBoundedString<T> = T extends string ? Split<T, ''>[number] extends infer U ? [
26
- `${number}`
27
- ] extends [U] ? false : [string] extends [U] ? false : true : false : false;
28
-
29
- export type { IfBoundedRecord as I };
@@ -1,10 +0,0 @@
1
- /**
2
- * An array with *exactly* N elements in it.
3
- *
4
- * Only literal N values are supported. For very large N the type might result
5
- * in a recurse depth error. For negative N the type would result in an infinite
6
- * recursion. None of these have protections because this is an internal type!
7
- */
8
- type NTuple<T, N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : NTuple<T, N, [...Result, T]>;
9
-
10
- export type { NTuple as N };
@@ -1,10 +0,0 @@
1
- /**
2
- * An array with *exactly* N elements in it.
3
- *
4
- * Only literal N values are supported. For very large N the type might result
5
- * in a recurse depth error. For negative N the type would result in an infinite
6
- * recursion. None of these have protections because this is an internal type!
7
- */
8
- type NTuple<T, N extends number, Result extends Array<unknown> = []> = Result['length'] extends N ? Result : NTuple<T, N, [...Result, T]>;
9
-
10
- export type { NTuple as N };
@@ -1,10 +0,0 @@
1
- import { E as EnumerableStringKeyOf } from './enumerable-string-key-of-BQ4aR5ep.cjs';
2
- import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-CLzltniW.cjs';
3
-
4
- /**
5
- * This is the type you'd get from doing:
6
- * `Object.fromEntries(Object.entries(x))`.
7
- */
8
- type ReconstructedRecord<T> = Record<EnumerableStringKeyOf<T>, EnumerableStringKeyedValueOf<T>>;
9
-
10
- export type { ReconstructedRecord as R };
@@ -1,10 +0,0 @@
1
- import { E as EnumerableStringKeyOf } from './enumerable-string-key-of-BQ4aR5ep.js';
2
- import { E as EnumerableStringKeyedValueOf } from './enumerable-string-keyed-value-of-CLzltniW.js';
3
-
4
- /**
5
- * This is the type you'd get from doing:
6
- * `Object.fromEntries(Object.entries(x))`.
7
- */
8
- type ReconstructedRecord<T> = Record<EnumerableStringKeyOf<T>, EnumerableStringKeyedValueOf<T>>;
9
-
10
- export type { ReconstructedRecord as R };
@@ -1 +0,0 @@
1
- "use strict";var _chunkZQXE6PIVcjs = require('./chunk-ZQXE6PIV.cjs');var _chunkWLNQOMKLcjs = require('./chunk-WLNQOMKL.cjs');var _chunkBO34ARLYcjs = require('./chunk-BO34ARLY.cjs');require('./chunk-N5JE6642.cjs');require('./chunk-XR72I63W.cjs');require('./chunk-GZJMERDJ.cjs');describe("data-first",()=>{test("empty array",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("regular array",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("regular array with union type",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("prefix array",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [1],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("suffix array",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [1],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("array with suffix and prefix",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [1,"a"],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("tuple",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [1,"a",!0],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()}),test("union of arrays",()=>{let e=_chunkZQXE6PIVcjs.a.call(void 0, [],_chunkWLNQOMKLcjs.a.call(void 0, !0));expectTypeOf(e).toEqualTypeOf()})});describe("data-last",()=>{test("empty array",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("regular array",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("regular array with union type",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("prefix array",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [1],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("suffix array",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [1],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("array with suffix and prefix",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [1,"a"],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("tuple",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [1,"a",!0],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),test("union of arrays",()=>{let e=_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, _chunkWLNQOMKLcjs.a.call(void 0, !0)));expectTypeOf(e).toEqualTypeOf()}),describe("predicate is typed correctly",()=>{test("empty array",()=>{_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("regular array",()=>{_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("regular array with union type",()=>{_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("prefix array",()=>{_chunkBO34ARLYcjs.a.call(void 0, [1],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("suffix array",()=>{_chunkBO34ARLYcjs.a.call(void 0, [1],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("array with suffix and prefix",()=>{_chunkBO34ARLYcjs.a.call(void 0, [1,"a"],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("tuple",()=>{_chunkBO34ARLYcjs.a.call(void 0, [1,"a",!0],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("union of arrays",()=>{_chunkBO34ARLYcjs.a.call(void 0, [],_chunkZQXE6PIVcjs.a.call(void 0, (e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))})})});
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1,2 +0,0 @@
1
-
2
- export { }
@@ -1 +0,0 @@
1
- import{a as r}from"./chunk-3CFBQYOQ.js";import{a as t}from"./chunk-T5XG33UI.js";import{a}from"./chunk-QHBVEZSR.js";import"./chunk-EPU4K3DD.js";import"./chunk-J6WPJH72.js";import"./chunk-KGPDVVVV.js";describe("data-first",()=>{test("empty array",()=>{let e=r([],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("regular array",()=>{let e=r([],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("regular array with union type",()=>{let e=r([],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("prefix array",()=>{let e=r([1],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("suffix array",()=>{let e=r([1],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("array with suffix and prefix",()=>{let e=r([1,"a"],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("tuple",()=>{let e=r([1,"a",!0],t(!0));expectTypeOf(e).toEqualTypeOf()}),test("union of arrays",()=>{let e=r([],t(!0));expectTypeOf(e).toEqualTypeOf()})});describe("data-last",()=>{test("empty array",()=>{let e=a([],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("regular array",()=>{let e=a([],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("regular array with union type",()=>{let e=a([],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("prefix array",()=>{let e=a([1],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("suffix array",()=>{let e=a([1],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("array with suffix and prefix",()=>{let e=a([1,"a"],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("tuple",()=>{let e=a([1,"a",!0],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),test("union of arrays",()=>{let e=a([],r(t(!0)));expectTypeOf(e).toEqualTypeOf()}),describe("predicate is typed correctly",()=>{test("empty array",()=>{a([],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("regular array",()=>{a([],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("regular array with union type",()=>{a([],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("prefix array",()=>{a([1],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("suffix array",()=>{a([1],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("array with suffix and prefix",()=>{a([1,"a"],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("tuple",()=>{a([1,"a",!0],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))}),test("union of arrays",()=>{a([],r((e,u,y)=>(expectTypeOf(e).toEqualTypeOf(),expectTypeOf(u).toEqualTypeOf(),expectTypeOf(y).toEqualTypeOf(),!0)))})})});
@@ -1,37 +0,0 @@
1
- import { IsEqual } from 'type-fest';
2
-
3
- /**
4
- * Takes an array and returns the types that make up its parts. The prefix is
5
- * anything before the rest parameter (if any), split between it's required
6
- * part, and it's optional part. The suffix is anything after the rest
7
- * parameter (if any), and the item is the type of the rest parameter.
8
- *
9
- * NOTE: The prefix is split into 2 tuples where all items are non-optional so
10
- * that types that rely on the presence of a specific element can be built more
11
- * accurately.
12
- *
13
- * TODO: Some existing types use the `prefix` accessor which doesn't handle the optional part correctly. We need to fix each of those types before we can remove it.
14
- *
15
- * The output could be used to reconstruct the input: `[
16
- * ...TupleParts<T>["required"],
17
- * ...Partial<TupleParts<T>["optional"]>,
18
- * ...CoercedArray<TupleParts<T>["item"]>,
19
- * ...TupleParts<T>["suffix"],
20
- * ]`.
21
- */
22
- type TupleParts<T, PrefixRequired extends Array<unknown> = [], PrefixOptionals extends Array<unknown> = [], Suffix extends Array<unknown> = []> = T extends readonly [infer Head, ...infer Tail] ? TupleParts<Tail, [...PrefixRequired, Head], PrefixOptionals, Suffix> : T extends readonly [...infer Head, infer Tail] ? TupleParts<Head, PrefixRequired, PrefixOptionals, [Tail, ...Suffix]> : IsTupleRestOnly<T> extends true ? T extends ReadonlyArray<infer Item> ? {
23
- prefix: [...PrefixRequired, ...Partial<PrefixOptionals>];
24
- required: PrefixRequired;
25
- optional: PrefixOptionals;
26
- item: Item;
27
- suffix: Suffix;
28
- } : never : T extends readonly [(infer OptionalHead)?, ...infer Tail] ? TupleParts<Tail, PrefixRequired, [
29
- ...PrefixOptionals,
30
- OptionalHead
31
- ], Suffix> : never;
32
- /**
33
- * Helper type for `TupleParts`. Checks if T = ReadonlyArray<U> for some U.
34
- */
35
- type IsTupleRestOnly<T> = T extends readonly [] ? true : T extends readonly [unknown?, ...infer Tail] ? IsEqual<Readonly<T>, Readonly<Tail>> : false;
36
-
37
- export type { TupleParts as T };
@@ -1,37 +0,0 @@
1
- import { IsEqual } from 'type-fest';
2
-
3
- /**
4
- * Takes an array and returns the types that make up its parts. The prefix is
5
- * anything before the rest parameter (if any), split between it's required
6
- * part, and it's optional part. The suffix is anything after the rest
7
- * parameter (if any), and the item is the type of the rest parameter.
8
- *
9
- * NOTE: The prefix is split into 2 tuples where all items are non-optional so
10
- * that types that rely on the presence of a specific element can be built more
11
- * accurately.
12
- *
13
- * TODO: Some existing types use the `prefix` accessor which doesn't handle the optional part correctly. We need to fix each of those types before we can remove it.
14
- *
15
- * The output could be used to reconstruct the input: `[
16
- * ...TupleParts<T>["required"],
17
- * ...Partial<TupleParts<T>["optional"]>,
18
- * ...CoercedArray<TupleParts<T>["item"]>,
19
- * ...TupleParts<T>["suffix"],
20
- * ]`.
21
- */
22
- type TupleParts<T, PrefixRequired extends Array<unknown> = [], PrefixOptionals extends Array<unknown> = [], Suffix extends Array<unknown> = []> = T extends readonly [infer Head, ...infer Tail] ? TupleParts<Tail, [...PrefixRequired, Head], PrefixOptionals, Suffix> : T extends readonly [...infer Head, infer Tail] ? TupleParts<Head, PrefixRequired, PrefixOptionals, [Tail, ...Suffix]> : IsTupleRestOnly<T> extends true ? T extends ReadonlyArray<infer Item> ? {
23
- prefix: [...PrefixRequired, ...Partial<PrefixOptionals>];
24
- required: PrefixRequired;
25
- optional: PrefixOptionals;
26
- item: Item;
27
- suffix: Suffix;
28
- } : never : T extends readonly [(infer OptionalHead)?, ...infer Tail] ? TupleParts<Tail, PrefixRequired, [
29
- ...PrefixOptionals,
30
- OptionalHead
31
- ], Suffix> : never;
32
- /**
33
- * Helper type for `TupleParts`. Checks if T = ReadonlyArray<U> for some U.
34
- */
35
- type IsTupleRestOnly<T> = T extends readonly [] ? true : T extends readonly [unknown?, ...infer Tail] ? IsEqual<Readonly<T>, Readonly<Tail>> : false;
36
-
37
- export type { TupleParts as T };