@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,39 @@
1
+ import type { PredIndexed } from '../utils/types';
2
+ /**
3
+ * Returns the sum of the elements of an array using the provided predicate.
4
+ * @param fn predicate function
5
+ * @signature
6
+ * P.sumBy(fn)(array)
7
+ * P.sumBy.indexed(fn)(array)
8
+ * @example
9
+ * P.pipe(
10
+ * [{a: 5}, {a: 1}, {a: 3}],
11
+ * P.sumBy(x => x.a)
12
+ * ) // 9
13
+ * @dataLast
14
+ * @indexed
15
+ * @category Array
16
+ */
17
+ export declare function sumBy<T>(fn: (item: T) => number): (items: ReadonlyArray<T>) => number;
18
+ /**
19
+ * Returns the sum of the elements of an array using the provided predicate.
20
+ * @param items the array
21
+ * @param fn predicate function
22
+ * @signature
23
+ * P.sumBy(array, fn)
24
+ * P.sumBy.indexed(array, fn)
25
+ * @example
26
+ * P.sumBy(
27
+ * [{a: 5}, {a: 1}, {a: 3}],
28
+ * x => x.a
29
+ * ) // 9
30
+ * @dataFirst
31
+ * @indexed
32
+ * @category Array
33
+ */
34
+ export declare function sumBy<T>(items: ReadonlyArray<T>, fn: (item: T) => number): number;
35
+ export declare namespace sumBy {
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=sum-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sum-by.d.ts","sourceRoot":"","sources":["../../../src/array/sum-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAuB,MAAM,gBAAgB,CAAC;AAevE;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,KAAK,CAAC,CAAC,EACrB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AAEvC;;;;;;;;;;;;;;;GAeG;AAEH,wBAAgB,KAAK,CAAC,CAAC,EACrB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GACtB,MAAM,CAAC;AAMV,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,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,68 @@
1
+ import type { IterableContainer } from '../utils/types';
2
+ import type { Joined } from './join';
3
+ /**
4
+ * @link https://github.com/sindresorhus/type-fest/blob/main/source/is-equal.d.ts
5
+ */
6
+ type isEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends <G>() => G extends B ? 1 : 2 ? true : false;
7
+ type Difference<A extends number, B extends number> = TupleOfLength<A> extends [
8
+ ...infer U,
9
+ ...TupleOfLength<B>
10
+ ] ? U['length'] : never;
11
+ type isLessThan<A extends number, B extends number> = isEqual<A, B> extends true ? false : 0 extends A ? true : 0 extends B ? false : isLessThan<Difference<A, 1>, Difference<B, 1>>;
12
+ type TupleOfLength<L extends number, T extends IterableContainer = []> = T['length'] extends L ? T : TupleOfLength<L, [...T, unknown]>;
13
+ type IsNonNegative<T extends number> = number extends T ? false : `${T}` extends `-${string}` ? false : true;
14
+ type CharactersTuple<T extends string> = string extends T ? Array<string> : T extends `${infer C}${infer R}` ? [C, ...CharactersTuple<R>] : [];
15
+ type SwapArrayInternal<T extends IterableContainer, Index1 extends number, Index2 extends number, Position extends ReadonlyArray<unknown> = [], Original extends IterableContainer = T> = T extends readonly [infer AtPosition, ...infer Rest] ? [
16
+ Position['length'] extends Index1 ? Original[Index2] : Position['length'] extends Index2 ? Original[Index1] : AtPosition,
17
+ ...SwapArrayInternal<Rest, Index1, Index2, [
18
+ unknown,
19
+ ...Position
20
+ ], Original>
21
+ ] : T;
22
+ type SwapString<T extends string, K1 extends number, K2 extends number> = Joined<SwapArray<CharactersTuple<T>, K1, K2>, ''>;
23
+ type SwapArray<T extends IterableContainer, K1 extends number, K2 extends number> = IsNonNegative<K1> extends false ? Array<T[number]> : IsNonNegative<K2> extends false ? Array<T[number]> : isLessThan<K1, T['length']> extends false ? T : isLessThan<K2, T['length']> extends false ? T : SwapArrayInternal<T, K1, K2>;
24
+ type SwappedIndices<T extends IterableContainer | string, K1 extends number, K2 extends number> = T extends string ? SwapString<T, K1, K2> : T extends IterableContainer ? SwapArray<T, K1, K2> : never;
25
+ /**
26
+ * Swaps the positions of two elements in an array or string at the provided indices.
27
+ *
28
+ * Negative indices are supported and would be treated as an offset from the end of the array. The resulting type thought would be less strict than when using positive indices.
29
+ *
30
+ * If either index is out of bounds the result would be a shallow copy of the input, as-is.
31
+ *
32
+ * @param data the item to be manipulated. This can be an array, or a string.
33
+ * @param index1 the first index
34
+ * @param index2 the second index
35
+ *
36
+ * @signature
37
+ * swapIndices(data, index1, index2)
38
+ *
39
+ * @example
40
+ * swapIndices(['a', 'b', 'c'], 0, 1) // => ['b', 'a', 'c']
41
+ * swapIndices(['a', 'b', 'c'], 1, -1) // => ['c', 'b', 'a']
42
+ * swapIndices('abc', 0, 1) // => 'bac'
43
+ *
44
+ * @category Array
45
+ *
46
+ * @returns Returns the manipulated array or string.
47
+ *
48
+ * @dataFirst
49
+ */
50
+ export declare function swapIndices<T extends IterableContainer | string, K1 extends number, K2 extends number>(data: T, index1: K1, index2: K2): SwappedIndices<T, K1, K2>;
51
+ /**
52
+ * @param index1 the first index
53
+ * @param index2 the second index
54
+ *
55
+ * @signature
56
+ * swapIndices(index1, index2)(data)
57
+ *
58
+ * @example
59
+ * swapIndices(0, 1)(['a', 'b', 'c']) // => ['b', 'a', 'c']
60
+ * swapIndices(0, -1)('abc') // => 'cba'
61
+ *
62
+ * @category Array
63
+ * @returns Returns the manipulated array or string.
64
+ * @dataLast
65
+ */
66
+ export declare function swapIndices<K1 extends number, K2 extends number>(index1: K1, index2: K2): <T extends IterableContainer | string>(data: T) => SwappedIndices<T, K1, K2>;
67
+ export {};
68
+ //# sourceMappingURL=swap-indices.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap-indices.d.ts","sourceRoot":"","sources":["../../../src/array/swap-indices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import type { NonEmptyArray } from '../utils/types';
2
+ import { type OrderRule } from '../utils/purry-order-rules';
3
+ /**
4
+ * Take the first `n` items from `data` based on the provided ordering criteria.
5
+ * This allows you to avoid sorting the array before taking the items.
6
+ * The complexity of this function is *O(Nlogn)* where `N` is the length of the array.
7
+ *
8
+ * For the opposite operation (to drop `n` elements) see `dropFirstBy`.
9
+ *
10
+ * @params data - the input array
11
+ * @params n - the number of items to take. If `n` is non-positive no items would be returned, if `n` is bigger then data.length a *clone* of `data` would be returned.
12
+ * @param rules - A variadic array of order rules defining the sorting criteria.
13
+ * 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.
14
+ * @returns a subset of the input array.
15
+ * @signature
16
+ * P.takeFirstBy(data, n, ...rules);
17
+ * @example
18
+ * P.takeFirstBy(['aa', 'aaaa', 'a', 'aaa'], 2, x => x.length); // => ['a', 'aa']
19
+ * @dataFirst
20
+ * @category Array
21
+ */
22
+ export declare function takeFirstBy<T>(data: ReadonlyArray<T>, n: number, ...rules: Readonly<NonEmptyArray<OrderRule<T>>>): Array<T>;
23
+ /**
24
+ * Take the first `n` items from `data` based on the provided ordering criteria.
25
+ * This allows you to avoid sorting the array before taking the items.
26
+ * The complexity of this function is *O(Nlogn)* where `N` is the length of the array.
27
+ *
28
+ * For the opposite operation (to drop `n` elements) see `dropFirstBy`.
29
+ *
30
+ * @params data - the input array
31
+ * @params n - the number of items to take. If `n` is non-positive no items would be returned, if `n` is bigger then data.length a *clone* of `data` would be returned.
32
+ * @param rules - A variadic array of order rules defining the sorting criteria.
33
+ * 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.
34
+ * @returns a subset of the input array.
35
+ * @signature
36
+ * P.takeFirstBy(n, ...rules)(data);
37
+ * @example
38
+ * R.pipe(['aa', 'aaaa', 'a', 'aaa'], P.takeFirstBy(2, x => x.length)); // => ['a', 'aa']
39
+ * @dataLast
40
+ * @category Array
41
+ */
42
+ export declare function takeFirstBy<T>(n: number, ...rules: Readonly<NonEmptyArray<OrderRule<T>>>): (data: ReadonlyArray<T>) => Array<T>;
43
+ //# sourceMappingURL=take-first-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take-first-by.d.ts","sourceRoot":"","sources":["../../../src/array/take-first-by.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGrE,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,4BAA4B,CAAC;AAEzF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,EACtB,CAAC,EAAE,MAAM,EACT,GAAG,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9C,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,CAAC,EAAE,MAAM,EACT,GAAG,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAC9C,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Returns elements from the array until predicate returns false.
3
+ * @param array the array
4
+ * @param fn the predicate
5
+ * @signature
6
+ * P.takeWhile(array, fn)
7
+ * @example
8
+ * P.takeWhile([1, 2, 3, 4, 3, 2, 1], x => x !== 4) // => [1, 2, 3]
9
+ * @dataFirst
10
+ * @category Array
11
+ */
12
+ export declare function takeWhile<T>(array: ReadonlyArray<T>, fn: (item: T) => boolean): Array<T>;
13
+ /**
14
+ * Returns elements from the array until predicate returns false.
15
+ * @param fn the predicate
16
+ * @signature
17
+ * P.takeWhile(fn)(array)
18
+ * @example
19
+ * P.pipe([1, 2, 3, 4, 3, 2, 1], P.takeWhile(x => x !== 4)) // => [1, 2, 3]
20
+ * @dataLast
21
+ * @category Array
22
+ */
23
+ export declare function takeWhile<T>(fn: (item: T) => boolean): (array: ReadonlyArray<T>) => Array<T>;
24
+ //# sourceMappingURL=take-while.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take-while.d.ts","sourceRoot":"","sources":["../../../src/array/take-while.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GACvB,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EACzB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,GACvB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ /**
3
+ * Returns the first `n` elements of `array`.
4
+ * @param array the array
5
+ * @param n the number of elements to take
6
+ * @signature
7
+ * P.take(array, n)
8
+ * @example
9
+ * P.take([1, 2, 3, 4, 3, 2, 1], 3) // => [1, 2, 3]
10
+ * @dataFirst
11
+ * @pipeable
12
+ * @category Array
13
+ */
14
+ export declare function take<T>(array: ReadonlyArray<T>, n: number): Array<T>;
15
+ /**
16
+ * Returns the first `n` elements of `array`.
17
+ * @param n the number of elements to take
18
+ * @signature
19
+ * P.take(n)(array)
20
+ * @example
21
+ * P.pipe([1, 2, 3, 4, 3, 2, 1], P.take(n)) // => [1, 2, 3]
22
+ * @dataLast
23
+ * @pipeable
24
+ * @category Array
25
+ */
26
+ export declare function take<T>(n: number): (array: ReadonlyArray<T>) => Array<T>;
27
+ export declare namespace take {
28
+ function lazy<T>(n: number): (value: T) => LazyResult<T>;
29
+ }
30
+ //# sourceMappingURL=take.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"take.d.ts","sourceRoot":"","sources":["../../../src/array/take.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;;;GAWG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAEtE;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAU1E,yBAAiB,IAAI,CAAC;IACpB,SAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,WAChB,CAAC,KAAG,WAAW,CAAC,CAAC,CAqBjC;CACF"}
@@ -0,0 +1,22 @@
1
+ export declare function uniqBy<T, K>(array: ReadonlyArray<T>, transformer: (item: T) => K): Array<T>;
2
+ /**
3
+ * Returns a new array containing only one copy of each element in the original list transformed by a function.
4
+ * Elements are compared by reference using Set.
5
+ * @param array
6
+ * @signature
7
+ * P.uniqBy(array, fn)
8
+ * @example
9
+ * P.uniqBy(
10
+ * [{ n: 1 }, { n: 2 }, { n: 2 }, { n: 5 }, { n: 1 }, { n: 6 }, { n: 7 }],
11
+ * (obj) => obj.n,
12
+ * ) // => [{n: 1}, {n: 2}, {n: 5}, {n: 6}, {n: 7}]
13
+ * P.pipe(
14
+ * [{n: 1}, {n: 2}, {n: 2}, {n: 5}, {n: 1}, {n: 6}, {n: 7}], // only 4 iterations
15
+ * P.uniqBy(obj => obj.n),
16
+ * P.take(3)
17
+ * ) // => [{n: 1}, {n: 2}, {n: 5}]
18
+ * @pipeable
19
+ * @category Array
20
+ */
21
+ export declare function uniqBy<T, K>(transformer: (item: T) => K): (array: ReadonlyArray<T>) => Array<T>;
22
+ //# sourceMappingURL=uniq-by.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniq-by.d.ts","sourceRoot":"","sources":["../../../src/array/uniq-by.ts"],"names":[],"mappings":"AAKA,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAC1B,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AAEH,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EACzB,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAC1B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,44 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ type IsEquals<T> = (a: T, b: T) => boolean;
3
+ /**
4
+ * Returns a new array containing only one copy of each element in the original list.
5
+ * Elements are compared by custom comparator isEquals.
6
+ * @param array
7
+ * @param isEquals the comparator
8
+ * @signature
9
+ * P.uniqWith(array, isEquals)
10
+ * @example
11
+ * P.uniqWith(
12
+ * [{a: 1}, {a: 2}, {a: 2}, {a: 5}, {a: 1}, {a: 6}, {a: 7}],
13
+ * P.equals,
14
+ * ) // => [{a: 1}, {a: 2}, {a: 5}, {a: 6}, {a: 7}]
15
+ * @dataFirst
16
+ * @category Array
17
+ */
18
+ export declare function uniqWith<T>(array: ReadonlyArray<T>, isEquals: IsEquals<T>): Array<T>;
19
+ /**
20
+ * Returns a new array containing only one copy of each element in the original list.
21
+ * Elements are compared by custom comparator isEquals.
22
+ * @param isEquals the comparator
23
+ * @signature P.uniqWith(isEquals)(array)
24
+ * @example
25
+ * P.uniqWith(P.equals)(
26
+ * [{a: 1}, {a: 2}, {a: 2}, {a: 5}, {a: 1}, {a: 6}, {a: 7}],
27
+ * ) // => [{a: 1}, {a: 2}, {a: 5}, {a: 6}, {a: 7}]
28
+ * P.pipe(
29
+ * [{a: 1}, {a: 2}, {a: 2}, {a: 5}, {a: 1}, {a: 6}, {a: 7}], // only 4 iterations
30
+ * P.uniqWith(P.equals),
31
+ * P.take(3)
32
+ * ) // => [{a: 1}, {a: 2}, {a: 5}]
33
+ * @dataLast
34
+ * @category Object
35
+ */
36
+ export declare function uniqWith<T>(isEquals: IsEquals<T>): (array: ReadonlyArray<T>) => Array<T>;
37
+ declare function _lazy<T>(isEquals: IsEquals<T>): (value: T, index?: number, array?: ReadonlyArray<T>) => LazyResult<T>;
38
+ export declare namespace uniqWith {
39
+ const lazy: typeof _lazy & {
40
+ readonly indexed: true;
41
+ };
42
+ }
43
+ export {};
44
+ //# sourceMappingURL=uniq-with.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniq-with.d.ts","sourceRoot":"","sources":["../../../src/array/uniq-with.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;AAE3C;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAWzC,iBAAS,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,WAE5B,CAAC,UACA,MAAM,UACN,cAAc,CAAC,CAAC,KACvB,WAAW,CAAC,CAAC,CAgBjB;AAED,yBAAiB,QAAQ,CAAC;IACjB,MAAM,IAAI;;KAAuB,CAAC;CAC1C"}
@@ -0,0 +1,24 @@
1
+ import type { LazyResult } from '../utils/reduce-lazy';
2
+ /**
3
+ * Returns a new array containing only one copy of each element in the original list.
4
+ * Elements are compared by reference using Set.
5
+ * Note: In `pipe`, use `uniq()` form instead of `uniq`. Otherwise, the inferred type is lost.
6
+ * @param array
7
+ * @signature
8
+ * P.uniq(array)
9
+ * @example
10
+ * P.uniq([1, 2, 2, 5, 1, 6, 7]) // => [1, 2, 5, 6, 7]
11
+ * P.pipe(
12
+ * [1, 2, 2, 5, 1, 6, 7], // only 4 iterations
13
+ * P.uniq(),
14
+ * P.take(3)
15
+ * ) // => [1, 2, 5]
16
+ * @pipeable
17
+ * @category Array
18
+ */
19
+ export declare function uniq<T>(array: ReadonlyArray<T>): Array<T>;
20
+ export declare function uniq<T>(): (array: ReadonlyArray<T>) => Array<T>;
21
+ export declare namespace uniq {
22
+ function lazy<T>(): (value: T) => LazyResult<T>;
23
+ }
24
+ //# sourceMappingURL=uniq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniq.d.ts","sourceRoot":"","sources":["../../../src/array/uniq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD;;;;;;;;;;;;;;;;GAgBG;AAEH,wBAAgB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,wBAAgB,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAUjE,yBAAiB,IAAI,CAAC;IACpB,SAAgB,IAAI,CAAC,CAAC,aAEL,CAAC,KAAG,WAAW,CAAC,CAAC,CAcjC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Creates a new object from two supplied lists by pairing up equally-positioned items.
3
+ * Key/value pairing is truncated to the length of the shorter of the two lists
4
+ * @param first the first input list
5
+ * @param second the second input list
6
+ * @signature
7
+ * P.zipObj(first, second)
8
+ * @example
9
+ * P.zipObj(['a', 'b'], [1, 2]) // => {a: 1, b: 2}
10
+ * @dataFirst
11
+ * @category Array
12
+ */
13
+ export declare function zipObj<F extends number | string | symbol, S>(first: ReadonlyArray<F>, second: ReadonlyArray<S>): Record<F, S>;
14
+ /**
15
+ * Creates a new object from two supplied lists by pairing up equally-positioned items.
16
+ * Key/value pairing is truncated to the length of the shorter of the two lists
17
+ * @param second the second input list
18
+ * @signature
19
+ * P.zipObj(second)(first)
20
+ * @example
21
+ * P.zipObj([1, 2])(['a', 'b']) // => {a: 1, b: 2}
22
+ * @dataLast
23
+ * @category Array
24
+ */
25
+ export declare function zipObj<S>(second: ReadonlyArray<S>): <F extends number | string | symbol>(first: ReadonlyArray<F>) => Record<F, S>;
26
+ //# sourceMappingURL=zip-obj.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-obj.d.ts","sourceRoot":"","sources":["../../../src/array/zip-obj.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAC1D,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEhB;;;;;;;;;;GAUG;AACH,wBAAgB,MAAM,CAAC,CAAC,EACtB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EACpC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KACpB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ type ZippingFunction<F = unknown, S = unknown, R = unknown> = (f: F, s: S) => R;
2
+ /**
3
+ * Creates a new list from two supplied lists by calling the supplied function
4
+ * with the same-positioned element from each list.
5
+ * @param first the first input list
6
+ * @param second the second input list
7
+ * @param fn the function applied to each position of the list
8
+ * @signature
9
+ * P.zipWith(first, second, fn)
10
+ * @example
11
+ * P.zipWith(['1', '2', '3'], ['a', 'b', 'c'], (a, b) => a + b) // => ['1a', '2b', '3c']
12
+ * @dataFirst
13
+ * @category Array
14
+ */
15
+ export declare function zipWith<F, S, R>(first: ReadonlyArray<F>, second: ReadonlyArray<S>, fn: ZippingFunction<F, S, R>): Array<R>;
16
+ /**
17
+ * Creates a new list from two supplied lists by calling the supplied function
18
+ * with the same-positioned element from each list.
19
+ * @param fn the function applied to each position of the list
20
+ * @signature
21
+ * P.zipWith(fn)(first, second)
22
+ * @example
23
+ * P.zipWith((a, b) => a + b)(['1', '2', '3'], ['a', 'b', 'c']) // => ['1a', '2b', '3c']
24
+ * @dataLast
25
+ * @category Array
26
+ */
27
+ export declare function zipWith<F, S, R>(fn: ZippingFunction<F, S, R>): (first: ReadonlyArray<F>, second: ReadonlyArray<S>) => Array<R>;
28
+ /**
29
+ * Creates a new list from two supplied lists by calling the supplied function
30
+ * with the same-positioned element from each list.
31
+ * @param fn the function applied to each position of the list
32
+ * @param second the second input list
33
+ * @signature
34
+ * P.zipWith(fn)(first, second)
35
+ * @example
36
+ * P.zipWith((a, b) => a + b, ['a', 'b', 'c'])(['1', '2', '3']) // => ['1a', '2b', '3c']
37
+ * @dataLast
38
+ * @category Array
39
+ */
40
+ export declare function zipWith<F, S, R>(fn: ZippingFunction<F, S, R>, second: ReadonlyArray<S>): (first: ReadonlyArray<F>) => Array<R>;
41
+ export {};
42
+ //# sourceMappingURL=zip-with.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip-with.d.ts","sourceRoot":"","sources":["../../../src/array/zip-with.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACxB,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,KAAK,CAAC,CAAC,CAAC,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC3B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnE;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAC7B,EAAE,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC5B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC"}
@@ -0,0 +1,52 @@
1
+ import type { IterableContainer } from '../utils/types';
2
+ /**
3
+ * Creates a new list from two supplied lists by pairing up equally-positioned items.
4
+ * The length of the returned list will match the shortest of the two inputs.
5
+ *
6
+ * If the input array are tuples, you can use the strict option
7
+ * to get another tuple instead of a generic array type.
8
+ * @param first the first input list
9
+ * @param second the second input list
10
+ * @signature
11
+ * P.zip(first, second)
12
+ * @example
13
+ * P.zip([1, 2], ['a', 'b']) // => [[1, 'a'], [2, 'b']] (type: [number, string][])
14
+ * P.zip.strict([1, 2] as const, ['a', 'b'] as const) // => [[1, 'a'], [2, 'b']] (type: [[1, 'a'], [2, 'b']])
15
+ * @dataFirst
16
+ * @category Array
17
+ * @strict
18
+ */
19
+ export declare function zip<F, S>(first: ReadonlyArray<F>, second: ReadonlyArray<S>): Array<[F, S]>;
20
+ /**
21
+ * Creates a new list from two supplied lists by pairing up equally-positioned items.
22
+ * The length of the returned list will match the shortest of the two inputs.
23
+ *
24
+ * If the input array are tuples, you can use the strict option
25
+ * to get another tuple instead of a generic array type.
26
+ * @param second the second input list
27
+ * @signature
28
+ * P.zip(second)(first)
29
+ * @example
30
+ * P.zip(['a', 'b'])([1, 2]) // => [[1, 'a'], [2, 'b']] (type: [number, string][])
31
+ * P.zip.strict(['a', 'b'] as const)([1, 2] as const) // => [[1, 'a'], [2, 'b']] (type: [[1, 'a'], [2, 'b']])
32
+ * @dataLast
33
+ * @category Array
34
+ * @strict
35
+ */
36
+ export declare function zip<S>(second: ReadonlyArray<S>): <F>(first: ReadonlyArray<F>) => Array<[F, S]>;
37
+ interface Strict {
38
+ <F extends IterableContainer, S extends IterableContainer>(first: F, second: S): Zip<F, S>;
39
+ <S extends IterableContainer>(second: S): <F extends IterableContainer>(first: F) => Zip<F, S>;
40
+ }
41
+ type Zip<Left extends IterableContainer, Right extends IterableContainer> = Left extends readonly [] ? [] : Right extends readonly [] ? [] : Left extends readonly [infer LeftHead, ...infer LeftRest] ? Right extends readonly [infer RightHead, ...infer RightRest] ? [
42
+ [LeftHead, RightHead],
43
+ ...Zip<LeftRest, RightRest>
44
+ ] : [
45
+ [LeftHead, Right[number]],
46
+ ...Zip<LeftRest, Right>
47
+ ] : Right extends readonly [infer RightHead, ...infer RightRest] ? [[Left[number], RightHead], ...Zip<Left, RightRest>] : Array<[Left[number], Right[number]]>;
48
+ export declare namespace zip {
49
+ const strict: Strict;
50
+ }
51
+ export {};
52
+ //# sourceMappingURL=zip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zip.d.ts","sourceRoot":"","sources":["../../../src/array/zip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAIxD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EACtB,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEjB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,CAAC,EACnB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,GACvB,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAiBjD,UAAU,MAAM;IACd,CAAC,CAAC,SAAS,iBAAiB,EAAE,CAAC,SAAS,iBAAiB,EACvD,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,GACR,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEb,CAAC,CAAC,SAAS,iBAAiB,EAC1B,MAAM,EAAE,CAAC,GACR,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CACzD;AAED,KAAK,GAAG,CAAC,IAAI,SAAS,iBAAiB,EAAE,KAAK,SAAS,iBAAiB,IAEtE,IAAI,SAAS,SAAS,EAAE,GACpB,EAAE,GACF,KAAK,SAAS,SAAS,EAAE,GACvB,EAAE,GAEJ,IAAI,SAAS,SAAS,CAAC,MAAM,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,GACrD,KAAK,SAAS,SAAS,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,GAE1D;IAAC,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC;CAAC,GAGpD;IAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC;CAAC,GACtD,KAAK,SAAS,SAAS,CAAC,MAAM,SAAS,EAAE,GAAG,MAAM,SAAS,CAAC,GAC1D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,GAGtD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAE/C,yBAAiB,GAAG,CAAC;IAGZ,MAAM,MAAM,EAAE,MAAY,CAAC;CACnC"}
@@ -0,0 +1,108 @@
1
+ type Case<In, Out, Thru extends In = In> = readonly [
2
+ when: ((data: In) => boolean) | ((data: In) => data is Thru),
3
+ then: (data: Thru) => Out
4
+ ];
5
+ /**
6
+ * Executes a transformer function based on the first matching predicate,
7
+ * functioning like a series of `if...else if...` statements. It sequentially
8
+ * evaluates each case and, upon finding a truthy predicate, runs the
9
+ * corresponding transformer, and returns, ignoring any further cases, even if
10
+ * they would match.
11
+ *
12
+ * !IMPORTANT! - Unlike similar implementations in frameworks like Lodash and
13
+ * Ramda, this implementation does **NOT** return a default/fallback
14
+ * `undefined` value when none of the cases match; and instead will **throw** an
15
+ * exception in those cases.
16
+ * To add a default case use the `conditional.defaultCase` helper as the final
17
+ * case of your implementation. By default it returns `undefined`, but could be
18
+ * provided a transformer in order to return something else.
19
+ *
20
+ * Due to TypeScript's inability to infer the result of negating a type-
21
+ * predicate we can't refine the types used in subsequent cases based on
22
+ * previous conditions. Using a `switch (true)` statement or ternary operators
23
+ * is recommended for more precise type control when such type narrowing is
24
+ * needed.
25
+ *
26
+ * @param data - The input data to be evaluated against the provided cases.
27
+ * @param cases - A list of (up to 10) tuples, each defining a case. Each tuple
28
+ * consists of a predicate (or a type-predicate) and a transformer function that
29
+ * processes the data if its case matches.
30
+ * @returns The output of the matched transformer. If no cases match, an
31
+ * exception is thrown. The return type is a union of the return types of all
32
+ * provided transformers.
33
+ * @signature
34
+ * P.conditional(...cases)(data);
35
+ * @example
36
+ * const nameOrId = 3 as string | number;
37
+ * P.pipe(
38
+ * nameOrId,
39
+ * P.conditional(
40
+ * [P.isString, (name) => `Hello ${name}`],
41
+ * [P.isNumber, (id) => `Hello ID: ${id}`],
42
+ * P.conditional.defaultCase(
43
+ * (something) => `Hello something (${JSON.stringify(something)})`,
44
+ * ),
45
+ * ),
46
+ * ); //=> 'Hello ID: 3'
47
+ * @dataLast
48
+ * @category Function
49
+ */
50
+ export declare function conditional<T, Return0, Return1 = never, Return2 = never, Return3 = never, Return4 = never, Return5 = never, Return6 = never, Return7 = never, Return8 = never, Return9 = never, Thru0 extends T = T, Thru1 extends T = T, Thru2 extends T = T, Thru3 extends T = T, Thru4 extends T = T, Thru5 extends T = T, Thru6 extends T = T, Thru7 extends T = T, Thru8 extends T = T, Thru9 extends T = T>(case0: Case<T, Return0, Thru0>, case1?: Case<T, Return1, Thru1>, case2?: Case<T, Return2, Thru2>, case3?: Case<T, Return3, Thru3>, case4?: Case<T, Return4, Thru4>, case5?: Case<T, Return5, Thru5>, case6?: Case<T, Return6, Thru6>, case7?: Case<T, Return7, Thru7>, case8?: Case<T, Return8, Thru8>, case9?: Case<T, Return9, Thru9>): (data: T) => Return0 | Return1 | Return2 | Return3 | Return4 | Return5 | Return6 | Return7 | Return8 | Return9;
51
+ /**
52
+ * Executes a transformer function based on the first matching predicate,
53
+ * functioning like a series of `if...else if...` statements. It sequentially
54
+ * evaluates each case and, upon finding a truthy predicate, runs the
55
+ * corresponding transformer, and returns, ignoring any further cases, even if
56
+ * they would match.
57
+ *
58
+ * !IMPORTANT! - Unlike similar implementations in frameworks like Lodash and
59
+ * Ramda, this implementation does **NOT** return a default/fallback
60
+ * `undefined` value when none of the cases match; and instead will **throw** an
61
+ * exception in those cases.
62
+ * To add a default case use the `conditional.defaultCase` helper as the final
63
+ * case of your implementation. By default it returns `undefined`, but could be
64
+ * provided a transformer in order to return something else.
65
+ *
66
+ * Due to TypeScript's inability to infer the result of negating a type-
67
+ * predicate we can't refine the types used in subsequent cases based on
68
+ * previous conditions. Using a `switch (true)` statement or ternary operators
69
+ * is recommended for more precise type control when such type narrowing is
70
+ * needed.
71
+ *
72
+ * @param data - The input data to be evaluated against the provided cases.
73
+ * @param cases - A list of (up to 10) tuples, each defining a case. Each tuple
74
+ * consists of a predicate (or a type-predicate) and a transformer function that
75
+ * processes the data if its case matches.
76
+ * @returns The output of the matched transformer. If no cases match, an
77
+ * exception is thrown. The return type is a union of the return types of all
78
+ * provided transformers.
79
+ * @signature
80
+ * P.conditional(data, ...cases);
81
+ * @example
82
+ * const nameOrId = 3 as string | number;
83
+ * P.conditional(
84
+ * nameOrId,
85
+ * [P.isString, (name) => `Hello ${name}`],
86
+ * [P.isNumber, (id) => `Hello ID: ${id}`],
87
+ * P.conditional.defaultCase(
88
+ * (something) => `Hello something (${JSON.stringify(something)})`,
89
+ * ),
90
+ * ); //=> 'Hello ID: 3'
91
+ * @dataFirst
92
+ * @category Function
93
+ */
94
+ export declare function conditional<T, Return0, Return1 = never, Return2 = never, Return3 = never, Return4 = never, Return5 = never, Return6 = never, Return7 = never, Return8 = never, Return9 = never, Thru0 extends T = T, Thru1 extends T = T, Thru2 extends T = T, Thru3 extends T = T, Thru4 extends T = T, Thru5 extends T = T, Thru6 extends T = T, Thru7 extends T = T, Thru8 extends T = T, Thru9 extends T = T>(data: T, case0: Case<T, Return0, Thru0>, case1?: Case<T, Return1, Thru1>, case2?: Case<T, Return2, Thru2>, case3?: Case<T, Return3, Thru3>, case4?: Case<T, Return4, Thru4>, case5?: Case<T, Return5, Thru5>, case6?: Case<T, Return6, Thru6>, case7?: Case<T, Return7, Thru7>, case8?: Case<T, Return8, Thru8>, case9?: Case<T, Return9, Thru9>): Return0 | Return1 | Return2 | Return3 | Return4 | Return5 | Return6 | Return7 | Return8 | Return9;
95
+ export declare namespace conditional {
96
+ /**
97
+ * A simplified case that accepts all data. Put this as the last case to
98
+ * prevent an exception from being thrown when none of the previous cases
99
+ * match.
100
+ * If this is not the last case it will short-circuit anything after it.
101
+ * @param then - You only need to provide the transformer, the predicate is
102
+ * implicit. @default () => undefined, which is how Lodash and Ramda handle
103
+ * the final fallback case.
104
+ */
105
+ function defaultCase<In>(then?: (data: In) => unknown): readonly [() => boolean, (data: In) => unknown];
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=conditional.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional.d.ts","sourceRoot":"","sources":["../../../src/function/conditional.ts"],"names":[],"mappings":"AAEA,KAAK,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,SAAS,EAAE,GAAG,EAAE,IAAI,SAAS;IAClD,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC;IAC5D,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,WAAW,CACzB,CAAC,EACD,OAAO,EACP,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EAEnB,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC9B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAC9B,CACD,IAAI,EAAE,CAAC,KAEP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,CAAC;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,WAAW,CACzB,CAAC,EACD,OAAO,EACP,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,OAAO,GAAG,KAAK,EACf,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EACnB,KAAK,SAAS,CAAC,GAAG,CAAC,EAEnB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC9B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAC/B,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAE7B,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,GACP,OAAO,CAAC;AAqCZ,yBAAiB,WAAW,CAAC;IAC3B;;;;;;;;OAQG;IACH,SAAgB,WAAW,CAAC,EAAE,EAAE,IAAI,GAAE,CAAC,IAAI,EAAE,EAAE,KAAK,OAA4B,mCAAnC,EAAE,KAAK,OAAO,EAE1D;CACF"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Creates a data-last pipe function. First function must be always annotated. Other functions are automatically inferred.
3
+ * @signature
4
+ * P.createPipe(op1, op2, op3)(data);
5
+ * @example
6
+ * P.createPipe(
7
+ * (x: number) => x * 2,
8
+ * x => x * 3
9
+ * )(1) // => 6
10
+ * @category Function
11
+ */
12
+ export declare function createPipe<A, B>(op1: (input: A) => B): (value: A) => B;
13
+ export declare function createPipe<A, B, C>(op1: (input: A) => B, op2: (input: B) => C): (value: A) => C;
14
+ export declare function createPipe<A, B, C, D>(op1: (input: A) => B, op2: (input: B) => C, op3: (input: C) => D): (value: A) => D;
15
+ export declare function createPipe<A, B, C, D, E>(op1: (input: A) => B, op2: (input: B) => C, op3: (input: C) => D, op4: (input: D) => E): (value: A) => E;
16
+ export declare function createPipe<A, B, C, D, E, F>(op1: (input: A) => B, op2: (input: B) => C, op3: (input: C) => D, op4: (input: D) => E, op5: (input: E) => F): (value: A) => F;
17
+ export declare function createPipe<A, B, C, D, E, F, G>(op1: (input: A) => B, op2: (input: B) => C, op3: (input: C) => D, op4: (input: D) => E, op5: (input: E) => F, op6: (input: F) => G): (value: A) => G;
18
+ export declare function createPipe<A, B, C, D, E, F, G, H>(op1: (input: A) => B, op2: (input: B) => C, op3: (input: C) => D, op4: (input: D) => E, op5: (input: E) => F, op6: (input: F) => G, op7: (input: G) => H): (value: A) => H;
19
+ //# sourceMappingURL=create-pipe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-pipe.d.ts","sourceRoot":"","sources":["../../../src/function/create-pipe.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAExE,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACzC,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC5C,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnB,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAC/C,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EACpB,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GACnB,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC"}