rubico 1.9.7 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) 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/Transducer.js +75 -26
  8. package/Transducer.test.js +117 -0
  9. package/_internal/ComparisonOperator.js +68 -0
  10. package/_internal/File.js +41 -0
  11. package/_internal/FlatMappingAsyncIterator.js +4 -4
  12. package/_internal/FlatMappingIterator.js +1 -1
  13. package/_internal/TimeInLoopSuite.js +138 -0
  14. package/_internal/areAnyValuesPromises.js +23 -0
  15. package/_internal/{arrayAll.js → arrayEvery.js} +4 -4
  16. package/_internal/arrayExtend.js +3 -2
  17. package/_internal/arrayFilter.js +3 -4
  18. package/_internal/{arrayAny.js → arraySome.js} +8 -8
  19. package/_internal/{asyncIteratorAll.js → asyncIteratorEvery.js} +4 -4
  20. package/_internal/{asyncIteratorAny.js → asyncIteratorSome.js} +4 -4
  21. package/_internal/curry4.test.js +25 -0
  22. package/_internal/curry5.test.js +29 -0
  23. package/_internal/curryArgs2.js +43 -0
  24. package/_internal/curryArgs3.test.js +21 -0
  25. package/_internal/curryArgs4.js +65 -0
  26. package/_internal/curryArgs4.test.js +25 -0
  27. package/_internal/equals.js +13 -0
  28. package/_internal/findAllFilePaths.js +22 -0
  29. package/_internal/funcApply.js +2 -0
  30. package/_internal/funcCall.js +14 -0
  31. package/_internal/functionArrayAll.js +26 -0
  32. package/_internal/functionArrayAllSeries.js +55 -0
  33. package/_internal/functionObjectAll.js +32 -0
  34. package/_internal/genericReduce.js +4 -22
  35. package/_internal/genericTransform.js +15 -15
  36. package/_internal/improvedGenericTransform.js +93 -0
  37. package/_internal/{iteratorAll.js → iteratorEvery.js} +4 -4
  38. package/_internal/{iteratorAny.js → iteratorSome.js} +6 -6
  39. package/_internal/leftResolverRightResolverCompare.js +19 -0
  40. package/_internal/leftResolverRightValueCompare.js +16 -0
  41. package/_internal/leftValueRightResolverCompare.js +16 -0
  42. package/_internal/objectReduce.js +0 -1
  43. package/_internal/pathResolve.js +6 -0
  44. package/_internal/{reducerAll.js → reducerEvery.js} +4 -4
  45. package/_internal/reducerFlatMap.js +4 -4
  46. package/_internal/reducerFlatten.js +1 -1
  47. package/_internal/{reducerAny.js → reducerSome.js} +4 -4
  48. package/_internal/timeInLoop.js +37 -0
  49. package/_internal/timeInLoop.test.js +18 -0
  50. package/_internal/timeInLoopAsync.js +35 -0
  51. package/_internal/timeInLoopAsync.test.js +22 -0
  52. package/all.js +106 -40
  53. package/and.js +54 -36
  54. package/archive/{FlatMappingIteratorCool.js → FlatMappingIterator-2020-09-28.js} +1 -1
  55. package/archive/_Promise-2023-05-29.js +93 -0
  56. package/archive/arrayMap2-2023-05-29.js +73 -0
  57. package/archive/benchmarks-v1.9.7/all.js +34 -0
  58. package/archive/benchmarks-v1.9.7/and.js +24 -0
  59. package/archive/benchmarks-v1.9.7/assign.js +174 -0
  60. package/archive/benchmarks-v1.9.7/curry.js +55 -0
  61. package/archive/benchmarks-v1.9.7/eq.js +25 -0
  62. package/archive/benchmarks-v1.9.7/filter.js +1322 -0
  63. package/archive/benchmarks-v1.9.7/flatMap.js +48 -0
  64. package/archive/benchmarks-v1.9.7/get.js +44 -0
  65. package/archive/benchmarks-v1.9.7/gt.js +25 -0
  66. package/archive/benchmarks-v1.9.7/gte.js +25 -0
  67. package/archive/benchmarks-v1.9.7/lt.js +25 -0
  68. package/archive/benchmarks-v1.9.7/lte.js +25 -0
  69. package/archive/benchmarks-v1.9.7/map.js +892 -0
  70. package/archive/benchmarks-v1.9.7/omit.js +28 -0
  71. package/archive/benchmarks-v1.9.7/or.js +51 -0
  72. package/archive/benchmarks-v1.9.7/pick.js +24 -0
  73. package/archive/benchmarks-v1.9.7/pipe.js +152 -0
  74. package/archive/benchmarks-v1.9.7/reduce.js +739 -0
  75. package/archive/benchmarks-v1.9.7/switchCase.js +256 -0
  76. package/archive/benchmarks-v1.9.7/tap.js +90 -0
  77. package/archive/benchmarks-v1.9.7/transform.js +218 -0
  78. package/archive/benchmarks-v1.9.7/tryCatch.js +108 -0
  79. package/assign.js +18 -8
  80. package/bench +65 -0
  81. package/benchmark-output/v1.9.7 +268 -0
  82. package/benchmarks/all.async.js +43 -0
  83. package/benchmarks/all.js +42 -33
  84. package/benchmarks/always.js +15 -0
  85. package/benchmarks/and.async.js +25 -0
  86. package/benchmarks/and.js +20 -19
  87. package/benchmarks/assign.async.js +27 -0
  88. package/benchmarks/assign.js +20 -167
  89. package/benchmarks/curry.js +34 -54
  90. package/benchmarks/eq.async.js +23 -0
  91. package/benchmarks/eq.js +17 -19
  92. package/benchmarks/every.async.js +19 -0
  93. package/benchmarks/every.js +19 -0
  94. package/benchmarks/filter.async.js +32 -0
  95. package/benchmarks/filter.js +27 -1311
  96. package/benchmarks/flatMap.async.js +26 -0
  97. package/benchmarks/flatMap.js +26 -36
  98. package/benchmarks/get.async.js +19 -0
  99. package/benchmarks/get.js +27 -32
  100. package/benchmarks/gt.async.js +23 -0
  101. package/benchmarks/gt.js +17 -19
  102. package/benchmarks/gte.async.js +23 -0
  103. package/benchmarks/gte.js +17 -19
  104. package/benchmarks/lt.async.js +23 -0
  105. package/benchmarks/lt.js +17 -19
  106. package/benchmarks/lte.async.js +23 -0
  107. package/benchmarks/lte.js +17 -19
  108. package/benchmarks/map.async.js +43 -0
  109. package/benchmarks/map.js +24 -876
  110. package/benchmarks/misc/Promise.js +26 -0
  111. package/benchmarks/misc/isPromise.js +30 -0
  112. package/benchmarks/misc/promiseAll.js +36 -0
  113. package/benchmarks/not.js +23 -0
  114. package/benchmarks/omit.js +30 -20
  115. package/benchmarks/or.async.js +25 -0
  116. package/benchmarks/or.js +23 -49
  117. package/benchmarks/pick.js +30 -16
  118. package/benchmarks/pipe.async.js +47 -0
  119. package/benchmarks/pipe.js +46 -151
  120. package/benchmarks/reduce.async.js +32 -0
  121. package/benchmarks/reduce.js +27 -728
  122. package/benchmarks/set.async.js +19 -0
  123. package/benchmarks/set.js +41 -0
  124. package/benchmarks/some.async.js +19 -0
  125. package/benchmarks/some.js +19 -0
  126. package/benchmarks/switchCase.async.js +27 -0
  127. package/benchmarks/switchCase.js +55 -256
  128. package/benchmarks/tap.js +10 -85
  129. package/benchmarks/thunkify.js +15 -0
  130. package/benchmarks/transform.async.js +27 -0
  131. package/benchmarks/transform.js +28 -206
  132. package/benchmarks/tryCatch.async.js +25 -0
  133. package/benchmarks/tryCatch.js +24 -100
  134. package/{distributor.js → build} +50 -50
  135. package/compose.js +46 -0
  136. package/dist/__.es.js +2 -2
  137. package/dist/__.es.min.js +2 -2
  138. package/dist/__.js +2 -2
  139. package/dist/__.min.js +2 -2
  140. package/dist/__.min.mjs +2 -2
  141. package/dist/__.mjs +2 -2
  142. package/dist/all.es.js +173 -92
  143. package/dist/all.es.min.js +3 -3
  144. package/dist/all.js +173 -92
  145. package/dist/all.min.js +3 -3
  146. package/dist/all.min.mjs +3 -3
  147. package/dist/all.mjs +173 -92
  148. package/dist/always.es.js +2 -2
  149. package/dist/always.es.min.js +2 -2
  150. package/dist/always.js +2 -2
  151. package/dist/always.min.js +2 -2
  152. package/dist/always.min.mjs +2 -2
  153. package/dist/always.mjs +2 -2
  154. package/dist/and.es.js +101 -32
  155. package/dist/and.es.min.js +3 -3
  156. package/dist/and.js +101 -32
  157. package/dist/and.min.js +3 -3
  158. package/dist/and.min.mjs +3 -3
  159. package/dist/and.mjs +101 -32
  160. package/dist/assign.es.js +37 -10
  161. package/dist/assign.es.min.js +3 -3
  162. package/dist/assign.js +37 -10
  163. package/dist/assign.min.js +3 -3
  164. package/dist/assign.min.mjs +3 -3
  165. package/dist/assign.mjs +37 -10
  166. package/dist/compose.es.js +71 -0
  167. package/dist/compose.es.min.js +7 -0
  168. package/dist/compose.js +78 -0
  169. package/dist/compose.min.js +8 -0
  170. package/dist/compose.min.mjs +7 -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.min.mjs +2 -2
  177. package/dist/curry.mjs +2 -2
  178. package/dist/eq.es.js +172 -49
  179. package/dist/eq.es.min.js +3 -3
  180. package/dist/eq.js +172 -49
  181. package/dist/eq.min.js +3 -3
  182. package/dist/eq.min.mjs +3 -3
  183. package/dist/eq.mjs +172 -49
  184. package/dist/every.es.js +194 -0
  185. package/dist/every.es.min.js +7 -0
  186. package/dist/every.js +201 -0
  187. package/dist/every.min.js +8 -0
  188. package/dist/every.min.mjs +7 -0
  189. package/dist/every.mjs +194 -0
  190. package/dist/filter.es.js +14 -108
  191. package/dist/filter.es.min.js +3 -3
  192. package/dist/filter.js +14 -108
  193. package/dist/filter.min.js +3 -3
  194. package/dist/filter.min.mjs +3 -3
  195. package/dist/filter.mjs +14 -108
  196. package/dist/flatMap.es.js +27 -214
  197. package/dist/flatMap.es.min.js +3 -3
  198. package/dist/flatMap.js +27 -214
  199. package/dist/flatMap.min.js +3 -3
  200. package/dist/flatMap.min.mjs +3 -3
  201. package/dist/flatMap.mjs +27 -214
  202. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  203. package/dist/forEach.es.min.js +7 -0
  204. package/dist/{x/forEach.js → forEach.js} +52 -70
  205. package/dist/forEach.min.js +8 -0
  206. package/dist/forEach.min.mjs +7 -0
  207. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  208. package/dist/get.es.js +60 -5
  209. package/dist/get.es.min.js +3 -3
  210. package/dist/get.js +60 -5
  211. package/dist/get.min.js +3 -3
  212. package/dist/get.min.mjs +3 -3
  213. package/dist/get.mjs +60 -5
  214. package/dist/gt.es.js +171 -48
  215. package/dist/gt.es.min.js +3 -3
  216. package/dist/gt.js +171 -48
  217. package/dist/gt.min.js +3 -3
  218. package/dist/gt.min.mjs +3 -3
  219. package/dist/gt.mjs +171 -48
  220. package/dist/gte.es.js +171 -48
  221. package/dist/gte.es.min.js +3 -3
  222. package/dist/gte.js +171 -48
  223. package/dist/gte.min.js +3 -3
  224. package/dist/gte.min.mjs +3 -3
  225. package/dist/gte.mjs +171 -48
  226. package/dist/lt.es.js +171 -48
  227. package/dist/lt.es.min.js +3 -3
  228. package/dist/lt.js +171 -48
  229. package/dist/lt.min.js +3 -3
  230. package/dist/lt.min.mjs +3 -3
  231. package/dist/lt.mjs +171 -48
  232. package/dist/lte.es.js +171 -48
  233. package/dist/lte.es.min.js +3 -3
  234. package/dist/lte.js +171 -48
  235. package/dist/lte.min.js +3 -3
  236. package/dist/lte.min.mjs +3 -3
  237. package/dist/lte.mjs +171 -48
  238. package/dist/map.es.js +12 -101
  239. package/dist/map.es.min.js +3 -3
  240. package/dist/map.js +12 -101
  241. package/dist/map.min.js +3 -3
  242. package/dist/map.min.mjs +3 -3
  243. package/dist/map.mjs +12 -101
  244. package/dist/not.es.js +75 -14
  245. package/dist/not.es.min.js +3 -3
  246. package/dist/not.js +75 -14
  247. package/dist/not.min.js +3 -3
  248. package/dist/not.min.mjs +3 -3
  249. package/dist/not.mjs +75 -14
  250. package/dist/omit.es.js +7 -2
  251. package/dist/omit.es.min.js +3 -3
  252. package/dist/omit.js +7 -2
  253. package/dist/omit.min.js +3 -3
  254. package/dist/omit.min.mjs +3 -3
  255. package/dist/omit.mjs +7 -2
  256. package/dist/or.es.js +99 -31
  257. package/dist/or.es.min.js +3 -3
  258. package/dist/or.js +99 -31
  259. package/dist/or.min.js +3 -3
  260. package/dist/or.min.mjs +3 -3
  261. package/dist/or.mjs +99 -31
  262. package/dist/pick.es.js +8 -3
  263. package/dist/pick.es.min.js +3 -3
  264. package/dist/pick.js +8 -3
  265. package/dist/pick.min.js +3 -3
  266. package/dist/pick.min.mjs +3 -3
  267. package/dist/pick.mjs +8 -3
  268. package/dist/pipe.es.js +42 -46
  269. package/dist/pipe.es.min.js +3 -3
  270. package/dist/pipe.js +42 -46
  271. package/dist/pipe.min.js +3 -3
  272. package/dist/pipe.min.mjs +3 -3
  273. package/dist/pipe.mjs +42 -46
  274. package/dist/reduce.es.js +52 -94
  275. package/dist/reduce.es.min.js +3 -3
  276. package/dist/reduce.js +52 -94
  277. package/dist/reduce.min.js +3 -3
  278. package/dist/reduce.min.mjs +3 -3
  279. package/dist/reduce.mjs +52 -94
  280. package/dist/rubico.es.js +730 -869
  281. package/dist/rubico.es.min.js +3 -3
  282. package/dist/rubico.js +730 -869
  283. package/dist/rubico.min.js +3 -3
  284. package/dist/rubico.min.mjs +3 -3
  285. package/dist/rubico.mjs +730 -869
  286. package/dist/set.es.js +18 -3
  287. package/dist/set.es.min.js +3 -3
  288. package/dist/set.js +18 -3
  289. package/dist/set.min.js +3 -3
  290. package/dist/set.min.mjs +3 -3
  291. package/dist/set.mjs +18 -3
  292. package/dist/{any.js → some.es.js} +64 -54
  293. package/dist/some.es.min.js +7 -0
  294. package/dist/{any.mjs → some.js} +72 -48
  295. package/dist/some.min.js +8 -0
  296. package/dist/some.min.mjs +7 -0
  297. package/dist/{any.es.js → some.mjs} +65 -48
  298. package/dist/switchCase.es.js +55 -5
  299. package/dist/switchCase.es.min.js +3 -3
  300. package/dist/switchCase.js +55 -5
  301. package/dist/switchCase.min.js +3 -3
  302. package/dist/switchCase.min.mjs +3 -3
  303. package/dist/switchCase.mjs +55 -5
  304. package/dist/tap.es.js +2 -9
  305. package/dist/tap.es.min.js +3 -3
  306. package/dist/tap.js +2 -9
  307. package/dist/tap.min.js +3 -3
  308. package/dist/tap.min.mjs +3 -3
  309. package/dist/tap.mjs +2 -9
  310. package/dist/thunkify.es.js +45 -2
  311. package/dist/thunkify.es.min.js +3 -3
  312. package/dist/thunkify.js +45 -2
  313. package/dist/thunkify.min.js +3 -3
  314. package/dist/thunkify.min.mjs +3 -3
  315. package/dist/thunkify.mjs +45 -2
  316. package/dist/transform.es.js +35 -71
  317. package/dist/transform.es.min.js +3 -3
  318. package/dist/transform.js +35 -71
  319. package/dist/transform.min.js +3 -3
  320. package/dist/transform.min.mjs +3 -3
  321. package/dist/transform.mjs +35 -71
  322. package/dist/tryCatch.es.js +33 -17
  323. package/dist/tryCatch.es.min.js +3 -3
  324. package/dist/tryCatch.js +33 -17
  325. package/dist/tryCatch.min.js +3 -3
  326. package/dist/tryCatch.min.mjs +3 -3
  327. package/dist/tryCatch.mjs +33 -17
  328. package/dist/x/append.es.js +2 -2
  329. package/dist/x/append.es.min.js +2 -2
  330. package/dist/x/append.js +2 -2
  331. package/dist/x/append.min.js +2 -2
  332. package/dist/x/append.min.mjs +2 -2
  333. package/dist/x/append.mjs +2 -2
  334. package/dist/x/callProp.es.js +2 -2
  335. package/dist/x/callProp.es.min.js +2 -2
  336. package/dist/x/callProp.js +2 -2
  337. package/dist/x/callProp.min.js +2 -2
  338. package/dist/x/callProp.min.mjs +2 -2
  339. package/dist/x/callProp.mjs +2 -2
  340. package/dist/x/defaultsDeep.es.js +2 -2
  341. package/dist/x/defaultsDeep.es.min.js +2 -2
  342. package/dist/x/defaultsDeep.js +2 -2
  343. package/dist/x/defaultsDeep.min.js +2 -2
  344. package/dist/x/defaultsDeep.min.mjs +2 -2
  345. package/dist/x/defaultsDeep.mjs +2 -2
  346. package/dist/x/differenceWith.es.js +7 -7
  347. package/dist/x/differenceWith.es.min.js +3 -3
  348. package/dist/x/differenceWith.js +7 -7
  349. package/dist/x/differenceWith.min.js +2 -2
  350. package/dist/x/differenceWith.min.mjs +3 -3
  351. package/dist/x/differenceWith.mjs +7 -7
  352. package/dist/x/filterOut.es.js +60 -117
  353. package/dist/x/filterOut.es.min.js +3 -3
  354. package/dist/x/filterOut.js +60 -117
  355. package/dist/x/filterOut.min.js +3 -3
  356. package/dist/x/filterOut.min.mjs +3 -3
  357. package/dist/x/filterOut.mjs +60 -117
  358. package/dist/x/find.es.js +2 -2
  359. package/dist/x/find.es.min.js +2 -2
  360. package/dist/x/find.js +2 -2
  361. package/dist/x/find.min.js +2 -2
  362. package/dist/x/find.min.mjs +2 -2
  363. package/dist/x/find.mjs +2 -2
  364. package/dist/x/findIndex.es.js +2 -2
  365. package/dist/x/findIndex.es.min.js +2 -2
  366. package/dist/x/findIndex.js +2 -2
  367. package/dist/x/findIndex.min.js +2 -2
  368. package/dist/x/findIndex.min.mjs +2 -2
  369. package/dist/x/findIndex.mjs +2 -2
  370. package/dist/x/first.es.js +2 -2
  371. package/dist/x/first.es.min.js +2 -2
  372. package/dist/x/first.js +2 -2
  373. package/dist/x/first.min.js +2 -2
  374. package/dist/x/first.min.mjs +2 -2
  375. package/dist/x/first.mjs +2 -2
  376. package/dist/x/flatten.es.js +20 -207
  377. package/dist/x/flatten.es.min.js +3 -3
  378. package/dist/x/flatten.js +20 -207
  379. package/dist/x/flatten.min.js +3 -3
  380. package/dist/x/flatten.min.mjs +3 -3
  381. package/dist/x/flatten.mjs +20 -207
  382. package/dist/x/groupBy.es.js +52 -94
  383. package/dist/x/groupBy.es.min.js +3 -3
  384. package/dist/x/groupBy.js +52 -94
  385. package/dist/x/groupBy.min.js +3 -3
  386. package/dist/x/groupBy.min.mjs +3 -3
  387. package/dist/x/groupBy.mjs +52 -94
  388. package/dist/x/has.es.js +2 -2
  389. package/dist/x/has.es.min.js +2 -2
  390. package/dist/x/has.js +2 -2
  391. package/dist/x/has.min.js +2 -2
  392. package/dist/x/has.min.mjs +2 -2
  393. package/dist/x/has.mjs +2 -2
  394. package/dist/x/identity.es.js +2 -2
  395. package/dist/x/identity.es.min.js +2 -2
  396. package/dist/x/identity.js +2 -2
  397. package/dist/x/identity.min.js +2 -2
  398. package/dist/x/identity.min.mjs +2 -2
  399. package/dist/x/identity.mjs +2 -2
  400. package/dist/x/includes.es.js +2 -2
  401. package/dist/x/includes.es.min.js +2 -2
  402. package/dist/x/includes.js +2 -2
  403. package/dist/x/includes.min.js +2 -2
  404. package/dist/x/includes.min.mjs +2 -2
  405. package/dist/x/includes.mjs +2 -2
  406. package/dist/x/isDeepEqual.es.js +2 -2
  407. package/dist/x/isDeepEqual.es.min.js +2 -2
  408. package/dist/x/isDeepEqual.js +2 -2
  409. package/dist/x/isDeepEqual.min.js +2 -2
  410. package/dist/x/isDeepEqual.min.mjs +2 -2
  411. package/dist/x/isDeepEqual.mjs +2 -2
  412. package/dist/x/isEmpty.es.js +2 -2
  413. package/dist/x/isEmpty.es.min.js +2 -2
  414. package/dist/x/isEmpty.js +2 -2
  415. package/dist/x/isEmpty.min.js +2 -2
  416. package/dist/x/isEmpty.min.mjs +2 -2
  417. package/dist/x/isEmpty.mjs +2 -2
  418. package/dist/x/isEqual.es.js +2 -2
  419. package/dist/x/isEqual.es.min.js +2 -2
  420. package/dist/x/isEqual.js +2 -2
  421. package/dist/x/isEqual.min.js +2 -2
  422. package/dist/x/isEqual.min.mjs +2 -2
  423. package/dist/x/isEqual.mjs +2 -2
  424. package/dist/x/isFunction.es.js +2 -2
  425. package/dist/x/isFunction.es.min.js +2 -2
  426. package/dist/x/isFunction.js +2 -2
  427. package/dist/x/isFunction.min.js +2 -2
  428. package/dist/x/isFunction.min.mjs +2 -2
  429. package/dist/x/isFunction.mjs +2 -2
  430. package/dist/x/isIn.es.js +2 -2
  431. package/dist/x/isIn.es.min.js +2 -2
  432. package/dist/x/isIn.js +2 -2
  433. package/dist/x/isIn.min.js +2 -2
  434. package/dist/x/isIn.min.mjs +2 -2
  435. package/dist/x/isIn.mjs +2 -2
  436. package/dist/x/isObject.es.js +2 -2
  437. package/dist/x/isObject.es.min.js +2 -2
  438. package/dist/x/isObject.js +2 -2
  439. package/dist/x/isObject.min.js +2 -2
  440. package/dist/x/isObject.min.mjs +2 -2
  441. package/dist/x/isObject.mjs +2 -2
  442. package/dist/x/isString.es.js +2 -2
  443. package/dist/x/isString.es.min.js +2 -2
  444. package/dist/x/isString.js +2 -2
  445. package/dist/x/isString.min.js +2 -2
  446. package/dist/x/isString.min.mjs +2 -2
  447. package/dist/x/isString.mjs +2 -2
  448. package/dist/x/keys.es.js +2 -2
  449. package/dist/x/keys.es.min.js +2 -2
  450. package/dist/x/keys.js +2 -2
  451. package/dist/x/keys.min.js +2 -2
  452. package/dist/x/keys.min.mjs +2 -2
  453. package/dist/x/keys.mjs +2 -2
  454. package/dist/x/last.es.js +2 -2
  455. package/dist/x/last.es.min.js +2 -2
  456. package/dist/x/last.js +2 -2
  457. package/dist/x/last.min.js +2 -2
  458. package/dist/x/last.min.mjs +2 -2
  459. package/dist/x/last.mjs +2 -2
  460. package/dist/x/maxBy.es.js +59 -6
  461. package/dist/x/maxBy.es.min.js +3 -3
  462. package/dist/x/maxBy.js +59 -6
  463. package/dist/x/maxBy.min.js +3 -3
  464. package/dist/x/maxBy.min.mjs +3 -3
  465. package/dist/x/maxBy.mjs +59 -6
  466. package/dist/x/noop.es.js +2 -2
  467. package/dist/x/noop.es.min.js +2 -2
  468. package/dist/x/noop.js +2 -2
  469. package/dist/x/noop.min.js +2 -2
  470. package/dist/x/noop.min.mjs +2 -2
  471. package/dist/x/noop.mjs +2 -2
  472. package/dist/x/pluck.es.js +32 -103
  473. package/dist/x/pluck.es.min.js +3 -3
  474. package/dist/x/pluck.js +32 -103
  475. package/dist/x/pluck.min.js +3 -3
  476. package/dist/x/pluck.min.mjs +3 -3
  477. package/dist/x/pluck.mjs +32 -103
  478. package/dist/x/prepend.es.js +2 -2
  479. package/dist/x/prepend.es.min.js +2 -2
  480. package/dist/x/prepend.js +2 -2
  481. package/dist/x/prepend.min.js +2 -2
  482. package/dist/x/prepend.min.mjs +2 -2
  483. package/dist/x/prepend.mjs +2 -2
  484. package/dist/x/size.es.js +2 -2
  485. package/dist/x/size.es.min.js +2 -2
  486. package/dist/x/size.js +2 -2
  487. package/dist/x/size.min.js +2 -2
  488. package/dist/x/size.min.mjs +2 -2
  489. package/dist/x/size.mjs +2 -2
  490. package/dist/x/trace.es.js +2 -9
  491. package/dist/x/trace.es.min.js +3 -3
  492. package/dist/x/trace.js +2 -9
  493. package/dist/x/trace.min.js +3 -3
  494. package/dist/x/trace.min.mjs +3 -3
  495. package/dist/x/trace.mjs +2 -9
  496. package/dist/x/unionWith.es.js +2 -2
  497. package/dist/x/unionWith.es.min.js +2 -2
  498. package/dist/x/unionWith.js +2 -2
  499. package/dist/x/unionWith.min.js +2 -2
  500. package/dist/x/unionWith.min.mjs +2 -2
  501. package/dist/x/unionWith.mjs +2 -2
  502. package/dist/x/uniq.es.js +2 -2
  503. package/dist/x/uniq.es.min.js +2 -2
  504. package/dist/x/uniq.js +2 -2
  505. package/dist/x/uniq.min.js +2 -2
  506. package/dist/x/uniq.min.mjs +2 -2
  507. package/dist/x/uniq.mjs +2 -2
  508. package/dist/x/unless.es.js +2 -2
  509. package/dist/x/unless.es.min.js +2 -2
  510. package/dist/x/unless.js +2 -2
  511. package/dist/x/unless.min.js +2 -2
  512. package/dist/x/unless.min.mjs +2 -2
  513. package/dist/x/unless.mjs +2 -2
  514. package/dist/x/values.es.js +2 -2
  515. package/dist/x/values.es.min.js +2 -2
  516. package/dist/x/values.js +2 -2
  517. package/dist/x/values.min.js +2 -2
  518. package/dist/x/values.min.mjs +2 -2
  519. package/dist/x/values.mjs +2 -2
  520. package/dist/x/when.es.js +2 -2
  521. package/dist/x/when.es.min.js +2 -2
  522. package/dist/x/when.js +2 -2
  523. package/dist/x/when.min.js +2 -2
  524. package/dist/x/when.min.mjs +2 -2
  525. package/dist/x/when.mjs +2 -2
  526. package/dist-test.js +9 -2042
  527. package/eq.js +21 -63
  528. package/es.js +730 -869
  529. package/every.js +94 -0
  530. package/filter.js +23 -91
  531. package/flatMap.js +75 -70
  532. package/forEach.js +82 -0
  533. package/get.js +23 -6
  534. package/global.js +6 -4
  535. package/gt.js +15 -58
  536. package/gte.js +14 -57
  537. package/index.js +730 -869
  538. package/lt.js +17 -60
  539. package/lte.js +14 -57
  540. package/map.js +9 -94
  541. package/memory-usage/reduce.js +2 -2
  542. package/not.js +27 -45
  543. package/omit.js +4 -0
  544. package/or.js +50 -33
  545. package/package.json +7 -7
  546. package/pick.js +5 -1
  547. package/pipe.js +13 -50
  548. package/reduce.js +42 -51
  549. package/rubico.js +10 -8
  550. package/set.js +43 -10
  551. package/some.js +105 -0
  552. package/switchCase.js +13 -3
  553. package/tap.js +0 -24
  554. package/test.js +847 -1096
  555. package/thunkify.js +9 -0
  556. package/transform.js +31 -16
  557. package/tryCatch.js +19 -15
  558. package/x/differenceWith.js +3 -3
  559. package/x/filterOut.test.js +6 -6
  560. package/x/flatten.js +1 -1
  561. package/x/flatten.test.js +0 -8
  562. package/x/index.js +0 -2
  563. package/x/pluck.js +18 -27
  564. package/x/pluck.test.js +3 -7
  565. package/x/timeInLoop.js +16 -25
  566. package/x/timeInLoop.test.js +8 -4
  567. package/any.js +0 -82
  568. package/dist/any.es.min.js +0 -7
  569. package/dist/any.min.js +0 -8
  570. package/dist/any.min.mjs +0 -7
  571. package/dist/fork.es.js +0 -159
  572. package/dist/fork.es.min.js +0 -7
  573. package/dist/fork.js +0 -166
  574. package/dist/fork.min.js +0 -8
  575. package/dist/fork.min.mjs +0 -7
  576. package/dist/fork.mjs +0 -159
  577. package/dist/x/forEach.es.min.js +0 -7
  578. package/dist/x/forEach.min.js +0 -8
  579. package/dist/x/forEach.min.mjs +0 -7
  580. package/fork.js +0 -101
  581. package/x/forEach.js +0 -93
  582. package/x/forEach.test.js +0 -218
  583. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  584. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  585. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  586. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  587. /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.0
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.0
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.0
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 callProp=(l,...o)=>function(r){return r[l](...o)};export default callProp;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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.0
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.0
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 isArray=Array.isArray,arrayDefaultsDeepFromArray=function(r,e){const t=e.length,c=r.slice();let o=-1;for(;++o<t;){const t=r[o],a=e[o];isArray(t)&&isArray(a)?c[o]=arrayDefaultsDeepFromArray(t,a):null==t?c[o]=a:null==a?c[o]=t:t.constructor==Object&&a.constructor==Object?c[o]=objectDefaultsDeepFromObject(t,a):c[o]=t}return c},objectDefaultsDeepFromObject=function(r,e){const t={...r};for(const c in e){const o=r[c],a=e[c];isArray(o)&&isArray(a)?t[c]=arrayDefaultsDeepFromArray(o,a):null==o?t[c]=a:null==a?t[c]=o:o.constructor==Object&&a.constructor==Object?t[c]=objectDefaultsDeepFromObject(o,a):t[c]=o}return t},defaultsDeep=r=>function(e){return isArray(e)&&isArray(r)?arrayDefaultsDeepFromArray(e,r):null==e||null==r?e:e.constructor==Object&&r.constructor==Object?objectDefaultsDeepFromObject(e,r):e};export default defaultsDeep;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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.0
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.0
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 isArray=Array.isArray,arrayDefaultsDeepFromArray=function(r,e){const t=e.length,c=r.slice();let o=-1;for(;++o<t;){const t=r[o],a=e[o];isArray(t)&&isArray(a)?c[o]=arrayDefaultsDeepFromArray(t,a):null==t?c[o]=a:null==a?c[o]=t:t.constructor==Object&&a.constructor==Object?c[o]=objectDefaultsDeepFromObject(t,a):c[o]=t}return c},objectDefaultsDeepFromObject=function(r,e){const t={...r};for(const c in e){const o=r[c],a=e[c];isArray(o)&&isArray(a)?t[c]=arrayDefaultsDeepFromArray(o,a):null==o?t[c]=a:null==a?t[c]=o:o.constructor==Object&&a.constructor==Object?t[c]=objectDefaultsDeepFromObject(o,a):t[c]=o}return t},defaultsDeep=r=>function(e){return isArray(e)&&isArray(r)?arrayDefaultsDeepFromArray(e,r):null==e||null==r?e:e.constructor==Object&&r.constructor==Object?objectDefaultsDeepFromObject(e,r):e};export default defaultsDeep;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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.0
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 __ = Symbol.for('placeholder')
@@ -80,7 +80,7 @@ const SelfReferencingPromise = function (basePromise) {
80
80
 
81
81
  const promiseRace = Promise.race.bind(Promise)
82
82
 
83
- const asyncArrayAny = async function (
83
+ const asyncArraySome = async function (
84
84
  array, predicate, index, promisesInFlight,
85
85
  ) {
86
86
  const length = array.length
@@ -103,13 +103,13 @@ const asyncArrayAny = async function (
103
103
  return false
104
104
  }
105
105
 
106
- const arrayAny = function (array, predicate) {
106
+ const arraySome = function (array, predicate) {
107
107
  const length = array.length
108
108
  let index = -1
109
109
  while (++index < length) {
110
110
  const predication = predicate(array[index])
111
111
  if (isPromise(predication)) {
112
- return asyncArrayAny(
112
+ return asyncArraySome(
113
113
  array, predicate, index, new Set([SelfReferencingPromise(predication)]))
114
114
  }
115
115
  if (predication) {
@@ -142,7 +142,7 @@ const differenceWithArrayAsync = async function (
142
142
  const allValuesLength = allValues.length
143
143
  while (++index < allValuesLength) {
144
144
  const item = allValues[index]
145
- let doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
145
+ let doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
146
146
  if (isPromise(doesItemExistByComparator)) {
147
147
  doesItemExistByComparator = await doesItemExistByComparator
148
148
  }
@@ -159,7 +159,7 @@ const differenceWithArray = function (comparator, allValues, array) {
159
159
  let index = -1
160
160
  while (++index < allValuesLength) {
161
161
  const item = allValues[index],
162
- doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
162
+ doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
163
163
  if (isPromise(doesItemExistByComparator)) {
164
164
  return doesItemExistByComparator.then(funcConcatSync(
165
165
  curry3(thunkConditional, __, noop, thunkify2(arrayPush, result, item)),
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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 __=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},thunkify2=(r,n,e)=>function(){return r(n,e)},thunkify5=(r,n,e,t,o,i)=>function(){return r(n,e,t,o,i)},thunkConditional=(r,n,e)=>r?n():e(),isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,SelfReferencingPromise=function(r){const n=r.then((r=>[r,n]));return n},promiseRace=Promise.race.bind(Promise),asyncArrayAny=async function(r,n,e,t){const o=r.length;for(;++e<o;){const o=n(r[e]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,n]=await promiseRace(t);if(t.delete(n),r)return!0}return!1},arrayAny=function(r,n){const e=r.length;let t=-1;for(;++t<e;){const e=n(r[t]);if(isPromise(e))return asyncArrayAny(r,n,t,new Set([SelfReferencingPromise(e)]));if(e)return!0}return!1},arrayPush=function(r,n){return r.push(n),r},funcConcatSync=(r,n)=>function(...e){return n(r(...e))},noop=function(){},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,differenceWithArrayAsync=async function(r,n,e,t,o){const i=n.length;for(;++o<i;){const i=n[o];let c=arrayAny(e,curry2(r,i,__));isPromise(c)&&(c=await c),c||t.push(i)}return t},differenceWithArray=function(r,n,e){const t=n.length,o=[];let i=-1;for(;++i<t;){const t=n[i],f=arrayAny(e,curry2(r,t,__));if(isPromise(f))return f.then(funcConcatSync((c=thunkConditional,u=__,s=noop,y=thunkify2(arrayPush,o,t),u==__?curry3ResolveArg0(c,s,y):s==__?curry3ResolveArg1(c,u,y):curry3ResolveArg2(c,u,s)),thunkify5(differenceWithArrayAsync,r,n,e,o,i)));f||o.push(t)}var c,u,s,y;return o},differenceWith=(r,n)=>function(e){if(isArray(e))return differenceWithArray(r,n,e);throw new TypeError(`${e} is not an Array`)};export default differenceWith;
7
+ const __=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},thunkify2=(r,e,n)=>function(){return r(e,n)},thunkify5=(r,e,n,t,o,i)=>function(){return r(e,n,t,o,i)},thunkConditional=(r,e,n)=>r?e():n(),isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},promiseRace=Promise.race.bind(Promise),asyncArraySome=async function(r,e,n,t){const o=r.length;for(;++n<o;){const o=e(r[n]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},arraySome=function(r,e){const n=r.length;let t=-1;for(;++t<n;){const n=e(r[t]);if(isPromise(n))return asyncArraySome(r,e,t,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},arrayPush=function(r,e){return r.push(e),r},funcConcatSync=(r,e)=>function(...n){return e(r(...n))},noop=function(){},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,differenceWithArrayAsync=async function(r,e,n,t,o){const i=e.length;for(;++o<i;){const i=e[o];let c=arraySome(n,curry2(r,i,__));isPromise(c)&&(c=await c),c||t.push(i)}return t},differenceWithArray=function(r,e,n){const t=e.length,o=[];let i=-1;for(;++i<t;){const t=e[i],y=arraySome(n,curry2(r,t,__));if(isPromise(y))return y.then(funcConcatSync((c=thunkConditional,u=__,s=noop,f=thunkify2(arrayPush,o,t),u==__?curry3ResolveArg0(c,s,f):s==__?curry3ResolveArg1(c,u,f):curry3ResolveArg2(c,u,s)),thunkify5(differenceWithArrayAsync,r,e,n,o,i)));y||o.push(t)}var c,u,s,f;return o},differenceWith=(r,e)=>function(n){if(isArray(n))return differenceWithArray(r,e,n);throw new TypeError(`${n} is not an Array`)};export default differenceWith;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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
 
@@ -86,7 +86,7 @@ const SelfReferencingPromise = function (basePromise) {
86
86
 
87
87
  const promiseRace = Promise.race.bind(Promise)
88
88
 
89
- const asyncArrayAny = async function (
89
+ const asyncArraySome = async function (
90
90
  array, predicate, index, promisesInFlight,
91
91
  ) {
92
92
  const length = array.length
@@ -109,13 +109,13 @@ const asyncArrayAny = async function (
109
109
  return false
110
110
  }
111
111
 
112
- const arrayAny = function (array, predicate) {
112
+ const arraySome = function (array, predicate) {
113
113
  const length = array.length
114
114
  let index = -1
115
115
  while (++index < length) {
116
116
  const predication = predicate(array[index])
117
117
  if (isPromise(predication)) {
118
- return asyncArrayAny(
118
+ return asyncArraySome(
119
119
  array, predicate, index, new Set([SelfReferencingPromise(predication)]))
120
120
  }
121
121
  if (predication) {
@@ -148,7 +148,7 @@ const differenceWithArrayAsync = async function (
148
148
  const allValuesLength = allValues.length
149
149
  while (++index < allValuesLength) {
150
150
  const item = allValues[index]
151
- let doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
151
+ let doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
152
152
  if (isPromise(doesItemExistByComparator)) {
153
153
  doesItemExistByComparator = await doesItemExistByComparator
154
154
  }
@@ -165,7 +165,7 @@ const differenceWithArray = function (comparator, allValues, array) {
165
165
  let index = -1
166
166
  while (++index < allValuesLength) {
167
167
  const item = allValues[index],
168
- doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
168
+ doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
169
169
  if (isPromise(doesItemExistByComparator)) {
170
170
  return doesItemExistByComparator.then(funcConcatSync(
171
171
  curry3(thunkConditional, __, noop, thunkify2(arrayPush, result, item)),
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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.0
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 __=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},thunkify2=(r,n,e)=>function(){return r(n,e)},thunkify5=(r,n,e,t,o,i)=>function(){return r(n,e,t,o,i)},thunkConditional=(r,n,e)=>r?n():e(),isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,SelfReferencingPromise=function(r){const n=r.then((r=>[r,n]));return n},promiseRace=Promise.race.bind(Promise),asyncArrayAny=async function(r,n,e,t){const o=r.length;for(;++e<o;){const o=n(r[e]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,n]=await promiseRace(t);if(t.delete(n),r)return!0}return!1},arrayAny=function(r,n){const e=r.length;let t=-1;for(;++t<e;){const e=n(r[t]);if(isPromise(e))return asyncArrayAny(r,n,t,new Set([SelfReferencingPromise(e)]));if(e)return!0}return!1},arrayPush=function(r,n){return r.push(n),r},funcConcatSync=(r,n)=>function(...e){return n(r(...e))},noop=function(){},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,differenceWithArrayAsync=async function(r,n,e,t,o){const i=n.length;for(;++o<i;){const i=n[o];let c=arrayAny(e,curry2(r,i,__));isPromise(c)&&(c=await c),c||t.push(i)}return t},differenceWithArray=function(r,n,e){const t=n.length,o=[];let i=-1;for(;++i<t;){const t=n[i],f=arrayAny(e,curry2(r,t,__));if(isPromise(f))return f.then(funcConcatSync((c=thunkConditional,u=__,s=noop,y=thunkify2(arrayPush,o,t),u==__?curry3ResolveArg0(c,s,y):s==__?curry3ResolveArg1(c,u,y):curry3ResolveArg2(c,u,s)),thunkify5(differenceWithArrayAsync,r,n,e,o,i)));f||o.push(t)}var c,u,s,y;return o},differenceWith=(r,n)=>function(e){if(isArray(e))return differenceWithArray(r,n,e);throw new TypeError(`${e} is not an Array`)};export default differenceWith;
7
+ const __=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},thunkify2=(r,e,n)=>function(){return r(e,n)},thunkify5=(r,e,n,t,o,i)=>function(){return r(e,n,t,o,i)},thunkConditional=(r,e,n)=>r?e():n(),isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,SelfReferencingPromise=function(r){const e=r.then((r=>[r,e]));return e},promiseRace=Promise.race.bind(Promise),asyncArraySome=async function(r,e,n,t){const o=r.length;for(;++n<o;){const o=e(r[n]);if(isPromise(o))t.add(SelfReferencingPromise(o));else if(o)return!0}for(;t.size>0;){const[r,e]=await promiseRace(t);if(t.delete(e),r)return!0}return!1},arraySome=function(r,e){const n=r.length;let t=-1;for(;++t<n;){const n=e(r[t]);if(isPromise(n))return asyncArraySome(r,e,t,new Set([SelfReferencingPromise(n)]));if(n)return!0}return!1},arrayPush=function(r,e){return r.push(e),r},funcConcatSync=(r,e)=>function(...n){return e(r(...n))},noop=function(){},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,differenceWithArrayAsync=async function(r,e,n,t,o){const i=e.length;for(;++o<i;){const i=e[o];let c=arraySome(n,curry2(r,i,__));isPromise(c)&&(c=await c),c||t.push(i)}return t},differenceWithArray=function(r,e,n){const t=e.length,o=[];let i=-1;for(;++i<t;){const t=e[i],y=arraySome(n,curry2(r,t,__));if(isPromise(y))return y.then(funcConcatSync((c=thunkConditional,u=__,s=noop,f=thunkify2(arrayPush,o,t),u==__?curry3ResolveArg0(c,s,f):s==__?curry3ResolveArg1(c,u,f):curry3ResolveArg2(c,u,s)),thunkify5(differenceWithArrayAsync,r,e,n,o,i)));y||o.push(t)}var c,u,s,f;return o},differenceWith=(r,e)=>function(n){if(isArray(n))return differenceWithArray(r,e,n);throw new TypeError(`${n} is not an Array`)};export default differenceWith;
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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 __ = Symbol.for('placeholder')
@@ -80,7 +80,7 @@ const SelfReferencingPromise = function (basePromise) {
80
80
 
81
81
  const promiseRace = Promise.race.bind(Promise)
82
82
 
83
- const asyncArrayAny = async function (
83
+ const asyncArraySome = async function (
84
84
  array, predicate, index, promisesInFlight,
85
85
  ) {
86
86
  const length = array.length
@@ -103,13 +103,13 @@ const asyncArrayAny = async function (
103
103
  return false
104
104
  }
105
105
 
106
- const arrayAny = function (array, predicate) {
106
+ const arraySome = function (array, predicate) {
107
107
  const length = array.length
108
108
  let index = -1
109
109
  while (++index < length) {
110
110
  const predication = predicate(array[index])
111
111
  if (isPromise(predication)) {
112
- return asyncArrayAny(
112
+ return asyncArraySome(
113
113
  array, predicate, index, new Set([SelfReferencingPromise(predication)]))
114
114
  }
115
115
  if (predication) {
@@ -142,7 +142,7 @@ const differenceWithArrayAsync = async function (
142
142
  const allValuesLength = allValues.length
143
143
  while (++index < allValuesLength) {
144
144
  const item = allValues[index]
145
- let doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
145
+ let doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
146
146
  if (isPromise(doesItemExistByComparator)) {
147
147
  doesItemExistByComparator = await doesItemExistByComparator
148
148
  }
@@ -159,7 +159,7 @@ const differenceWithArray = function (comparator, allValues, array) {
159
159
  let index = -1
160
160
  while (++index < allValuesLength) {
161
161
  const item = allValues[index],
162
- doesItemExistByComparator = arrayAny(array, curry2(comparator, item, __))
162
+ doesItemExistByComparator = arraySome(array, curry2(comparator, item, __))
163
163
  if (isPromise(doesItemExistByComparator)) {
164
164
  return doesItemExistByComparator.then(funcConcatSync(
165
165
  curry3(thunkConditional, __, noop, thunkify2(arrayPush, result, item)),
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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 __ = Symbol.for('placeholder')
@@ -72,20 +72,6 @@ const FilteringAsyncIterator = (asyncIterator, predicate) => ({
72
72
 
73
73
  const isArray = Array.isArray
74
74
 
75
- const objectProto = Object.prototype
76
-
77
- const nativeObjectToString = objectProto.toString
78
-
79
- const objectToString = value => nativeObjectToString.call(value)
80
-
81
- const generatorFunctionTag = '[object GeneratorFunction]'
82
-
83
- const isGeneratorFunction = value => objectToString(value) == generatorFunctionTag
84
-
85
- const asyncGeneratorFunctionTag = '[object AsyncGeneratorFunction]'
86
-
87
- const isAsyncGeneratorFunction = value => objectToString(value) == asyncGeneratorFunctionTag
88
-
89
75
  // argument resolver for curry4
90
76
  const curry4ResolveArg0 = (
91
77
  baseFunc, arg1, arg2, arg3,
@@ -160,12 +146,11 @@ const arrayFilter = function (array, predicate) {
160
146
  resultIndex = -1
161
147
  while (++index < arrayLength) {
162
148
  const item = array[index],
163
- shouldIncludeItem = predicate(item)
149
+ shouldIncludeItem = predicate(item, index, array)
164
150
  if (isPromise(shouldIncludeItem)) {
165
151
  return promiseAll(
166
- arrayExtendMap(
167
- [shouldIncludeItem], array, predicate, index)).then(
168
- curry4(arrayFilterByConditions, array, result, index - 1, __))
152
+ arrayExtendMap([shouldIncludeItem], array, predicate, index)
153
+ ).then(curry4(arrayFilterByConditions, array, result, index - 1, __))
169
154
  }
170
155
  if (shouldIncludeItem) {
171
156
  result[++resultIndex] = item
@@ -174,18 +159,6 @@ const arrayFilter = function (array, predicate) {
174
159
  return result
175
160
  }
176
161
 
177
- const generatorFunctionFilter = (
178
- generatorFunction, predicate,
179
- ) => function* filteringGeneratorFunction(...args) {
180
- yield* FilteringIterator(generatorFunction(...args), predicate)
181
- }
182
-
183
- const asyncGeneratorFunctionFilter = (
184
- asyncGeneratorFunction, predicate,
185
- ) => async function* filteringAsyncGeneratorFunction(...args) {
186
- yield* FilteringAsyncIterator(asyncGeneratorFunction(...args), predicate)
187
- }
188
-
189
162
  // argument resolver for curry3
190
163
  const curry3ResolveArg0 = (
191
164
  baseFunc, arg1, arg2,
@@ -217,29 +190,6 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
217
190
  return curry3ResolveArg2(baseFunc, arg0, arg1)
218
191
  }
219
192
 
220
- const thunkify2 = (func, arg0, arg1) => function thunk() {
221
- return func(arg0, arg1)
222
- }
223
-
224
- const thunkConditional = (
225
- conditionalExpression, thunkOnTruthy, thunkOnFalsy,
226
- ) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
227
-
228
- const always = value => function getter() { return value }
229
-
230
- const reducerFilter = (
231
- reducer, predicate,
232
- ) => function filteringReducer(result, item) {
233
- const shouldInclude = predicate(item)
234
- return isPromise(shouldInclude)
235
- ? shouldInclude.then(curry3(
236
- thunkConditional,
237
- __,
238
- thunkify2(reducer, result, item),
239
- always(result)))
240
- : shouldInclude ? reducer(result, item) : result
241
- }
242
-
243
193
  const callPropUnary = (value, property, arg0) => value[property](arg0)
244
194
 
245
195
  const stringFilter = function (string, predicate) {
@@ -249,6 +199,12 @@ const stringFilter = function (string, predicate) {
249
199
  : filteredCharactersArray.join('')
250
200
  }
251
201
 
202
+ const always = value => function getter() { return value }
203
+
204
+ const thunkConditional = (
205
+ conditionalExpression, thunkOnTruthy, thunkOnFalsy,
206
+ ) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
207
+
252
208
  const thunkify1 = (func, arg0) => function thunk() {
253
209
  return func(arg0)
254
210
  }
@@ -323,53 +279,10 @@ const objectFilter = function (object, predicate) {
323
279
  : promiseAll(promises).then(always(result))
324
280
  }
325
281
 
326
- const arrayExtendMapWithIndex = function (
327
- array, values, valuesMapper, valuesIndex,
328
- ) {
329
- const valuesLength = values.length
330
- let arrayIndex = array.length - 1
331
-
332
- while (++valuesIndex < valuesLength) {
333
- array[++arrayIndex] = valuesMapper(
334
- values[valuesIndex], valuesIndex, values)
335
- }
336
- return array
337
- }
338
-
339
- const arrayFilterWithIndex = function (array, predicate) {
340
- const arrayLength = array.length,
341
- result = []
342
- let index = -1,
343
- resultIndex = -1
344
- while (++index < arrayLength) {
345
- const item = array[index],
346
- shouldIncludeItem = predicate(item, index, array)
347
- if (isPromise(shouldIncludeItem)) {
348
- return promiseAll(
349
- arrayExtendMapWithIndex(
350
- [shouldIncludeItem], array, predicate, index)).then(
351
- curry4(arrayFilterByConditions, array, result, index - 1, __))
352
- }
353
- if (shouldIncludeItem) {
354
- result[++resultIndex] = item
355
- }
356
- }
357
- return result
358
- }
359
-
360
282
  const _filter = function (value, predicate) {
361
283
  if (isArray(value)) {
362
284
  return arrayFilter(value, predicate)
363
285
  }
364
- if (typeof value == 'function') {
365
- if (isGeneratorFunction(value)) {
366
- return generatorFunctionFilter(value, predicate)
367
- }
368
- if (isAsyncGeneratorFunction(value)) {
369
- return asyncGeneratorFunctionFilter(value, predicate)
370
- }
371
- return reducerFilter(value, predicate)
372
- }
373
286
  if (value == null) {
374
287
  return value
375
288
  }
@@ -400,37 +313,67 @@ const _filter = function (value, predicate) {
400
313
 
401
314
  const filter = function (...args) {
402
315
  const predicate = args.pop()
403
- if (args.length > 0) {
404
- return _filter(args[0], predicate)
316
+ if (args.length == 0) {
317
+ return curry2(_filter, __, predicate)
405
318
  }
406
- return curry2(_filter, __, predicate)
319
+ return _filter(args[0], predicate)
407
320
  }
408
321
 
409
- filter.withIndex = predicate => function filteringWithIndex(value) {
410
- if (isArray(value)) {
411
- return arrayFilterWithIndex(value, predicate)
322
+ const areAnyValuesPromises = function (values) {
323
+ const length = values.length
324
+ let index = -1
325
+ while (++index < length) {
326
+ const value = values[index]
327
+ if (isPromise(value)) {
328
+ return true
329
+ }
412
330
  }
413
- throw new TypeError(`${value} is not an Array`)
331
+ return false
414
332
  }
415
333
 
416
- // true -> false
417
- const _not = value => !value
334
+ // argument resolver for curryArgs2
335
+ const curryArgs2ResolveArgs0 = (
336
+ baseFunc, arg1, arg2,
337
+ ) => function args0Resolver(...args) {
338
+ return baseFunc(args, arg1)
339
+ }
418
340
 
419
- const not = function (funcOrValue) {
420
- if (typeof funcOrValue == 'function') {
421
- return function logicalInverter(value) {
422
- const boolean = funcOrValue(value)
423
- return isPromise(boolean) ? boolean.then(_not) : !boolean
424
- }
341
+ // argument resolver for curryArgs2
342
+ const curryArgs2ResolveArgs1 = (
343
+ baseFunc, arg0, arg2,
344
+ ) => function arg1Resolver(...args) {
345
+ return baseFunc(arg0, args)
346
+ }
347
+
348
+ const curryArgs2 = function (baseFunc, arg0, arg1) {
349
+ if (arg0 == __) {
350
+ return curryArgs2ResolveArgs0(baseFunc, arg1)
425
351
  }
426
- return !funcOrValue
352
+ return curryArgs2ResolveArgs1(baseFunc, arg0)
427
353
  }
428
354
 
429
- const notSync = func => function notSync(...args) {
430
- return !func(...args)
355
+ // negate(value boolean) -> inverse boolean
356
+ const negate = value => !value
357
+
358
+ // _not(args Array, predicate function)
359
+ const _not = function (args, predicate) {
360
+ const boolean = predicate(...args)
361
+ return isPromise(boolean) ? boolean.then(negate) : !boolean
431
362
  }
432
363
 
433
- not.sync = notSync
364
+ const not = function (...args) {
365
+ const predicateOrValue = args.pop()
366
+ if (typeof predicateOrValue == 'function') {
367
+ if (args.length == 0) {
368
+ return curryArgs2(_not, __, predicateOrValue)
369
+ }
370
+ if (areAnyValuesPromises(args)) {
371
+ return promiseAll(args).then(curry2(_not, __, predicateOrValue))
372
+ }
373
+ return _not(args, predicateOrValue)
374
+ }
375
+ return !predicateOrValue
376
+ }
434
377
 
435
378
  const filterOut = predicate => filter(not(predicate))
436
379
 
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.7
2
+ * rubico v2.0.0
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 __=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)},symbolIterator=Symbol.iterator,FilteringIterator=(r,t)=>({[symbolIterator](){return this},next(){let n=r.next();for(;!n.done;){const{value:e}=n;if(t(e))return{value:e,done:!1};n=r.next()}return n}}),isPromise=r=>null!=r&&"function"==typeof r.then,symbolAsyncIterator=Symbol.asyncIterator,FilteringAsyncIterator=(r,t)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:n,done:e}=await r.next();if(e)this.isAsyncIteratorDone=!0;else{const r=t(n);if(isPromise(r)?await r:r)return{value:n,done:!1}}}return{value:void 0,done:!0}}}),isArray=Array.isArray,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,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)},promiseAll=Promise.all.bind(Promise),arrayExtendMap=function(r,t,n,e){const o=t.length;let i=r.length-1;for(;++e<o;)r[++i]=n(t[e],e,r);return r},arrayFilterByConditions=function(r,t,n,e){const o=r.length;let i=-1;for(;++n<o;)e[++i]&&t.push(r[n]);return t},arrayFilter=function(r,t){const n=r.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=r[o],c=t(n);if(isPromise(c))return promiseAll(arrayExtendMap([c],r,t,o)).then(curry4(arrayFilterByConditions,r,e,o-1,__));c&&(e[++i]=n)}return e},generatorFunctionFilter=(r,t)=>function*(...n){yield*FilteringIterator(r(...n),t)},asyncGeneratorFunctionFilter=(r,t)=>async function*(...n){yield*FilteringAsyncIterator(r(...n),t)},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)},thunkify2=(r,t,n)=>function(){return r(t,n)},thunkConditional=(r,t,n)=>r?t():n(),always=r=>function(){return r},reducerFilter=(r,t)=>function(n,e){const o=t(e);return isPromise(o)?o.then(curry3(thunkConditional,__,(i=r,c=n,u=e,function(){return i(c,u)}),always(n))):o?r(n,e):n;var i,c,u},callPropUnary=(r,t,n)=>r[t](n),stringFilter=function(r,t){const n=arrayFilter(r,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},thunkify1=(r,t)=>function(){return r(t)},noop=function(){},setFilter=function(r,t){const n=new Set,e=n.add.bind(n),o=[];for(const i of r){const c=t(i,i,r);isPromise(c)?o.push(c.then(curry3(thunkConditional,__,thunkify1(e,i),noop))):c&&n.add(i)}return 0==o.length?n:promiseAll(o).then(always(n))},thunkify4=(r,t,n,e,o)=>function(){return r(t,n,e,o)},callPropBinary=(r,t,n,e)=>r[t](n,e),mapFilter=function(r,t){const n=new Map,e=[];for(const[o,i]of r){const c=t(i,o,r);isPromise(c)?e.push(c.then(curry3(thunkConditional,__,thunkify4(callPropBinary,n,"set",o,i),noop))):c&&n.set(o,i)}return 0==e.length?n:promiseAll(e).then(always(n))},objectSetIf=function(r,t,n,e){e&&(r[t]=n)},objectFilter=function(r,t){const n={},e=[];for(const o in r){const i=r[o],c=t(i,o,r);isPromise(c)?e.push(c.then(curry4(objectSetIf,n,o,r[o],__))):c&&(n[o]=i)}return 0==e.length?n:promiseAll(e).then(always(n))},arrayExtendMapWithIndex=function(r,t,n,e){const o=t.length;let i=r.length-1;for(;++e<o;)r[++i]=n(t[e],e,t);return r},arrayFilterWithIndex=function(r,t){const n=r.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=r[o],c=t(n,o,r);if(isPromise(c))return promiseAll(arrayExtendMapWithIndex([c],r,t,o)).then(curry4(arrayFilterByConditions,r,e,o-1,__));c&&(e[++i]=n)}return e},_filter=function(r,t){return isArray(r)?arrayFilter(r,t):"function"==typeof r?isGeneratorFunction(r)?generatorFunctionFilter(r,t):isAsyncGeneratorFunction(r)?asyncGeneratorFunctionFilter(r,t):reducerFilter(r,t):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,t):r.constructor==Set?setFilter(r,t):r.constructor==Map?mapFilter(r,t):"function"==typeof r.filter?r.filter(t):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectFilter(r,t):r},filter=function(...r){const t=r.pop();return r.length>0?_filter(r[0],t):(n=_filter,o=t,(e=__)==__?curry2ResolveArg0(n,o):curry2ResolveArg1(n,e));var n,e,o};filter.withIndex=r=>function(t){if(isArray(t))return arrayFilterWithIndex(t,r);throw new TypeError(`${t} is not an Array`)};const _not=r=>!r,not=function(r){return"function"==typeof r?function(t){const n=r(t);return isPromise(n)?n.then(_not):!n}:!r},notSync=r=>function(...t){return!r(...t)};not.sync=notSync;const filterOut=r=>filter(not(r));export default filterOut;
7
+ const __=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)},symbolIterator=Symbol.iterator,FilteringIterator=(r,t)=>({[symbolIterator](){return this},next(){let n=r.next();for(;!n.done;){const{value:e}=n;if(t(e))return{value:e,done:!1};n=r.next()}return n}}),isPromise=r=>null!=r&&"function"==typeof r.then,symbolAsyncIterator=Symbol.asyncIterator,FilteringAsyncIterator=(r,t)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:n,done:e}=await r.next();if(e)this.isAsyncIteratorDone=!0;else{const r=t(n);if(isPromise(r)?await r:r)return{value:n,done:!1}}}return{value:void 0,done:!0}}}),isArray=Array.isArray,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)},promiseAll=Promise.all.bind(Promise),arrayExtendMap=function(r,t,n,e){const o=t.length;let s=r.length-1;for(;++e<o;)r[++s]=n(t[e],e,r);return r},arrayFilterByConditions=function(r,t,n,e){const o=r.length;let s=-1;for(;++n<o;)e[++s]&&t.push(r[n]);return t},arrayFilter=function(r,t){const n=r.length,e=[];let o=-1,s=-1;for(;++o<n;){const n=r[o],i=t(n,o,r);if(isPromise(i))return promiseAll(arrayExtendMap([i],r,t,o)).then(curry4(arrayFilterByConditions,r,e,o-1,__));i&&(e[++s]=n)}return e},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),stringFilter=function(r,t){const n=arrayFilter(r,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},always=r=>function(){return r},thunkConditional=(r,t,n)=>r?t():n(),thunkify1=(r,t)=>function(){return r(t)},noop=function(){},setFilter=function(r,t){const n=new Set,e=n.add.bind(n),o=[];for(const s of r){const i=t(s,s,r);isPromise(i)?o.push(i.then(curry3(thunkConditional,__,thunkify1(e,s),noop))):i&&n.add(s)}return 0==o.length?n:promiseAll(o).then(always(n))},thunkify4=(r,t,n,e,o)=>function(){return r(t,n,e,o)},callPropBinary=(r,t,n,e)=>r[t](n,e),mapFilter=function(r,t){const n=new Map,e=[];for(const[o,s]of r){const i=t(s,o,r);isPromise(i)?e.push(i.then(curry3(thunkConditional,__,thunkify4(callPropBinary,n,"set",o,s),noop))):i&&n.set(o,s)}return 0==e.length?n:promiseAll(e).then(always(n))},objectSetIf=function(r,t,n,e){e&&(r[t]=n)},objectFilter=function(r,t){const n={},e=[];for(const o in r){const s=r[o],i=t(s,o,r);isPromise(i)?e.push(i.then(curry4(objectSetIf,n,o,r[o],__))):i&&(n[o]=s)}return 0==e.length?n:promiseAll(e).then(always(n))},_filter=function(r,t){return isArray(r)?arrayFilter(r,t):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,t):r.constructor==Set?setFilter(r,t):r.constructor==Map?mapFilter(r,t):"function"==typeof r.filter?r.filter(t):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectFilter(r,t):r},filter=function(...r){const t=r.pop();return 0==r.length?curry2(_filter,__,t):_filter(r[0],t)},areAnyValuesPromises=function(r){const t=r.length;let n=-1;for(;++n<t;){const t=r[n];if(isPromise(t))return!0}return!1},curryArgs2ResolveArgs0=(r,t,n)=>function(...n){return r(n,t)},curryArgs2ResolveArgs1=(r,t,n)=>function(...n){return r(t,n)},curryArgs2=function(r,t,n){return t==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,t)},negate=r=>!r,_not=function(r,t){const n=t(...r);return isPromise(n)?n.then(negate):!n},not=function(...r){const t=r.pop();return"function"==typeof t?0==r.length?(n=_not,o=t,(e=__)==__?curryArgs2ResolveArgs0(n,o):curryArgs2ResolveArgs1(n,e)):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,t)):_not(r,t):!t;var n,e,o},filterOut=r=>filter(not(r));export default filterOut;