es-toolkit 1.48.1 → 1.49.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 (403) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/array/chunkBy.d.mts +32 -0
  3. package/dist/array/chunkBy.d.ts +32 -0
  4. package/dist/array/chunkBy.js +42 -0
  5. package/dist/array/chunkBy.mjs +42 -0
  6. package/dist/array/index.d.mts +2 -1
  7. package/dist/array/index.d.ts +2 -1
  8. package/dist/array/index.js +2 -0
  9. package/dist/array/index.mjs +2 -1
  10. package/dist/array/take.d.mts +1 -7
  11. package/dist/array/take.d.ts +1 -7
  12. package/dist/array/take.js +1 -9
  13. package/dist/array/take.mjs +1 -9
  14. package/dist/array/takeRight.d.mts +2 -2
  15. package/dist/array/takeRight.d.ts +2 -2
  16. package/dist/array/takeRight.js +2 -4
  17. package/dist/array/takeRight.mjs +2 -4
  18. package/dist/array/windowed.d.mts +1 -1
  19. package/dist/array/windowed.d.ts +1 -1
  20. package/dist/browser.global.js +3 -3
  21. package/dist/compat/array/chunk.js +4 -2
  22. package/dist/compat/array/chunk.mjs +4 -2
  23. package/dist/compat/array/differenceBy.js +5 -5
  24. package/dist/compat/array/differenceBy.mjs +5 -5
  25. package/dist/compat/array/drop.d.mts +2 -3
  26. package/dist/compat/array/drop.d.ts +2 -3
  27. package/dist/compat/array/drop.js +4 -4
  28. package/dist/compat/array/drop.mjs +4 -4
  29. package/dist/compat/array/dropRight.js +1 -1
  30. package/dist/compat/array/dropRight.mjs +1 -1
  31. package/dist/compat/array/dropRightWhile.d.mts +1 -1
  32. package/dist/compat/array/dropRightWhile.d.ts +1 -1
  33. package/dist/compat/array/dropRightWhile.js +5 -4
  34. package/dist/compat/array/dropRightWhile.mjs +5 -4
  35. package/dist/compat/array/dropWhile.d.mts +2 -2
  36. package/dist/compat/array/dropWhile.d.ts +2 -2
  37. package/dist/compat/array/dropWhile.js +4 -4
  38. package/dist/compat/array/dropWhile.mjs +4 -4
  39. package/dist/compat/array/findLast.js +1 -1
  40. package/dist/compat/array/findLast.mjs +1 -1
  41. package/dist/compat/array/includes.js +1 -1
  42. package/dist/compat/array/includes.mjs +1 -1
  43. package/dist/compat/array/nth.js +1 -1
  44. package/dist/compat/array/nth.mjs +1 -1
  45. package/dist/compat/array/slice.js +1 -1
  46. package/dist/compat/array/slice.mjs +1 -1
  47. package/dist/compat/array/sortedIndexBy.js +1 -1
  48. package/dist/compat/array/sortedIndexBy.mjs +1 -1
  49. package/dist/compat/array/take.js +2 -2
  50. package/dist/compat/array/take.mjs +2 -2
  51. package/dist/compat/array/takeRight.js +1 -1
  52. package/dist/compat/array/takeRight.mjs +1 -1
  53. package/dist/compat/compat.js +4 -4
  54. package/dist/compat/compat.mjs +4 -4
  55. package/dist/compat/index.js +4 -4
  56. package/dist/compat/index.mjs +4 -4
  57. package/dist/compat/math/add.js +1 -1
  58. package/dist/compat/math/add.mjs +1 -1
  59. package/dist/compat/math/divide.js +1 -1
  60. package/dist/compat/math/divide.mjs +1 -1
  61. package/dist/compat/math/multiply.js +1 -1
  62. package/dist/compat/math/multiply.mjs +1 -1
  63. package/dist/compat/math/random.js +3 -1
  64. package/dist/compat/math/random.mjs +3 -1
  65. package/dist/compat/math/subtract.js +1 -1
  66. package/dist/compat/math/subtract.mjs +1 -1
  67. package/dist/compat/object/get.js +1 -1
  68. package/dist/compat/object/get.mjs +1 -1
  69. package/dist/compat/object/omitBy.js +1 -1
  70. package/dist/compat/object/omitBy.mjs +1 -1
  71. package/dist/compat/object/pick.js +1 -1
  72. package/dist/compat/object/pick.mjs +1 -1
  73. package/dist/compat/object/pickBy.js +1 -1
  74. package/dist/compat/object/pickBy.mjs +1 -1
  75. package/dist/compat/string/repeat.js +1 -1
  76. package/dist/compat/string/repeat.mjs +1 -1
  77. package/dist/fp/_internal/lazy.js +58 -0
  78. package/dist/fp/_internal/lazy.mjs +57 -0
  79. package/dist/fp/array/at.d.mts +20 -0
  80. package/dist/fp/array/at.d.ts +20 -0
  81. package/dist/fp/array/at.js +25 -0
  82. package/dist/fp/array/at.mjs +25 -0
  83. package/dist/fp/array/cartesianProduct.d.mts +61 -0
  84. package/dist/fp/array/cartesianProduct.d.ts +61 -0
  85. package/dist/fp/array/cartesianProduct.js +9 -0
  86. package/dist/fp/array/cartesianProduct.mjs +9 -0
  87. package/dist/fp/array/chunk.d.mts +19 -0
  88. package/dist/fp/array/chunk.d.ts +19 -0
  89. package/dist/fp/array/chunk.js +24 -0
  90. package/dist/fp/array/chunk.mjs +24 -0
  91. package/dist/fp/array/chunkBy.d.mts +20 -0
  92. package/dist/fp/array/chunkBy.d.ts +20 -0
  93. package/dist/fp/array/chunkBy.js +25 -0
  94. package/dist/fp/array/chunkBy.mjs +25 -0
  95. package/dist/fp/array/combinations.d.mts +21 -0
  96. package/dist/fp/array/combinations.d.ts +21 -0
  97. package/dist/fp/array/combinations.js +26 -0
  98. package/dist/fp/array/combinations.mjs +26 -0
  99. package/dist/fp/array/compact.d.mts +22 -0
  100. package/dist/fp/array/compact.d.ts +22 -0
  101. package/dist/fp/array/compact.js +31 -0
  102. package/dist/fp/array/compact.mjs +30 -0
  103. package/dist/fp/array/countBy.d.mts +21 -0
  104. package/dist/fp/array/countBy.d.ts +21 -0
  105. package/dist/fp/array/countBy.js +26 -0
  106. package/dist/fp/array/countBy.mjs +26 -0
  107. package/dist/fp/array/difference.d.mts +21 -0
  108. package/dist/fp/array/difference.d.ts +21 -0
  109. package/dist/fp/array/difference.js +32 -0
  110. package/dist/fp/array/difference.mjs +31 -0
  111. package/dist/fp/array/differenceBy.d.mts +22 -0
  112. package/dist/fp/array/differenceBy.d.ts +22 -0
  113. package/dist/fp/array/differenceBy.js +33 -0
  114. package/dist/fp/array/differenceBy.mjs +32 -0
  115. package/dist/fp/array/differenceWith.d.mts +22 -0
  116. package/dist/fp/array/differenceWith.d.ts +22 -0
  117. package/dist/fp/array/differenceWith.js +32 -0
  118. package/dist/fp/array/differenceWith.mjs +31 -0
  119. package/dist/fp/array/drop.d.mts +20 -0
  120. package/dist/fp/array/drop.d.ts +20 -0
  121. package/dist/fp/array/drop.js +31 -0
  122. package/dist/fp/array/drop.mjs +30 -0
  123. package/dist/fp/array/dropRight.d.mts +20 -0
  124. package/dist/fp/array/dropRight.d.ts +20 -0
  125. package/dist/fp/array/dropRight.js +25 -0
  126. package/dist/fp/array/dropRight.mjs +25 -0
  127. package/dist/fp/array/dropRightWhile.d.mts +20 -0
  128. package/dist/fp/array/dropRightWhile.d.ts +20 -0
  129. package/dist/fp/array/dropRightWhile.js +25 -0
  130. package/dist/fp/array/dropRightWhile.mjs +25 -0
  131. package/dist/fp/array/dropWhile.d.mts +20 -0
  132. package/dist/fp/array/dropWhile.d.ts +20 -0
  133. package/dist/fp/array/dropWhile.js +36 -0
  134. package/dist/fp/array/dropWhile.mjs +36 -0
  135. package/dist/fp/array/filter.d.mts +45 -0
  136. package/dist/fp/array/filter.d.ts +45 -0
  137. package/dist/fp/array/filter.js +13 -0
  138. package/dist/fp/array/filter.mjs +12 -0
  139. package/dist/fp/array/find.d.mts +39 -0
  140. package/dist/fp/array/find.d.ts +39 -0
  141. package/dist/fp/array/find.js +8 -0
  142. package/dist/fp/array/find.mjs +8 -0
  143. package/dist/fp/array/findIndex.d.mts +20 -0
  144. package/dist/fp/array/findIndex.d.ts +20 -0
  145. package/dist/fp/array/findIndex.js +24 -0
  146. package/dist/fp/array/findIndex.mjs +24 -0
  147. package/dist/fp/array/findLast.d.mts +39 -0
  148. package/dist/fp/array/findLast.d.ts +39 -0
  149. package/dist/fp/array/findLast.js +11 -0
  150. package/dist/fp/array/findLast.mjs +11 -0
  151. package/dist/fp/array/findLastIndex.d.mts +20 -0
  152. package/dist/fp/array/findLastIndex.d.ts +20 -0
  153. package/dist/fp/array/findLastIndex.js +25 -0
  154. package/dist/fp/array/findLastIndex.mjs +25 -0
  155. package/dist/fp/array/flatMap.d.mts +28 -0
  156. package/dist/fp/array/flatMap.d.ts +28 -0
  157. package/dist/fp/array/flatMap.js +39 -0
  158. package/dist/fp/array/flatMap.mjs +38 -0
  159. package/dist/fp/array/flatMapDeep.d.mts +23 -0
  160. package/dist/fp/array/flatMapDeep.d.ts +23 -0
  161. package/dist/fp/array/flatMapDeep.js +38 -0
  162. package/dist/fp/array/flatMapDeep.mjs +37 -0
  163. package/dist/fp/array/flatten.d.mts +21 -0
  164. package/dist/fp/array/flatten.d.ts +21 -0
  165. package/dist/fp/array/flatten.js +39 -0
  166. package/dist/fp/array/flatten.mjs +38 -0
  167. package/dist/fp/array/flattenDeep.d.mts +21 -0
  168. package/dist/fp/array/flattenDeep.d.ts +21 -0
  169. package/dist/fp/array/flattenDeep.js +36 -0
  170. package/dist/fp/array/flattenDeep.mjs +35 -0
  171. package/dist/fp/array/forEach.d.mts +22 -0
  172. package/dist/fp/array/forEach.d.ts +22 -0
  173. package/dist/fp/array/forEach.js +33 -0
  174. package/dist/fp/array/forEach.mjs +32 -0
  175. package/dist/fp/array/groupBy.d.mts +21 -0
  176. package/dist/fp/array/groupBy.d.ts +21 -0
  177. package/dist/fp/array/groupBy.js +26 -0
  178. package/dist/fp/array/groupBy.mjs +26 -0
  179. package/dist/fp/array/head.d.mts +35 -0
  180. package/dist/fp/array/head.d.ts +35 -0
  181. package/dist/fp/array/head.js +9 -0
  182. package/dist/fp/array/head.mjs +9 -0
  183. package/dist/fp/array/index.d.mts +69 -0
  184. package/dist/fp/array/index.d.ts +69 -0
  185. package/dist/fp/array/index.js +68 -0
  186. package/dist/fp/array/index.mjs +68 -0
  187. package/dist/fp/array/initial.d.mts +19 -0
  188. package/dist/fp/array/initial.d.ts +19 -0
  189. package/dist/fp/array/initial.js +24 -0
  190. package/dist/fp/array/initial.mjs +24 -0
  191. package/dist/fp/array/intersection.d.mts +21 -0
  192. package/dist/fp/array/intersection.d.ts +21 -0
  193. package/dist/fp/array/intersection.js +32 -0
  194. package/dist/fp/array/intersection.mjs +31 -0
  195. package/dist/fp/array/intersectionBy.d.mts +22 -0
  196. package/dist/fp/array/intersectionBy.d.ts +22 -0
  197. package/dist/fp/array/intersectionBy.js +33 -0
  198. package/dist/fp/array/intersectionBy.mjs +32 -0
  199. package/dist/fp/array/intersectionWith.d.mts +22 -0
  200. package/dist/fp/array/intersectionWith.d.ts +22 -0
  201. package/dist/fp/array/intersectionWith.js +32 -0
  202. package/dist/fp/array/intersectionWith.mjs +31 -0
  203. package/dist/fp/array/isSubset.d.mts +20 -0
  204. package/dist/fp/array/isSubset.d.ts +20 -0
  205. package/dist/fp/array/isSubset.js +25 -0
  206. package/dist/fp/array/isSubset.mjs +25 -0
  207. package/dist/fp/array/isSubsetWith.d.mts +21 -0
  208. package/dist/fp/array/isSubsetWith.d.ts +21 -0
  209. package/dist/fp/array/isSubsetWith.js +26 -0
  210. package/dist/fp/array/isSubsetWith.mjs +26 -0
  211. package/dist/fp/array/join.d.mts +20 -0
  212. package/dist/fp/array/join.d.ts +20 -0
  213. package/dist/fp/array/join.js +24 -0
  214. package/dist/fp/array/join.mjs +24 -0
  215. package/dist/fp/array/keyBy.d.mts +21 -0
  216. package/dist/fp/array/keyBy.d.ts +21 -0
  217. package/dist/fp/array/keyBy.js +26 -0
  218. package/dist/fp/array/keyBy.mjs +26 -0
  219. package/dist/fp/array/last.d.mts +35 -0
  220. package/dist/fp/array/last.d.ts +35 -0
  221. package/dist/fp/array/last.js +9 -0
  222. package/dist/fp/array/last.mjs +9 -0
  223. package/dist/fp/array/length.d.mts +18 -0
  224. package/dist/fp/array/length.d.ts +18 -0
  225. package/dist/fp/array/length.js +22 -0
  226. package/dist/fp/array/length.mjs +22 -0
  227. package/dist/fp/array/map.d.mts +27 -0
  228. package/dist/fp/array/map.d.ts +27 -0
  229. package/dist/fp/array/map.js +36 -0
  230. package/dist/fp/array/map.mjs +35 -0
  231. package/dist/fp/array/maxBy.d.mts +37 -0
  232. package/dist/fp/array/maxBy.d.ts +37 -0
  233. package/dist/fp/array/maxBy.js +9 -0
  234. package/dist/fp/array/maxBy.mjs +9 -0
  235. package/dist/fp/array/minBy.d.mts +37 -0
  236. package/dist/fp/array/minBy.d.ts +37 -0
  237. package/dist/fp/array/minBy.js +9 -0
  238. package/dist/fp/array/minBy.mjs +9 -0
  239. package/dist/fp/array/orderBy.d.mts +21 -0
  240. package/dist/fp/array/orderBy.d.ts +21 -0
  241. package/dist/fp/array/orderBy.js +26 -0
  242. package/dist/fp/array/orderBy.mjs +26 -0
  243. package/dist/fp/array/partition.d.mts +39 -0
  244. package/dist/fp/array/partition.d.ts +39 -0
  245. package/dist/fp/array/partition.js +9 -0
  246. package/dist/fp/array/partition.mjs +9 -0
  247. package/dist/fp/array/reverse.d.mts +19 -0
  248. package/dist/fp/array/reverse.d.ts +19 -0
  249. package/dist/fp/array/reverse.js +23 -0
  250. package/dist/fp/array/reverse.mjs +23 -0
  251. package/dist/fp/array/sample.d.mts +18 -0
  252. package/dist/fp/array/sample.d.ts +18 -0
  253. package/dist/fp/array/sample.js +23 -0
  254. package/dist/fp/array/sample.mjs +23 -0
  255. package/dist/fp/array/sampleSize.d.mts +20 -0
  256. package/dist/fp/array/sampleSize.d.ts +20 -0
  257. package/dist/fp/array/sampleSize.js +25 -0
  258. package/dist/fp/array/sampleSize.mjs +25 -0
  259. package/dist/fp/array/shuffle.d.mts +19 -0
  260. package/dist/fp/array/shuffle.d.ts +19 -0
  261. package/dist/fp/array/shuffle.js +24 -0
  262. package/dist/fp/array/shuffle.mjs +24 -0
  263. package/dist/fp/array/sortBy.d.mts +26 -0
  264. package/dist/fp/array/sortBy.d.ts +26 -0
  265. package/dist/fp/array/sortBy.js +31 -0
  266. package/dist/fp/array/sortBy.mjs +31 -0
  267. package/dist/fp/array/tail.d.mts +19 -0
  268. package/dist/fp/array/tail.d.ts +19 -0
  269. package/dist/fp/array/tail.js +24 -0
  270. package/dist/fp/array/tail.mjs +24 -0
  271. package/dist/fp/array/take.d.mts +26 -0
  272. package/dist/fp/array/take.d.ts +26 -0
  273. package/dist/fp/array/take.js +39 -0
  274. package/dist/fp/array/take.mjs +38 -0
  275. package/dist/fp/array/takeRight.d.mts +20 -0
  276. package/dist/fp/array/takeRight.d.ts +20 -0
  277. package/dist/fp/array/takeRight.js +25 -0
  278. package/dist/fp/array/takeRight.mjs +25 -0
  279. package/dist/fp/array/takeRightWhile.d.mts +20 -0
  280. package/dist/fp/array/takeRightWhile.d.ts +20 -0
  281. package/dist/fp/array/takeRightWhile.js +25 -0
  282. package/dist/fp/array/takeRightWhile.mjs +25 -0
  283. package/dist/fp/array/takeWhile.d.mts +21 -0
  284. package/dist/fp/array/takeWhile.d.ts +21 -0
  285. package/dist/fp/array/takeWhile.js +32 -0
  286. package/dist/fp/array/takeWhile.mjs +31 -0
  287. package/dist/fp/array/toFilled.d.mts +23 -0
  288. package/dist/fp/array/toFilled.d.ts +23 -0
  289. package/dist/fp/array/toFilled.js +30 -0
  290. package/dist/fp/array/toFilled.mjs +30 -0
  291. package/dist/fp/array/union.d.mts +20 -0
  292. package/dist/fp/array/union.d.ts +20 -0
  293. package/dist/fp/array/union.js +25 -0
  294. package/dist/fp/array/union.mjs +25 -0
  295. package/dist/fp/array/unionBy.d.mts +22 -0
  296. package/dist/fp/array/unionBy.d.ts +22 -0
  297. package/dist/fp/array/unionBy.js +27 -0
  298. package/dist/fp/array/unionBy.mjs +27 -0
  299. package/dist/fp/array/unionWith.d.mts +21 -0
  300. package/dist/fp/array/unionWith.d.ts +21 -0
  301. package/dist/fp/array/unionWith.js +26 -0
  302. package/dist/fp/array/unionWith.mjs +26 -0
  303. package/dist/fp/array/uniq.d.mts +21 -0
  304. package/dist/fp/array/uniq.d.ts +21 -0
  305. package/dist/fp/array/uniq.js +36 -0
  306. package/dist/fp/array/uniq.mjs +36 -0
  307. package/dist/fp/array/uniqBy.d.mts +21 -0
  308. package/dist/fp/array/uniqBy.d.ts +21 -0
  309. package/dist/fp/array/uniqBy.js +38 -0
  310. package/dist/fp/array/uniqBy.mjs +38 -0
  311. package/dist/fp/array/uniqWith.d.mts +20 -0
  312. package/dist/fp/array/uniqWith.d.ts +20 -0
  313. package/dist/fp/array/uniqWith.js +35 -0
  314. package/dist/fp/array/uniqWith.mjs +35 -0
  315. package/dist/fp/array/unzip.d.mts +20 -0
  316. package/dist/fp/array/unzip.d.ts +20 -0
  317. package/dist/fp/array/unzip.js +24 -0
  318. package/dist/fp/array/unzip.mjs +24 -0
  319. package/dist/fp/array/unzipWith.d.mts +21 -0
  320. package/dist/fp/array/unzipWith.d.ts +21 -0
  321. package/dist/fp/array/unzipWith.js +26 -0
  322. package/dist/fp/array/unzipWith.mjs +26 -0
  323. package/dist/fp/array/windowed.d.mts +25 -0
  324. package/dist/fp/array/windowed.d.ts +25 -0
  325. package/dist/fp/array/windowed.js +50 -0
  326. package/dist/fp/array/windowed.mjs +50 -0
  327. package/dist/fp/array/without.d.mts +19 -0
  328. package/dist/fp/array/without.d.ts +19 -0
  329. package/dist/fp/array/without.js +30 -0
  330. package/dist/fp/array/without.mjs +29 -0
  331. package/dist/fp/array/xor.d.mts +20 -0
  332. package/dist/fp/array/xor.d.ts +20 -0
  333. package/dist/fp/array/xor.js +25 -0
  334. package/dist/fp/array/xor.mjs +25 -0
  335. package/dist/fp/array/xorBy.d.mts +22 -0
  336. package/dist/fp/array/xorBy.d.ts +22 -0
  337. package/dist/fp/array/xorBy.js +27 -0
  338. package/dist/fp/array/xorBy.mjs +27 -0
  339. package/dist/fp/array/xorWith.d.mts +21 -0
  340. package/dist/fp/array/xorWith.d.ts +21 -0
  341. package/dist/fp/array/xorWith.js +26 -0
  342. package/dist/fp/array/xorWith.mjs +26 -0
  343. package/dist/fp/array/zip.d.mts +61 -0
  344. package/dist/fp/array/zip.d.ts +61 -0
  345. package/dist/fp/array/zip.js +9 -0
  346. package/dist/fp/array/zip.mjs +9 -0
  347. package/dist/fp/array/zipObject.d.mts +21 -0
  348. package/dist/fp/array/zipObject.d.ts +21 -0
  349. package/dist/fp/array/zipObject.js +26 -0
  350. package/dist/fp/array/zipObject.mjs +26 -0
  351. package/dist/fp/array/zipWith.d.mts +57 -0
  352. package/dist/fp/array/zipWith.d.ts +57 -0
  353. package/dist/fp/array/zipWith.js +9 -0
  354. package/dist/fp/array/zipWith.mjs +9 -0
  355. package/dist/fp/index.d.mts +75 -0
  356. package/dist/fp/index.d.ts +75 -0
  357. package/dist/fp/index.js +150 -0
  358. package/dist/fp/index.mjs +77 -0
  359. package/dist/fp/math/add.d.mts +17 -0
  360. package/dist/fp/math/add.d.ts +17 -0
  361. package/dist/fp/math/add.js +21 -0
  362. package/dist/fp/math/add.mjs +21 -0
  363. package/dist/fp/math/index.d.mts +2 -0
  364. package/dist/fp/math/index.d.ts +2 -0
  365. package/dist/fp/math/index.js +2 -0
  366. package/dist/fp/math/index.mjs +2 -0
  367. package/dist/fp/math/multiply.d.mts +17 -0
  368. package/dist/fp/math/multiply.d.ts +17 -0
  369. package/dist/fp/math/multiply.js +21 -0
  370. package/dist/fp/math/multiply.mjs +21 -0
  371. package/dist/fp/object/index.d.mts +2 -0
  372. package/dist/fp/object/index.d.ts +2 -0
  373. package/dist/fp/object/index.js +2 -0
  374. package/dist/fp/object/index.mjs +2 -0
  375. package/dist/fp/object/omit.d.mts +18 -0
  376. package/dist/fp/object/omit.d.ts +18 -0
  377. package/dist/fp/object/omit.js +23 -0
  378. package/dist/fp/object/omit.mjs +23 -0
  379. package/dist/fp/object/pick.d.mts +19 -0
  380. package/dist/fp/object/pick.d.ts +19 -0
  381. package/dist/fp/object/pick.js +24 -0
  382. package/dist/fp/object/pick.mjs +24 -0
  383. package/dist/fp/pipe.d.mts +235 -0
  384. package/dist/fp/pipe.d.ts +235 -0
  385. package/dist/fp/pipe.js +116 -0
  386. package/dist/fp/pipe.mjs +116 -0
  387. package/dist/index.d.mts +3 -1
  388. package/dist/index.d.ts +3 -1
  389. package/dist/index.js +4 -0
  390. package/dist/index.mjs +3 -1
  391. package/dist/predicate/index.d.mts +2 -1
  392. package/dist/predicate/index.d.ts +2 -1
  393. package/dist/predicate/index.js +2 -0
  394. package/dist/predicate/index.mjs +2 -1
  395. package/dist/predicate/isIterable.d.mts +26 -0
  396. package/dist/predicate/isIterable.d.ts +26 -0
  397. package/dist/predicate/isIterable.js +28 -0
  398. package/dist/predicate/isIterable.mjs +28 -0
  399. package/dist/string/trimStart.js +1 -0
  400. package/dist/string/trimStart.mjs +1 -0
  401. package/fp.d.ts +1 -0
  402. package/fp.js +1 -0
  403. package/package.json +22 -1
@@ -0,0 +1,19 @@
1
+ //#region src/fp/array/tail.d.ts
2
+ /**
3
+ * Creates a function that returns every element except the first one.
4
+ *
5
+ * Empty and single-element arrays return an empty array, matching the main {@link tail}
6
+ * behavior. Use the returned function with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the array.
9
+ * @returns A function that maps a readonly array to its tail elements.
10
+ *
11
+ * @example
12
+ * import { pipe, tail } from 'es-toolkit/fp';
13
+ *
14
+ * pipe([1, 2, 3], tail());
15
+ * // => [2, 3]
16
+ */
17
+ declare function tail<T>(): (array: readonly T[]) => T[];
18
+ //#endregion
19
+ export { tail };
@@ -0,0 +1,24 @@
1
+ const require_tail = require("../../array/tail.js");
2
+ //#region src/fp/array/tail.ts
3
+ /**
4
+ * Creates a function that returns every element except the first one.
5
+ *
6
+ * Empty and single-element arrays return an empty array, matching the main {@link tail}
7
+ * behavior. Use the returned function with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @returns A function that maps a readonly array to its tail elements.
11
+ *
12
+ * @example
13
+ * import { pipe, tail } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3], tail());
16
+ * // => [2, 3]
17
+ */
18
+ function tail() {
19
+ return function(array) {
20
+ return require_tail.tail(array);
21
+ };
22
+ }
23
+ //#endregion
24
+ exports.tail = tail;
@@ -0,0 +1,24 @@
1
+ import { tail as tail$1 } from "../../array/tail.mjs";
2
+ //#region src/fp/array/tail.ts
3
+ /**
4
+ * Creates a function that returns every element except the first one.
5
+ *
6
+ * Empty and single-element arrays return an empty array, matching the main {@link tail}
7
+ * behavior. Use the returned function with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @returns A function that maps a readonly array to its tail elements.
11
+ *
12
+ * @example
13
+ * import { pipe, tail } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3], tail());
16
+ * // => [2, 3]
17
+ */
18
+ function tail() {
19
+ return function(array) {
20
+ return tail$1(array);
21
+ };
22
+ }
23
+ //#endregion
24
+ export { tail };
@@ -0,0 +1,26 @@
1
+ //#region src/fp/array/take.d.ts
2
+ /**
3
+ * Creates a function that returns the first `count` elements of an array. If
4
+ * `count` is greater than the array length, the whole array is returned. Use it
5
+ * with {@link pipe}.
6
+ *
7
+ * The returned function is **lazy-capable** for a non-negative integer `count`:
8
+ * inside a {@link pipe} it stops the walk as soon as `count` elements have been
9
+ * collected, so preceding lazy functions never process the rest of the input.
10
+ *
11
+ * @template T - The type of elements in the array.
12
+ * @param count - The number of elements to take from the front of the array.
13
+ * @returns A function that maps a `readonly T[]` to a new `T[]`.
14
+ *
15
+ * @example
16
+ * import { pipe, take } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3, 4, 5], take(3)); // => [1, 2, 3]
19
+ *
20
+ * @example
21
+ * // Early termination: `map` only runs three times.
22
+ * pipe([1, 2, 3, 4, 5], map(expensive), take(3));
23
+ */
24
+ declare function take<T>(count: number): (array: readonly T[]) => T[];
25
+ //#endregion
26
+ export { take };
@@ -0,0 +1,26 @@
1
+ //#region src/fp/array/take.d.ts
2
+ /**
3
+ * Creates a function that returns the first `count` elements of an array. If
4
+ * `count` is greater than the array length, the whole array is returned. Use it
5
+ * with {@link pipe}.
6
+ *
7
+ * The returned function is **lazy-capable** for a non-negative integer `count`:
8
+ * inside a {@link pipe} it stops the walk as soon as `count` elements have been
9
+ * collected, so preceding lazy functions never process the rest of the input.
10
+ *
11
+ * @template T - The type of elements in the array.
12
+ * @param count - The number of elements to take from the front of the array.
13
+ * @returns A function that maps a `readonly T[]` to a new `T[]`.
14
+ *
15
+ * @example
16
+ * import { pipe, take } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3, 4, 5], take(3)); // => [1, 2, 3]
19
+ *
20
+ * @example
21
+ * // Early termination: `map` only runs three times.
22
+ * pipe([1, 2, 3, 4, 5], map(expensive), take(3));
23
+ */
24
+ declare function take<T>(count: number): (array: readonly T[]) => T[];
25
+ //#endregion
26
+ export { take };
@@ -0,0 +1,39 @@
1
+ const require_take = require("../../array/take.js");
2
+ const require_lazy = require("../_internal/lazy.js");
3
+ //#region src/fp/array/take.ts
4
+ /**
5
+ * Creates a function that returns the first `count` elements of an array. If
6
+ * `count` is greater than the array length, the whole array is returned. Use it
7
+ * with {@link pipe}.
8
+ *
9
+ * The returned function is **lazy-capable** for a non-negative integer `count`:
10
+ * inside a {@link pipe} it stops the walk as soon as `count` elements have been
11
+ * collected, so preceding lazy functions never process the rest of the input.
12
+ *
13
+ * @template T - The type of elements in the array.
14
+ * @param count - The number of elements to take from the front of the array.
15
+ * @returns A function that maps a `readonly T[]` to a new `T[]`.
16
+ *
17
+ * @example
18
+ * import { pipe, take } from 'es-toolkit/fp';
19
+ *
20
+ * pipe([1, 2, 3, 4, 5], take(3)); // => [1, 2, 3]
21
+ *
22
+ * @example
23
+ * // Early termination: `map` only runs three times.
24
+ * pipe([1, 2, 3, 4, 5], map(expensive), take(3));
25
+ */
26
+ function take(count) {
27
+ function takeEager(array) {
28
+ return require_take.take(array, count);
29
+ }
30
+ if (!Number.isInteger(count) || count < 0) return takeEager;
31
+ const takeLazy = require_lazy.createLazyFunction((value, index, emit) => {
32
+ if (index >= count) return false;
33
+ emit(value);
34
+ return index < count - 1;
35
+ });
36
+ return require_lazy.combineEagerAndLazyFunctions(takeEager, takeLazy, { shortCircuit: true });
37
+ }
38
+ //#endregion
39
+ exports.take = take;
@@ -0,0 +1,38 @@
1
+ import { take as take$1 } from "../../array/take.mjs";
2
+ import { combineEagerAndLazyFunctions, createLazyFunction } from "../_internal/lazy.mjs";
3
+ //#region src/fp/array/take.ts
4
+ /**
5
+ * Creates a function that returns the first `count` elements of an array. If
6
+ * `count` is greater than the array length, the whole array is returned. Use it
7
+ * with {@link pipe}.
8
+ *
9
+ * The returned function is **lazy-capable** for a non-negative integer `count`:
10
+ * inside a {@link pipe} it stops the walk as soon as `count` elements have been
11
+ * collected, so preceding lazy functions never process the rest of the input.
12
+ *
13
+ * @template T - The type of elements in the array.
14
+ * @param count - The number of elements to take from the front of the array.
15
+ * @returns A function that maps a `readonly T[]` to a new `T[]`.
16
+ *
17
+ * @example
18
+ * import { pipe, take } from 'es-toolkit/fp';
19
+ *
20
+ * pipe([1, 2, 3, 4, 5], take(3)); // => [1, 2, 3]
21
+ *
22
+ * @example
23
+ * // Early termination: `map` only runs three times.
24
+ * pipe([1, 2, 3, 4, 5], map(expensive), take(3));
25
+ */
26
+ function take(count) {
27
+ function takeEager(array) {
28
+ return take$1(array, count);
29
+ }
30
+ if (!Number.isInteger(count) || count < 0) return takeEager;
31
+ return combineEagerAndLazyFunctions(takeEager, createLazyFunction((value, index, emit) => {
32
+ if (index >= count) return false;
33
+ emit(value);
34
+ return index < count - 1;
35
+ }), { shortCircuit: true });
36
+ }
37
+ //#endregion
38
+ export { take };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/takeRight.d.ts
2
+ /**
3
+ * Creates a function that returns the last count values of an array.
4
+ *
5
+ * The returned function follows the main {@link takeRight} behavior and returns a new array.
6
+ * Use it with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the array.
9
+ * @param count - The number of values to take from the end.
10
+ * @returns A function that maps a readonly array to its suffix.
11
+ *
12
+ * @example
13
+ * import { pipe, takeRight } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3, 4], takeRight(2));
16
+ * // => [3, 4]
17
+ */
18
+ declare function takeRight<T>(count: number): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { takeRight };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/takeRight.d.ts
2
+ /**
3
+ * Creates a function that returns the last count values of an array.
4
+ *
5
+ * The returned function follows the main {@link takeRight} behavior and returns a new array.
6
+ * Use it with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the array.
9
+ * @param count - The number of values to take from the end.
10
+ * @returns A function that maps a readonly array to its suffix.
11
+ *
12
+ * @example
13
+ * import { pipe, takeRight } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3, 4], takeRight(2));
16
+ * // => [3, 4]
17
+ */
18
+ declare function takeRight<T>(count: number): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { takeRight };
@@ -0,0 +1,25 @@
1
+ const require_takeRight = require("../../array/takeRight.js");
2
+ //#region src/fp/array/takeRight.ts
3
+ /**
4
+ * Creates a function that returns the last count values of an array.
5
+ *
6
+ * The returned function follows the main {@link takeRight} behavior and returns a new array.
7
+ * Use it with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param count - The number of values to take from the end.
11
+ * @returns A function that maps a readonly array to its suffix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeRight } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 4], takeRight(2));
17
+ * // => [3, 4]
18
+ */
19
+ function takeRight(count) {
20
+ return function(array) {
21
+ return require_takeRight.takeRight(array, count);
22
+ };
23
+ }
24
+ //#endregion
25
+ exports.takeRight = takeRight;
@@ -0,0 +1,25 @@
1
+ import { takeRight as takeRight$1 } from "../../array/takeRight.mjs";
2
+ //#region src/fp/array/takeRight.ts
3
+ /**
4
+ * Creates a function that returns the last count values of an array.
5
+ *
6
+ * The returned function follows the main {@link takeRight} behavior and returns a new array.
7
+ * Use it with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param count - The number of values to take from the end.
11
+ * @returns A function that maps a readonly array to its suffix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeRight } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 4], takeRight(2));
17
+ * // => [3, 4]
18
+ */
19
+ function takeRight(count) {
20
+ return function(array) {
21
+ return takeRight$1(array, count);
22
+ };
23
+ }
24
+ //#endregion
25
+ export { takeRight };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/takeRightWhile.d.ts
2
+ /**
3
+ * Creates a function that takes trailing values while a predicate returns true.
4
+ *
5
+ * The predicate is evaluated from right to left and receives the value, index, and full
6
+ * input array. Use the returned function with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the array.
9
+ * @param predicate - Called with each value, index, and array while taking from the end.
10
+ * @returns A function that maps a readonly array to the matching suffix.
11
+ *
12
+ * @example
13
+ * import { pipe, takeRightWhile } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3, 4], takeRightWhile(value => value > 2));
16
+ * // => [3, 4]
17
+ */
18
+ declare function takeRightWhile<T>(predicate: (element: T, index: number, array: readonly T[]) => boolean): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { takeRightWhile };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/takeRightWhile.d.ts
2
+ /**
3
+ * Creates a function that takes trailing values while a predicate returns true.
4
+ *
5
+ * The predicate is evaluated from right to left and receives the value, index, and full
6
+ * input array. Use the returned function with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the array.
9
+ * @param predicate - Called with each value, index, and array while taking from the end.
10
+ * @returns A function that maps a readonly array to the matching suffix.
11
+ *
12
+ * @example
13
+ * import { pipe, takeRightWhile } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2, 3, 4], takeRightWhile(value => value > 2));
16
+ * // => [3, 4]
17
+ */
18
+ declare function takeRightWhile<T>(predicate: (element: T, index: number, array: readonly T[]) => boolean): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { takeRightWhile };
@@ -0,0 +1,25 @@
1
+ const require_takeRightWhile = require("../../array/takeRightWhile.js");
2
+ //#region src/fp/array/takeRightWhile.ts
3
+ /**
4
+ * Creates a function that takes trailing values while a predicate returns true.
5
+ *
6
+ * The predicate is evaluated from right to left and receives the value, index, and full
7
+ * input array. Use the returned function with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param predicate - Called with each value, index, and array while taking from the end.
11
+ * @returns A function that maps a readonly array to the matching suffix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeRightWhile } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 4], takeRightWhile(value => value > 2));
17
+ * // => [3, 4]
18
+ */
19
+ function takeRightWhile(predicate) {
20
+ return function(array) {
21
+ return require_takeRightWhile.takeRightWhile(array, predicate);
22
+ };
23
+ }
24
+ //#endregion
25
+ exports.takeRightWhile = takeRightWhile;
@@ -0,0 +1,25 @@
1
+ import { takeRightWhile as takeRightWhile$1 } from "../../array/takeRightWhile.mjs";
2
+ //#region src/fp/array/takeRightWhile.ts
3
+ /**
4
+ * Creates a function that takes trailing values while a predicate returns true.
5
+ *
6
+ * The predicate is evaluated from right to left and receives the value, index, and full
7
+ * input array. Use the returned function with {@link pipe}.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param predicate - Called with each value, index, and array while taking from the end.
11
+ * @returns A function that maps a readonly array to the matching suffix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeRightWhile } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 4], takeRightWhile(value => value > 2));
17
+ * // => [3, 4]
18
+ */
19
+ function takeRightWhile(predicate) {
20
+ return function(array) {
21
+ return takeRightWhile$1(array, predicate);
22
+ };
23
+ }
24
+ //#endregion
25
+ export { takeRightWhile };
@@ -0,0 +1,21 @@
1
+ //#region src/fp/array/takeWhile.d.ts
2
+ /**
3
+ * Creates a function that takes leading values while a predicate returns true.
4
+ *
5
+ * The returned function is lazy-capable and short-circuiting inside
6
+ * {@link pipe}; once the predicate returns false, upstream lazy operators stop
7
+ * processing further input.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param predicate - Called with each value and index until it returns false.
11
+ * @returns A function that maps the piped array to the matching prefix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeWhile } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 1], takeWhile(value => value < 3));
17
+ * // => [1, 2]
18
+ */
19
+ declare function takeWhile<T>(predicate: (element: T, index: number) => boolean): (array: readonly T[]) => T[];
20
+ //#endregion
21
+ export { takeWhile };
@@ -0,0 +1,21 @@
1
+ //#region src/fp/array/takeWhile.d.ts
2
+ /**
3
+ * Creates a function that takes leading values while a predicate returns true.
4
+ *
5
+ * The returned function is lazy-capable and short-circuiting inside
6
+ * {@link pipe}; once the predicate returns false, upstream lazy operators stop
7
+ * processing further input.
8
+ *
9
+ * @template T - The type of elements in the array.
10
+ * @param predicate - Called with each value and index until it returns false.
11
+ * @returns A function that maps the piped array to the matching prefix.
12
+ *
13
+ * @example
14
+ * import { pipe, takeWhile } from 'es-toolkit/fp';
15
+ *
16
+ * pipe([1, 2, 3, 1], takeWhile(value => value < 3));
17
+ * // => [1, 2]
18
+ */
19
+ declare function takeWhile<T>(predicate: (element: T, index: number) => boolean): (array: readonly T[]) => T[];
20
+ //#endregion
21
+ export { takeWhile };
@@ -0,0 +1,32 @@
1
+ const require_takeWhile = require("../../array/takeWhile.js");
2
+ const require_lazy = require("../_internal/lazy.js");
3
+ //#region src/fp/array/takeWhile.ts
4
+ /**
5
+ * Creates a function that takes leading values while a predicate returns true.
6
+ *
7
+ * The returned function is lazy-capable and short-circuiting inside
8
+ * {@link pipe}; once the predicate returns false, upstream lazy operators stop
9
+ * processing further input.
10
+ *
11
+ * @template T - The type of elements in the array.
12
+ * @param predicate - Called with each value and index until it returns false.
13
+ * @returns A function that maps the piped array to the matching prefix.
14
+ *
15
+ * @example
16
+ * import { pipe, takeWhile } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3, 1], takeWhile(value => value < 3));
19
+ * // => [1, 2]
20
+ */
21
+ function takeWhile(predicate) {
22
+ function takeWhileEager(array) {
23
+ return require_takeWhile.takeWhile(array, (element, index) => predicate(element, index));
24
+ }
25
+ const takeWhileLazy = require_lazy.createLazyFunction((value, index, emit) => {
26
+ if (!predicate(value, index)) return false;
27
+ emit(value);
28
+ });
29
+ return require_lazy.combineEagerAndLazyFunctions(takeWhileEager, takeWhileLazy, { shortCircuit: true });
30
+ }
31
+ //#endregion
32
+ exports.takeWhile = takeWhile;
@@ -0,0 +1,31 @@
1
+ import { takeWhile as takeWhile$1 } from "../../array/takeWhile.mjs";
2
+ import { combineEagerAndLazyFunctions, createLazyFunction } from "../_internal/lazy.mjs";
3
+ //#region src/fp/array/takeWhile.ts
4
+ /**
5
+ * Creates a function that takes leading values while a predicate returns true.
6
+ *
7
+ * The returned function is lazy-capable and short-circuiting inside
8
+ * {@link pipe}; once the predicate returns false, upstream lazy operators stop
9
+ * processing further input.
10
+ *
11
+ * @template T - The type of elements in the array.
12
+ * @param predicate - Called with each value and index until it returns false.
13
+ * @returns A function that maps the piped array to the matching prefix.
14
+ *
15
+ * @example
16
+ * import { pipe, takeWhile } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3, 1], takeWhile(value => value < 3));
19
+ * // => [1, 2]
20
+ */
21
+ function takeWhile(predicate) {
22
+ function takeWhileEager(array) {
23
+ return takeWhile$1(array, (element, index) => predicate(element, index));
24
+ }
25
+ return combineEagerAndLazyFunctions(takeWhileEager, createLazyFunction((value, index, emit) => {
26
+ if (!predicate(value, index)) return false;
27
+ emit(value);
28
+ }), { shortCircuit: true });
29
+ }
30
+ //#endregion
31
+ export { takeWhile };
@@ -0,0 +1,23 @@
1
+ //#region src/fp/array/toFilled.d.ts
2
+ /**
3
+ * Creates a function that returns a filled copy of an array.
4
+ *
5
+ * The returned function follows Array.prototype.fill indexing semantics through the main
6
+ * {@link toFilled} implementation and does not mutate the input array.
7
+ *
8
+ * @template T - The type of elements in the input array.
9
+ * @template U - The type of the fill value.
10
+ * @param value - The value to write into the returned array.
11
+ * @param start - The start index. Defaults to 0.
12
+ * @param end - The end index. Defaults to the array length.
13
+ * @returns A function that maps a readonly array to a filled copy.
14
+ *
15
+ * @example
16
+ * import { pipe, toFilled } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3], toFilled(0, 1));
19
+ * // => [1, 0, 0]
20
+ */
21
+ declare function toFilled<T, U>(value: U, start?: number, end?: number): (array: readonly T[]) => Array<T | U>;
22
+ //#endregion
23
+ export { toFilled };
@@ -0,0 +1,23 @@
1
+ //#region src/fp/array/toFilled.d.ts
2
+ /**
3
+ * Creates a function that returns a filled copy of an array.
4
+ *
5
+ * The returned function follows Array.prototype.fill indexing semantics through the main
6
+ * {@link toFilled} implementation and does not mutate the input array.
7
+ *
8
+ * @template T - The type of elements in the input array.
9
+ * @template U - The type of the fill value.
10
+ * @param value - The value to write into the returned array.
11
+ * @param start - The start index. Defaults to 0.
12
+ * @param end - The end index. Defaults to the array length.
13
+ * @returns A function that maps a readonly array to a filled copy.
14
+ *
15
+ * @example
16
+ * import { pipe, toFilled } from 'es-toolkit/fp';
17
+ *
18
+ * pipe([1, 2, 3], toFilled(0, 1));
19
+ * // => [1, 0, 0]
20
+ */
21
+ declare function toFilled<T, U>(value: U, start?: number, end?: number): (array: readonly T[]) => Array<T | U>;
22
+ //#endregion
23
+ export { toFilled };
@@ -0,0 +1,30 @@
1
+ const require_toFilled = require("../../array/toFilled.js");
2
+ //#region src/fp/array/toFilled.ts
3
+ /**
4
+ * Creates a function that returns a filled copy of an array.
5
+ *
6
+ * The returned function follows Array.prototype.fill indexing semantics through the main
7
+ * {@link toFilled} implementation and does not mutate the input array.
8
+ *
9
+ * @template T - The type of elements in the input array.
10
+ * @template U - The type of the fill value.
11
+ * @param value - The value to write into the returned array.
12
+ * @param start - The start index. Defaults to 0.
13
+ * @param end - The end index. Defaults to the array length.
14
+ * @returns A function that maps a readonly array to a filled copy.
15
+ *
16
+ * @example
17
+ * import { pipe, toFilled } from 'es-toolkit/fp';
18
+ *
19
+ * pipe([1, 2, 3], toFilled(0, 1));
20
+ * // => [1, 0, 0]
21
+ */
22
+ function toFilled(value, start, end) {
23
+ return function(array) {
24
+ if (start == null) return require_toFilled.toFilled(array, value);
25
+ if (end == null) return require_toFilled.toFilled(array, value, start);
26
+ return require_toFilled.toFilled(array, value, start, end);
27
+ };
28
+ }
29
+ //#endregion
30
+ exports.toFilled = toFilled;
@@ -0,0 +1,30 @@
1
+ import { toFilled as toFilled$1 } from "../../array/toFilled.mjs";
2
+ //#region src/fp/array/toFilled.ts
3
+ /**
4
+ * Creates a function that returns a filled copy of an array.
5
+ *
6
+ * The returned function follows Array.prototype.fill indexing semantics through the main
7
+ * {@link toFilled} implementation and does not mutate the input array.
8
+ *
9
+ * @template T - The type of elements in the input array.
10
+ * @template U - The type of the fill value.
11
+ * @param value - The value to write into the returned array.
12
+ * @param start - The start index. Defaults to 0.
13
+ * @param end - The end index. Defaults to the array length.
14
+ * @returns A function that maps a readonly array to a filled copy.
15
+ *
16
+ * @example
17
+ * import { pipe, toFilled } from 'es-toolkit/fp';
18
+ *
19
+ * pipe([1, 2, 3], toFilled(0, 1));
20
+ * // => [1, 0, 0]
21
+ */
22
+ function toFilled(value, start, end) {
23
+ return function(array) {
24
+ if (start == null) return toFilled$1(array, value);
25
+ if (end == null) return toFilled$1(array, value, start);
26
+ return toFilled$1(array, value, start, end);
27
+ };
28
+ }
29
+ //#endregion
30
+ export { toFilled };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/union.d.ts
2
+ /**
3
+ * Creates a function that returns unique values from the piped array and secondArray.
4
+ *
5
+ * Values keep their first occurrence order, matching the main {@link union} behavior.
6
+ * Use the returned function with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the arrays.
9
+ * @param secondArray - Values to include after the piped array.
10
+ * @returns A function that maps a readonly array to its union with secondArray.
11
+ *
12
+ * @example
13
+ * import { pipe, union } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2], union([2, 3]));
16
+ * // => [1, 2, 3]
17
+ */
18
+ declare function union<T>(secondArray: readonly T[]): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { union };
@@ -0,0 +1,20 @@
1
+ //#region src/fp/array/union.d.ts
2
+ /**
3
+ * Creates a function that returns unique values from the piped array and secondArray.
4
+ *
5
+ * Values keep their first occurrence order, matching the main {@link union} behavior.
6
+ * Use the returned function with {@link pipe}.
7
+ *
8
+ * @template T - The type of elements in the arrays.
9
+ * @param secondArray - Values to include after the piped array.
10
+ * @returns A function that maps a readonly array to its union with secondArray.
11
+ *
12
+ * @example
13
+ * import { pipe, union } from 'es-toolkit/fp';
14
+ *
15
+ * pipe([1, 2], union([2, 3]));
16
+ * // => [1, 2, 3]
17
+ */
18
+ declare function union<T>(secondArray: readonly T[]): (array: readonly T[]) => T[];
19
+ //#endregion
20
+ export { union };