@vinicunca/perkakas 0.2.1 → 0.3.1

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 (605) hide show
  1. package/README.md +9 -0
  2. package/dist/commonjs/aria/index.js +17 -0
  3. package/dist/commonjs/aria/key-codes.js +25 -0
  4. package/dist/commonjs/array/all-pass.js +11 -0
  5. package/dist/commonjs/array/any-pass.js +11 -0
  6. package/dist/commonjs/array/chunk.js +17 -0
  7. package/dist/commonjs/array/compact.js +8 -0
  8. package/dist/commonjs/array/concat.js +11 -0
  9. package/dist/commonjs/array/count-by.js +22 -0
  10. package/dist/commonjs/array/difference-with.js +31 -0
  11. package/dist/commonjs/array/difference.js +32 -0
  12. package/dist/commonjs/array/drop-first-by.js +26 -0
  13. package/dist/commonjs/array/drop-last-while.js +16 -0
  14. package/dist/commonjs/array/drop-last.js +15 -0
  15. package/dist/commonjs/array/drop-while.js +16 -0
  16. package/dist/commonjs/array/drop.js +32 -0
  17. package/dist/commonjs/array/filter.js +41 -0
  18. package/dist/commonjs/array/find-index.js +46 -0
  19. package/dist/commonjs/array/find-last-index.js +24 -0
  20. package/dist/commonjs/array/find-last.js +24 -0
  21. package/dist/commonjs/array/find.js +38 -0
  22. package/dist/commonjs/array/first-by.js +22 -0
  23. package/dist/commonjs/array/first.js +26 -0
  24. package/dist/commonjs/array/flat-map-to-obj.js +25 -0
  25. package/dist/commonjs/array/flat-map.js +33 -0
  26. package/dist/commonjs/array/flatten-deep.js +48 -0
  27. package/dist/commonjs/array/flatten.js +32 -0
  28. package/dist/commonjs/array/for-each.js +40 -0
  29. package/dist/commonjs/array/group-by.js +33 -0
  30. package/dist/commonjs/array/has-at-least.js +11 -0
  31. package/dist/commonjs/array/index-by.js +24 -0
  32. package/dist/commonjs/array/index.js +81 -0
  33. package/dist/commonjs/array/intersection-with.js +31 -0
  34. package/dist/commonjs/array/intersection.js +32 -0
  35. package/dist/commonjs/array/join.js +11 -0
  36. package/dist/commonjs/array/last.js +11 -0
  37. package/dist/commonjs/array/length.js +11 -0
  38. package/dist/commonjs/array/map-to-obj.js +23 -0
  39. package/dist/commonjs/array/map.js +35 -0
  40. package/dist/commonjs/array/max-by.js +28 -0
  41. package/dist/commonjs/array/mean-by.js +26 -0
  42. package/dist/commonjs/array/merge-all.js +7 -0
  43. package/dist/commonjs/array/min-by.js +28 -0
  44. package/dist/commonjs/array/nth-by.js +12 -0
  45. package/dist/commonjs/array/only.js +14 -0
  46. package/dist/commonjs/array/partition.js +24 -0
  47. package/dist/commonjs/array/range.js +15 -0
  48. package/dist/commonjs/array/rank-by.js +17 -0
  49. package/dist/commonjs/array/reduce.js +19 -0
  50. package/dist/commonjs/array/reject.js +41 -0
  51. package/dist/commonjs/array/reverse.js +11 -0
  52. package/dist/commonjs/array/sample.js +34 -0
  53. package/dist/commonjs/array/shuffle.js +18 -0
  54. package/dist/commonjs/array/sort-by.js +52 -0
  55. package/dist/commonjs/array/sort.js +16 -0
  56. package/dist/commonjs/array/splice.js +13 -0
  57. package/dist/commonjs/array/split-at.js +13 -0
  58. package/dist/commonjs/array/split-when.js +17 -0
  59. package/dist/commonjs/array/sum-by.js +24 -0
  60. package/dist/commonjs/array/swap-indices.js +34 -0
  61. package/dist/commonjs/array/take-first-by.js +24 -0
  62. package/dist/commonjs/array/take-while.js +18 -0
  63. package/dist/commonjs/array/take.js +38 -0
  64. package/dist/commonjs/array/uniq-by.js +30 -0
  65. package/dist/commonjs/array/uniq-with.js +33 -0
  66. package/dist/commonjs/array/uniq.js +32 -0
  67. package/dist/commonjs/array/zip-obj.js +16 -0
  68. package/dist/commonjs/array/zip-with.js +23 -0
  69. package/dist/commonjs/array/zip.js +19 -0
  70. package/dist/commonjs/function/conditional.js +34 -0
  71. package/dist/commonjs/function/create-pipe.js +8 -0
  72. package/dist/commonjs/function/debounce.js +88 -0
  73. package/dist/commonjs/function/identity.js +7 -0
  74. package/dist/commonjs/function/index.js +25 -0
  75. package/dist/commonjs/function/noop.js +7 -0
  76. package/dist/commonjs/function/once.js +15 -0
  77. package/dist/commonjs/function/pipe.js +106 -0
  78. package/dist/commonjs/function/purry.js +20 -0
  79. package/dist/commonjs/function/sleep.js +9 -0
  80. package/dist/commonjs/guard/index.js +32 -0
  81. package/dist/commonjs/guard/is-array.js +7 -0
  82. package/dist/commonjs/guard/is-boolean.js +7 -0
  83. package/dist/commonjs/guard/is-date.js +7 -0
  84. package/dist/commonjs/guard/is-defined.js +13 -0
  85. package/dist/commonjs/guard/is-empty.js +19 -0
  86. package/dist/commonjs/guard/is-error.js +7 -0
  87. package/dist/commonjs/guard/is-function.js +7 -0
  88. package/dist/commonjs/guard/is-nil.js +7 -0
  89. package/dist/commonjs/guard/is-non-null.js +7 -0
  90. package/dist/commonjs/guard/is-not.js +9 -0
  91. package/dist/commonjs/guard/is-number.js +7 -0
  92. package/dist/commonjs/guard/is-object.js +11 -0
  93. package/dist/commonjs/guard/is-promise.js +7 -0
  94. package/dist/commonjs/guard/is-string.js +7 -0
  95. package/dist/commonjs/guard/is-symbol.js +7 -0
  96. package/dist/commonjs/guard/is-truthy.js +7 -0
  97. package/dist/commonjs/index.js +26 -0
  98. package/dist/commonjs/number/add.js +11 -0
  99. package/dist/commonjs/number/ceil.js +9 -0
  100. package/dist/commonjs/number/clamp.js +17 -0
  101. package/dist/commonjs/number/divide.js +11 -0
  102. package/dist/commonjs/number/floor.js +9 -0
  103. package/dist/commonjs/number/index.js +24 -0
  104. package/dist/commonjs/number/multiply.js +11 -0
  105. package/dist/commonjs/number/round.js +9 -0
  106. package/dist/commonjs/number/subtract.js +11 -0
  107. package/dist/commonjs/object/add-prop.js +14 -0
  108. package/dist/commonjs/object/clone.js +49 -0
  109. package/dist/commonjs/object/equals.js +71 -0
  110. package/dist/commonjs/object/for-each-obj.js +30 -0
  111. package/dist/commonjs/object/from-pairs.js +14 -0
  112. package/dist/commonjs/object/index.js +39 -0
  113. package/dist/commonjs/object/invert.js +15 -0
  114. package/dist/commonjs/object/keys.js +10 -0
  115. package/dist/commonjs/object/map-keys.js +16 -0
  116. package/dist/commonjs/object/map-values.js +16 -0
  117. package/dist/commonjs/object/merge-deep.js +31 -0
  118. package/dist/commonjs/object/merge.js +11 -0
  119. package/dist/commonjs/object/omit-by.js +20 -0
  120. package/dist/commonjs/object/omit.js +25 -0
  121. package/dist/commonjs/object/path-or.js +18 -0
  122. package/dist/commonjs/object/pick-by.js +20 -0
  123. package/dist/commonjs/object/pick.js +19 -0
  124. package/dist/commonjs/object/prop.js +7 -0
  125. package/dist/commonjs/object/set-path.js +26 -0
  126. package/dist/commonjs/object/set.js +14 -0
  127. package/dist/commonjs/object/swap-props.js +16 -0
  128. package/dist/commonjs/object/to-pairs.js +11 -0
  129. package/dist/commonjs/object/values.js +7 -0
  130. package/dist/commonjs/string/cases-types.js +2 -0
  131. package/dist/commonjs/string/cases.js +107 -0
  132. package/dist/commonjs/string/human-readable-file-size.js +16 -0
  133. package/dist/commonjs/string/index.js +21 -0
  134. package/dist/commonjs/string/random-string.js +10 -0
  135. package/dist/commonjs/string/slugify.js +13 -0
  136. package/dist/commonjs/string/string-to-path.js +18 -0
  137. package/dist/commonjs/type/index.js +17 -0
  138. package/dist/commonjs/type/type.js +13 -0
  139. package/dist/commonjs/utils/heap.js +43 -0
  140. package/dist/commonjs/utils/narrow.js +2 -0
  141. package/dist/commonjs/utils/paths.js +2 -0
  142. package/dist/commonjs/utils/purry-on.js +10 -0
  143. package/dist/commonjs/utils/purry-order-rules.js +66 -0
  144. package/dist/commonjs/utils/quick-select.js +31 -0
  145. package/dist/commonjs/utils/reduce-lazy.js +18 -0
  146. package/dist/commonjs/utils/swap-in-place.js +7 -0
  147. package/dist/commonjs/utils/to-lazy-indexed.js +7 -0
  148. package/dist/commonjs/utils/to-single.js +8 -0
  149. package/dist/commonjs/utils/types.js +2 -0
  150. package/dist/commonjs/utils/with-precision.js +23 -0
  151. package/dist/es/aria/index.js +1 -0
  152. package/dist/es/aria/key-codes.js +22 -0
  153. package/dist/es/array/all-pass.js +7 -0
  154. package/dist/es/array/any-pass.js +7 -0
  155. package/dist/es/array/chunk.js +13 -0
  156. package/dist/es/array/compact.js +4 -0
  157. package/dist/es/array/concat.js +7 -0
  158. package/dist/es/array/count-by.js +18 -0
  159. package/dist/es/array/difference-with.js +27 -0
  160. package/dist/es/array/difference.js +28 -0
  161. package/dist/es/array/drop-first-by.js +22 -0
  162. package/dist/es/array/drop-last-while.js +12 -0
  163. package/dist/es/array/drop-last.js +11 -0
  164. package/dist/es/array/drop-while.js +12 -0
  165. package/dist/es/array/drop.js +28 -0
  166. package/dist/es/array/filter.js +37 -0
  167. package/dist/es/array/find-index.js +42 -0
  168. package/dist/es/array/find-last-index.js +20 -0
  169. package/dist/es/array/find-last.js +20 -0
  170. package/dist/es/array/find.js +34 -0
  171. package/dist/es/array/first-by.js +18 -0
  172. package/dist/es/array/first.js +22 -0
  173. package/dist/es/array/flat-map-to-obj.js +21 -0
  174. package/dist/es/array/flat-map.js +29 -0
  175. package/dist/es/array/flatten-deep.js +44 -0
  176. package/dist/es/array/flatten.js +28 -0
  177. package/dist/es/array/for-each.js +36 -0
  178. package/dist/es/array/group-by.js +29 -0
  179. package/dist/es/array/has-at-least.js +7 -0
  180. package/dist/es/array/index-by.js +20 -0
  181. package/dist/es/array/index.js +65 -0
  182. package/dist/es/array/intersection-with.js +27 -0
  183. package/dist/es/array/intersection.js +28 -0
  184. package/dist/es/array/join.js +7 -0
  185. package/dist/es/array/last.js +7 -0
  186. package/dist/es/array/length.js +7 -0
  187. package/dist/es/array/map-to-obj.js +19 -0
  188. package/dist/es/array/map.js +31 -0
  189. package/dist/es/array/max-by.js +24 -0
  190. package/dist/es/array/mean-by.js +22 -0
  191. package/dist/es/array/merge-all.js +3 -0
  192. package/dist/es/array/min-by.js +24 -0
  193. package/dist/es/array/nth-by.js +8 -0
  194. package/dist/es/array/only.js +10 -0
  195. package/dist/es/array/partition.js +20 -0
  196. package/dist/es/array/range.js +11 -0
  197. package/dist/es/array/rank-by.js +13 -0
  198. package/dist/es/array/reduce.js +15 -0
  199. package/dist/es/array/reject.js +37 -0
  200. package/dist/es/array/reverse.js +7 -0
  201. package/dist/es/array/sample.js +30 -0
  202. package/dist/es/array/shuffle.js +14 -0
  203. package/dist/es/array/sort-by.js +48 -0
  204. package/dist/es/array/sort.js +12 -0
  205. package/dist/es/array/splice.js +9 -0
  206. package/dist/es/array/split-at.js +9 -0
  207. package/dist/es/array/split-when.js +13 -0
  208. package/dist/es/array/sum-by.js +20 -0
  209. package/dist/es/array/swap-indices.js +30 -0
  210. package/dist/es/array/take-first-by.js +20 -0
  211. package/dist/es/array/take-while.js +14 -0
  212. package/dist/es/array/take.js +34 -0
  213. package/dist/es/array/uniq-by.js +26 -0
  214. package/dist/es/array/uniq-with.js +29 -0
  215. package/dist/es/array/uniq.js +28 -0
  216. package/dist/es/array/zip-obj.js +12 -0
  217. package/dist/es/array/zip-with.js +19 -0
  218. package/dist/es/array/zip.js +15 -0
  219. package/dist/es/function/conditional.js +30 -0
  220. package/dist/es/function/create-pipe.js +4 -0
  221. package/dist/es/function/debounce.js +84 -0
  222. package/dist/es/function/identity.js +3 -0
  223. package/dist/es/function/index.js +9 -0
  224. package/dist/es/function/noop.js +3 -0
  225. package/dist/es/function/once.js +11 -0
  226. package/dist/es/function/pipe.js +102 -0
  227. package/dist/es/function/purry.js +16 -0
  228. package/dist/es/function/sleep.js +5 -0
  229. package/dist/es/guard/index.js +16 -0
  230. package/dist/es/guard/is-array.js +3 -0
  231. package/dist/es/guard/is-boolean.js +3 -0
  232. package/dist/es/guard/is-date.js +3 -0
  233. package/dist/es/guard/is-defined.js +9 -0
  234. package/dist/es/guard/is-empty.js +15 -0
  235. package/dist/es/guard/is-error.js +3 -0
  236. package/dist/es/guard/is-function.js +3 -0
  237. package/dist/es/guard/is-nil.js +3 -0
  238. package/dist/es/guard/is-non-null.js +3 -0
  239. package/dist/es/guard/is-not.js +5 -0
  240. package/dist/es/guard/is-number.js +3 -0
  241. package/dist/es/guard/is-object.js +7 -0
  242. package/dist/es/guard/is-promise.js +3 -0
  243. package/dist/es/guard/is-string.js +3 -0
  244. package/dist/es/guard/is-symbol.js +3 -0
  245. package/dist/es/guard/is-truthy.js +3 -0
  246. package/dist/es/index.js +9 -0
  247. package/dist/es/number/add.js +7 -0
  248. package/dist/es/number/ceil.js +5 -0
  249. package/dist/es/number/clamp.js +13 -0
  250. package/dist/es/number/divide.js +7 -0
  251. package/dist/es/number/floor.js +5 -0
  252. package/dist/es/number/index.js +8 -0
  253. package/dist/es/number/multiply.js +7 -0
  254. package/dist/es/number/round.js +5 -0
  255. package/dist/es/number/subtract.js +7 -0
  256. package/dist/es/object/add-prop.js +10 -0
  257. package/dist/es/object/clone.js +45 -0
  258. package/dist/es/object/equals.js +67 -0
  259. package/dist/es/object/for-each-obj.js +26 -0
  260. package/dist/es/object/from-pairs.js +10 -0
  261. package/dist/es/object/index.js +23 -0
  262. package/dist/es/object/invert.js +11 -0
  263. package/dist/es/object/keys.js +6 -0
  264. package/dist/es/object/map-keys.js +12 -0
  265. package/dist/es/object/map-values.js +12 -0
  266. package/dist/es/object/merge-deep.js +27 -0
  267. package/dist/es/object/merge.js +7 -0
  268. package/dist/es/object/omit-by.js +16 -0
  269. package/dist/es/object/omit.js +21 -0
  270. package/dist/es/object/path-or.js +14 -0
  271. package/dist/es/object/pick-by.js +16 -0
  272. package/dist/es/object/pick.js +15 -0
  273. package/dist/es/object/prop.js +3 -0
  274. package/dist/es/object/set-path.js +21 -0
  275. package/dist/es/object/set.js +10 -0
  276. package/dist/es/object/swap-props.js +12 -0
  277. package/dist/es/object/to-pairs.js +7 -0
  278. package/dist/es/object/values.js +3 -0
  279. package/dist/es/string/cases-types.js +1 -0
  280. package/dist/es/string/cases.js +93 -0
  281. package/dist/es/string/human-readable-file-size.js +12 -0
  282. package/dist/es/string/index.js +5 -0
  283. package/dist/es/string/random-string.js +6 -0
  284. package/dist/es/string/slugify.js +9 -0
  285. package/dist/es/string/string-to-path.js +14 -0
  286. package/dist/es/type/index.js +1 -0
  287. package/dist/es/type/type.js +9 -0
  288. package/dist/es/utils/heap.js +38 -0
  289. package/dist/es/utils/narrow.js +1 -0
  290. package/dist/es/utils/paths.js +1 -0
  291. package/dist/es/utils/purry-on.js +6 -0
  292. package/dist/es/utils/purry-order-rules.js +61 -0
  293. package/dist/es/utils/quick-select.js +27 -0
  294. package/dist/es/utils/reduce-lazy.js +14 -0
  295. package/dist/es/utils/swap-in-place.js +3 -0
  296. package/dist/es/utils/to-lazy-indexed.js +3 -0
  297. package/dist/es/utils/to-single.js +4 -0
  298. package/dist/es/utils/types.js +1 -0
  299. package/dist/es/utils/with-precision.js +19 -0
  300. package/dist/metadata.json +48311 -0
  301. package/dist/types/aria/index.d.ts +2 -0
  302. package/dist/types/aria/index.d.ts.map +1 -0
  303. package/dist/types/aria/key-codes.d.ts +26 -0
  304. package/dist/types/aria/key-codes.d.ts.map +1 -0
  305. package/dist/types/array/all-pass.d.ts +32 -0
  306. package/dist/types/array/all-pass.d.ts.map +1 -0
  307. package/dist/types/array/any-pass.d.ts +32 -0
  308. package/dist/types/array/any-pass.d.ts.map +1 -0
  309. package/dist/types/array/chunk.d.ts +29 -0
  310. package/dist/types/array/chunk.d.ts.map +1 -0
  311. package/dist/types/array/compact.d.ts +12 -0
  312. package/dist/types/array/compact.d.ts.map +1 -0
  313. package/dist/types/array/concat.d.ts +24 -0
  314. package/dist/types/array/concat.d.ts.map +1 -0
  315. package/dist/types/array/count-by.d.ts +20 -0
  316. package/dist/types/array/count-by.d.ts.map +1 -0
  317. package/dist/types/array/difference-with.d.ts +48 -0
  318. package/dist/types/array/difference-with.d.ts.map +1 -0
  319. package/dist/types/array/difference.d.ts +35 -0
  320. package/dist/types/array/difference.d.ts.map +1 -0
  321. package/dist/types/array/drop-first-by.d.ts +39 -0
  322. package/dist/types/array/drop-first-by.d.ts.map +1 -0
  323. package/dist/types/array/drop-last-while.d.ts +30 -0
  324. package/dist/types/array/drop-last-while.d.ts.map +1 -0
  325. package/dist/types/array/drop-last.d.ts +25 -0
  326. package/dist/types/array/drop-last.d.ts.map +1 -0
  327. package/dist/types/array/drop-while.d.ts +33 -0
  328. package/dist/types/array/drop-while.d.ts.map +1 -0
  329. package/dist/types/array/drop.d.ts +31 -0
  330. package/dist/types/array/drop.d.ts.map +1 -0
  331. package/dist/types/array/filter.d.ts +49 -0
  332. package/dist/types/array/filter.d.ts.map +1 -0
  333. package/dist/types/array/find-index.d.ts +67 -0
  334. package/dist/types/array/find-index.d.ts.map +1 -0
  335. package/dist/types/array/find-last-index.d.ts +43 -0
  336. package/dist/types/array/find-last-index.d.ts.map +1 -0
  337. package/dist/types/array/find-last.d.ts +45 -0
  338. package/dist/types/array/find-last.d.ts.map +1 -0
  339. package/dist/types/array/find.d.ts +59 -0
  340. package/dist/types/array/find.d.ts.map +1 -0
  341. package/dist/types/array/first-by.d.ts +57 -0
  342. package/dist/types/array/first-by.d.ts.map +1 -0
  343. package/dist/types/array/first.d.ts +35 -0
  344. package/dist/types/array/first.d.ts.map +1 -0
  345. package/dist/types/array/flat-map-to-obj.d.ts +50 -0
  346. package/dist/types/array/flat-map-to-obj.d.ts.map +1 -0
  347. package/dist/types/array/flat-map.d.ts +39 -0
  348. package/dist/types/array/flat-map.d.ts.map +1 -0
  349. package/dist/types/array/flatten-deep.d.ts +26 -0
  350. package/dist/types/array/flatten-deep.d.ts.map +1 -0
  351. package/dist/types/array/flatten.d.ts +23 -0
  352. package/dist/types/array/flatten.d.ts.map +1 -0
  353. package/dist/types/array/for-each.d.ts +57 -0
  354. package/dist/types/array/for-each.d.ts.map +1 -0
  355. package/dist/types/array/group-by.d.ts +36 -0
  356. package/dist/types/array/group-by.d.ts.map +1 -0
  357. package/dist/types/array/has-at-least.d.ts +47 -0
  358. package/dist/types/array/has-at-least.d.ts.map +1 -0
  359. package/dist/types/array/index-by.d.ts +34 -0
  360. package/dist/types/array/index-by.d.ts.map +1 -0
  361. package/dist/types/array/index.d.ts +66 -0
  362. package/dist/types/array/index.d.ts.map +1 -0
  363. package/dist/types/array/intersection-with.d.ts +54 -0
  364. package/dist/types/array/intersection-with.d.ts.map +1 -0
  365. package/dist/types/array/intersection.d.ts +30 -0
  366. package/dist/types/array/intersection.d.ts.map +1 -0
  367. package/dist/types/array/join.d.ts +45 -0
  368. package/dist/types/array/join.d.ts.map +1 -0
  369. package/dist/types/array/last.d.ts +24 -0
  370. package/dist/types/array/last.d.ts.map +1 -0
  371. package/dist/types/array/length.d.ts +14 -0
  372. package/dist/types/array/length.d.ts.map +1 -0
  373. package/dist/types/array/map-to-obj.d.ts +42 -0
  374. package/dist/types/array/map-to-obj.d.ts.map +1 -0
  375. package/dist/types/array/map.d.ts +62 -0
  376. package/dist/types/array/map.d.ts.map +1 -0
  377. package/dist/types/array/max-by.d.ts +39 -0
  378. package/dist/types/array/max-by.d.ts.map +1 -0
  379. package/dist/types/array/mean-by.d.ts +39 -0
  380. package/dist/types/array/mean-by.d.ts.map +1 -0
  381. package/dist/types/array/merge-all.d.ts +16 -0
  382. package/dist/types/array/merge-all.d.ts.map +1 -0
  383. package/dist/types/array/min-by.d.ts +39 -0
  384. package/dist/types/array/min-by.d.ts.map +1 -0
  385. package/dist/types/array/nth-by.d.ts +45 -0
  386. package/dist/types/array/nth-by.d.ts.map +1 -0
  387. package/dist/types/array/only.d.ts +36 -0
  388. package/dist/types/array/only.d.ts.map +1 -0
  389. package/dist/types/array/partition.d.ts +60 -0
  390. package/dist/types/array/partition.d.ts.map +1 -0
  391. package/dist/types/array/range.d.ts +22 -0
  392. package/dist/types/array/range.d.ts.map +1 -0
  393. package/dist/types/array/rank-by.d.ts +41 -0
  394. package/dist/types/array/rank-by.d.ts.map +1 -0
  395. package/dist/types/array/reduce.d.ts +35 -0
  396. package/dist/types/array/reduce.d.ts.map +1 -0
  397. package/dist/types/array/reject.d.ts +42 -0
  398. package/dist/types/array/reject.d.ts.map +1 -0
  399. package/dist/types/array/reverse.d.ts +25 -0
  400. package/dist/types/array/reverse.d.ts.map +1 -0
  401. package/dist/types/array/sample.d.ts +54 -0
  402. package/dist/types/array/sample.d.ts.map +1 -0
  403. package/dist/types/array/shuffle.d.ts +22 -0
  404. package/dist/types/array/shuffle.d.ts.map +1 -0
  405. package/dist/types/array/sort-by.d.ts +99 -0
  406. package/dist/types/array/sort-by.d.ts.map +1 -0
  407. package/dist/types/array/sort.d.ts +52 -0
  408. package/dist/types/array/sort.d.ts.map +1 -0
  409. package/dist/types/array/splice.d.ts +31 -0
  410. package/dist/types/array/splice.d.ts.map +1 -0
  411. package/dist/types/array/split-at.d.ts +26 -0
  412. package/dist/types/array/split-at.d.ts.map +1 -0
  413. package/dist/types/array/split-when.d.ts +24 -0
  414. package/dist/types/array/split-when.d.ts.map +1 -0
  415. package/dist/types/array/sum-by.d.ts +39 -0
  416. package/dist/types/array/sum-by.d.ts.map +1 -0
  417. package/dist/types/array/swap-indices.d.ts +68 -0
  418. package/dist/types/array/swap-indices.d.ts.map +1 -0
  419. package/dist/types/array/take-first-by.d.ts +43 -0
  420. package/dist/types/array/take-first-by.d.ts.map +1 -0
  421. package/dist/types/array/take-while.d.ts +24 -0
  422. package/dist/types/array/take-while.d.ts.map +1 -0
  423. package/dist/types/array/take.d.ts +30 -0
  424. package/dist/types/array/take.d.ts.map +1 -0
  425. package/dist/types/array/uniq-by.d.ts +22 -0
  426. package/dist/types/array/uniq-by.d.ts.map +1 -0
  427. package/dist/types/array/uniq-with.d.ts +44 -0
  428. package/dist/types/array/uniq-with.d.ts.map +1 -0
  429. package/dist/types/array/uniq.d.ts +24 -0
  430. package/dist/types/array/uniq.d.ts.map +1 -0
  431. package/dist/types/array/zip-obj.d.ts +26 -0
  432. package/dist/types/array/zip-obj.d.ts.map +1 -0
  433. package/dist/types/array/zip-with.d.ts +42 -0
  434. package/dist/types/array/zip-with.d.ts.map +1 -0
  435. package/dist/types/array/zip.d.ts +52 -0
  436. package/dist/types/array/zip.d.ts.map +1 -0
  437. package/dist/types/function/conditional.d.ts +108 -0
  438. package/dist/types/function/conditional.d.ts.map +1 -0
  439. package/dist/types/function/create-pipe.d.ts +19 -0
  440. package/dist/types/function/create-pipe.d.ts.map +1 -0
  441. package/dist/types/function/debounce.d.ts +92 -0
  442. package/dist/types/function/debounce.d.ts.map +1 -0
  443. package/dist/types/function/identity.d.ts +10 -0
  444. package/dist/types/function/identity.d.ts.map +1 -0
  445. package/dist/types/function/index.d.ts +10 -0
  446. package/dist/types/function/index.d.ts.map +1 -0
  447. package/dist/types/function/noop.d.ts +10 -0
  448. package/dist/types/function/noop.d.ts.map +1 -0
  449. package/dist/types/function/once.d.ts +13 -0
  450. package/dist/types/function/once.d.ts.map +1 -0
  451. package/dist/types/function/pipe.d.ts +32 -0
  452. package/dist/types/function/pipe.d.ts.map +1 -0
  453. package/dist/types/function/purry.d.ts +32 -0
  454. package/dist/types/function/purry.d.ts.map +1 -0
  455. package/dist/types/function/sleep.d.ts +12 -0
  456. package/dist/types/function/sleep.d.ts.map +1 -0
  457. package/dist/types/guard/index.d.ts +17 -0
  458. package/dist/types/guard/index.d.ts.map +1 -0
  459. package/dist/types/guard/is-array.d.ts +15 -0
  460. package/dist/types/guard/is-array.d.ts.map +1 -0
  461. package/dist/types/guard/is-boolean.d.ts +15 -0
  462. package/dist/types/guard/is-boolean.d.ts.map +1 -0
  463. package/dist/types/guard/is-date.d.ts +13 -0
  464. package/dist/types/guard/is-date.d.ts.map +1 -0
  465. package/dist/types/guard/is-defined.d.ts +22 -0
  466. package/dist/types/guard/is-defined.d.ts.map +1 -0
  467. package/dist/types/guard/is-empty.d.ts +19 -0
  468. package/dist/types/guard/is-empty.d.ts.map +1 -0
  469. package/dist/types/guard/is-error.d.ts +15 -0
  470. package/dist/types/guard/is-error.d.ts.map +1 -0
  471. package/dist/types/guard/is-function.d.ts +15 -0
  472. package/dist/types/guard/is-function.d.ts.map +1 -0
  473. package/dist/types/guard/is-nil.d.ts +14 -0
  474. package/dist/types/guard/is-nil.d.ts.map +1 -0
  475. package/dist/types/guard/is-non-null.d.ts +15 -0
  476. package/dist/types/guard/is-non-null.d.ts.map +1 -0
  477. package/dist/types/guard/is-not.d.ts +15 -0
  478. package/dist/types/guard/is-not.d.ts.map +1 -0
  479. package/dist/types/guard/is-number.d.ts +14 -0
  480. package/dist/types/guard/is-number.d.ts.map +1 -0
  481. package/dist/types/guard/is-object.d.ts +28 -0
  482. package/dist/types/guard/is-object.d.ts.map +1 -0
  483. package/dist/types/guard/is-promise.d.ts +14 -0
  484. package/dist/types/guard/is-promise.d.ts.map +1 -0
  485. package/dist/types/guard/is-string.d.ts +14 -0
  486. package/dist/types/guard/is-string.d.ts.map +1 -0
  487. package/dist/types/guard/is-symbol.d.ts +14 -0
  488. package/dist/types/guard/is-symbol.d.ts.map +1 -0
  489. package/dist/types/guard/is-truthy.d.ts +17 -0
  490. package/dist/types/guard/is-truthy.d.ts.map +1 -0
  491. package/dist/types/index.d.ts +10 -0
  492. package/dist/types/index.d.ts.map +1 -0
  493. package/dist/types/number/add.d.ts +29 -0
  494. package/dist/types/number/add.d.ts.map +1 -0
  495. package/dist/types/number/ceil.d.ts +35 -0
  496. package/dist/types/number/ceil.d.ts.map +1 -0
  497. package/dist/types/number/clamp.d.ts +38 -0
  498. package/dist/types/number/clamp.d.ts.map +1 -0
  499. package/dist/types/number/divide.d.ts +27 -0
  500. package/dist/types/number/divide.d.ts.map +1 -0
  501. package/dist/types/number/floor.d.ts +35 -0
  502. package/dist/types/number/floor.d.ts.map +1 -0
  503. package/dist/types/number/index.d.ts +9 -0
  504. package/dist/types/number/index.d.ts.map +1 -0
  505. package/dist/types/number/multiply.d.ts +27 -0
  506. package/dist/types/number/multiply.d.ts.map +1 -0
  507. package/dist/types/number/round.d.ts +35 -0
  508. package/dist/types/number/round.d.ts.map +1 -0
  509. package/dist/types/number/subtract.d.ts +29 -0
  510. package/dist/types/number/subtract.d.ts.map +1 -0
  511. package/dist/types/object/add-prop.d.ts +30 -0
  512. package/dist/types/object/add-prop.d.ts.map +1 -0
  513. package/dist/types/object/clone.d.ts +10 -0
  514. package/dist/types/object/clone.d.ts.map +1 -0
  515. package/dist/types/object/equals.d.ts +30 -0
  516. package/dist/types/object/equals.d.ts.map +1 -0
  517. package/dist/types/object/for-each-obj.d.ts +44 -0
  518. package/dist/types/object/for-each-obj.d.ts.map +1 -0
  519. package/dist/types/object/from-pairs.d.ts +38 -0
  520. package/dist/types/object/from-pairs.d.ts.map +1 -0
  521. package/dist/types/object/index.d.ts +24 -0
  522. package/dist/types/object/index.d.ts.map +1 -0
  523. package/dist/types/object/invert.d.ts +28 -0
  524. package/dist/types/object/invert.d.ts.map +1 -0
  525. package/dist/types/object/keys.d.ts +34 -0
  526. package/dist/types/object/keys.d.ts.map +1 -0
  527. package/dist/types/object/map-keys.d.ts +24 -0
  528. package/dist/types/object/map-keys.d.ts.map +1 -0
  529. package/dist/types/object/map-values.d.ts +25 -0
  530. package/dist/types/object/map-values.d.ts.map +1 -0
  531. package/dist/types/object/merge-deep.d.ts +32 -0
  532. package/dist/types/object/merge-deep.d.ts.map +1 -0
  533. package/dist/types/object/merge.d.ts +25 -0
  534. package/dist/types/object/merge.d.ts.map +1 -0
  535. package/dist/types/object/omit-by.d.ts +22 -0
  536. package/dist/types/object/omit-by.d.ts.map +1 -0
  537. package/dist/types/object/omit.d.ts +24 -0
  538. package/dist/types/object/omit.d.ts.map +1 -0
  539. package/dist/types/object/path-or.d.ts +76 -0
  540. package/dist/types/object/path-or.d.ts.map +1 -0
  541. package/dist/types/object/pick-by.d.ts +22 -0
  542. package/dist/types/object/pick-by.d.ts.map +1 -0
  543. package/dist/types/object/pick.d.ts +22 -0
  544. package/dist/types/object/pick.d.ts.map +1 -0
  545. package/dist/types/object/prop.d.ts +11 -0
  546. package/dist/types/object/prop.d.ts.map +1 -0
  547. package/dist/types/object/set-path.d.ts +29 -0
  548. package/dist/types/object/set-path.d.ts.map +1 -0
  549. package/dist/types/object/set.d.ts +26 -0
  550. package/dist/types/object/set.d.ts.map +1 -0
  551. package/dist/types/object/swap-props.d.ts +44 -0
  552. package/dist/types/object/swap-props.d.ts.map +1 -0
  553. package/dist/types/object/to-pairs.d.ts +33 -0
  554. package/dist/types/object/to-pairs.d.ts.map +1 -0
  555. package/dist/types/object/values.d.ts +20 -0
  556. package/dist/types/object/values.d.ts.map +1 -0
  557. package/dist/types/string/cases-types.d.ts +36 -0
  558. package/dist/types/string/cases-types.d.ts.map +1 -0
  559. package/dist/types/string/cases.d.ts +22 -0
  560. package/dist/types/string/cases.d.ts.map +1 -0
  561. package/dist/types/string/human-readable-file-size.d.ts +13 -0
  562. package/dist/types/string/human-readable-file-size.d.ts.map +1 -0
  563. package/dist/types/string/index.d.ts +6 -0
  564. package/dist/types/string/index.d.ts.map +1 -0
  565. package/dist/types/string/random-string.d.ts +10 -0
  566. package/dist/types/string/random-string.d.ts.map +1 -0
  567. package/dist/types/string/slugify.d.ts +12 -0
  568. package/dist/types/string/slugify.d.ts.map +1 -0
  569. package/dist/types/string/string-to-path.d.ts +11 -0
  570. package/dist/types/string/string-to-path.d.ts.map +1 -0
  571. package/dist/types/type/index.d.ts +2 -0
  572. package/dist/types/type/index.d.ts.map +1 -0
  573. package/dist/types/type/type.d.ts +19 -0
  574. package/dist/types/type/type.d.ts.map +1 -0
  575. package/dist/types/utils/heap.d.ts +24 -0
  576. package/dist/types/utils/heap.d.ts.map +1 -0
  577. package/dist/types/utils/narrow.d.ts +52 -0
  578. package/dist/types/utils/narrow.d.ts.map +1 -0
  579. package/dist/types/utils/paths.d.ts +9 -0
  580. package/dist/types/utils/paths.d.ts.map +1 -0
  581. package/dist/types/utils/purry-on.d.ts +7 -0
  582. package/dist/types/utils/purry-on.d.ts.map +1 -0
  583. package/dist/types/utils/purry-order-rules.d.ts +52 -0
  584. package/dist/types/utils/purry-order-rules.d.ts.map +1 -0
  585. package/dist/types/utils/quick-select.d.ts +18 -0
  586. package/dist/types/utils/quick-select.d.ts.map +1 -0
  587. package/dist/types/utils/reduce-lazy.d.ts +22 -0
  588. package/dist/types/utils/reduce-lazy.d.ts.map +1 -0
  589. package/dist/types/utils/swap-in-place.d.ts +5 -0
  590. package/dist/types/utils/swap-in-place.d.ts.map +1 -0
  591. package/dist/types/utils/to-lazy-indexed.d.ts +4 -0
  592. package/dist/types/utils/to-lazy-indexed.d.ts.map +1 -0
  593. package/dist/types/utils/to-single.d.ts +4 -0
  594. package/dist/types/utils/to-single.d.ts.map +1 -0
  595. package/dist/types/utils/types.d.ts +32 -0
  596. package/dist/types/utils/types.d.ts.map +1 -0
  597. package/dist/types/utils/with-precision.d.ts +2 -0
  598. package/dist/types/utils/with-precision.d.ts.map +1 -0
  599. package/package.json +34 -23
  600. package/dist/index.cjs +0 -2843
  601. package/dist/index.d.cts +0 -4175
  602. package/dist/index.d.ts +0 -4175
  603. package/dist/index.js +0 -2678
  604. package/dist/index.min.js +0 -2
  605. package/dist/index.min.js.map +0 -7
@@ -0,0 +1,66 @@
1
+ export * from './all-pass';
2
+ export * from './any-pass';
3
+ export * from './chunk';
4
+ export * from './compact';
5
+ export * from './concat';
6
+ export * from './count-by';
7
+ export * from './difference-with';
8
+ export * from './difference';
9
+ export * from './drop-last';
10
+ export * from './drop';
11
+ export * from './drop-first-by';
12
+ export * from './drop-last-while';
13
+ export * from './drop-while';
14
+ export * from './filter';
15
+ export * from './find-index';
16
+ export * from './find-last-index';
17
+ export * from './find-last';
18
+ export * from './find';
19
+ export * from './first';
20
+ export * from './first-by';
21
+ export * from './flat-map-to-obj';
22
+ export * from './flat-map';
23
+ export * from './flatten-deep';
24
+ export * from './flatten';
25
+ export * from './for-each';
26
+ export * from './group-by';
27
+ export * from './has-at-least';
28
+ export * from './index-by';
29
+ export * from './intersection';
30
+ export * from './intersection-with';
31
+ export * from './join';
32
+ export * from './last';
33
+ export * from './length';
34
+ export * from './map';
35
+ export * from './map-to-obj';
36
+ export * from './max-by';
37
+ export * from './mean-by';
38
+ export * from './merge-all';
39
+ export * from './min-by';
40
+ export * from './nth-by';
41
+ export * from './only';
42
+ export * from './partition';
43
+ export * from './range';
44
+ export * from './rank-by';
45
+ export * from './reduce';
46
+ export * from './reject';
47
+ export * from './reverse';
48
+ export * from './sample';
49
+ export * from './shuffle';
50
+ export * from './sort';
51
+ export * from './sort-by';
52
+ export * from './splice';
53
+ export * from './split-at';
54
+ export * from './split-when';
55
+ export * from './sum-by';
56
+ export * from './swap-indices';
57
+ export * from './take';
58
+ export * from './take-first-by';
59
+ export * from './take-while';
60
+ export * from './uniq';
61
+ export * from './uniq-by';
62
+ export * from './uniq-with';
63
+ export * from './zip';
64
+ export * from './zip-obj';
65
+ export * from './zip-with';
66
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/array/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC;AACtB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ type Comparator<TFirst, TSecond> = (a: TFirst, b: TSecond) => boolean;
3
+ /**
4
+ * Returns a list of intersecting values based on a custom
5
+ * comparator function that compares elements of both arrays.
6
+ * @param array the source array
7
+ * @param other the second array
8
+ * @param comparator the custom comparator
9
+ * @signature
10
+ * P.intersectionWith(array, other, comparator)
11
+ * @example
12
+ * P.intersectionWith(
13
+ * [
14
+ * { id: 1, name: 'Ryan' },
15
+ * { id: 3, name: 'Emma' },
16
+ * ],
17
+ * [3, 5],
18
+ * (a, b) => a.id === b,
19
+ * ) // => [{ id: 3, name: 'Emma' }]
20
+ * @dataFirst
21
+ * @category Array
22
+ * @pipeable
23
+ */
24
+ export declare function intersectionWith<TFirst, TSecond>(array: ReadonlyArray<TFirst>, other: ReadonlyArray<TSecond>, comparator: Comparator<TFirst, TSecond>): Array<TFirst>;
25
+ /**
26
+ * Returns a list of intersecting values based on a custom
27
+ * comparator function that compares elements of both arrays.
28
+ * @param other the second array
29
+ * @param comparator the custom comparator
30
+ * @signature
31
+ * P.intersectionWith(other, comparator)(array)
32
+ * @example
33
+ * P.intersectionWith(
34
+ * [3, 5],
35
+ * (a, b) => a.id === b
36
+ * )([
37
+ * { id: 1, name: 'Ryan' },
38
+ * { id: 3, name: 'Emma' },
39
+ * ]); // => [{ id: 3, name: 'Emma' }]
40
+ * @dataLast
41
+ * @category Array
42
+ * @pipeable
43
+ */
44
+ export declare function intersectionWith<TFirst, TSecond>(other: ReadonlyArray<TSecond>,
45
+ /**
46
+ * type inference doesn't work properly for the comparator's first parameter
47
+ * in data last variant
48
+ */
49
+ comparator: Comparator<TFirst, TSecond>): (array: ReadonlyArray<TFirst>) => Array<TFirst>;
50
+ export declare namespace intersectionWith {
51
+ function lazy<TFirst, TSecond>(other: Array<TSecond>, comparator: Comparator<TFirst, TSecond>): (value: TFirst) => LazyResult<TFirst>;
52
+ }
53
+ export {};
54
+ //# sourceMappingURL=intersection-with.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection-with.d.ts","sourceRoot":"","sources":["../../../src/array/intersection-with.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,KAAK,UAAU,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAC9C,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,EAC5B,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,EAC7B,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,KAAK,CAAC,MAAM,CAAC,CAAC;AAEjB;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAC9C,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC;AAC7B;;;GAGG;AACH,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GACtC,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC;AAenD,yBAAiB,gBAAgB,CAAC;IAChC,SAAgB,IAAI,CAAC,MAAM,EAAE,OAAO,EAClC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,EACrB,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,WAExB,MAAM,KAAG,WAAW,MAAM,CAAC,CAa3C;CACF"}
@@ -0,0 +1,30 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ /**
3
+ * Returns a list of elements that exist in both array.
4
+ * @param array the source array
5
+ * @param other the second array
6
+ * @signature
7
+ * P.intersection(array, other)
8
+ * @example
9
+ * P.intersection([1, 2, 3], [2, 3, 5]) // => [2, 3]
10
+ * @dataFirst
11
+ * @category Array
12
+ * @pipeable
13
+ */
14
+ export declare function intersection<T>(array: ReadonlyArray<T>, other: ReadonlyArray<T>): Array<T>;
15
+ /**
16
+ * Returns a list of elements that exist in both array.
17
+ * @param other the second array
18
+ * @signature
19
+ * P.intersection(other)(array)
20
+ * @example
21
+ * P.intersection([2, 3, 5])([1, 2, 3]) // => [2, 3]
22
+ * @dataLast
23
+ * @category Array
24
+ * @pipeable
25
+ */
26
+ export declare function intersection<T, K>(other: ReadonlyArray<T>): (source: ReadonlyArray<K>) => Array<T>;
27
+ export declare namespace intersection {
28
+ function lazy<T>(other: Array<T>): (value: T) => LazyResult<T>;
29
+ }
30
+ //# sourceMappingURL=intersection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../src/array/intersection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GACtB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAW1C,yBAAiB,YAAY,CAAC;IAC5B,SAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,WACtB,CAAC,KAAG,WAAW,CAAC,CAAC,CAcjC;CACF"}
@@ -0,0 +1,45 @@
1
+ import type { IterableContainer } from '../utils/types';
2
+ type Joinable = bigint | boolean | null | number | string | undefined;
3
+ export type Joined<T extends IterableContainer, Glue extends string> = T[number] extends never ? '' : T extends readonly [Joinable?] ? `${NullishCoalesce<T[0], ''>}` : T extends readonly [infer First, ...infer Tail] ? `${NullishCoalesce<First, ''>}${Glue}${Joined<Tail, Glue>}` : T extends readonly [...infer Head, infer Last] ? `${Joined<Head, Glue>}${Glue}${NullishCoalesce<Last, ''>}` : string;
4
+ type NullishCoalesce<T, Fallback> = T extends Joinable ? T extends null | undefined ? Fallback | NonNullable<T> : T : never;
5
+ /**
6
+ * Joins the elements of the array by: casting them to a string and
7
+ * concatenating them one to the other, with the provided glue string in between
8
+ * every two elements.
9
+ *
10
+ * When called on a tuple and with stricter item types (union of literal values,
11
+ * the result is strictly typed to the tuples shape and it's item types).
12
+ *
13
+ * @param data The array to join
14
+ * @param glue The string to put in between every two elements
15
+ * @signature
16
+ * P.join(data, glue)
17
+ * @example
18
+ * P.join([1,2,3], ",") // => "1,2,3" (typed `string`)
19
+ * P.join(['a','b','c'], "") // => "abc" (typed `string`)
20
+ * P.join(['hello', 'world'] as const, " ") // => "hello world" (typed `hello world`)
21
+ * @dataFirst
22
+ * @category Array
23
+ */
24
+ export declare function join<T extends [] | ReadonlyArray<Joinable>, Glue extends string>(data: T, glue: Glue): Joined<T, Glue>;
25
+ /**
26
+ * Joins the elements of the array by: casting them to a string and
27
+ * concatenating them one to the other, with the provided glue string in between
28
+ * every two elements.
29
+ *
30
+ * When called on a tuple and with stricter item types (union of literal values,
31
+ * the result is strictly typed to the tuples shape and it's item types).
32
+ *
33
+ * @param glue The string to put in between every two elements
34
+ * @signature
35
+ * P.join(glue)(data)
36
+ * @example
37
+ * P.pipe([1,2,3], P.join(",")) // => "1,2,3" (typed `string`)
38
+ * P.pipe(['a','b','c'], P.join("")) // => "abc" (typed `string`)
39
+ * P.pipe(['hello', 'world'] as const, P.join(" ")) // => "hello world" (typed `hello world`)
40
+ * @dataLast
41
+ * @category Array
42
+ */
43
+ export declare function join<T extends [] | ReadonlyArray<Joinable>, Glue extends string>(glue: Glue): (data: T) => Joined<T, Glue>;
44
+ export {};
45
+ //# sourceMappingURL=join.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/array/join.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD,KAAK,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtE,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,iBAAiB,EAAE,IAAI,SAAS,MAAM,IAEjE,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GACnB,EAAE,GAEJ,CAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,CAAC,GAC1B,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAEhC,CAAC,SAAS,SAAS,CAAC,MAAM,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,GAC3C,GAAG,eAAe,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,GAE7D,CAAC,SAAS,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,IAAI,CAAC,GAC1C,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAE5D,MAAM,CAAC;AAMjB,KAAK,eAAe,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,SAAS,QAAQ,GAClD,CAAC,SAAS,IAAI,GAAG,SAAS,GACxB,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,GACzB,CAAC,GACH,KAAK,CAAC;AAEV;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAClB,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EACtC,IAAI,SAAS,MAAM,EACnB,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAClB,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC,QAAQ,CAAC,EACtC,IAAI,SAAS,MAAM,EACnB,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { NonEmptyArray } from '../utils/types';
2
+ /**
3
+ * Gets the last element of `array`.
4
+ * Note: In `pipe`, use `last()` form instead of `last`. Otherwise, the inferred type is lost.
5
+ * @param array the array
6
+ * @signature
7
+ * P.last(array)
8
+ * @example
9
+ * P.last([1, 2, 3]) // => 3
10
+ * P.last([]) // => undefined
11
+ * P.pipe(
12
+ * [1, 2, 4, 8, 16],
13
+ * P.filter(x => x > 3),
14
+ * P.last(),
15
+ * x => x + 1
16
+ * ); // => 17
17
+ *
18
+ * @category Array
19
+ * @pipeable
20
+ */
21
+ export declare function last<T>(array: NonEmptyArray<T>): T;
22
+ export declare function last<T>(array: ReadonlyArray<T>): T | undefined;
23
+ export declare function last<T>(): (array: ReadonlyArray<T>) => T | undefined;
24
+ //# sourceMappingURL=last.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"last.d.ts","sourceRoot":"","sources":["../../../src/array/last.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpD,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;AAChE,wBAAgB,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC"}
@@ -0,0 +1,14 @@
1
+ type Enumerable<T> = ArrayLike<T> | Iterable<T>;
2
+ /**
3
+ * Counts values of the collection or iterable.
4
+ * @param items The input data.
5
+ * @signature
6
+ * P.length(array)
7
+ * @example
8
+ * P.length([1, 2, 3]) // => 3
9
+ * @category Array
10
+ */
11
+ export declare function length<T>(items: Enumerable<T>): number;
12
+ export declare function length<T>(): (items: Enumerable<T>) => number;
13
+ export {};
14
+ //# sourceMappingURL=length.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"length.d.ts","sourceRoot":"","sources":["../../../src/array/length.ts"],"names":[],"mappings":"AAEA,KAAK,UAAU,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;AACxD,wBAAgB,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Map each element of an array into an object using a defined callback function.
3
+ * @param array The array to map.
4
+ * @param fn The mapping function, which should return a tuple of [key, value], similar to Object.fromEntries
5
+ * @returns The new mapped object.
6
+ * @signature
7
+ * P.mapToObj(array, fn)
8
+ * P.mapToObj.indexed(array, fn)
9
+ * @example
10
+ * P.mapToObj([1, 2, 3], x => [String(x), x * 2]) // => {1: 2, 2: 4, 3: 6}
11
+ * P.mapToObj.indexed([0, 0, 0], (x, i) => [i, i]) // => {0: 0, 1: 1, 2: 2}
12
+ * @dataFirst
13
+ * @indexed
14
+ * @category Array
15
+ */
16
+ export declare function mapToObj<T, K extends PropertyKey, V>(array: ReadonlyArray<T>, fn: (element: T) => [K, V]): Record<K, V>;
17
+ /**
18
+ * Map each element of an array into an object using a defined callback function.
19
+ * @param fn The mapping function, which should return a tuple of [key, value], similar to Object.fromEntries
20
+ * @returns The new mapped object.
21
+ * @signature
22
+ * P.mapToObj(fn)(array)
23
+ * P.mapToObj.indexed(fn)(array)
24
+ * @example
25
+ * P.pipe(
26
+ * [1, 2, 3],
27
+ * P.mapToObj(x => [String(x), x * 2])
28
+ * ) // => {1: 2, 2: 4, 3: 6}
29
+ * P.pipe(
30
+ * [0, 0, 0],
31
+ * P.mapToObj.indexed((x, i) => [i, i])
32
+ * ) // => {0: 0, 1: 1, 2: 2}
33
+ * @dataLast
34
+ * @indexed
35
+ * @category Array
36
+ */
37
+ export declare function mapToObj<T, K extends PropertyKey, V>(fn: (element: T) => [K, V]): (array: ReadonlyArray<T>) => Record<K, V>;
38
+ export declare namespace mapToObj {
39
+ function indexed<T, K extends PropertyKey, V>(array: ReadonlyArray<T>, fn: (element: T, index: number, array: ReadonlyArray<T>) => [K, V]): Record<K, V>;
40
+ function indexed<T, K extends PropertyKey, V>(fn: (element: T, index: number, array: ReadonlyArray<T>) => [K, V]): (array: ReadonlyArray<T>) => Record<K, V>;
41
+ }
42
+ //# sourceMappingURL=map-to-obj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map-to-obj.d.ts","sourceRoot":"","sources":["../../../src/array/map-to-obj.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,EAClD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,EAClD,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACzB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAsB7C,yBAAiB,QAAQ,CAAC;IACxB,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,EACjD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACjE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhB,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,EACjD,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACjE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAI9C"}
@@ -0,0 +1,62 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ import type { IterableContainer, Pred, PredIndexed, PredIndexedOptional } from '../utils/types';
3
+ /**
4
+ * Map each element of an array using a defined callback function. If the input
5
+ * array is a tuple use the `strict` variant to maintain it's shape.
6
+ * @param array The array to map.
7
+ * @param fn The function mapper.
8
+ * @returns The new mapped array.
9
+ * @signature
10
+ * P.map(array, fn)
11
+ * P.map.indexed(array, fn)
12
+ * P.map.strict(array, fn)
13
+ * P.map.strict.indexed(array, fn)
14
+ * @example
15
+ * P.map([1, 2, 3], x => x * 2) // => [2, 4, 6], typed number[]
16
+ * P.map.indexed([0, 0, 0], (x, i) => i) // => [0, 1, 2], typed number[]
17
+ * P.map.strict([0, 0] as const, x => x + 1) // => [1, 1], typed [number, number]
18
+ * P.map.strict.indexed([0, 0] as const, (x, i) => x + i) // => [0, 1], typed [number, number]
19
+ * @dataFirst
20
+ * @indexed
21
+ * @pipeable
22
+ * @strict
23
+ * @category Array
24
+ */
25
+ export declare function map<T, K>(array: ReadonlyArray<T>, fn: Pred<T, K>): Array<K>;
26
+ /**
27
+ * Map each value of an object using a defined callback function.
28
+ * @param fn the function mapper
29
+ * @signature
30
+ * P.map(fn)(array)
31
+ * P.map.indexed(fn)(array)
32
+ * @example
33
+ * P.pipe([0, 1, 2], P.map(x => x * 2)) // => [0, 2, 4]
34
+ * P.pipe([0, 0, 0], P.map.indexed((x, i) => i)) // => [0, 1, 2]
35
+ * @dataLast
36
+ * @indexed
37
+ * @pipeable
38
+ * @category Array
39
+ */
40
+ export declare function map<T, K>(fn: Pred<T, K>): (array: ReadonlyArray<T>) => Array<K>;
41
+ interface Strict {
42
+ <T extends IterableContainer, K>(items: T, mapper: Pred<T[number], K>): StrictOut<T, K>;
43
+ <T extends IterableContainer, K>(mapper: Pred<T[number], K>): (items: T) => StrictOut<T, K>;
44
+ readonly indexed: {
45
+ <T extends IterableContainer, K>(items: T, mapper: PredIndexed<T[number], K>): StrictOut<T, K>;
46
+ <T extends IterableContainer, K>(mapper: PredIndexed<T[number], K>): (items: T) => StrictOut<T, K>;
47
+ };
48
+ }
49
+ type StrictOut<T extends IterableContainer, K> = {
50
+ -readonly [P in keyof T]: K;
51
+ };
52
+ export declare namespace map {
53
+ function indexed<T, K>(array: ReadonlyArray<T>, fn: PredIndexed<T, K>): Array<K>;
54
+ function indexed<T, K>(fn: PredIndexed<T, K>): (array: ReadonlyArray<T>) => Array<K>;
55
+ const lazy: <T, K>(fn: PredIndexedOptional<T, K>) => (value: T, index?: number | undefined, array?: readonly T[] | undefined) => LazyResult<K>;
56
+ const lazyIndexed: (<T, K>(fn: PredIndexedOptional<T, K>) => (value: T, index?: number | undefined, array?: readonly T[] | undefined) => LazyResult<K>) & {
57
+ readonly indexed: true;
58
+ };
59
+ const strict: Strict;
60
+ }
61
+ export {};
62
+ //# sourceMappingURL=map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../../src/array/map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EACV,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AAMxB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7E;;;;;;;;;;;;;GAaG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACb,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAkCzC,UAAU,MAAM;IACd,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAC7B,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GACzB,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnB,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CAC5D,KAAK,EAAE,CAAC,KACL,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAErB,QAAQ,CAAC,OAAO,EAAE;QAChB,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAC7B,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAChC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnB,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,CACnE,KAAK,EAAE,CAAC,KACL,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KACtB,CAAC;CACH;AAED,KAAK,SAAS,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,IAAI;IAC/C,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;CAC5B,CAAC;AAEF,yBAAiB,GAAG,CAAC;IACnB,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,KAAK,CAAC,CAAC,CAAC,CAAC;IACZ,SAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAC1B,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACpB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;IAKlC,MAAM,IAAI,oIAAe,CAAC;IAC1B,MAAM,WAAW;;KAA6B,CAAC;IAE/C,MAAM,MAAM,EAAE,MAAY,CAAC;CACnC"}
@@ -0,0 +1,39 @@
1
+ import type { PredIndexed } from '../utils/types';
2
+ /**
3
+ * Returns the max element using the provided predicate.
4
+ * @param fn the predicate
5
+ * @signature
6
+ * P.maxBy(fn)(array)
7
+ * P.maxBy.indexed(fn)(array)
8
+ * @example
9
+ * P.pipe(
10
+ * [{a: 5}, {a: 1}, {a: 3}],
11
+ * P.maxBy(x => x.a)
12
+ * ) // { a: 5 }
13
+ * @dataLast
14
+ * @indexed
15
+ * @category Array
16
+ */
17
+ export declare function maxBy<T>(fn: (item: T) => number): (items: ReadonlyArray<T>) => T | undefined;
18
+ /**
19
+ * Returns the max element using the provided predicate.
20
+ * @param items the array
21
+ * @param fn the predicate
22
+ * @signature
23
+ * P.maxBy(array, fn)
24
+ * P.maxBy.indexed(array, fn)
25
+ * @example
26
+ * P.maxBy(
27
+ * [{a: 5}, {a: 1}, {a: 3}],
28
+ * x => x.a
29
+ * ) // { a: 5 }
30
+ * @dataFirst
31
+ * @indexed
32
+ * @category Array
33
+ */
34
+ export declare function maxBy<T>(items: ReadonlyArray<T>, fn: (item: T) => number): T | undefined;
35
+ export declare namespace maxBy {
36
+ function indexed<T>(array: ReadonlyArray<T>, fn: PredIndexed<T, number>): T | undefined;
37
+ function indexed<T>(fn: PredIndexed<T, number>): (array: ReadonlyArray<T>) => T | undefined;
38
+ }
39
+ //# sourceMappingURL=max-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"max-by.d.ts","sourceRoot":"","sources":["../../../src/array/max-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAoBvE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,GAAG,SAAS,CAAC;AAMjB,yBAAiB,KAAK,CAAC;IACrB,SAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,GAAG,SAAS,CAAC;IACjB,SAAgB,OAAO,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAI/C"}
@@ -0,0 +1,39 @@
1
+ import type { PredIndexed } from '../utils/types';
2
+ /**
3
+ * Returns the mean of the elements of an array using the provided predicate.
4
+ * @param fn predicate function
5
+ * @signature
6
+ * P.meanBy(fn)(array)
7
+ * P.meanBy.indexed(fn)(array)
8
+ * @example
9
+ * P.pipe(
10
+ * [{a: 5}, {a: 1}, {a: 3}],
11
+ * P.meanBy(x => x.a)
12
+ * ) // 3
13
+ * @dataLast
14
+ * @indexed
15
+ * @category Array
16
+ */
17
+ export declare function meanBy<T>(fn: (item: T) => number): (items: ReadonlyArray<T>) => number;
18
+ /**
19
+ * Returns the mean of the elements of an array using the provided predicate.
20
+ * @param items the array
21
+ * @param fn predicate function
22
+ * @signature
23
+ * P.meanBy(array, fn)
24
+ * P.meanBy.indexed(array, fn)
25
+ * @example
26
+ * P.meanBy(
27
+ * [{a: 5}, {a: 1}, {a: 3}],
28
+ * x => x.a
29
+ * ) // 3
30
+ * @dataFirst
31
+ * @indexed
32
+ * @category Array
33
+ */
34
+ export declare function meanBy<T>(items: ReadonlyArray<T>, fn: (item: T) => number): number;
35
+ export declare namespace meanBy {
36
+ function indexed<T>(array: ReadonlyArray<T>, fn: PredIndexed<T, number>): number;
37
+ function indexed<T>(fn: PredIndexed<T, number>): (array: ReadonlyArray<T>) => number;
38
+ }
39
+ //# sourceMappingURL=mean-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mean-by.d.ts","sourceRoot":"","sources":["../../../src/array/mean-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAmBvE;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,MAAM,CAAC,CAAC,EACtB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AAEvC;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,MAAM,CAAC,CAAC,EACtB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,MAAM,CAAC;AAMV,yBAAiB,MAAM,CAAC;IACtB,SAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,MAAM,CAAC;IAEV,SAAgB,OAAO,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;CAKxC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Merges a list of objects into a single object.
3
+ * @param array the array of objects
4
+ * @signature
5
+ * P.mergeAll(objects)
6
+ * @example
7
+ * P.mergeAll([{ a: 1, b: 1 }, { b: 2, c: 3 }, { d: 10 }]) // => { a: 1, b: 2, c: 3, d: 10 }
8
+ * @category Array
9
+ */
10
+ export declare function mergeAll<A>(array: readonly [A]): A;
11
+ export declare function mergeAll<A, B>(array: readonly [A, B]): A & B;
12
+ export declare function mergeAll<A, B, C>(array: readonly [A, B, C]): A & B & C;
13
+ export declare function mergeAll<A, B, C, D>(array: readonly [A, B, C, D]): A & B & C & D;
14
+ export declare function mergeAll<A, B, C, D, E>(array: [A, B, C, D, E]): A & B & C & D & E;
15
+ export declare function mergeAll(array: ReadonlyArray<object>): object;
16
+ //# sourceMappingURL=merge-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-all.d.ts","sourceRoot":"","sources":["../../../src/array/merge-all.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACpD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC9D,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACjC,KAAK,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACjB,wBAAgB,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACpC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GACrB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC"}
@@ -0,0 +1,39 @@
1
+ import type { PredIndexed } from '../utils/types';
2
+ /**
3
+ * Returns the min element using the provided predicate.
4
+ * @param fn the predicate
5
+ * @signature
6
+ * P.minBy(fn)(array)
7
+ * P.minBy.indexed(fn)(array)
8
+ * @example
9
+ * P.pipe(
10
+ * [{a: 5}, {a: 1}, {a: 3}],
11
+ * P.minBy(x => x.a)
12
+ * ) // { a: 1 }
13
+ * @dataLast
14
+ * @indexed
15
+ * @category Array
16
+ */
17
+ export declare function minBy<T>(fn: (item: T) => number): (items: ReadonlyArray<T>) => T | undefined;
18
+ /**
19
+ * Returns the min element using the provided predicate.
20
+ * @param items the array
21
+ * @param fn the predicate
22
+ * @signature
23
+ * P.minBy(array, fn)
24
+ * P.minBy.indexed(array, fn)
25
+ * @example
26
+ * P.minBy(
27
+ * [{a: 5}, {a: 1}, {a: 3}],
28
+ * x => x.a
29
+ * ) // { a: 1 }
30
+ * @dataFirst
31
+ * @indexed
32
+ * @category Array
33
+ */
34
+ export declare function minBy<T>(items: ReadonlyArray<T>, fn: (item: T) => number): T | undefined;
35
+ export declare namespace minBy {
36
+ function indexed<T>(array: ReadonlyArray<T>, fn: PredIndexed<T, number>): T | undefined;
37
+ function indexed<T>(fn: PredIndexed<T, number>): (array: ReadonlyArray<T>) => T | undefined;
38
+ }
39
+ //# sourceMappingURL=min-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"min-by.d.ts","sourceRoot":"","sources":["../../../src/array/min-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAoBvE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,GAAG,SAAS,CAAC;AAMjB,yBAAiB,KAAK,CAAC;IACrB,SAAgB,OAAO,CAAC,CAAC,EACvB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,GAAG,SAAS,CAAC;IACjB,SAAgB,OAAO,CAAC,CAAC,EACvB,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GACzB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CAI/C"}
@@ -0,0 +1,45 @@
1
+ import type { IterableContainer, NonEmptyArray } from '../utils/types';
2
+ import { type OrderRule } from '../utils/purry-order-rules';
3
+ /**
4
+ * Retrieves the element that would be at the given index if the array were sorted according to specified rules.
5
+ * This function uses the *QuickSelect* algorithm running at an average complexity of *O(n)*.
6
+ * Semantically it is equivalent to `sortBy(data, ...rules).at(index)` which would run at *O(nlogn)*.
7
+ *
8
+ * See also `firstBy` which provides an even more efficient algorithm and a stricter return type,
9
+ * but only for `index === 0`.
10
+ * See `takeFirstBy` to get all the elements up to and including `index`.
11
+ *
12
+ * @param data - The input array.
13
+ * @param index - The zero-based index for selecting the element in the sorted order. Negative indices count backwards from the end.
14
+ * @param rules - A variadic array of order rules defining the sorting criteria. Each order rule is a projection function that extracts a comparable value from the data. Sorting is based on these extracted values using the native `<` and `>` operators. Earlier rules take precedence over later ones. Use the syntax `[projection, "desc"]` for descending order.
15
+ * @returns The element at the specified index in the sorted order, or `undefined` if the index is out of bounds.
16
+ * @signature
17
+ * P.nthBy(data, index, ...rules);
18
+ * @example
19
+ * P.nthBy([2,1,4,5,3,], 2, identity); // => 3
20
+ * @dataFirst
21
+ * @category Array
22
+ */
23
+ export declare function nthBy<T extends IterableContainer>(data: T, index: number, ...rules: Readonly<NonEmptyArray<OrderRule<T[number]>>>): T[number] | undefined;
24
+ /**
25
+ * Retrieves the element that would be at the given index if the array were sorted according to specified rules.
26
+ * This function uses the *QuickSelect* algorithm running at an average complexity of *O(n)*.
27
+ * Semantically it is equivalent to `sortBy(data, ...rules)[index]` which would run at *O(nlogn)*.
28
+ *
29
+ * See also `firstBy` which provides an even more efficient algorithm and a stricter return type,
30
+ * but only for `index === 0`.
31
+ * See `takeFirstBy` to get all the elements up to and including `index`.
32
+ *
33
+ * @param data - The input array.
34
+ * @param index - The zero-based index for selecting the element in the sorted order. Negative indices count backwards from the end.
35
+ * @param rules - A variadic array of order rules defining the sorting criteria. Each order rule is a projection function that extracts a comparable value from the data. Sorting is based on these extracted values using the native `<` and `>` operators. Earlier rules take precedence over later ones. Use the syntax `[projection, "desc"]` for descending order.
36
+ * @returns The element at the specified index in the sorted order, or `undefined` if the index is out of bounds.
37
+ * @signature
38
+ * P.nthBy(index, ...rules)(data);
39
+ * @example
40
+ * P.pipe([2,1,4,5,3,], P.nthBy(2, identity)); // => 3
41
+ * @dataLast
42
+ * @category Array
43
+ */
44
+ export declare function nthBy<T extends IterableContainer>(index: number, ...rules: Readonly<NonEmptyArray<OrderRule<T[number]>>>): (data: T) => T[number] | undefined;
45
+ //# sourceMappingURL=nth-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nth-by.d.ts","sourceRoot":"","sources":["../../../src/array/nth-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,iBAAiB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExF,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,4BAA4B,CAAC;AAGzF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAC/C,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,GAAG,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACtD,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,iBAAiB,EAC/C,KAAK,EAAE,MAAM,EACb,GAAG,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GACtD,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC"}
@@ -0,0 +1,36 @@
1
+ import type { IterableContainer } from 'src/utils/types';
2
+ type Only<T extends IterableContainer> = T extends readonly [...Array<unknown>, unknown, unknown] | readonly [] | readonly [unknown, ...Array<unknown>, unknown] | readonly [unknown, unknown, ...Array<unknown>] ? undefined : T extends readonly [unknown] ? T[number] : T[number] | undefined;
3
+ /**
4
+ * Returns the first and only element of `array`, or undefined otherwise.
5
+ * Note: In `pipe`, use `only()` form instead of `only`. Otherwise, the
6
+ * inferred type is lost.
7
+ * @param array the target array
8
+ * @signature
9
+ * P.only(array)
10
+ * @example
11
+ * P.only([]) // => undefined
12
+ * P.only([1]) // => 1
13
+ * P.only([1, 2]) // => undefined
14
+ * @pipeable
15
+ * @category Array
16
+ * @dataFirst
17
+ */
18
+ export declare function only<T extends IterableContainer>(array: Readonly<T>): Only<T>;
19
+ /**
20
+ * Returns the first and only element of `array`, or undefined otherwise.
21
+ * Note: In `pipe`, use `only()` form instead of `only`. Otherwise, the
22
+ * inferred type is lost.
23
+ * @param array the target array
24
+ * @signature
25
+ * P.only(array)
26
+ * @example
27
+ * P.only([]) // => undefined
28
+ * P.only([1]) // => 1
29
+ * P.only([1, 2]) // => undefined
30
+ * @pipeable
31
+ * @category Array
32
+ * @dataLast
33
+ */
34
+ export declare function only<T extends IterableContainer>(): (array: Readonly<T>) => Only<T>;
35
+ export {};
36
+ //# sourceMappingURL=only.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"only.d.ts","sourceRoot":"","sources":["../../../src/array/only.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIzD,KAAK,IAAI,CAAC,CAAC,SAAS,iBAAiB,IAAI,CAAC,SACtC,SAAS,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAC9C,SAAS,EAAE,GACX,SAAS,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,GAC9C,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,GAC9C,SAAS,GACT,CAAC,SAAS,SAAS,CAAC,OAAO,CAAC,GAC1B,CAAC,CAAC,MAAM,CAAC,GACT,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAE5B;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AAE/E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,IAAI,CAAC,CAAC,SAAS,iBAAiB,KAAK,CACnD,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KACf,IAAI,CAAC,CAAC,CAAC,CAAC"}