es-toolkit 1.50.0 → 1.51.0-dev.2069

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 (495) hide show
  1. package/CHANGELOG.md +82 -0
  2. package/NOTICE +39 -0
  3. package/README.md +2 -2
  4. package/bigint.d.ts +1 -0
  5. package/bigint.js +1 -0
  6. package/dist/_internal/NonPlainObject.d.mts +8 -0
  7. package/dist/_internal/NonPlainObject.d.ts +8 -0
  8. package/dist/_internal/bigIntRangeLength.js +19 -0
  9. package/dist/_internal/bigIntRangeLength.mjs +19 -0
  10. package/dist/_internal/isMergeableValue.js +17 -0
  11. package/dist/_internal/isMergeableValue.mjs +17 -0
  12. package/dist/_internal/isUnsafeProperty.js +7 -4
  13. package/dist/_internal/isUnsafeProperty.mjs +7 -4
  14. package/dist/_internal/isUnsafeToWriteProperty.js +22 -0
  15. package/dist/_internal/isUnsafeToWriteProperty.mjs +22 -0
  16. package/dist/array/at.d.mts +1 -1
  17. package/dist/array/at.d.ts +1 -1
  18. package/dist/array/filterAsync.js +1 -1
  19. package/dist/array/filterAsync.mjs +1 -1
  20. package/dist/array/flatMapAsync.js +1 -1
  21. package/dist/array/flatMapAsync.mjs +1 -1
  22. package/dist/array/forEachAsync.js +1 -1
  23. package/dist/array/forEachAsync.mjs +1 -1
  24. package/dist/array/index.js +1 -1
  25. package/dist/array/index.mjs +1 -1
  26. package/dist/array/limitAsync.d.mts +4 -28
  27. package/dist/array/limitAsync.d.ts +4 -28
  28. package/dist/array/limitAsync.js +2 -39
  29. package/dist/array/limitAsync.mjs +3 -39
  30. package/dist/array/mapAsync.js +1 -1
  31. package/dist/array/mapAsync.mjs +1 -1
  32. package/dist/array/orderBy.d.mts +1 -1
  33. package/dist/array/orderBy.d.ts +1 -1
  34. package/dist/array/pullAt.d.mts +1 -1
  35. package/dist/array/pullAt.d.ts +1 -1
  36. package/dist/array/pullAt.js +1 -1
  37. package/dist/array/pullAt.mjs +1 -1
  38. package/dist/array/sortBy.d.mts +1 -1
  39. package/dist/array/sortBy.d.ts +1 -1
  40. package/dist/array/unzip.d.mts +3 -0
  41. package/dist/array/unzip.d.ts +3 -0
  42. package/dist/array/unzip.js +3 -0
  43. package/dist/array/unzip.mjs +3 -0
  44. package/dist/bigint/clamp.d.mts +37 -0
  45. package/dist/bigint/clamp.d.ts +37 -0
  46. package/dist/bigint/clamp.js +16 -0
  47. package/dist/bigint/clamp.mjs +16 -0
  48. package/dist/bigint/inRange.d.mts +37 -0
  49. package/dist/bigint/inRange.d.ts +37 -0
  50. package/dist/bigint/inRange.js +20 -0
  51. package/dist/bigint/inRange.mjs +20 -0
  52. package/dist/bigint/index.d.mts +14 -0
  53. package/dist/bigint/index.d.ts +14 -0
  54. package/dist/bigint/index.js +27 -0
  55. package/dist/bigint/index.mjs +14 -0
  56. package/dist/bigint/max.d.mts +21 -0
  57. package/dist/bigint/max.d.ts +21 -0
  58. package/dist/bigint/max.js +26 -0
  59. package/dist/bigint/max.mjs +26 -0
  60. package/dist/bigint/maxBy.d.mts +21 -0
  61. package/dist/bigint/maxBy.d.ts +21 -0
  62. package/dist/bigint/maxBy.js +34 -0
  63. package/dist/bigint/maxBy.mjs +34 -0
  64. package/dist/bigint/median.d.mts +22 -0
  65. package/dist/bigint/median.d.ts +22 -0
  66. package/dist/bigint/median.js +28 -0
  67. package/dist/bigint/median.mjs +28 -0
  68. package/dist/bigint/medianBy.d.mts +21 -0
  69. package/dist/bigint/medianBy.d.ts +21 -0
  70. package/dist/bigint/medianBy.js +24 -0
  71. package/dist/bigint/medianBy.mjs +24 -0
  72. package/dist/bigint/min.d.mts +18 -0
  73. package/dist/bigint/min.d.ts +18 -0
  74. package/dist/bigint/min.js +23 -0
  75. package/dist/bigint/min.mjs +23 -0
  76. package/dist/bigint/minBy.d.mts +21 -0
  77. package/dist/bigint/minBy.d.ts +21 -0
  78. package/dist/bigint/minBy.js +34 -0
  79. package/dist/bigint/minBy.mjs +34 -0
  80. package/dist/bigint/percentile.d.mts +23 -0
  81. package/dist/bigint/percentile.d.ts +23 -0
  82. package/dist/bigint/percentile.js +31 -0
  83. package/dist/bigint/percentile.mjs +31 -0
  84. package/dist/bigint/range.d.mts +45 -0
  85. package/dist/bigint/range.d.ts +45 -0
  86. package/dist/bigint/range.js +24 -0
  87. package/dist/bigint/range.mjs +24 -0
  88. package/dist/bigint/rangeRight.d.mts +43 -0
  89. package/dist/bigint/rangeRight.d.ts +43 -0
  90. package/dist/bigint/rangeRight.js +25 -0
  91. package/dist/bigint/rangeRight.mjs +25 -0
  92. package/dist/bigint/sum.d.mts +18 -0
  93. package/dist/bigint/sum.d.ts +18 -0
  94. package/dist/bigint/sum.js +22 -0
  95. package/dist/bigint/sum.mjs +22 -0
  96. package/dist/bigint/sumBy.d.mts +20 -0
  97. package/dist/bigint/sumBy.d.ts +20 -0
  98. package/dist/bigint/sumBy.js +24 -0
  99. package/dist/bigint/sumBy.mjs +24 -0
  100. package/dist/browser.global.js +6 -3
  101. package/dist/compat/_internal/normalizeZero.js +13 -0
  102. package/dist/compat/_internal/normalizeZero.mjs +13 -0
  103. package/dist/compat/_internal/toKey.js +1 -1
  104. package/dist/compat/_internal/toKey.mjs +1 -1
  105. package/dist/compat/_internal/unicodeSize.js +45 -0
  106. package/dist/compat/_internal/unicodeSize.mjs +45 -0
  107. package/dist/compat/array/chunk.js +1 -0
  108. package/dist/compat/array/chunk.mjs +1 -0
  109. package/dist/compat/array/difference.js +2 -1
  110. package/dist/compat/array/difference.mjs +2 -1
  111. package/dist/compat/array/differenceBy.js +3 -2
  112. package/dist/compat/array/differenceBy.mjs +3 -2
  113. package/dist/compat/array/drop.d.mts +1 -1
  114. package/dist/compat/array/drop.d.ts +1 -1
  115. package/dist/compat/array/dropRight.d.mts +2 -3
  116. package/dist/compat/array/dropRight.d.ts +2 -3
  117. package/dist/compat/array/dropRight.js +4 -4
  118. package/dist/compat/array/dropRight.mjs +4 -4
  119. package/dist/compat/array/every.js +9 -9
  120. package/dist/compat/array/every.mjs +9 -9
  121. package/dist/compat/array/fill.js +8 -2
  122. package/dist/compat/array/fill.mjs +8 -2
  123. package/dist/compat/array/find.js +14 -13
  124. package/dist/compat/array/find.mjs +14 -13
  125. package/dist/compat/array/findIndex.js +3 -19
  126. package/dist/compat/array/findIndex.mjs +3 -19
  127. package/dist/compat/array/findLast.js +3 -3
  128. package/dist/compat/array/findLast.mjs +3 -3
  129. package/dist/compat/array/flatMap.js +3 -8
  130. package/dist/compat/array/flatMap.mjs +3 -7
  131. package/dist/compat/array/flatMapDepth.js +1 -1
  132. package/dist/compat/array/flatMapDepth.mjs +1 -1
  133. package/dist/compat/array/forEach.js +1 -1
  134. package/dist/compat/array/forEach.mjs +1 -1
  135. package/dist/compat/array/includes.js +13 -13
  136. package/dist/compat/array/includes.mjs +13 -13
  137. package/dist/compat/array/indexOf.js +2 -1
  138. package/dist/compat/array/indexOf.mjs +2 -1
  139. package/dist/compat/array/intersection.js +3 -2
  140. package/dist/compat/array/intersection.mjs +3 -2
  141. package/dist/compat/array/intersectionBy.js +7 -11
  142. package/dist/compat/array/intersectionBy.mjs +7 -11
  143. package/dist/compat/array/intersectionWith.js +6 -18
  144. package/dist/compat/array/intersectionWith.mjs +6 -18
  145. package/dist/compat/array/last.js +1 -1
  146. package/dist/compat/array/last.mjs +1 -1
  147. package/dist/compat/array/lastIndexOf.js +3 -1
  148. package/dist/compat/array/lastIndexOf.mjs +3 -1
  149. package/dist/compat/array/map.js +3 -3
  150. package/dist/compat/array/map.mjs +3 -3
  151. package/dist/compat/array/orderBy.js +8 -6
  152. package/dist/compat/array/orderBy.mjs +8 -6
  153. package/dist/compat/array/partition.js +6 -6
  154. package/dist/compat/array/partition.mjs +6 -6
  155. package/dist/compat/array/pull.js +1 -1
  156. package/dist/compat/array/pull.mjs +1 -1
  157. package/dist/compat/array/pullAll.js +2 -0
  158. package/dist/compat/array/pullAll.mjs +2 -0
  159. package/dist/compat/array/remove.js +8 -4
  160. package/dist/compat/array/remove.mjs +8 -4
  161. package/dist/compat/array/reverse.js +1 -1
  162. package/dist/compat/array/reverse.mjs +1 -1
  163. package/dist/compat/array/sampleSize.js +2 -1
  164. package/dist/compat/array/sampleSize.mjs +2 -1
  165. package/dist/compat/array/size.js +2 -1
  166. package/dist/compat/array/size.mjs +2 -1
  167. package/dist/compat/array/some.js +2 -1
  168. package/dist/compat/array/some.mjs +2 -1
  169. package/dist/compat/array/takeRightWhile.js +2 -2
  170. package/dist/compat/array/takeRightWhile.mjs +2 -2
  171. package/dist/compat/array/takeWhile.js +2 -2
  172. package/dist/compat/array/takeWhile.mjs +2 -2
  173. package/dist/compat/array/unionBy.js +2 -1
  174. package/dist/compat/array/unionBy.mjs +2 -1
  175. package/dist/compat/array/uniqBy.js +4 -3
  176. package/dist/compat/array/uniqBy.mjs +4 -3
  177. package/dist/compat/array/unzip.d.mts +3 -0
  178. package/dist/compat/array/unzip.d.ts +3 -0
  179. package/dist/compat/array/unzip.js +3 -0
  180. package/dist/compat/array/unzip.mjs +3 -0
  181. package/dist/compat/array/unzipWith.js +1 -1
  182. package/dist/compat/array/unzipWith.mjs +1 -1
  183. package/dist/compat/array/zipObject.js +2 -0
  184. package/dist/compat/array/zipObject.mjs +2 -0
  185. package/dist/compat/compat.d.mts +3 -3
  186. package/dist/compat/compat.d.ts +3 -3
  187. package/dist/compat/compat.js +8 -4
  188. package/dist/compat/compat.mjs +8 -4
  189. package/dist/compat/function/curry.d.mts +1 -1
  190. package/dist/compat/function/curry.d.ts +1 -1
  191. package/dist/compat/function/debounce.js +1 -1
  192. package/dist/compat/function/debounce.mjs +1 -1
  193. package/dist/compat/function/flowRight.d.mts +1 -1
  194. package/dist/compat/function/flowRight.d.ts +1 -1
  195. package/dist/compat/function/partial.d.mts +1 -1
  196. package/dist/compat/function/partial.d.ts +1 -1
  197. package/dist/compat/function/rest.d.mts +1 -1
  198. package/dist/compat/function/rest.d.ts +1 -1
  199. package/dist/compat/function/rest.js +1 -1
  200. package/dist/compat/function/rest.mjs +1 -1
  201. package/dist/compat/index.d.mts +3 -3
  202. package/dist/compat/index.d.ts +3 -3
  203. package/dist/compat/index.js +6 -4
  204. package/dist/compat/index.mjs +5 -5
  205. package/dist/compat/math/maxBy.js +1 -1
  206. package/dist/compat/math/maxBy.mjs +1 -1
  207. package/dist/compat/math/meanBy.d.mts +4 -0
  208. package/dist/compat/math/meanBy.d.ts +4 -0
  209. package/dist/compat/math/meanBy.js +8 -3
  210. package/dist/compat/math/meanBy.mjs +8 -3
  211. package/dist/compat/math/minBy.js +1 -1
  212. package/dist/compat/math/minBy.mjs +1 -1
  213. package/dist/compat/object/cloneDeep.d.mts +5 -5
  214. package/dist/compat/object/cloneDeep.d.ts +5 -5
  215. package/dist/compat/object/cloneDeep.js +5 -5
  216. package/dist/compat/object/cloneDeep.mjs +5 -5
  217. package/dist/compat/object/cloneDeepWith.js +3 -1
  218. package/dist/compat/object/cloneDeepWith.mjs +3 -1
  219. package/dist/compat/object/cloneWith.d.mts +1 -1
  220. package/dist/compat/object/cloneWith.d.ts +1 -1
  221. package/dist/compat/object/cloneWith.js +1 -1
  222. package/dist/compat/object/cloneWith.mjs +1 -1
  223. package/dist/compat/object/entries.d.mts +1 -0
  224. package/dist/compat/object/entries.d.ts +1 -0
  225. package/dist/compat/object/entries.js +1 -0
  226. package/dist/compat/object/entries.mjs +1 -0
  227. package/dist/compat/object/entriesIn.d.mts +1 -0
  228. package/dist/compat/object/entriesIn.d.ts +1 -0
  229. package/dist/compat/object/entriesIn.js +1 -0
  230. package/dist/compat/object/entriesIn.mjs +1 -0
  231. package/dist/compat/object/omit.js +5 -5
  232. package/dist/compat/object/omit.mjs +5 -5
  233. package/dist/compat/object/transform.js +1 -1
  234. package/dist/compat/object/transform.mjs +1 -1
  235. package/dist/compat/object/updateWith.js +2 -2
  236. package/dist/compat/object/updateWith.mjs +2 -2
  237. package/dist/compat/predicate/isMatchWith.js +14 -5
  238. package/dist/compat/predicate/isMatchWith.mjs +14 -5
  239. package/dist/compat/string/template.js +2 -1
  240. package/dist/compat/string/template.mjs +2 -1
  241. package/dist/compat/string/words.js +17 -13
  242. package/dist/compat/string/words.mjs +17 -13
  243. package/dist/compat/util/iteratee.js +1 -3
  244. package/dist/compat/util/iteratee.mjs +1 -3
  245. package/dist/compat/util/toArray.d.mts +5 -5
  246. package/dist/compat/util/toArray.d.ts +5 -5
  247. package/dist/compat/util/toArray.js +9 -5
  248. package/dist/compat/util/toArray.mjs +9 -5
  249. package/dist/compat/util/toPath.js +11 -3
  250. package/dist/compat/util/toPath.mjs +11 -3
  251. package/dist/compat/util/toString.js +4 -1
  252. package/dist/compat/util/toString.mjs +4 -1
  253. package/dist/fp/array/at.d.mts +1 -1
  254. package/dist/fp/array/at.d.ts +1 -1
  255. package/dist/fp/array/orderBy.d.mts +1 -1
  256. package/dist/fp/array/orderBy.d.ts +1 -1
  257. package/dist/fp/array/sortBy.d.mts +1 -1
  258. package/dist/fp/array/sortBy.d.ts +1 -1
  259. package/dist/fp/array/unzip.d.mts +3 -0
  260. package/dist/fp/array/unzip.d.ts +3 -0
  261. package/dist/fp/array/unzip.js +3 -0
  262. package/dist/fp/array/unzip.mjs +3 -0
  263. package/dist/fp/iterator/chunk.d.mts +19 -0
  264. package/dist/fp/iterator/chunk.d.ts +19 -0
  265. package/dist/fp/iterator/chunk.js +24 -0
  266. package/dist/fp/iterator/chunk.mjs +24 -0
  267. package/dist/fp/iterator/count.d.mts +20 -0
  268. package/dist/fp/iterator/count.d.ts +20 -0
  269. package/dist/fp/iterator/count.js +25 -0
  270. package/dist/fp/iterator/count.mjs +25 -0
  271. package/dist/fp/iterator/drop.d.mts +20 -0
  272. package/dist/fp/iterator/drop.d.ts +20 -0
  273. package/dist/fp/iterator/drop.js +24 -0
  274. package/dist/fp/iterator/drop.mjs +24 -0
  275. package/dist/fp/iterator/dropWhile.d.mts +18 -0
  276. package/dist/fp/iterator/dropWhile.d.ts +18 -0
  277. package/dist/fp/iterator/dropWhile.js +23 -0
  278. package/dist/fp/iterator/dropWhile.mjs +23 -0
  279. package/dist/fp/iterator/every.d.mts +20 -0
  280. package/dist/fp/iterator/every.d.ts +20 -0
  281. package/dist/fp/iterator/every.js +24 -0
  282. package/dist/fp/iterator/every.mjs +24 -0
  283. package/dist/fp/iterator/filter.d.mts +37 -0
  284. package/dist/fp/iterator/filter.d.ts +37 -0
  285. package/dist/fp/iterator/filter.js +8 -0
  286. package/dist/fp/iterator/filter.mjs +8 -0
  287. package/dist/fp/iterator/find.d.mts +20 -0
  288. package/dist/fp/iterator/find.d.ts +20 -0
  289. package/dist/fp/iterator/find.js +24 -0
  290. package/dist/fp/iterator/find.mjs +24 -0
  291. package/dist/fp/iterator/flatMap.d.mts +20 -0
  292. package/dist/fp/iterator/flatMap.d.ts +20 -0
  293. package/dist/fp/iterator/flatMap.js +24 -0
  294. package/dist/fp/iterator/flatMap.mjs +24 -0
  295. package/dist/fp/iterator/forEach.d.mts +22 -0
  296. package/dist/fp/iterator/forEach.d.ts +22 -0
  297. package/dist/fp/iterator/forEach.js +26 -0
  298. package/dist/fp/iterator/forEach.mjs +26 -0
  299. package/dist/fp/iterator/head.d.mts +19 -0
  300. package/dist/fp/iterator/head.d.ts +19 -0
  301. package/dist/fp/iterator/head.js +24 -0
  302. package/dist/fp/iterator/head.mjs +24 -0
  303. package/dist/fp/iterator/index.d.mts +21 -0
  304. package/dist/fp/iterator/index.d.ts +21 -0
  305. package/dist/fp/iterator/index.js +41 -0
  306. package/dist/fp/iterator/index.mjs +21 -0
  307. package/dist/fp/iterator/map.d.mts +20 -0
  308. package/dist/fp/iterator/map.d.ts +20 -0
  309. package/dist/fp/iterator/map.js +24 -0
  310. package/dist/fp/iterator/map.mjs +24 -0
  311. package/dist/fp/iterator/partition.d.mts +22 -0
  312. package/dist/fp/iterator/partition.d.ts +22 -0
  313. package/dist/fp/iterator/partition.js +27 -0
  314. package/dist/fp/iterator/partition.mjs +27 -0
  315. package/dist/fp/iterator/reduce.d.mts +24 -0
  316. package/dist/fp/iterator/reduce.d.ts +24 -0
  317. package/dist/fp/iterator/reduce.js +28 -0
  318. package/dist/fp/iterator/reduce.mjs +28 -0
  319. package/dist/fp/iterator/scan.d.mts +21 -0
  320. package/dist/fp/iterator/scan.d.ts +21 -0
  321. package/dist/fp/iterator/scan.js +26 -0
  322. package/dist/fp/iterator/scan.mjs +26 -0
  323. package/dist/fp/iterator/some.d.mts +20 -0
  324. package/dist/fp/iterator/some.d.ts +20 -0
  325. package/dist/fp/iterator/some.js +24 -0
  326. package/dist/fp/iterator/some.mjs +24 -0
  327. package/dist/fp/iterator/take.d.mts +21 -0
  328. package/dist/fp/iterator/take.d.ts +21 -0
  329. package/dist/fp/iterator/take.js +25 -0
  330. package/dist/fp/iterator/take.mjs +25 -0
  331. package/dist/fp/iterator/takeWhile.d.mts +19 -0
  332. package/dist/fp/iterator/takeWhile.d.ts +19 -0
  333. package/dist/fp/iterator/takeWhile.js +24 -0
  334. package/dist/fp/iterator/takeWhile.mjs +24 -0
  335. package/dist/fp/iterator/toArray.d.mts +21 -0
  336. package/dist/fp/iterator/toArray.d.ts +21 -0
  337. package/dist/fp/iterator/toArray.js +25 -0
  338. package/dist/fp/iterator/toArray.mjs +25 -0
  339. package/dist/fp/iterator/uniqBy.d.mts +20 -0
  340. package/dist/fp/iterator/uniqBy.d.ts +20 -0
  341. package/dist/fp/iterator/uniqBy.js +25 -0
  342. package/dist/fp/iterator/uniqBy.mjs +25 -0
  343. package/dist/fp/iterator/zip.d.mts +20 -0
  344. package/dist/fp/iterator/zip.d.ts +20 -0
  345. package/dist/fp/iterator/zip.js +25 -0
  346. package/dist/fp/iterator/zip.mjs +25 -0
  347. package/dist/function/memoize.d.mts +3 -2
  348. package/dist/function/memoize.d.ts +3 -2
  349. package/dist/function/memoize.js +3 -2
  350. package/dist/function/memoize.mjs +3 -2
  351. package/dist/function/partial.d.mts +2 -2
  352. package/dist/function/partial.d.ts +2 -2
  353. package/dist/function/partialRight.d.mts +5 -5
  354. package/dist/function/partialRight.d.ts +5 -5
  355. package/dist/function/rest.d.mts +1 -1
  356. package/dist/function/rest.d.ts +1 -1
  357. package/dist/function/rest.js +1 -1
  358. package/dist/function/rest.mjs +1 -1
  359. package/dist/function/retry.d.mts +7 -4
  360. package/dist/function/retry.d.ts +7 -4
  361. package/dist/function/retry.js +4 -2
  362. package/dist/function/retry.mjs +1 -1
  363. package/dist/index.d.mts +9 -2
  364. package/dist/index.d.ts +9 -2
  365. package/dist/index.js +18 -4
  366. package/dist/index.mjs +12 -5
  367. package/dist/iterator/_internal/iterator.js +74 -0
  368. package/dist/iterator/_internal/iterator.mjs +74 -0
  369. package/dist/iterator/chunk.d.mts +21 -0
  370. package/dist/iterator/chunk.d.ts +21 -0
  371. package/dist/iterator/chunk.js +40 -0
  372. package/dist/iterator/chunk.mjs +40 -0
  373. package/dist/iterator/count.d.mts +18 -0
  374. package/dist/iterator/count.d.ts +18 -0
  375. package/dist/iterator/count.js +26 -0
  376. package/dist/iterator/count.mjs +26 -0
  377. package/dist/iterator/dropWhile.d.mts +20 -0
  378. package/dist/iterator/dropWhile.d.ts +20 -0
  379. package/dist/iterator/dropWhile.js +52 -0
  380. package/dist/iterator/dropWhile.mjs +52 -0
  381. package/dist/iterator/head.d.mts +21 -0
  382. package/dist/iterator/head.d.ts +21 -0
  383. package/dist/iterator/head.js +26 -0
  384. package/dist/iterator/head.mjs +26 -0
  385. package/dist/iterator/index.d.mts +12 -0
  386. package/dist/iterator/index.d.ts +12 -0
  387. package/dist/iterator/index.js +23 -0
  388. package/dist/iterator/index.mjs +12 -0
  389. package/dist/iterator/iterate.d.mts +20 -0
  390. package/dist/iterator/iterate.d.ts +20 -0
  391. package/dist/iterator/iterate.js +32 -0
  392. package/dist/iterator/iterate.mjs +32 -0
  393. package/dist/iterator/partition.d.mts +18 -0
  394. package/dist/iterator/partition.d.ts +18 -0
  395. package/dist/iterator/partition.js +36 -0
  396. package/dist/iterator/partition.mjs +36 -0
  397. package/dist/iterator/range.d.mts +42 -0
  398. package/dist/iterator/range.d.ts +42 -0
  399. package/dist/iterator/range.js +25 -0
  400. package/dist/iterator/range.mjs +25 -0
  401. package/dist/iterator/scan.d.mts +23 -0
  402. package/dist/iterator/scan.d.ts +23 -0
  403. package/dist/iterator/scan.js +47 -0
  404. package/dist/iterator/scan.mjs +47 -0
  405. package/dist/iterator/takeWhile.d.mts +20 -0
  406. package/dist/iterator/takeWhile.d.ts +20 -0
  407. package/dist/iterator/takeWhile.js +34 -0
  408. package/dist/iterator/takeWhile.mjs +34 -0
  409. package/dist/iterator/uniqBy.d.mts +22 -0
  410. package/dist/iterator/uniqBy.d.ts +22 -0
  411. package/dist/iterator/uniqBy.js +43 -0
  412. package/dist/iterator/uniqBy.mjs +43 -0
  413. package/dist/iterator/zip.d.mts +23 -0
  414. package/dist/iterator/zip.d.ts +23 -0
  415. package/dist/iterator/zip.js +45 -0
  416. package/dist/iterator/zip.mjs +45 -0
  417. package/dist/object/cloneDeepWith.d.mts +3 -1
  418. package/dist/object/cloneDeepWith.d.ts +3 -1
  419. package/dist/object/cloneDeepWith.js +3 -1
  420. package/dist/object/cloneDeepWith.mjs +3 -1
  421. package/dist/object/deepFreeze.d.mts +20 -0
  422. package/dist/object/deepFreeze.d.ts +20 -0
  423. package/dist/object/deepFreeze.js +29 -0
  424. package/dist/object/deepFreeze.mjs +29 -0
  425. package/dist/object/flattenObject.d.mts +16 -1
  426. package/dist/object/flattenObject.d.ts +16 -1
  427. package/dist/object/flattenObject.js +15 -6
  428. package/dist/object/flattenObject.mjs +15 -6
  429. package/dist/object/index.d.mts +7 -1
  430. package/dist/object/index.d.ts +7 -1
  431. package/dist/object/index.js +12 -0
  432. package/dist/object/index.mjs +7 -1
  433. package/dist/object/mapKeysAsync.d.mts +25 -0
  434. package/dist/object/mapKeysAsync.d.ts +25 -0
  435. package/dist/object/mapKeysAsync.js +32 -0
  436. package/dist/object/mapKeysAsync.mjs +32 -0
  437. package/dist/object/mapValuesAsync.d.mts +26 -0
  438. package/dist/object/mapValuesAsync.d.ts +26 -0
  439. package/dist/object/mapValuesAsync.js +32 -0
  440. package/dist/object/mapValuesAsync.mjs +32 -0
  441. package/dist/object/merge.js +2 -4
  442. package/dist/object/merge.mjs +1 -3
  443. package/dist/object/mergeWith.js +4 -4
  444. package/dist/object/mergeWith.mjs +4 -4
  445. package/dist/object/toCamelCaseKeys.d.mts +2 -6
  446. package/dist/object/toCamelCaseKeys.d.ts +2 -6
  447. package/dist/object/toConstantCaseKeys.d.mts +52 -0
  448. package/dist/object/toConstantCaseKeys.d.ts +52 -0
  449. package/dist/object/toConstantCaseKeys.js +66 -0
  450. package/dist/object/toConstantCaseKeys.mjs +66 -0
  451. package/dist/object/toKebabCaseKeys.d.mts +52 -0
  452. package/dist/object/toKebabCaseKeys.d.ts +52 -0
  453. package/dist/object/toKebabCaseKeys.js +66 -0
  454. package/dist/object/toKebabCaseKeys.mjs +66 -0
  455. package/dist/object/toMerged.js +4 -4
  456. package/dist/object/toMerged.mjs +4 -4
  457. package/dist/object/toPascalCaseKeys.d.mts +52 -0
  458. package/dist/object/toPascalCaseKeys.d.ts +52 -0
  459. package/dist/object/toPascalCaseKeys.js +66 -0
  460. package/dist/object/toPascalCaseKeys.mjs +66 -0
  461. package/dist/object/toSnakeCaseKeys.d.mts +2 -3
  462. package/dist/object/toSnakeCaseKeys.d.ts +2 -3
  463. package/dist/promise/index.d.mts +2 -1
  464. package/dist/promise/index.d.ts +2 -1
  465. package/dist/promise/index.js +2 -0
  466. package/dist/promise/index.mjs +2 -1
  467. package/dist/promise/limitAsync.d.mts +35 -0
  468. package/dist/promise/limitAsync.d.ts +35 -0
  469. package/dist/promise/limitAsync.js +46 -0
  470. package/dist/promise/limitAsync.mjs +46 -0
  471. package/dist/string/dedent.d.mts +37 -0
  472. package/dist/string/dedent.d.ts +37 -0
  473. package/dist/string/dedent.js +38 -0
  474. package/dist/string/dedent.mjs +38 -0
  475. package/dist/string/index.d.mts +2 -1
  476. package/dist/string/index.d.ts +2 -1
  477. package/dist/string/index.js +5 -3
  478. package/dist/string/index.mjs +5 -4
  479. package/dist/types/ToCamelCaseKeys.d.mts +24 -0
  480. package/dist/types/ToCamelCaseKeys.d.ts +24 -0
  481. package/dist/types/ToConstantCaseKeys.d.mts +21 -0
  482. package/dist/types/ToConstantCaseKeys.d.ts +21 -0
  483. package/dist/types/ToKebabCaseKeys.d.mts +23 -0
  484. package/dist/types/ToKebabCaseKeys.d.ts +23 -0
  485. package/dist/types/ToPascalCaseKeys.d.mts +24 -0
  486. package/dist/types/ToPascalCaseKeys.d.ts +24 -0
  487. package/dist/types/ToSnakeCaseKeys.d.mts +21 -0
  488. package/dist/types/ToSnakeCaseKeys.d.ts +21 -0
  489. package/dist/types/index.d.mts +6 -1
  490. package/dist/types/index.d.ts +6 -1
  491. package/fp/iterator.d.ts +1 -0
  492. package/fp/iterator.js +1 -0
  493. package/iterator.d.ts +1 -0
  494. package/iterator.js +1 -0
  495. package/package.json +70 -2
@@ -0,0 +1,19 @@
1
+ //#region src/fp/iterator/chunk.d.ts
2
+ /**
3
+ * Creates a function that lazily groups the elements of an iterator into arrays
4
+ * of length `size`, for use with {@link pipe}. The final chunk may be shorter.
5
+ *
6
+ * @template T - The type of elements produced by the source iterator.
7
+ * @param size - The length of each chunk; must be an integer greater than zero.
8
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T[]>`.
9
+ * @throws {Error} Throws an error if `size` is not an integer greater than zero.
10
+ *
11
+ * @example
12
+ * import { pipe } from 'es-toolkit/fp';
13
+ * import { chunk, toArray } from 'es-toolkit/fp/iterator';
14
+ *
15
+ * pipe([1, 2, 3, 4, 5].values(), chunk(2), toArray()); // => [[1, 2], [3, 4], [5]]
16
+ */
17
+ declare function chunk<T>(size: number): (source: Iterator<T>) => IteratorObject<T[], undefined>;
18
+ //#endregion
19
+ export { chunk };
@@ -0,0 +1,19 @@
1
+ //#region src/fp/iterator/chunk.d.ts
2
+ /**
3
+ * Creates a function that lazily groups the elements of an iterator into arrays
4
+ * of length `size`, for use with {@link pipe}. The final chunk may be shorter.
5
+ *
6
+ * @template T - The type of elements produced by the source iterator.
7
+ * @param size - The length of each chunk; must be an integer greater than zero.
8
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T[]>`.
9
+ * @throws {Error} Throws an error if `size` is not an integer greater than zero.
10
+ *
11
+ * @example
12
+ * import { pipe } from 'es-toolkit/fp';
13
+ * import { chunk, toArray } from 'es-toolkit/fp/iterator';
14
+ *
15
+ * pipe([1, 2, 3, 4, 5].values(), chunk(2), toArray()); // => [[1, 2], [3, 4], [5]]
16
+ */
17
+ declare function chunk<T>(size: number): (source: Iterator<T>) => IteratorObject<T[], undefined>;
18
+ //#endregion
19
+ export { chunk };
@@ -0,0 +1,24 @@
1
+ const require_chunk = require("../../iterator/chunk.js");
2
+ //#region src/fp/iterator/chunk.ts
3
+ /**
4
+ * Creates a function that lazily groups the elements of an iterator into arrays
5
+ * of length `size`, for use with {@link pipe}. The final chunk may be shorter.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param size - The length of each chunk; must be an integer greater than zero.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T[]>`.
10
+ * @throws {Error} Throws an error if `size` is not an integer greater than zero.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { chunk, toArray } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), chunk(2), toArray()); // => [[1, 2], [3, 4], [5]]
17
+ */
18
+ function chunk(size) {
19
+ return function chunkInIterator(source) {
20
+ return require_chunk.chunk(source, size);
21
+ };
22
+ }
23
+ //#endregion
24
+ exports.chunk = chunk;
@@ -0,0 +1,24 @@
1
+ import { chunk as chunk$1 } from "../../iterator/chunk.mjs";
2
+ //#region src/fp/iterator/chunk.ts
3
+ /**
4
+ * Creates a function that lazily groups the elements of an iterator into arrays
5
+ * of length `size`, for use with {@link pipe}. The final chunk may be shorter.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param size - The length of each chunk; must be an integer greater than zero.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T[]>`.
10
+ * @throws {Error} Throws an error if `size` is not an integer greater than zero.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { chunk, toArray } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), chunk(2), toArray()); // => [[1, 2], [3, 4], [5]]
17
+ */
18
+ function chunk(size) {
19
+ return function chunkInIterator(source) {
20
+ return chunk$1(source, size);
21
+ };
22
+ }
23
+ //#endregion
24
+ export { chunk };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/count.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator and returns the number of
4
+ * elements it produces, for use as the terminal step of a {@link pipe}.
5
+ *
6
+ * This is a terminal operation: it pulls every element, so it must not be used
7
+ * on an infinite iterator.
8
+ *
9
+ * @template T - The type of elements produced by the source iterator.
10
+ * @returns A function mapping an `Iterator<T>` to its element count.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { filter, count } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0), count()); // => 2
17
+ */
18
+ declare function count<T>(): (source: Iterator<T>) => number;
19
+ //#endregion
20
+ export { count };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/count.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator and returns the number of
4
+ * elements it produces, for use as the terminal step of a {@link pipe}.
5
+ *
6
+ * This is a terminal operation: it pulls every element, so it must not be used
7
+ * on an infinite iterator.
8
+ *
9
+ * @template T - The type of elements produced by the source iterator.
10
+ * @returns A function mapping an `Iterator<T>` to its element count.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { filter, count } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0), count()); // => 2
17
+ */
18
+ declare function count<T>(): (source: Iterator<T>) => number;
19
+ //#endregion
20
+ export { count };
@@ -0,0 +1,25 @@
1
+ const require_count = require("../../iterator/count.js");
2
+ //#region src/fp/iterator/count.ts
3
+ /**
4
+ * Creates a function that consumes an iterator and returns the number of
5
+ * elements it produces, for use as the terminal step of a {@link pipe}.
6
+ *
7
+ * This is a terminal operation: it pulls every element, so it must not be used
8
+ * on an infinite iterator.
9
+ *
10
+ * @template T - The type of elements produced by the source iterator.
11
+ * @returns A function mapping an `Iterator<T>` to its element count.
12
+ *
13
+ * @example
14
+ * import { pipe } from 'es-toolkit/fp';
15
+ * import { filter, count } from 'es-toolkit/fp/iterator';
16
+ *
17
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0), count()); // => 2
18
+ */
19
+ function count() {
20
+ return function countInIterator(source) {
21
+ return require_count.count(source);
22
+ };
23
+ }
24
+ //#endregion
25
+ exports.count = count;
@@ -0,0 +1,25 @@
1
+ import { count as count$1 } from "../../iterator/count.mjs";
2
+ //#region src/fp/iterator/count.ts
3
+ /**
4
+ * Creates a function that consumes an iterator and returns the number of
5
+ * elements it produces, for use as the terminal step of a {@link pipe}.
6
+ *
7
+ * This is a terminal operation: it pulls every element, so it must not be used
8
+ * on an infinite iterator.
9
+ *
10
+ * @template T - The type of elements produced by the source iterator.
11
+ * @returns A function mapping an `Iterator<T>` to its element count.
12
+ *
13
+ * @example
14
+ * import { pipe } from 'es-toolkit/fp';
15
+ * import { filter, count } from 'es-toolkit/fp/iterator';
16
+ *
17
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0), count()); // => 2
18
+ */
19
+ function count() {
20
+ return function countInIterator(source) {
21
+ return count$1(source);
22
+ };
23
+ }
24
+ //#endregion
25
+ export { count };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/drop.d.ts
2
+ /**
3
+ * Creates a function that lazily skips the first `count` elements of an iterator
4
+ * and yields the rest, for use with {@link pipe}. It delegates to the native
5
+ * `Iterator.prototype.drop`.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param count - The number of elements to skip; must be a non-negative integer.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ * @throws {RangeError} Throws if `count` is negative or `NaN` (native behavior).
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { drop } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), drop(2)).toArray(); // => [3, 4, 5]
17
+ */
18
+ declare function drop<T>(count: number): (source: Iterator<T>) => IteratorObject<T, undefined>;
19
+ //#endregion
20
+ export { drop };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/drop.d.ts
2
+ /**
3
+ * Creates a function that lazily skips the first `count` elements of an iterator
4
+ * and yields the rest, for use with {@link pipe}. It delegates to the native
5
+ * `Iterator.prototype.drop`.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param count - The number of elements to skip; must be a non-negative integer.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ * @throws {RangeError} Throws if `count` is negative or `NaN` (native behavior).
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { drop } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), drop(2)).toArray(); // => [3, 4, 5]
17
+ */
18
+ declare function drop<T>(count: number): (source: Iterator<T>) => IteratorObject<T, undefined>;
19
+ //#endregion
20
+ export { drop };
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/drop.ts
2
+ /**
3
+ * Creates a function that lazily skips the first `count` elements of an iterator
4
+ * and yields the rest, for use with {@link pipe}. It delegates to the native
5
+ * `Iterator.prototype.drop`.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param count - The number of elements to skip; must be a non-negative integer.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ * @throws {RangeError} Throws if `count` is negative or `NaN` (native behavior).
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { drop } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), drop(2)).toArray(); // => [3, 4, 5]
17
+ */
18
+ function drop(count) {
19
+ return function dropInIterator(source) {
20
+ return Iterator.from(source).drop(count);
21
+ };
22
+ }
23
+ //#endregion
24
+ exports.drop = drop;
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/drop.ts
2
+ /**
3
+ * Creates a function that lazily skips the first `count` elements of an iterator
4
+ * and yields the rest, for use with {@link pipe}. It delegates to the native
5
+ * `Iterator.prototype.drop`.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param count - The number of elements to skip; must be a non-negative integer.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ * @throws {RangeError} Throws if `count` is negative or `NaN` (native behavior).
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { drop } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4, 5].values(), drop(2)).toArray(); // => [3, 4, 5]
17
+ */
18
+ function drop(count) {
19
+ return function dropInIterator(source) {
20
+ return Iterator.from(source).drop(count);
21
+ };
22
+ }
23
+ //#endregion
24
+ export { drop };
@@ -0,0 +1,18 @@
1
+ //#region src/fp/iterator/dropWhile.d.ts
2
+ /**
3
+ * Creates a function that lazily skips elements of an iterator while `shouldDrop`
4
+ * returns truthy, then yields the rest, for use with {@link pipe}.
5
+ *
6
+ * @template T - The type of elements produced by the source iterator.
7
+ * @param shouldDrop - Called with `(value, index)`; elements are skipped while it returns truthy.
8
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
9
+ *
10
+ * @example
11
+ * import { pipe } from 'es-toolkit/fp';
12
+ * import { dropWhile, toArray } from 'es-toolkit/fp/iterator';
13
+ *
14
+ * pipe([1, 2, 3, 1].values(), dropWhile(x => x < 3), toArray()); // => [3, 1]
15
+ */
16
+ declare function dropWhile<T>(shouldDrop: (value: T, index: number) => boolean): (source: Iterator<T>) => IteratorObject<T, undefined>;
17
+ //#endregion
18
+ export { dropWhile };
@@ -0,0 +1,18 @@
1
+ //#region src/fp/iterator/dropWhile.d.ts
2
+ /**
3
+ * Creates a function that lazily skips elements of an iterator while `shouldDrop`
4
+ * returns truthy, then yields the rest, for use with {@link pipe}.
5
+ *
6
+ * @template T - The type of elements produced by the source iterator.
7
+ * @param shouldDrop - Called with `(value, index)`; elements are skipped while it returns truthy.
8
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
9
+ *
10
+ * @example
11
+ * import { pipe } from 'es-toolkit/fp';
12
+ * import { dropWhile, toArray } from 'es-toolkit/fp/iterator';
13
+ *
14
+ * pipe([1, 2, 3, 1].values(), dropWhile(x => x < 3), toArray()); // => [3, 1]
15
+ */
16
+ declare function dropWhile<T>(shouldDrop: (value: T, index: number) => boolean): (source: Iterator<T>) => IteratorObject<T, undefined>;
17
+ //#endregion
18
+ export { dropWhile };
@@ -0,0 +1,23 @@
1
+ const require_dropWhile = require("../../iterator/dropWhile.js");
2
+ //#region src/fp/iterator/dropWhile.ts
3
+ /**
4
+ * Creates a function that lazily skips elements of an iterator while `shouldDrop`
5
+ * returns truthy, then yields the rest, for use with {@link pipe}.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param shouldDrop - Called with `(value, index)`; elements are skipped while it returns truthy.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ *
11
+ * @example
12
+ * import { pipe } from 'es-toolkit/fp';
13
+ * import { dropWhile, toArray } from 'es-toolkit/fp/iterator';
14
+ *
15
+ * pipe([1, 2, 3, 1].values(), dropWhile(x => x < 3), toArray()); // => [3, 1]
16
+ */
17
+ function dropWhile(shouldDrop) {
18
+ return function dropWhileInIterator(source) {
19
+ return require_dropWhile.dropWhile(source, shouldDrop);
20
+ };
21
+ }
22
+ //#endregion
23
+ exports.dropWhile = dropWhile;
@@ -0,0 +1,23 @@
1
+ import { dropWhile as dropWhile$1 } from "../../iterator/dropWhile.mjs";
2
+ //#region src/fp/iterator/dropWhile.ts
3
+ /**
4
+ * Creates a function that lazily skips elements of an iterator while `shouldDrop`
5
+ * returns truthy, then yields the rest, for use with {@link pipe}.
6
+ *
7
+ * @template T - The type of elements produced by the source iterator.
8
+ * @param shouldDrop - Called with `(value, index)`; elements are skipped while it returns truthy.
9
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
10
+ *
11
+ * @example
12
+ * import { pipe } from 'es-toolkit/fp';
13
+ * import { dropWhile, toArray } from 'es-toolkit/fp/iterator';
14
+ *
15
+ * pipe([1, 2, 3, 1].values(), dropWhile(x => x < 3), toArray()); // => [3, 1]
16
+ */
17
+ function dropWhile(shouldDrop) {
18
+ return function dropWhileInIterator(source) {
19
+ return dropWhile$1(source, shouldDrop);
20
+ };
21
+ }
22
+ //#endregion
23
+ export { dropWhile };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/every.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns falsy
4
+ * and reports whether every element matched, for use as the terminal step of a
5
+ * {@link pipe}. It delegates to the native `Iterator.prototype.every` and stops
6
+ * pulling at the first non-match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; falsy short-circuits to `false`.
10
+ * @returns A function mapping an `Iterator<T>` to a boolean.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { every } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([2, 4, 6].values(), every(x => x % 2 === 0)); // => true
17
+ */
18
+ declare function every<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => boolean;
19
+ //#endregion
20
+ export { every };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/every.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns falsy
4
+ * and reports whether every element matched, for use as the terminal step of a
5
+ * {@link pipe}. It delegates to the native `Iterator.prototype.every` and stops
6
+ * pulling at the first non-match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; falsy short-circuits to `false`.
10
+ * @returns A function mapping an `Iterator<T>` to a boolean.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { every } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([2, 4, 6].values(), every(x => x % 2 === 0)); // => true
17
+ */
18
+ declare function every<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => boolean;
19
+ //#endregion
20
+ export { every };
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/every.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns falsy
4
+ * and reports whether every element matched, for use as the terminal step of a
5
+ * {@link pipe}. It delegates to the native `Iterator.prototype.every` and stops
6
+ * pulling at the first non-match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; falsy short-circuits to `false`.
10
+ * @returns A function mapping an `Iterator<T>` to a boolean.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { every } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([2, 4, 6].values(), every(x => x % 2 === 0)); // => true
17
+ */
18
+ function every(predicate) {
19
+ return function everyInIterator(source) {
20
+ return Iterator.from(source).every(predicate);
21
+ };
22
+ }
23
+ //#endregion
24
+ exports.every = every;
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/every.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns falsy
4
+ * and reports whether every element matched, for use as the terminal step of a
5
+ * {@link pipe}. It delegates to the native `Iterator.prototype.every` and stops
6
+ * pulling at the first non-match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; falsy short-circuits to `false`.
10
+ * @returns A function mapping an `Iterator<T>` to a boolean.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { every } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([2, 4, 6].values(), every(x => x % 2 === 0)); // => true
17
+ */
18
+ function every(predicate) {
19
+ return function everyInIterator(source) {
20
+ return Iterator.from(source).every(predicate);
21
+ };
22
+ }
23
+ //#endregion
24
+ export { every };
@@ -0,0 +1,37 @@
1
+ //#region src/fp/iterator/filter.d.ts
2
+ /**
3
+ * Creates a function that lazily keeps the elements of an iterator for which
4
+ * `predicate` returns truthy, narrowing the element type when `predicate` is a
5
+ * type guard. For use with {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.filter`.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @template S - The narrowed element type when `predicate` is a type guard.
10
+ * @param predicate - Called with `(value, index)`; truthy keeps the element.
11
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<S>`.
12
+ *
13
+ * @example
14
+ * import { pipe } from 'es-toolkit/fp';
15
+ * import { filter } from 'es-toolkit/fp/iterator';
16
+ *
17
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0)).toArray(); // => [2, 4]
18
+ */
19
+ declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (source: Iterator<T>) => IteratorObject<S, undefined>;
20
+ /**
21
+ * Creates a function that lazily keeps the elements of an iterator for which
22
+ * `predicate` returns truthy, for use with {@link pipe}. It delegates to the
23
+ * native `Iterator.prototype.filter`.
24
+ *
25
+ * @template T - The type of elements produced by the source iterator.
26
+ * @param predicate - Called with `(value, index)`; truthy keeps the element.
27
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
28
+ *
29
+ * @example
30
+ * import { pipe } from 'es-toolkit/fp';
31
+ * import { filter } from 'es-toolkit/fp/iterator';
32
+ *
33
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0)).toArray(); // => [2, 4]
34
+ */
35
+ declare function filter<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => IteratorObject<T, undefined>;
36
+ //#endregion
37
+ export { filter };
@@ -0,0 +1,37 @@
1
+ //#region src/fp/iterator/filter.d.ts
2
+ /**
3
+ * Creates a function that lazily keeps the elements of an iterator for which
4
+ * `predicate` returns truthy, narrowing the element type when `predicate` is a
5
+ * type guard. For use with {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.filter`.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @template S - The narrowed element type when `predicate` is a type guard.
10
+ * @param predicate - Called with `(value, index)`; truthy keeps the element.
11
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<S>`.
12
+ *
13
+ * @example
14
+ * import { pipe } from 'es-toolkit/fp';
15
+ * import { filter } from 'es-toolkit/fp/iterator';
16
+ *
17
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0)).toArray(); // => [2, 4]
18
+ */
19
+ declare function filter<T, S extends T>(predicate: (value: T, index: number) => value is S): (source: Iterator<T>) => IteratorObject<S, undefined>;
20
+ /**
21
+ * Creates a function that lazily keeps the elements of an iterator for which
22
+ * `predicate` returns truthy, for use with {@link pipe}. It delegates to the
23
+ * native `Iterator.prototype.filter`.
24
+ *
25
+ * @template T - The type of elements produced by the source iterator.
26
+ * @param predicate - Called with `(value, index)`; truthy keeps the element.
27
+ * @returns A function mapping an `Iterator<T>` to a lazy `IteratorObject<T>`.
28
+ *
29
+ * @example
30
+ * import { pipe } from 'es-toolkit/fp';
31
+ * import { filter } from 'es-toolkit/fp/iterator';
32
+ *
33
+ * pipe([1, 2, 3, 4].values(), filter(x => x % 2 === 0)).toArray(); // => [2, 4]
34
+ */
35
+ declare function filter<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => IteratorObject<T, undefined>;
36
+ //#endregion
37
+ export { filter };
@@ -0,0 +1,8 @@
1
+ //#region src/fp/iterator/filter.ts
2
+ function filter(predicate) {
3
+ return function filterInIterator(source) {
4
+ return Iterator.from(source).filter(predicate);
5
+ };
6
+ }
7
+ //#endregion
8
+ exports.filter = filter;
@@ -0,0 +1,8 @@
1
+ //#region src/fp/iterator/filter.ts
2
+ function filter(predicate) {
3
+ return function filterInIterator(source) {
4
+ return Iterator.from(source).filter(predicate);
5
+ };
6
+ }
7
+ //#endregion
8
+ export { filter };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/find.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns truthy
4
+ * and returns that element (or `undefined` if none match), for use as the
5
+ * terminal step of a {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.find` and stops pulling at the first match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; truthy selects the element.
10
+ * @returns A function mapping an `Iterator<T>` to the matching element or `undefined`.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { find } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), find(x => x > 2)); // => 3
17
+ */
18
+ declare function find<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => T | undefined;
19
+ //#endregion
20
+ export { find };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/iterator/find.d.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns truthy
4
+ * and returns that element (or `undefined` if none match), for use as the
5
+ * terminal step of a {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.find` and stops pulling at the first match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; truthy selects the element.
10
+ * @returns A function mapping an `Iterator<T>` to the matching element or `undefined`.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { find } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), find(x => x > 2)); // => 3
17
+ */
18
+ declare function find<T>(predicate: (value: T, index: number) => unknown): (source: Iterator<T>) => T | undefined;
19
+ //#endregion
20
+ export { find };
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/find.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns truthy
4
+ * and returns that element (or `undefined` if none match), for use as the
5
+ * terminal step of a {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.find` and stops pulling at the first match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; truthy selects the element.
10
+ * @returns A function mapping an `Iterator<T>` to the matching element or `undefined`.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { find } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), find(x => x > 2)); // => 3
17
+ */
18
+ function find(predicate) {
19
+ return function findInIterator(source) {
20
+ return Iterator.from(source).find(predicate);
21
+ };
22
+ }
23
+ //#endregion
24
+ exports.find = find;
@@ -0,0 +1,24 @@
1
+ //#region src/fp/iterator/find.ts
2
+ /**
3
+ * Creates a function that consumes an iterator until `predicate` returns truthy
4
+ * and returns that element (or `undefined` if none match), for use as the
5
+ * terminal step of a {@link pipe}. It delegates to the native
6
+ * `Iterator.prototype.find` and stops pulling at the first match.
7
+ *
8
+ * @template T - The type of elements produced by the source iterator.
9
+ * @param predicate - Called with `(value, index)`; truthy selects the element.
10
+ * @returns A function mapping an `Iterator<T>` to the matching element or `undefined`.
11
+ *
12
+ * @example
13
+ * import { pipe } from 'es-toolkit/fp';
14
+ * import { find } from 'es-toolkit/fp/iterator';
15
+ *
16
+ * pipe([1, 2, 3, 4].values(), find(x => x > 2)); // => 3
17
+ */
18
+ function find(predicate) {
19
+ return function findInIterator(source) {
20
+ return Iterator.from(source).find(predicate);
21
+ };
22
+ }
23
+ //#endregion
24
+ export { find };