rubico 1.9.7 → 2.0.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 (593) hide show
  1. package/.eslintignore +5 -0
  2. package/.eslintrc.js +3 -2
  3. package/.github/workflows/nodejs.yml +1 -1
  4. package/AggregateReducer.js +19 -0
  5. package/AggregateReducer.test.js +82 -0
  6. package/CHANGELOG.md +22 -1
  7. package/README.md +158 -81
  8. package/Transducer.js +75 -26
  9. package/Transducer.test.js +117 -0
  10. package/_internal/ComparisonOperator.js +68 -0
  11. package/_internal/File.js +41 -0
  12. package/_internal/FlatMappingAsyncIterator.js +4 -4
  13. package/_internal/FlatMappingIterator.js +1 -1
  14. package/_internal/TimeInLoopSuite.js +138 -0
  15. package/_internal/areAnyValuesPromises.js +23 -0
  16. package/_internal/{arrayAll.js → arrayEvery.js} +4 -4
  17. package/_internal/arrayExtend.js +3 -2
  18. package/_internal/arrayFilter.js +3 -4
  19. package/_internal/{arrayAny.js → arraySome.js} +8 -8
  20. package/_internal/{asyncIteratorAll.js → asyncIteratorEvery.js} +4 -4
  21. package/_internal/{asyncIteratorAny.js → asyncIteratorSome.js} +4 -4
  22. package/_internal/curry4.test.js +25 -0
  23. package/_internal/curry5.test.js +29 -0
  24. package/_internal/curryArgs2.js +43 -0
  25. package/_internal/curryArgs3.test.js +21 -0
  26. package/_internal/curryArgs4.js +65 -0
  27. package/_internal/curryArgs4.test.js +25 -0
  28. package/_internal/equals.js +13 -0
  29. package/_internal/findAllFilePaths.js +22 -0
  30. package/_internal/funcApply.js +2 -0
  31. package/_internal/funcCall.js +14 -0
  32. package/_internal/functionArrayAll.js +26 -0
  33. package/_internal/functionArrayAllSeries.js +55 -0
  34. package/_internal/functionObjectAll.js +32 -0
  35. package/_internal/genericReduce.js +4 -22
  36. package/_internal/genericTransform.js +15 -15
  37. package/_internal/improvedGenericTransform.js +93 -0
  38. package/_internal/{iteratorAll.js → iteratorEvery.js} +4 -4
  39. package/_internal/{iteratorAny.js → iteratorSome.js} +6 -6
  40. package/_internal/leftResolverRightResolverCompare.js +19 -0
  41. package/_internal/leftResolverRightValueCompare.js +16 -0
  42. package/_internal/leftValueRightResolverCompare.js +16 -0
  43. package/_internal/objectReduce.js +0 -1
  44. package/_internal/pathResolve.js +6 -0
  45. package/_internal/{reducerAll.js → reducerEvery.js} +4 -4
  46. package/_internal/reducerFlatMap.js +4 -4
  47. package/_internal/reducerFlatten.js +1 -1
  48. package/_internal/{reducerAny.js → reducerSome.js} +4 -4
  49. package/_internal/timeInLoop.js +37 -0
  50. package/_internal/timeInLoop.test.js +18 -0
  51. package/_internal/timeInLoopAsync.js +35 -0
  52. package/_internal/timeInLoopAsync.test.js +22 -0
  53. package/all.js +106 -40
  54. package/and.js +54 -36
  55. package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
  56. package/archive/_Promise-2023-05-29.js +93 -0
  57. package/archive/arrayMap2-2023-05-29.js +73 -0
  58. package/archive/benchmarks-v1.9.7/all.js +34 -0
  59. package/archive/benchmarks-v1.9.7/and.js +24 -0
  60. package/archive/benchmarks-v1.9.7/assign.js +174 -0
  61. package/archive/benchmarks-v1.9.7/curry.js +55 -0
  62. package/archive/benchmarks-v1.9.7/eq.js +25 -0
  63. package/archive/benchmarks-v1.9.7/filter.js +1322 -0
  64. package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
  65. package/archive/benchmarks-v1.9.7/get.js +44 -0
  66. package/archive/benchmarks-v1.9.7/gt.js +25 -0
  67. package/archive/benchmarks-v1.9.7/gte.js +25 -0
  68. package/archive/benchmarks-v1.9.7/lt.js +25 -0
  69. package/archive/benchmarks-v1.9.7/lte.js +25 -0
  70. package/archive/benchmarks-v1.9.7/map.js +892 -0
  71. package/archive/benchmarks-v1.9.7/omit.js +28 -0
  72. package/archive/benchmarks-v1.9.7/or.js +51 -0
  73. package/archive/benchmarks-v1.9.7/pick.js +24 -0
  74. package/archive/benchmarks-v1.9.7/pipe.js +152 -0
  75. package/archive/benchmarks-v1.9.7/reduce.js +739 -0
  76. package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
  77. package/archive/benchmarks-v1.9.7/tap.js +90 -0
  78. package/archive/benchmarks-v1.9.7/transform.js +218 -0
  79. package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
  80. package/assign.js +18 -8
  81. package/bench +65 -0
  82. package/benchmark-output/v1.9.7 +268 -0
  83. package/benchmarks/all.async.js +43 -0
  84. package/benchmarks/all.js +42 -33
  85. package/benchmarks/always.js +15 -0
  86. package/benchmarks/and.async.js +25 -0
  87. package/benchmarks/and.js +20 -19
  88. package/benchmarks/assign.async.js +27 -0
  89. package/benchmarks/assign.js +20 -167
  90. package/benchmarks/curry.js +34 -54
  91. package/benchmarks/eq.async.js +23 -0
  92. package/benchmarks/eq.js +17 -19
  93. package/benchmarks/every.async.js +19 -0
  94. package/benchmarks/every.js +19 -0
  95. package/benchmarks/filter.async.js +32 -0
  96. package/benchmarks/filter.js +27 -1311
  97. package/benchmarks/flatMap.async.js +26 -0
  98. package/benchmarks/flatMap.js +26 -36
  99. package/benchmarks/get.async.js +19 -0
  100. package/benchmarks/get.js +27 -32
  101. package/benchmarks/gt.async.js +23 -0
  102. package/benchmarks/gt.js +17 -19
  103. package/benchmarks/gte.async.js +23 -0
  104. package/benchmarks/gte.js +17 -19
  105. package/benchmarks/lt.async.js +23 -0
  106. package/benchmarks/lt.js +17 -19
  107. package/benchmarks/lte.async.js +23 -0
  108. package/benchmarks/lte.js +17 -19
  109. package/benchmarks/map.async.js +43 -0
  110. package/benchmarks/map.js +24 -876
  111. package/benchmarks/misc/Promise.js +26 -0
  112. package/benchmarks/misc/isPromise.js +30 -0
  113. package/benchmarks/misc/promiseAll.js +36 -0
  114. package/benchmarks/not.js +23 -0
  115. package/benchmarks/omit.js +30 -20
  116. package/benchmarks/or.async.js +25 -0
  117. package/benchmarks/or.js +23 -49
  118. package/benchmarks/pick.js +30 -16
  119. package/benchmarks/pipe.async.js +47 -0
  120. package/benchmarks/pipe.js +46 -151
  121. package/benchmarks/reduce.async.js +32 -0
  122. package/benchmarks/reduce.js +27 -728
  123. package/benchmarks/set.async.js +19 -0
  124. package/benchmarks/set.js +41 -0
  125. package/benchmarks/some.async.js +19 -0
  126. package/benchmarks/some.js +19 -0
  127. package/benchmarks/switchCase.async.js +27 -0
  128. package/benchmarks/switchCase.js +55 -256
  129. package/benchmarks/tap.js +10 -85
  130. package/benchmarks/thunkify.js +15 -0
  131. package/benchmarks/transform.async.js +27 -0
  132. package/benchmarks/transform.js +28 -206
  133. package/benchmarks/tryCatch.async.js +25 -0
  134. package/benchmarks/tryCatch.js +24 -100
  135. package/build +472 -0
  136. package/compose.js +46 -0
  137. package/dist/Transducer.es.js +481 -0
  138. package/dist/Transducer.es.min.js +7 -0
  139. package/dist/Transducer.js +488 -0
  140. package/dist/Transducer.min.js +8 -0
  141. package/dist/Transducer.mjs +481 -0
  142. package/dist/__.es.js +2 -2
  143. package/dist/__.es.min.js +2 -2
  144. package/dist/__.js +2 -2
  145. package/dist/__.min.js +2 -2
  146. package/dist/__.mjs +2 -2
  147. package/dist/all.es.js +173 -92
  148. package/dist/all.es.min.js +3 -3
  149. package/dist/all.js +173 -92
  150. package/dist/all.min.js +3 -3
  151. package/dist/all.mjs +173 -92
  152. package/dist/always.es.js +2 -2
  153. package/dist/always.es.min.js +2 -2
  154. package/dist/always.js +2 -2
  155. package/dist/always.min.js +2 -2
  156. package/dist/always.mjs +2 -2
  157. package/dist/and.es.js +101 -32
  158. package/dist/and.es.min.js +3 -3
  159. package/dist/and.js +101 -32
  160. package/dist/and.min.js +3 -3
  161. package/dist/and.mjs +101 -32
  162. package/dist/assign.es.js +37 -10
  163. package/dist/assign.es.min.js +3 -3
  164. package/dist/assign.js +37 -10
  165. package/dist/assign.min.js +3 -3
  166. package/dist/assign.mjs +37 -10
  167. package/dist/compose.es.js +71 -0
  168. package/dist/compose.es.min.js +7 -0
  169. package/dist/compose.js +78 -0
  170. package/dist/compose.min.js +8 -0
  171. package/dist/compose.mjs +71 -0
  172. package/dist/curry.es.js +2 -2
  173. package/dist/curry.es.min.js +2 -2
  174. package/dist/curry.js +2 -2
  175. package/dist/curry.min.js +2 -2
  176. package/dist/curry.mjs +2 -2
  177. package/dist/eq.es.js +172 -49
  178. package/dist/eq.es.min.js +3 -3
  179. package/dist/eq.js +172 -49
  180. package/dist/eq.min.js +3 -3
  181. package/dist/eq.mjs +172 -49
  182. package/dist/every.es.js +194 -0
  183. package/dist/every.es.min.js +7 -0
  184. package/dist/every.js +201 -0
  185. package/dist/every.min.js +8 -0
  186. package/dist/every.mjs +194 -0
  187. package/dist/filter.es.js +14 -108
  188. package/dist/filter.es.min.js +3 -3
  189. package/dist/filter.js +14 -108
  190. package/dist/filter.min.js +3 -3
  191. package/dist/filter.mjs +14 -108
  192. package/dist/flatMap.es.js +27 -214
  193. package/dist/flatMap.es.min.js +3 -3
  194. package/dist/flatMap.js +27 -214
  195. package/dist/flatMap.min.js +3 -3
  196. package/dist/flatMap.mjs +27 -214
  197. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  198. package/dist/forEach.es.min.js +7 -0
  199. package/dist/{x/forEach.js → forEach.js} +52 -70
  200. package/dist/forEach.min.js +8 -0
  201. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  202. package/dist/get.es.js +60 -5
  203. package/dist/get.es.min.js +3 -3
  204. package/dist/get.js +60 -5
  205. package/dist/get.min.js +3 -3
  206. package/dist/get.mjs +60 -5
  207. package/dist/gt.es.js +171 -48
  208. package/dist/gt.es.min.js +3 -3
  209. package/dist/gt.js +171 -48
  210. package/dist/gt.min.js +3 -3
  211. package/dist/gt.mjs +171 -48
  212. package/dist/gte.es.js +171 -48
  213. package/dist/gte.es.min.js +3 -3
  214. package/dist/gte.js +171 -48
  215. package/dist/gte.min.js +3 -3
  216. package/dist/gte.mjs +171 -48
  217. package/dist/lt.es.js +171 -48
  218. package/dist/lt.es.min.js +3 -3
  219. package/dist/lt.js +171 -48
  220. package/dist/lt.min.js +3 -3
  221. package/dist/lt.mjs +171 -48
  222. package/dist/lte.es.js +171 -48
  223. package/dist/lte.es.min.js +3 -3
  224. package/dist/lte.js +171 -48
  225. package/dist/lte.min.js +3 -3
  226. package/dist/lte.mjs +171 -48
  227. package/dist/map.es.js +12 -101
  228. package/dist/map.es.min.js +3 -3
  229. package/dist/map.js +12 -101
  230. package/dist/map.min.js +3 -3
  231. package/dist/map.mjs +12 -101
  232. package/dist/not.es.js +75 -14
  233. package/dist/not.es.min.js +3 -3
  234. package/dist/not.js +75 -14
  235. package/dist/not.min.js +3 -3
  236. package/dist/not.mjs +75 -14
  237. package/dist/omit.es.js +7 -2
  238. package/dist/omit.es.min.js +3 -3
  239. package/dist/omit.js +7 -2
  240. package/dist/omit.min.js +3 -3
  241. package/dist/omit.mjs +7 -2
  242. package/dist/or.es.js +99 -31
  243. package/dist/or.es.min.js +3 -3
  244. package/dist/or.js +99 -31
  245. package/dist/or.min.js +3 -3
  246. package/dist/or.mjs +99 -31
  247. package/dist/pick.es.js +8 -3
  248. package/dist/pick.es.min.js +3 -3
  249. package/dist/pick.js +8 -3
  250. package/dist/pick.min.js +3 -3
  251. package/dist/pick.mjs +8 -3
  252. package/dist/pipe.es.js +42 -46
  253. package/dist/pipe.es.min.js +3 -3
  254. package/dist/pipe.js +42 -46
  255. package/dist/pipe.min.js +3 -3
  256. package/dist/pipe.mjs +42 -46
  257. package/dist/reduce.es.js +52 -94
  258. package/dist/reduce.es.min.js +3 -3
  259. package/dist/reduce.js +52 -94
  260. package/dist/reduce.min.js +3 -3
  261. package/dist/reduce.mjs +52 -94
  262. package/dist/rubico.es.js +762 -883
  263. package/dist/rubico.es.min.js +3 -3
  264. package/dist/rubico.global.js +2794 -0
  265. package/dist/rubico.global.min.js +8 -0
  266. package/dist/rubico.js +739 -869
  267. package/dist/rubico.min.js +3 -3
  268. package/dist/rubico.mjs +762 -883
  269. package/dist/set.es.js +18 -3
  270. package/dist/set.es.min.js +3 -3
  271. package/dist/set.js +18 -3
  272. package/dist/set.min.js +3 -3
  273. package/dist/set.mjs +18 -3
  274. package/dist/{any.js → some.es.js} +64 -54
  275. package/dist/some.es.min.js +7 -0
  276. package/dist/{any.mjs → some.js} +72 -48
  277. package/dist/some.min.js +8 -0
  278. package/dist/{any.es.js → some.mjs} +65 -48
  279. package/dist/switchCase.es.js +55 -5
  280. package/dist/switchCase.es.min.js +3 -3
  281. package/dist/switchCase.js +55 -5
  282. package/dist/switchCase.min.js +3 -3
  283. package/dist/switchCase.mjs +55 -5
  284. package/dist/tap.es.js +2 -9
  285. package/dist/tap.es.min.js +3 -3
  286. package/dist/tap.js +2 -9
  287. package/dist/tap.min.js +3 -3
  288. package/dist/tap.mjs +2 -9
  289. package/dist/thunkify.es.js +45 -2
  290. package/dist/thunkify.es.min.js +3 -3
  291. package/dist/thunkify.js +45 -2
  292. package/dist/thunkify.min.js +3 -3
  293. package/dist/thunkify.mjs +45 -2
  294. package/dist/transform.es.js +35 -71
  295. package/dist/transform.es.min.js +3 -3
  296. package/dist/transform.js +35 -71
  297. package/dist/transform.min.js +3 -3
  298. package/dist/transform.mjs +35 -71
  299. package/dist/tryCatch.es.js +33 -17
  300. package/dist/tryCatch.es.min.js +3 -3
  301. package/dist/tryCatch.js +33 -17
  302. package/dist/tryCatch.min.js +3 -3
  303. package/dist/tryCatch.mjs +33 -17
  304. package/dist/x/append.es.js +2 -2
  305. package/dist/x/append.es.min.js +2 -2
  306. package/dist/x/append.js +2 -2
  307. package/dist/x/append.min.js +2 -2
  308. package/dist/x/append.mjs +2 -2
  309. package/dist/x/callProp.es.js +2 -2
  310. package/dist/x/callProp.es.min.js +2 -2
  311. package/dist/x/callProp.js +2 -2
  312. package/dist/x/callProp.min.js +2 -2
  313. package/dist/x/callProp.mjs +2 -2
  314. package/dist/x/defaultsDeep.es.js +2 -2
  315. package/dist/x/defaultsDeep.es.min.js +2 -2
  316. package/dist/x/defaultsDeep.js +2 -2
  317. package/dist/x/defaultsDeep.min.js +2 -2
  318. package/dist/x/defaultsDeep.mjs +2 -2
  319. package/dist/x/differenceWith.es.js +7 -7
  320. package/dist/x/differenceWith.es.min.js +3 -3
  321. package/dist/x/differenceWith.js +7 -7
  322. package/dist/x/differenceWith.min.js +2 -2
  323. package/dist/x/differenceWith.mjs +7 -7
  324. package/dist/x/filterOut.es.js +60 -117
  325. package/dist/x/filterOut.es.min.js +3 -3
  326. package/dist/x/filterOut.js +60 -117
  327. package/dist/x/filterOut.min.js +3 -3
  328. package/dist/x/filterOut.mjs +60 -117
  329. package/dist/x/find.es.js +2 -2
  330. package/dist/x/find.es.min.js +2 -2
  331. package/dist/x/find.js +2 -2
  332. package/dist/x/find.min.js +2 -2
  333. package/dist/x/find.mjs +2 -2
  334. package/dist/x/findIndex.es.js +2 -2
  335. package/dist/x/findIndex.es.min.js +2 -2
  336. package/dist/x/findIndex.js +2 -2
  337. package/dist/x/findIndex.min.js +2 -2
  338. package/dist/x/findIndex.mjs +2 -2
  339. package/dist/x/first.es.js +2 -2
  340. package/dist/x/first.es.min.js +2 -2
  341. package/dist/x/first.js +2 -2
  342. package/dist/x/first.min.js +2 -2
  343. package/dist/x/first.mjs +2 -2
  344. package/dist/x/flatten.es.js +20 -207
  345. package/dist/x/flatten.es.min.js +3 -3
  346. package/dist/x/flatten.js +20 -207
  347. package/dist/x/flatten.min.js +3 -3
  348. package/dist/x/flatten.mjs +20 -207
  349. package/dist/x/groupBy.es.js +52 -94
  350. package/dist/x/groupBy.es.min.js +3 -3
  351. package/dist/x/groupBy.js +52 -94
  352. package/dist/x/groupBy.min.js +3 -3
  353. package/dist/x/groupBy.mjs +52 -94
  354. package/dist/x/has.es.js +2 -2
  355. package/dist/x/has.es.min.js +2 -2
  356. package/dist/x/has.js +2 -2
  357. package/dist/x/has.min.js +2 -2
  358. package/dist/x/has.mjs +2 -2
  359. package/dist/x/identity.es.js +2 -2
  360. package/dist/x/identity.es.min.js +2 -2
  361. package/dist/x/identity.js +2 -2
  362. package/dist/x/identity.min.js +2 -2
  363. package/dist/x/identity.mjs +2 -2
  364. package/dist/x/includes.es.js +2 -2
  365. package/dist/x/includes.es.min.js +2 -2
  366. package/dist/x/includes.js +2 -2
  367. package/dist/x/includes.min.js +2 -2
  368. package/dist/x/includes.mjs +2 -2
  369. package/dist/x/isDeepEqual.es.js +2 -2
  370. package/dist/x/isDeepEqual.es.min.js +2 -2
  371. package/dist/x/isDeepEqual.js +2 -2
  372. package/dist/x/isDeepEqual.min.js +2 -2
  373. package/dist/x/isDeepEqual.mjs +2 -2
  374. package/dist/x/isEmpty.es.js +2 -2
  375. package/dist/x/isEmpty.es.min.js +2 -2
  376. package/dist/x/isEmpty.js +2 -2
  377. package/dist/x/isEmpty.min.js +2 -2
  378. package/dist/x/isEmpty.mjs +2 -2
  379. package/dist/x/isEqual.es.js +2 -2
  380. package/dist/x/isEqual.es.min.js +2 -2
  381. package/dist/x/isEqual.js +2 -2
  382. package/dist/x/isEqual.min.js +2 -2
  383. package/dist/x/isEqual.mjs +2 -2
  384. package/dist/x/isFunction.es.js +2 -2
  385. package/dist/x/isFunction.es.min.js +2 -2
  386. package/dist/x/isFunction.js +2 -2
  387. package/dist/x/isFunction.min.js +2 -2
  388. package/dist/x/isFunction.mjs +2 -2
  389. package/dist/x/isIn.es.js +2 -2
  390. package/dist/x/isIn.es.min.js +2 -2
  391. package/dist/x/isIn.js +2 -2
  392. package/dist/x/isIn.min.js +2 -2
  393. package/dist/x/isIn.mjs +2 -2
  394. package/dist/x/isObject.es.js +2 -2
  395. package/dist/x/isObject.es.min.js +2 -2
  396. package/dist/x/isObject.js +2 -2
  397. package/dist/x/isObject.min.js +2 -2
  398. package/dist/x/isObject.mjs +2 -2
  399. package/dist/x/isString.es.js +2 -2
  400. package/dist/x/isString.es.min.js +2 -2
  401. package/dist/x/isString.js +2 -2
  402. package/dist/x/isString.min.js +2 -2
  403. package/dist/x/isString.mjs +2 -2
  404. package/dist/x/keys.es.js +2 -2
  405. package/dist/x/keys.es.min.js +2 -2
  406. package/dist/x/keys.js +2 -2
  407. package/dist/x/keys.min.js +2 -2
  408. package/dist/x/keys.mjs +2 -2
  409. package/dist/x/last.es.js +2 -2
  410. package/dist/x/last.es.min.js +2 -2
  411. package/dist/x/last.js +2 -2
  412. package/dist/x/last.min.js +2 -2
  413. package/dist/x/last.mjs +2 -2
  414. package/dist/x/maxBy.es.js +59 -6
  415. package/dist/x/maxBy.es.min.js +3 -3
  416. package/dist/x/maxBy.js +59 -6
  417. package/dist/x/maxBy.min.js +3 -3
  418. package/dist/x/maxBy.mjs +59 -6
  419. package/dist/x/noop.es.js +2 -2
  420. package/dist/x/noop.es.min.js +2 -2
  421. package/dist/x/noop.js +2 -2
  422. package/dist/x/noop.min.js +2 -2
  423. package/dist/x/noop.mjs +2 -2
  424. package/dist/x/pluck.es.js +32 -103
  425. package/dist/x/pluck.es.min.js +3 -3
  426. package/dist/x/pluck.js +32 -103
  427. package/dist/x/pluck.min.js +3 -3
  428. package/dist/x/pluck.mjs +32 -103
  429. package/dist/x/prepend.es.js +2 -2
  430. package/dist/x/prepend.es.min.js +2 -2
  431. package/dist/x/prepend.js +2 -2
  432. package/dist/x/prepend.min.js +2 -2
  433. package/dist/x/prepend.mjs +2 -2
  434. package/dist/x/size.es.js +2 -2
  435. package/dist/x/size.es.min.js +2 -2
  436. package/dist/x/size.js +2 -2
  437. package/dist/x/size.min.js +2 -2
  438. package/dist/x/size.mjs +2 -2
  439. package/dist/x/trace.es.js +2 -9
  440. package/dist/x/trace.es.min.js +3 -3
  441. package/dist/x/trace.js +2 -9
  442. package/dist/x/trace.min.js +3 -3
  443. package/dist/x/trace.mjs +2 -9
  444. package/dist/x/unionWith.es.js +2 -2
  445. package/dist/x/unionWith.es.min.js +2 -2
  446. package/dist/x/unionWith.js +2 -2
  447. package/dist/x/unionWith.min.js +2 -2
  448. package/dist/x/unionWith.mjs +2 -2
  449. package/dist/x/uniq.es.js +2 -2
  450. package/dist/x/uniq.es.min.js +2 -2
  451. package/dist/x/uniq.js +2 -2
  452. package/dist/x/uniq.min.js +2 -2
  453. package/dist/x/uniq.mjs +2 -2
  454. package/dist/x/unless.es.js +2 -2
  455. package/dist/x/unless.es.min.js +2 -2
  456. package/dist/x/unless.js +2 -2
  457. package/dist/x/unless.min.js +2 -2
  458. package/dist/x/unless.mjs +2 -2
  459. package/dist/x/values.es.js +2 -2
  460. package/dist/x/values.es.min.js +2 -2
  461. package/dist/x/values.js +2 -2
  462. package/dist/x/values.min.js +2 -2
  463. package/dist/x/values.mjs +2 -2
  464. package/dist/x/when.es.js +2 -2
  465. package/dist/x/when.es.min.js +2 -2
  466. package/dist/x/when.js +2 -2
  467. package/dist/x/when.min.js +2 -2
  468. package/dist/x/when.mjs +2 -2
  469. package/dist-test.js +31 -2042
  470. package/eq.js +21 -63
  471. package/es.js +739 -869
  472. package/every.js +94 -0
  473. package/filter.js +23 -91
  474. package/flatMap.js +75 -70
  475. package/forEach.js +82 -0
  476. package/get.js +23 -6
  477. package/global.js +6 -4
  478. package/gt.js +15 -58
  479. package/gte.js +14 -57
  480. package/index.js +739 -869
  481. package/lt.js +17 -60
  482. package/lte.js +14 -57
  483. package/map.js +9 -94
  484. package/memory-usage/reduce.js +2 -2
  485. package/not.js +27 -45
  486. package/omit.js +4 -0
  487. package/or.js +50 -33
  488. package/package.json +7 -7
  489. package/pick.js +5 -1
  490. package/pipe.js +13 -50
  491. package/reduce.js +42 -51
  492. package/rubico.js +22 -11
  493. package/set.js +43 -10
  494. package/some.js +105 -0
  495. package/switchCase.js +13 -3
  496. package/tap.js +0 -24
  497. package/test.js +847 -1096
  498. package/thunkify.js +9 -0
  499. package/tmp.js +1 -0
  500. package/transform.js +31 -16
  501. package/tryCatch.js +19 -15
  502. package/x/differenceWith.js +3 -3
  503. package/x/filterOut.test.js +6 -6
  504. package/x/flatten.js +1 -1
  505. package/x/flatten.test.js +0 -8
  506. package/x/index.js +0 -2
  507. package/x/pluck.js +18 -27
  508. package/x/pluck.test.js +3 -7
  509. package/x/timeInLoop.js +16 -25
  510. package/x/timeInLoop.test.js +8 -4
  511. package/any.js +0 -82
  512. package/dist/__.min.mjs +0 -7
  513. package/dist/all.min.mjs +0 -7
  514. package/dist/always.min.mjs +0 -7
  515. package/dist/and.min.mjs +0 -7
  516. package/dist/any.es.min.js +0 -7
  517. package/dist/any.min.js +0 -8
  518. package/dist/any.min.mjs +0 -7
  519. package/dist/assign.min.mjs +0 -7
  520. package/dist/curry.min.mjs +0 -7
  521. package/dist/eq.min.mjs +0 -7
  522. package/dist/filter.min.mjs +0 -7
  523. package/dist/flatMap.min.mjs +0 -7
  524. package/dist/fork.es.js +0 -159
  525. package/dist/fork.es.min.js +0 -7
  526. package/dist/fork.js +0 -166
  527. package/dist/fork.min.js +0 -8
  528. package/dist/fork.min.mjs +0 -7
  529. package/dist/fork.mjs +0 -159
  530. package/dist/get.min.mjs +0 -7
  531. package/dist/gt.min.mjs +0 -7
  532. package/dist/gte.min.mjs +0 -7
  533. package/dist/lt.min.mjs +0 -7
  534. package/dist/lte.min.mjs +0 -7
  535. package/dist/map.min.mjs +0 -7
  536. package/dist/not.min.mjs +0 -7
  537. package/dist/omit.min.mjs +0 -7
  538. package/dist/or.min.mjs +0 -7
  539. package/dist/pick.min.mjs +0 -7
  540. package/dist/pipe.min.mjs +0 -7
  541. package/dist/reduce.min.mjs +0 -7
  542. package/dist/rubico.min.mjs +0 -7
  543. package/dist/set.min.mjs +0 -7
  544. package/dist/switchCase.min.mjs +0 -7
  545. package/dist/tap.min.mjs +0 -7
  546. package/dist/thunkify.min.mjs +0 -7
  547. package/dist/transform.min.mjs +0 -7
  548. package/dist/tryCatch.min.mjs +0 -7
  549. package/dist/x/append.min.mjs +0 -7
  550. package/dist/x/callProp.min.mjs +0 -7
  551. package/dist/x/defaultsDeep.min.mjs +0 -7
  552. package/dist/x/differenceWith.min.mjs +0 -7
  553. package/dist/x/filterOut.min.mjs +0 -7
  554. package/dist/x/find.min.mjs +0 -7
  555. package/dist/x/findIndex.min.mjs +0 -7
  556. package/dist/x/first.min.mjs +0 -7
  557. package/dist/x/flatten.min.mjs +0 -7
  558. package/dist/x/forEach.es.min.js +0 -7
  559. package/dist/x/forEach.min.js +0 -8
  560. package/dist/x/forEach.min.mjs +0 -7
  561. package/dist/x/groupBy.min.mjs +0 -7
  562. package/dist/x/has.min.mjs +0 -7
  563. package/dist/x/identity.min.mjs +0 -7
  564. package/dist/x/includes.min.mjs +0 -7
  565. package/dist/x/isDeepEqual.min.mjs +0 -7
  566. package/dist/x/isEmpty.min.mjs +0 -7
  567. package/dist/x/isEqual.min.mjs +0 -7
  568. package/dist/x/isFunction.min.mjs +0 -7
  569. package/dist/x/isIn.min.mjs +0 -7
  570. package/dist/x/isObject.min.mjs +0 -7
  571. package/dist/x/isString.min.mjs +0 -7
  572. package/dist/x/keys.min.mjs +0 -7
  573. package/dist/x/last.min.mjs +0 -7
  574. package/dist/x/maxBy.min.mjs +0 -7
  575. package/dist/x/noop.min.mjs +0 -7
  576. package/dist/x/pluck.min.mjs +0 -7
  577. package/dist/x/prepend.min.mjs +0 -7
  578. package/dist/x/size.min.mjs +0 -7
  579. package/dist/x/trace.min.mjs +0 -7
  580. package/dist/x/unionWith.min.mjs +0 -7
  581. package/dist/x/uniq.min.mjs +0 -7
  582. package/dist/x/unless.min.mjs +0 -7
  583. package/dist/x/values.min.mjs +0 -7
  584. package/dist/x/when.min.mjs +0 -7
  585. package/distributor.js +0 -495
  586. package/fork.js +0 -101
  587. package/x/forEach.js +0 -93
  588. package/x/forEach.test.js +0 -218
  589. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  590. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  591. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  592. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  593. /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const last=t=>{if(null==t)return;const e=t.length;return"number"==typeof e?t[e-1]:void 0};export default last;
package/dist/x/last.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/x/last.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,12 +1,56 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
+ const isPromise = value => value != null && typeof value.then == 'function'
9
+
10
+ const __ = Symbol.for('placeholder')
11
+
12
+ // argument resolver for curry3
13
+ const curry3ResolveArg0 = (
14
+ baseFunc, arg1, arg2,
15
+ ) => function arg0Resolver(arg0) {
16
+ return baseFunc(arg0, arg1, arg2)
17
+ }
18
+
19
+ // argument resolver for curry3
20
+ const curry3ResolveArg1 = (
21
+ baseFunc, arg0, arg2,
22
+ ) => function arg1Resolver(arg1) {
23
+ return baseFunc(arg0, arg1, arg2)
24
+ }
25
+
26
+ // argument resolver for curry3
27
+ const curry3ResolveArg2 = (
28
+ baseFunc, arg0, arg1,
29
+ ) => function arg2Resolver(arg2) {
30
+ return baseFunc(arg0, arg1, arg2)
31
+ }
32
+
33
+ const curry3 = function (baseFunc, arg0, arg1, arg2) {
34
+ if (arg0 == __) {
35
+ return curry3ResolveArg0(baseFunc, arg1, arg2)
36
+ }
37
+ if (arg1 == __) {
38
+ return curry3ResolveArg1(baseFunc, arg0, arg2)
39
+ }
40
+ return curry3ResolveArg2(baseFunc, arg0, arg1)
41
+ }
42
+
8
43
  const isArray = Array.isArray
9
44
 
45
+ const isObject = value => {
46
+ if (value == null) {
47
+ return false
48
+ }
49
+
50
+ const typeofValue = typeof value
51
+ return (typeofValue == 'object') || (typeofValue == 'function')
52
+ }
53
+
10
54
  const memoizeCappedUnary = function (func, cap) {
11
55
  const cache = new Map(),
12
56
  memoized = function memoized(arg0) {
@@ -65,14 +109,23 @@ const getByPath = function (value, path) {
65
109
  return result
66
110
  }
67
111
 
68
- const get = (path, defaultValue) => function getter(value) {
69
- const result = value == null ? undefined : getByPath(value, path)
112
+ // _get(object Object, path string, defaultValue function|any)
113
+ const _get = function (object, path, defaultValue) {
114
+ const result = object == null ? undefined : getByPath(object, path)
70
115
  return result === undefined
71
- ? typeof defaultValue == 'function' ? defaultValue(value) : defaultValue
116
+ ? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
72
117
  : result
73
118
  }
74
119
 
75
- const __ = Symbol.for('placeholder')
120
+ const get = function (arg0, arg1, arg2) {
121
+ if (isPromise(arg0)) {
122
+ return arg0.then(curry3(_get, __, arg1, arg2))
123
+ }
124
+ if (isObject(arg0) && !isArray(arg0)) {
125
+ return _get(arg0, arg1, arg2)
126
+ }
127
+ return curry3(_get, __, arg0, arg1)
128
+ }
76
129
 
77
130
  // argument resolver for curry2
78
131
  const curry2ResolveArg0 = (
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isArray=Array.isArray,memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,a=r;for(;++o<n;)if(a=a[t[o]],null==a)return;return a},get=(r,e)=>function(t){const n=null==t?void 0:getByPath(t,r);return void 0===n?"function"==typeof e?e(t):e:n},__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},_maxBy=function(r,e){const t=r.length,n=get(e);let o=0,a=r[o];for(;++o<t;){const e=r[o];n(e)>n(a)&&(a=e)}return a},maxBy=function(...r){return r.length>1?_maxBy(...r):(e=_maxBy,t=__,n=r[0],t==__?curry2ResolveArg0(e,n):curry2ResolveArg1(e,t));var e,t,n};export default maxBy;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry3ResolveArg0=(r,e,t)=>function(n){return r(n,e,t)},curry3ResolveArg1=(r,e,t)=>function(n){return r(e,n,t)},curry3ResolveArg2=(r,e,t)=>function(n){return r(e,t,n)},curry3=function(r,e,t,n){return e==__?curry3ResolveArg0(r,t,n):t==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const e=typeof r;return"object"==e||"function"==e},memoizeCappedUnary=function(r,e){const t=new Map,n=function(n){if(t.has(n))return t.get(n);const o=r(n);return t.set(n,o),t.size>e&&t.clear(),o};return n.cache=t,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],n="]"==r[e];return t&&n?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):n?r.slice(0,e).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,e){const t=propertyPathToArray(e),n=t.length;let o=-1,u=r;for(;++o<n;)if(u=u[t[o]],null==u)return;return u},_get=function(r,e,t){const n=null==r?void 0:getByPath(r,e);return void 0===n?"function"==typeof t?t(r):t:n},get=function(r,e,t){return null!=(n=r)&&"function"==typeof n.then?r.then(curry3(_get,__,e,t)):isObject(r)&&!isArray(r)?_get(r,e,t):curry3(_get,__,r,e);var i},curry2ResolveArg0=(r,e)=>function(t){return r(t,e)},curry2ResolveArg1=(r,e)=>function(t){return r(e,t)},curry2=function(r,e,t){return e==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,e)},_maxBy=function(r,e){const t=r.length,n=null!=(i=o=e)&&"function"==typeof i.then?o.then(curry3(_get,__,u,c)):isObject(o)&&!isArray(o)?_get(o,u,c):curry3(_get,__,o,u);var o,u,c,i;let s=0,y=r[s];for(;++s<t;){const e=r[s];n(e)>n(y)&&(y=e)}return y},maxBy=function(...r){return r.length>1?_maxBy(...r):(e=_maxBy,t=__,n=r[0],t==__?curry2ResolveArg0(e,n):curry2ResolveArg1(e,t));var e,t,n};export default maxBy;
package/dist/x/maxBy.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -11,8 +11,52 @@
11
11
  else (root.maxBy = maxBy) // Browser
12
12
  }(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
13
13
 
14
+ const isPromise = value => value != null && typeof value.then == 'function'
15
+
16
+ const __ = Symbol.for('placeholder')
17
+
18
+ // argument resolver for curry3
19
+ const curry3ResolveArg0 = (
20
+ baseFunc, arg1, arg2,
21
+ ) => function arg0Resolver(arg0) {
22
+ return baseFunc(arg0, arg1, arg2)
23
+ }
24
+
25
+ // argument resolver for curry3
26
+ const curry3ResolveArg1 = (
27
+ baseFunc, arg0, arg2,
28
+ ) => function arg1Resolver(arg1) {
29
+ return baseFunc(arg0, arg1, arg2)
30
+ }
31
+
32
+ // argument resolver for curry3
33
+ const curry3ResolveArg2 = (
34
+ baseFunc, arg0, arg1,
35
+ ) => function arg2Resolver(arg2) {
36
+ return baseFunc(arg0, arg1, arg2)
37
+ }
38
+
39
+ const curry3 = function (baseFunc, arg0, arg1, arg2) {
40
+ if (arg0 == __) {
41
+ return curry3ResolveArg0(baseFunc, arg1, arg2)
42
+ }
43
+ if (arg1 == __) {
44
+ return curry3ResolveArg1(baseFunc, arg0, arg2)
45
+ }
46
+ return curry3ResolveArg2(baseFunc, arg0, arg1)
47
+ }
48
+
14
49
  const isArray = Array.isArray
15
50
 
51
+ const isObject = value => {
52
+ if (value == null) {
53
+ return false
54
+ }
55
+
56
+ const typeofValue = typeof value
57
+ return (typeofValue == 'object') || (typeofValue == 'function')
58
+ }
59
+
16
60
  const memoizeCappedUnary = function (func, cap) {
17
61
  const cache = new Map(),
18
62
  memoized = function memoized(arg0) {
@@ -71,14 +115,23 @@ const getByPath = function (value, path) {
71
115
  return result
72
116
  }
73
117
 
74
- const get = (path, defaultValue) => function getter(value) {
75
- const result = value == null ? undefined : getByPath(value, path)
118
+ // _get(object Object, path string, defaultValue function|any)
119
+ const _get = function (object, path, defaultValue) {
120
+ const result = object == null ? undefined : getByPath(object, path)
76
121
  return result === undefined
77
- ? typeof defaultValue == 'function' ? defaultValue(value) : defaultValue
122
+ ? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
78
123
  : result
79
124
  }
80
125
 
81
- const __ = Symbol.for('placeholder')
126
+ const get = function (arg0, arg1, arg2) {
127
+ if (isPromise(arg0)) {
128
+ return arg0.then(curry3(_get, __, arg1, arg2))
129
+ }
130
+ if (isObject(arg0) && !isArray(arg0)) {
131
+ return _get(arg0, arg1, arg2)
132
+ }
133
+ return curry3(_get, __, arg0, arg1)
134
+ }
82
135
 
83
136
  // argument resolver for curry2
84
137
  const curry2ResolveArg0 = (
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(t,n){"object"==typeof module?module.exports=n:"function"==typeof define?define((()=>n)):t.maxBy=n}("object"==typeof globalThis?globalThis:this,function(){"use strict";const t=Array.isArray,n=/[.|[|\]]+/,e=function(t,n){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=t(o);return e.set(o,r),e.size>n&&e.clear(),r};return o.cache=e,o}((function(t){const e=t.length-1,o="["==t[0],r="]"==t[e];return o&&r?t.slice(1,e).split(n):o?t.slice(1).split(n):r?t.slice(0,e).split(n):t.split(n)}),500),o=function(n,o){const r=(n=>t(n)?n:"string"==typeof n?e(n):[n])(o),i=r.length;let c=-1,u=n;for(;++c<i;)if(u=u[r[c]],null==u)return;return u},r=Symbol.for("placeholder"),i=function(t,n){const e=t.length,r=((t,n)=>function(e){const r=null==e?void 0:o(e,t);return void 0===r?"function"==typeof n?n(e):n:r})(n);let i=0,c=t[i];for(;++i<e;){const n=t[i];r(n)>r(c)&&(c=n)}return c};return function(...t){return t.length>1?i(...t):(n=i,e=r,o=t[0],e==r?((t,n)=>function(e){return t(e,n)})(n,o):((t,n)=>function(e){return t(n,e)})(n,e));var n,e,o}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.maxBy=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Symbol.for("placeholder"),t=function(t,e,o,r){return e==n?((n,t,e)=>function(o){return n(o,t,e)})(t,o,r):o==n?((n,t,e)=>function(o){return n(t,o,e)})(t,e,r):((n,t,e)=>function(o){return n(t,e,o)})(t,e,o)},e=Array.isArray,o=/[.|[|\]]+/,r=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(o):e?n.slice(1).split(o):r?n.slice(0,t).split(o):n.split(o)}),500),u=function(n,t){const o=(n=>e(n)?n:"string"==typeof n?r(n):[n])(t),u=o.length;let i=-1,c=n;for(;++i<u;)if(c=c[o[i]],null==c)return;return c},i=function(n,t,e){const o=null==n?void 0:u(n,t);return void 0===o?"function"==typeof e?e(n):e:o},c=function(o,r){const u=o.length,c=null!=(p=f=r)&&"function"==typeof p.then?f.then(t(i,n,l,s)):(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(f)&&!e(f)?i(f,l,s):t(i,n,f,l);var f,l,s,p;let a=0,h=o[a];for(;++a<u;){const n=o[a];c(n)>c(h)&&(h=n)}return h};return function(...t){return t.length>1?c(...t):(e=c,o=n,r=t[0],o==n?((n,t)=>function(e){return n(e,t)})(e,r):((n,t)=>function(e){return n(t,e)})(e,o));var e,o,r}}());
package/dist/x/maxBy.mjs CHANGED
@@ -1,12 +1,56 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
+ const isPromise = value => value != null && typeof value.then == 'function'
9
+
10
+ const __ = Symbol.for('placeholder')
11
+
12
+ // argument resolver for curry3
13
+ const curry3ResolveArg0 = (
14
+ baseFunc, arg1, arg2,
15
+ ) => function arg0Resolver(arg0) {
16
+ return baseFunc(arg0, arg1, arg2)
17
+ }
18
+
19
+ // argument resolver for curry3
20
+ const curry3ResolveArg1 = (
21
+ baseFunc, arg0, arg2,
22
+ ) => function arg1Resolver(arg1) {
23
+ return baseFunc(arg0, arg1, arg2)
24
+ }
25
+
26
+ // argument resolver for curry3
27
+ const curry3ResolveArg2 = (
28
+ baseFunc, arg0, arg1,
29
+ ) => function arg2Resolver(arg2) {
30
+ return baseFunc(arg0, arg1, arg2)
31
+ }
32
+
33
+ const curry3 = function (baseFunc, arg0, arg1, arg2) {
34
+ if (arg0 == __) {
35
+ return curry3ResolveArg0(baseFunc, arg1, arg2)
36
+ }
37
+ if (arg1 == __) {
38
+ return curry3ResolveArg1(baseFunc, arg0, arg2)
39
+ }
40
+ return curry3ResolveArg2(baseFunc, arg0, arg1)
41
+ }
42
+
8
43
  const isArray = Array.isArray
9
44
 
45
+ const isObject = value => {
46
+ if (value == null) {
47
+ return false
48
+ }
49
+
50
+ const typeofValue = typeof value
51
+ return (typeofValue == 'object') || (typeofValue == 'function')
52
+ }
53
+
10
54
  const memoizeCappedUnary = function (func, cap) {
11
55
  const cache = new Map(),
12
56
  memoized = function memoized(arg0) {
@@ -65,14 +109,23 @@ const getByPath = function (value, path) {
65
109
  return result
66
110
  }
67
111
 
68
- const get = (path, defaultValue) => function getter(value) {
69
- const result = value == null ? undefined : getByPath(value, path)
112
+ // _get(object Object, path string, defaultValue function|any)
113
+ const _get = function (object, path, defaultValue) {
114
+ const result = object == null ? undefined : getByPath(object, path)
70
115
  return result === undefined
71
- ? typeof defaultValue == 'function' ? defaultValue(value) : defaultValue
116
+ ? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
72
117
  : result
73
118
  }
74
119
 
75
- const __ = Symbol.for('placeholder')
120
+ const get = function (arg0, arg1, arg2) {
121
+ if (isPromise(arg0)) {
122
+ return arg0.then(curry3(_get, __, arg1, arg2))
123
+ }
124
+ if (isObject(arg0) && !isArray(arg0)) {
125
+ return _get(arg0, arg1, arg2)
126
+ }
127
+ return curry3(_get, __, arg0, arg1)
128
+ }
76
129
 
77
130
  // argument resolver for curry2
78
131
  const curry2ResolveArg0 = (
package/dist/x/noop.es.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
  const noop=function(){};export default noop;
package/dist/x/noop.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
package/dist/x/noop.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -85,20 +85,6 @@ const isObject = value => {
85
85
  return (typeofValue == 'object') || (typeofValue == 'function')
86
86
  }
87
87
 
88
- const objectProto = Object.prototype
89
-
90
- const nativeObjectToString = objectProto.toString
91
-
92
- const objectToString = value => nativeObjectToString.call(value)
93
-
94
- const generatorFunctionTag = '[object GeneratorFunction]'
95
-
96
- const isGeneratorFunction = value => objectToString(value) == generatorFunctionTag
97
-
98
- const asyncGeneratorFunctionTag = '[object AsyncGeneratorFunction]'
99
-
100
- const isAsyncGeneratorFunction = value => objectToString(value) == asyncGeneratorFunctionTag
101
-
102
88
  const promiseAll = Promise.all.bind(Promise)
103
89
 
104
90
  const arrayMap = function (array, mapper) {
@@ -117,31 +103,6 @@ const arrayMap = function (array, mapper) {
117
103
  return isAsync ? promiseAll(result) : result
118
104
  }
119
105
 
120
- const generatorFunctionMap = (
121
- generatorFunc, mapper,
122
- ) => function* mappingGeneratorFunc(...args) {
123
- for (const item of generatorFunc(...args)) {
124
- yield mapper(item)
125
- }
126
- }
127
-
128
- const asyncGeneratorFunctionMap = function (asyncGeneratorFunc, mapper) {
129
- return async function* mappingAsyncGeneratorFunc(...args) {
130
- for await (const item of asyncGeneratorFunc(...args)) {
131
- yield mapper(item)
132
- }
133
- }
134
- }
135
-
136
- const reducerMap = (
137
- reducer, mapper,
138
- ) => function mappingReducer(result, reducerItem) {
139
- const mappingReducerItem = mapper(reducerItem)
140
- return isPromise(mappingReducerItem)
141
- ? mappingReducerItem.then(curry2(reducer, result, __))
142
- : reducer(result, mappingReducerItem)
143
- }
144
-
145
106
  // argument resolver for curry3
146
107
  const curry3ResolveArg0 = (
147
108
  baseFunc, arg1, arg2,
@@ -381,38 +342,6 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
381
342
  return result
382
343
  }
383
344
 
384
- const arrayMapWithIndex = function (array, mapper) {
385
- const arrayLength = array.length,
386
- result = Array(arrayLength)
387
- let index = -1, isAsync = false
388
- while (++index < arrayLength) {
389
- const resultItem = mapper(array[index], index, array)
390
- if (isPromise(resultItem)) {
391
- isAsync = true
392
- }
393
- result[index] = resultItem
394
- }
395
- return isAsync ? promiseAll(result) : result
396
- }
397
-
398
- const hasOwnProperty = Object.prototype.hasOwnProperty
399
- const hasOwn = (obj, key) => hasOwnProperty.call(obj, key)
400
-
401
- const objectMapOwn = function (object, mapper) {
402
- const result = {}
403
- let isAsync = false
404
- for (const key in object) {
405
- if (hasOwn(object, key)) {
406
- const resultItem = mapper(object[key])
407
- if (isPromise(resultItem)) {
408
- isAsync = true
409
- }
410
- result[key] = resultItem
411
- }
412
- }
413
- return isAsync ? promiseObjectAll(result) : result
414
- }
415
-
416
345
  const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
417
346
  const argsLength = args.length,
418
347
  curriedArgsLength = curriedArgs.length,
@@ -520,15 +449,6 @@ const _map = function (value, mapper) {
520
449
  if (isArray(value)) {
521
450
  return arrayMap(value, mapper)
522
451
  }
523
- if (typeof value == 'function') {
524
- if (isGeneratorFunction(value)) {
525
- return generatorFunctionMap(value, mapper)
526
- }
527
- if (isAsyncGeneratorFunction(value)) {
528
- return asyncGeneratorFunctionMap(value, mapper)
529
- }
530
- return reducerMap(value, mapper)
531
- }
532
452
  if (value == null) {
533
453
  return value
534
454
  }
@@ -562,10 +482,15 @@ const _map = function (value, mapper) {
562
482
 
563
483
  const map = (...args) => {
564
484
  const mapper = args.pop()
565
- if (args.length > 0) {
566
- return _map(args[0], mapper)
485
+ if (args.length == 0) {
486
+ return curry2(_map, __, mapper)
487
+ }
488
+
489
+ const collection = args[0]
490
+ if (isPromise(collection)) {
491
+ return collection.then(curry2(_map, __, mapper))
567
492
  }
568
- return curry2(_map, __, mapper)
493
+ return _map(collection, mapper)
569
494
  }
570
495
 
571
496
  map.entries = function mapEntries(mapper) {
@@ -597,20 +522,6 @@ map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
597
522
  throw new TypeError(`${value} is not an Array`)
598
523
  }
599
524
 
600
- map.withIndex = mapper => function mappingWithIndex(value) {
601
- if (isArray(value)) {
602
- return arrayMapWithIndex(value, mapper)
603
- }
604
- throw new TypeError(`${value} is not an Array`)
605
- }
606
-
607
- map.own = mapper => function mappingOwnProperties(value) {
608
- if (isObject(value) && !isArray(value)) {
609
- return objectMapOwn(value, mapper)
610
- }
611
- throw new TypeError(`${value} is not an Object`)
612
- }
613
-
614
525
  const memoizeCappedUnary = function (func, cap) {
615
526
  const cache = new Map(),
616
527
  memoized = function memoized(arg0) {
@@ -669,13 +580,31 @@ const getByPath = function (value, path) {
669
580
  return result
670
581
  }
671
582
 
672
- const get = (path, defaultValue) => function getter(value) {
673
- const result = value == null ? undefined : getByPath(value, path)
583
+ // _get(object Object, path string, defaultValue function|any)
584
+ const _get = function (object, path, defaultValue) {
585
+ const result = object == null ? undefined : getByPath(object, path)
674
586
  return result === undefined
675
- ? typeof defaultValue == 'function' ? defaultValue(value) : defaultValue
587
+ ? typeof defaultValue == 'function' ? defaultValue(object) : defaultValue
676
588
  : result
677
589
  }
678
590
 
679
- const pluck = funcConcat(get, map)
591
+ const get = function (arg0, arg1, arg2) {
592
+ if (isPromise(arg0)) {
593
+ return arg0.then(curry3(_get, __, arg1, arg2))
594
+ }
595
+ if (isObject(arg0) && !isArray(arg0)) {
596
+ return _get(arg0, arg1, arg2)
597
+ }
598
+ return curry3(_get, __, arg0, arg1)
599
+ }
600
+
601
+ const pluck = function (...args) {
602
+ const path = args.pop()
603
+ const getter = get(path)
604
+ if (args.length == 0) {
605
+ return map(getter)
606
+ }
607
+ return map(args[0], getter)
608
+ }
680
609
 
681
610
  export default pluck
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.1
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2021 Richard Tong
4
+ * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...n){const e=r(...n);return isPromise(e)?e.then(t):t(e)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const n=r.next();return n.done?n:{value:t(n.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const n=await r.next();if(n.done)return n;const e=t(n.value);return isPromise(e)?e.then(NextIteration):{value:e,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(n){return r(n,t)},curry2ResolveArg1=(r,t)=>function(n){return r(t,n)},curry2=function(r,t,n){return t==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const n=r.length,e=Array(n);let o=-1,c=!1;for(;++o<n;){const n=t(r[o],o,r);isPromise(n)&&(c=!0),e[o]=n}return c?promiseAll(e):e},generatorFunctionMap=(r,t)=>function*(...n){for(const e of r(...n))yield t(e)},asyncGeneratorFunctionMap=function(r,t){return async function*(...n){for await(const e of r(...n))yield t(e)}},reducerMap=(r,t)=>function(n,e){const o=t(e);return isPromise(o)?o.then(curry2(r,n,__)):r(n,o)},curry3ResolveArg0=(r,t,n)=>function(e){return r(e,t,n)},curry3ResolveArg1=(r,t,n)=>function(e){return r(t,e,n)},curry3ResolveArg2=(r,t,n)=>function(e){return r(t,n,e)},curry3=function(r,t,n,e){return t==__?curry3ResolveArg0(r,n,e):n==__?curry3ResolveArg1(r,t,e):curry3ResolveArg2(r,t,n)},callPropUnary=(r,t,n)=>r[t](n),stringMap=function(r,t){const n=arrayMap(r,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},always=r=>function(){return r},setMap=function(r,t){const n=new Set,e=[];for(const o of r){const c=t(o,o,r);isPromise(c)?e.push(c.then(curry3(callPropUnary,n,"add",__))):n.add(c)}return 0==e.length?n:promiseAll(e).then(always(n))},curry4ResolveArg0=(r,t,n,e)=>function(o){return r(o,t,n,e)},curry4ResolveArg1=(r,t,n,e)=>function(o){return r(t,o,n,e)},curry4ResolveArg2=(r,t,n,e)=>function(o){return r(t,n,o,e)},curry4ResolveArg3=(r,t,n,e)=>function(o){return r(t,n,e,o)},curry4=function(r,t,n,e,o){return t==__?curry4ResolveArg0(r,n,e,o):n==__?curry4ResolveArg1(r,t,e,o):e==__?curry4ResolveArg2(r,t,n,o):curry4ResolveArg3(r,t,n,e)},callPropBinary=(r,t,n,e)=>r[t](n,e),mapMap=function(r,t){const n=new Map,e=[];for(const[o,c]of r){const i=t(c,o,r);isPromise(i)?e.push(i.then(curry4(callPropBinary,n,"set",o,__))):n.set(o,i)}return 0==e.length?n:promiseAll(e).then(always(n))},promiseObjectAllExecutor=r=>function(t){const n={};let e=0;for(const o in r){const c=r[o];isPromise(c)?(e+=1,c.then((r=>function(o){n[r]=o,e-=1,0==e&&t(n)})(o))):n[o]=c}0==e&&t(n)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const n={};let e=!1;for(const o in r){const c=t(r[o],o,r);isPromise(c)&&(e=!0),n[o]=c}return e?promiseObjectAll(n):n},objectSet=function(r,t,n){return r[t]=n,r},arrayMapSeriesAsync=async function(r,t,n,e){const o=r.length;for(;++e<o;){const o=t(r[e]);n[e]=isPromise(o)?await o:o}return n},arrayMapSeries=function(r,t){const n=r.length,e=Array(n);let o=-1;for(;++o<n;){const n=t(r[o]);if(isPromise(n))return n.then(funcConcat(curry3(objectSet,e,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));e[o]=n}return e},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,n,e,o,c){const i=r.length;for(;++o<i;){c.size>=n&&await promiseRace(c);const i=t(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>c.delete(r))));c.add(r),e[o]=r}else e[o]=i}return promiseAll(e)},arrayMapPool=function(r,t,n){const e=r.length,o=Array(e);let c=-1;for(;++c<e;){const e=t(r[c]);if(isPromise(e)){const i=new Set,a=e.then(tapSync((()=>i.delete(a))));return i.add(a),o[c]=a,arrayMapPoolAsync(r,t,n,o,c,i)}o[c]=e}return o},arrayMapWithIndex=function(r,t){const n=r.length,e=Array(n);let o=-1,c=!1;for(;++o<n;){const n=t(r[o],o,r);isPromise(n)&&(c=!0),e[o]=n}return c?promiseAll(e):e},hasOwnProperty=Object.prototype.hasOwnProperty,hasOwn=(r,t)=>hasOwnProperty.call(r,t),objectMapOwn=function(r,t){const n={};let e=!1;for(const o in r)if(hasOwn(r,o)){const c=t(r[o]);isPromise(c)&&(e=!0),n[o]=c}return e?promiseObjectAll(n):n},_curryArity=(r,t,n)=>function(...e){const o=n.length,c=e.length,i=[];let a=-1,s=-1,u=0;for(;++a<o;){const o=n[a];if(o==__&&(s+=1)<c){const r=e[s];r==__&&(u+=1),i.push(r)}else i.push(o);if(i.length==r)return 0==u?t(...i):curryArity(r,t,i)}for(;++s<c;){const n=e[s];if(n==__&&(u+=1),i.push(n),i.length==r)return 0==u?t(...i):curryArity(r,t,i)}return curryArity(r,t,i)},curryArity=function(r,t,n){const e=n.length;if(e<r)return _curryArity(r,t,n);let o=-1;for(;++o<e;){if(n[o]==__)return _curryArity(r,t,n)}return t(...n)},spread2=r=>function([t,n]){return r(t,n)},objectMapEntries=function(r,t){const n={},e=[];for(const o in r){const c=t([o,r[o]]);isPromise(c)?e.push(c.then(spread2(curryArity(3,objectSet,[n])))):n[c[0]]=c[1]}return 0==e.length?n:promiseAll(e).then(always(n))},mapSet=function(r,t,n){return r.set(t,n)},mapMapEntriesForEachCallback=(r,t,n)=>function(e,o){const c=r([o,e]);isPromise(c)?n.push(c.then(spread2(curryArity(3,mapSet,[t])))):t.set(c[0],c[1])},mapMapEntries=function(r,t){const n=new Map,e=[];return r.forEach(mapMapEntriesForEachCallback(t,n,e)),0==e.length?n:promiseAll(e).then(always(n))},_map=function(r,t){return isArray(r)?arrayMap(r,t):"function"==typeof r?isGeneratorFunction(r)?generatorFunctionMap(r,t):isAsyncGeneratorFunction(r)?asyncGeneratorFunctionMap(r,t):reducerMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=(...r)=>{const t=r.pop();return r.length>0?_map(r[0],t):curry2(_map,__,t)};map.entries=function(r){return function(t){if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return objectMapEntries(t,r);if(t.constructor==Map)return mapMapEntries(t,r);throw new TypeError("value is not an Object or Map")}},map.series=r=>function(t){if(isArray(t))return arrayMapSeries(t,r);throw new TypeError(`${t} is not an Array`)},map.pool=(r,t)=>function(n){if(isArray(n))return arrayMapPool(n,t,r);throw new TypeError(`${n} is not an Array`)},map.withIndex=r=>function(t){if(isArray(t))return arrayMapWithIndex(t,r);throw new TypeError(`${t} is not an Array`)},map.own=r=>function(t){if(isObject(t)&&!isArray(t))return objectMapOwn(t,r);throw new TypeError(`${t} is not an Object`)};const memoizeCappedUnary=function(r,t){const n=new Map,e=function(e){if(n.has(e))return n.get(e);const o=r(e);return n.set(e,o),n.size>t&&n.clear(),o};return e.cache=n,e},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,n="["==r[0],e="]"==r[t];return n&&e?r.slice(1,t).split(pathDelimiters):n?r.slice(1).split(pathDelimiters):e?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const n=propertyPathToArray(t),e=n.length;let o=-1,c=r;for(;++o<e;)if(c=c[n[o]],null==c)return;return c},get=(r,t)=>function(n){const e=null==n?void 0:getByPath(n,r);return void 0===e?"function"==typeof t?t(n):t:e},pluck=funcConcat(get,map);export default pluck;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const c=t(s,o,r);isPromise(c)?n.push(c.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,c)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n]);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o]);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const c=r.length;for(;++o<c;){s.size>=e&&await promiseRace(s);const c=t(r[o]);if(isPromise(c)){const r=c.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=c}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const c=new Set,i=n.then(tapSync((()=>c.delete(i))));return c.add(i),o[s]=i,arrayMapPoolAsync(r,t,e,o,s,c)}o[s]=n}return o},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,c=[];let i=-1,a=-1,u=0;for(;++i<o;){const o=e[i];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),c.push(r)}else c.push(o);if(c.length==r)return 0==u?t(...c):curryArity(r,t,c)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),c.push(e),c.length==r)return 0==u?t(...c):curryArity(r,t,c)}return curryArity(r,t,c)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapSet=function(r,t,e){return r.set(t,e)},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=(...r)=>{const t=r.pop();if(0==r.length)return curry2(_map,__,t);const e=r[0];return isPromise(e)?e.then(curry2(_map,__,t)):_map(e,t)};map.entries=function(r){return function(t){if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return objectMapEntries(t,r);if(t.constructor==Map)return mapMapEntries(t,r);throw new TypeError("value is not an Object or Map")}},map.series=r=>function(t){if(isArray(t))return arrayMapSeries(t,r);throw new TypeError(`${t} is not an Array`)},map.pool=(r,t)=>function(e){if(isArray(e))return arrayMapPool(e,t,r);throw new TypeError(`${e} is not an Array`)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return isPromise(r)?r.then(curry3(_get,__,t,e)):isObject(r)&&!isArray(r)?_get(r,t,e):curry3(_get,__,r,t)},pluck=function(...r){const t=r.pop(),e=isPromise(n=t)?n.then(curry3(_get,__,o,s)):isObject(n)&&!isArray(n)?_get(n,o,s):curry3(_get,__,n,o);var n,o,s;return 0==r.length?map(e):map(r[0],e)};export default pluck;