rubico 1.9.6 → 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 (589) 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 +162 -0
  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 +105 -45
  53. package/always.js +3 -9
  54. package/and.js +69 -45
  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 +45 -22
  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/{distributor.js → build} +50 -50
  136. package/compose.js +46 -0
  137. package/curry.js +20 -12
  138. package/dist/__.es.js +2 -2
  139. package/dist/__.es.min.js +2 -2
  140. package/dist/__.js +2 -2
  141. package/dist/__.min.js +2 -2
  142. package/dist/__.min.mjs +2 -2
  143. package/dist/__.mjs +2 -2
  144. package/dist/all.es.js +173 -92
  145. package/dist/all.es.min.js +3 -3
  146. package/dist/all.js +173 -92
  147. package/dist/all.min.js +3 -3
  148. package/dist/all.min.mjs +3 -3
  149. package/dist/all.mjs +173 -92
  150. package/dist/always.es.js +2 -2
  151. package/dist/always.es.min.js +2 -2
  152. package/dist/always.js +2 -2
  153. package/dist/always.min.js +2 -2
  154. package/dist/always.min.mjs +2 -2
  155. package/dist/always.mjs +2 -2
  156. package/dist/and.es.js +101 -32
  157. package/dist/and.es.min.js +3 -3
  158. package/dist/and.js +101 -32
  159. package/dist/and.min.js +3 -3
  160. package/dist/and.min.mjs +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.min.mjs +3 -3
  167. package/dist/assign.mjs +37 -10
  168. package/dist/compose.es.js +71 -0
  169. package/dist/compose.es.min.js +7 -0
  170. package/dist/compose.js +78 -0
  171. package/dist/compose.min.js +8 -0
  172. package/dist/compose.min.mjs +7 -0
  173. package/dist/compose.mjs +71 -0
  174. package/dist/curry.es.js +2 -2
  175. package/dist/curry.es.min.js +2 -2
  176. package/dist/curry.js +2 -2
  177. package/dist/curry.min.js +2 -2
  178. package/dist/curry.min.mjs +2 -2
  179. package/dist/curry.mjs +2 -2
  180. package/dist/eq.es.js +172 -49
  181. package/dist/eq.es.min.js +3 -3
  182. package/dist/eq.js +172 -49
  183. package/dist/eq.min.js +3 -3
  184. package/dist/eq.min.mjs +3 -3
  185. package/dist/eq.mjs +172 -49
  186. package/dist/every.es.js +194 -0
  187. package/dist/every.es.min.js +7 -0
  188. package/dist/every.js +201 -0
  189. package/dist/every.min.js +8 -0
  190. package/dist/every.min.mjs +7 -0
  191. package/dist/every.mjs +194 -0
  192. package/dist/filter.es.js +14 -108
  193. package/dist/filter.es.min.js +3 -3
  194. package/dist/filter.js +14 -108
  195. package/dist/filter.min.js +3 -3
  196. package/dist/filter.min.mjs +3 -3
  197. package/dist/filter.mjs +14 -108
  198. package/dist/flatMap.es.js +27 -214
  199. package/dist/flatMap.es.min.js +3 -3
  200. package/dist/flatMap.js +27 -214
  201. package/dist/flatMap.min.js +3 -3
  202. package/dist/flatMap.min.mjs +3 -3
  203. package/dist/flatMap.mjs +27 -214
  204. package/dist/{x/forEach.es.js → forEach.es.js} +52 -70
  205. package/dist/forEach.es.min.js +7 -0
  206. package/dist/{x/forEach.js → forEach.js} +52 -70
  207. package/dist/forEach.min.js +8 -0
  208. package/dist/forEach.min.mjs +7 -0
  209. package/dist/{x/forEach.mjs → forEach.mjs} +52 -70
  210. package/dist/get.es.js +60 -5
  211. package/dist/get.es.min.js +3 -3
  212. package/dist/get.js +60 -5
  213. package/dist/get.min.js +3 -3
  214. package/dist/get.min.mjs +3 -3
  215. package/dist/get.mjs +60 -5
  216. package/dist/gt.es.js +171 -48
  217. package/dist/gt.es.min.js +3 -3
  218. package/dist/gt.js +171 -48
  219. package/dist/gt.min.js +3 -3
  220. package/dist/gt.min.mjs +3 -3
  221. package/dist/gt.mjs +171 -48
  222. package/dist/gte.es.js +171 -48
  223. package/dist/gte.es.min.js +3 -3
  224. package/dist/gte.js +171 -48
  225. package/dist/gte.min.js +3 -3
  226. package/dist/gte.min.mjs +3 -3
  227. package/dist/gte.mjs +171 -48
  228. package/dist/lt.es.js +171 -48
  229. package/dist/lt.es.min.js +3 -3
  230. package/dist/lt.js +171 -48
  231. package/dist/lt.min.js +3 -3
  232. package/dist/lt.min.mjs +3 -3
  233. package/dist/lt.mjs +171 -48
  234. package/dist/lte.es.js +171 -48
  235. package/dist/lte.es.min.js +3 -3
  236. package/dist/lte.js +171 -48
  237. package/dist/lte.min.js +3 -3
  238. package/dist/lte.min.mjs +3 -3
  239. package/dist/lte.mjs +171 -48
  240. package/dist/map.es.js +12 -101
  241. package/dist/map.es.min.js +3 -3
  242. package/dist/map.js +12 -101
  243. package/dist/map.min.js +3 -3
  244. package/dist/map.min.mjs +3 -3
  245. package/dist/map.mjs +12 -101
  246. package/dist/not.es.js +75 -14
  247. package/dist/not.es.min.js +3 -3
  248. package/dist/not.js +75 -14
  249. package/dist/not.min.js +3 -3
  250. package/dist/not.min.mjs +3 -3
  251. package/dist/not.mjs +75 -14
  252. package/dist/omit.es.js +38 -3
  253. package/dist/omit.es.min.js +3 -3
  254. package/dist/omit.js +38 -3
  255. package/dist/omit.min.js +3 -3
  256. package/dist/omit.min.mjs +3 -3
  257. package/dist/omit.mjs +38 -3
  258. package/dist/or.es.js +99 -31
  259. package/dist/or.es.min.js +3 -3
  260. package/dist/or.js +99 -31
  261. package/dist/or.min.js +3 -3
  262. package/dist/or.min.mjs +3 -3
  263. package/dist/or.mjs +99 -31
  264. package/dist/pick.es.js +38 -3
  265. package/dist/pick.es.min.js +3 -3
  266. package/dist/pick.js +38 -3
  267. package/dist/pick.min.js +3 -3
  268. package/dist/pick.min.mjs +3 -3
  269. package/dist/pick.mjs +38 -3
  270. package/dist/pipe.es.js +42 -46
  271. package/dist/pipe.es.min.js +3 -3
  272. package/dist/pipe.js +42 -46
  273. package/dist/pipe.min.js +3 -3
  274. package/dist/pipe.min.mjs +3 -3
  275. package/dist/pipe.mjs +42 -46
  276. package/dist/reduce.es.js +52 -94
  277. package/dist/reduce.es.min.js +3 -3
  278. package/dist/reduce.js +52 -94
  279. package/dist/reduce.min.js +3 -3
  280. package/dist/reduce.min.mjs +3 -3
  281. package/dist/reduce.mjs +52 -94
  282. package/dist/rubico.es.js +746 -869
  283. package/dist/rubico.es.min.js +3 -3
  284. package/dist/rubico.js +746 -869
  285. package/dist/rubico.min.js +3 -3
  286. package/dist/rubico.min.mjs +3 -3
  287. package/dist/rubico.mjs +746 -869
  288. package/dist/set.es.js +18 -3
  289. package/dist/set.es.min.js +3 -3
  290. package/dist/set.js +18 -3
  291. package/dist/set.min.js +3 -3
  292. package/dist/set.min.mjs +3 -3
  293. package/dist/set.mjs +18 -3
  294. package/dist/{any.js → some.es.js} +64 -54
  295. package/dist/some.es.min.js +7 -0
  296. package/dist/{any.mjs → some.js} +72 -48
  297. package/dist/some.min.js +8 -0
  298. package/dist/some.min.mjs +7 -0
  299. package/dist/{any.es.js → some.mjs} +65 -48
  300. package/dist/switchCase.es.js +55 -5
  301. package/dist/switchCase.es.min.js +3 -3
  302. package/dist/switchCase.js +55 -5
  303. package/dist/switchCase.min.js +3 -3
  304. package/dist/switchCase.min.mjs +3 -3
  305. package/dist/switchCase.mjs +55 -5
  306. package/dist/tap.es.js +2 -9
  307. package/dist/tap.es.min.js +3 -3
  308. package/dist/tap.js +2 -9
  309. package/dist/tap.min.js +3 -3
  310. package/dist/tap.min.mjs +3 -3
  311. package/dist/tap.mjs +2 -9
  312. package/dist/thunkify.es.js +45 -2
  313. package/dist/thunkify.es.min.js +3 -3
  314. package/dist/thunkify.js +45 -2
  315. package/dist/thunkify.min.js +3 -3
  316. package/dist/thunkify.min.mjs +3 -3
  317. package/dist/thunkify.mjs +45 -2
  318. package/dist/transform.es.js +35 -71
  319. package/dist/transform.es.min.js +3 -3
  320. package/dist/transform.js +35 -71
  321. package/dist/transform.min.js +3 -3
  322. package/dist/transform.min.mjs +3 -3
  323. package/dist/transform.mjs +35 -71
  324. package/dist/tryCatch.es.js +33 -17
  325. package/dist/tryCatch.es.min.js +3 -3
  326. package/dist/tryCatch.js +33 -17
  327. package/dist/tryCatch.min.js +3 -3
  328. package/dist/tryCatch.min.mjs +3 -3
  329. package/dist/tryCatch.mjs +33 -17
  330. package/dist/x/append.es.js +2 -2
  331. package/dist/x/append.es.min.js +2 -2
  332. package/dist/x/append.js +2 -2
  333. package/dist/x/append.min.js +2 -2
  334. package/dist/x/append.min.mjs +2 -2
  335. package/dist/x/append.mjs +2 -2
  336. package/dist/x/callProp.es.js +2 -2
  337. package/dist/x/callProp.es.min.js +2 -2
  338. package/dist/x/callProp.js +2 -2
  339. package/dist/x/callProp.min.js +2 -2
  340. package/dist/x/callProp.min.mjs +2 -2
  341. package/dist/x/callProp.mjs +2 -2
  342. package/dist/x/defaultsDeep.es.js +2 -2
  343. package/dist/x/defaultsDeep.es.min.js +2 -2
  344. package/dist/x/defaultsDeep.js +2 -2
  345. package/dist/x/defaultsDeep.min.js +2 -2
  346. package/dist/x/defaultsDeep.min.mjs +2 -2
  347. package/dist/x/defaultsDeep.mjs +2 -2
  348. package/dist/x/differenceWith.es.js +7 -7
  349. package/dist/x/differenceWith.es.min.js +3 -3
  350. package/dist/x/differenceWith.js +7 -7
  351. package/dist/x/differenceWith.min.js +2 -2
  352. package/dist/x/differenceWith.min.mjs +3 -3
  353. package/dist/x/differenceWith.mjs +7 -7
  354. package/dist/x/filterOut.es.js +60 -117
  355. package/dist/x/filterOut.es.min.js +3 -3
  356. package/dist/x/filterOut.js +60 -117
  357. package/dist/x/filterOut.min.js +3 -3
  358. package/dist/x/filterOut.min.mjs +3 -3
  359. package/dist/x/filterOut.mjs +60 -117
  360. package/dist/x/find.es.js +2 -2
  361. package/dist/x/find.es.min.js +2 -2
  362. package/dist/x/find.js +2 -2
  363. package/dist/x/find.min.js +2 -2
  364. package/dist/x/find.min.mjs +2 -2
  365. package/dist/x/find.mjs +2 -2
  366. package/dist/x/findIndex.es.js +2 -2
  367. package/dist/x/findIndex.es.min.js +2 -2
  368. package/dist/x/findIndex.js +2 -2
  369. package/dist/x/findIndex.min.js +2 -2
  370. package/dist/x/findIndex.min.mjs +2 -2
  371. package/dist/x/findIndex.mjs +2 -2
  372. package/dist/x/first.es.js +2 -2
  373. package/dist/x/first.es.min.js +2 -2
  374. package/dist/x/first.js +2 -2
  375. package/dist/x/first.min.js +2 -2
  376. package/dist/x/first.min.mjs +2 -2
  377. package/dist/x/first.mjs +2 -2
  378. package/dist/x/flatten.es.js +20 -207
  379. package/dist/x/flatten.es.min.js +3 -3
  380. package/dist/x/flatten.js +20 -207
  381. package/dist/x/flatten.min.js +3 -3
  382. package/dist/x/flatten.min.mjs +3 -3
  383. package/dist/x/flatten.mjs +20 -207
  384. package/dist/x/groupBy.es.js +52 -94
  385. package/dist/x/groupBy.es.min.js +3 -3
  386. package/dist/x/groupBy.js +52 -94
  387. package/dist/x/groupBy.min.js +3 -3
  388. package/dist/x/groupBy.min.mjs +3 -3
  389. package/dist/x/groupBy.mjs +52 -94
  390. package/dist/x/has.es.js +2 -2
  391. package/dist/x/has.es.min.js +2 -2
  392. package/dist/x/has.js +2 -2
  393. package/dist/x/has.min.js +2 -2
  394. package/dist/x/has.min.mjs +2 -2
  395. package/dist/x/has.mjs +2 -2
  396. package/dist/x/identity.es.js +2 -2
  397. package/dist/x/identity.es.min.js +2 -2
  398. package/dist/x/identity.js +2 -2
  399. package/dist/x/identity.min.js +2 -2
  400. package/dist/x/identity.min.mjs +2 -2
  401. package/dist/x/identity.mjs +2 -2
  402. package/dist/x/includes.es.js +2 -2
  403. package/dist/x/includes.es.min.js +2 -2
  404. package/dist/x/includes.js +2 -2
  405. package/dist/x/includes.min.js +2 -2
  406. package/dist/x/includes.min.mjs +2 -2
  407. package/dist/x/includes.mjs +2 -2
  408. package/dist/x/isDeepEqual.es.js +2 -2
  409. package/dist/x/isDeepEqual.es.min.js +2 -2
  410. package/dist/x/isDeepEqual.js +2 -2
  411. package/dist/x/isDeepEqual.min.js +2 -2
  412. package/dist/x/isDeepEqual.min.mjs +2 -2
  413. package/dist/x/isDeepEqual.mjs +2 -2
  414. package/dist/x/isEmpty.es.js +2 -2
  415. package/dist/x/isEmpty.es.min.js +2 -2
  416. package/dist/x/isEmpty.js +2 -2
  417. package/dist/x/isEmpty.min.js +2 -2
  418. package/dist/x/isEmpty.min.mjs +2 -2
  419. package/dist/x/isEmpty.mjs +2 -2
  420. package/dist/x/isEqual.es.js +2 -2
  421. package/dist/x/isEqual.es.min.js +2 -2
  422. package/dist/x/isEqual.js +2 -2
  423. package/dist/x/isEqual.min.js +2 -2
  424. package/dist/x/isEqual.min.mjs +2 -2
  425. package/dist/x/isEqual.mjs +2 -2
  426. package/dist/x/isFunction.es.js +2 -2
  427. package/dist/x/isFunction.es.min.js +2 -2
  428. package/dist/x/isFunction.js +2 -2
  429. package/dist/x/isFunction.min.js +2 -2
  430. package/dist/x/isFunction.min.mjs +2 -2
  431. package/dist/x/isFunction.mjs +2 -2
  432. package/dist/x/isIn.es.js +2 -2
  433. package/dist/x/isIn.es.min.js +2 -2
  434. package/dist/x/isIn.js +2 -2
  435. package/dist/x/isIn.min.js +2 -2
  436. package/dist/x/isIn.min.mjs +2 -2
  437. package/dist/x/isIn.mjs +2 -2
  438. package/dist/x/isObject.es.js +2 -2
  439. package/dist/x/isObject.es.min.js +2 -2
  440. package/dist/x/isObject.js +2 -2
  441. package/dist/x/isObject.min.js +2 -2
  442. package/dist/x/isObject.min.mjs +2 -2
  443. package/dist/x/isObject.mjs +2 -2
  444. package/dist/x/isString.es.js +2 -2
  445. package/dist/x/isString.es.min.js +2 -2
  446. package/dist/x/isString.js +2 -2
  447. package/dist/x/isString.min.js +2 -2
  448. package/dist/x/isString.min.mjs +2 -2
  449. package/dist/x/isString.mjs +2 -2
  450. package/dist/x/keys.es.js +2 -2
  451. package/dist/x/keys.es.min.js +2 -2
  452. package/dist/x/keys.js +2 -2
  453. package/dist/x/keys.min.js +2 -2
  454. package/dist/x/keys.min.mjs +2 -2
  455. package/dist/x/keys.mjs +2 -2
  456. package/dist/x/last.es.js +2 -2
  457. package/dist/x/last.es.min.js +2 -2
  458. package/dist/x/last.js +2 -2
  459. package/dist/x/last.min.js +2 -2
  460. package/dist/x/last.min.mjs +2 -2
  461. package/dist/x/last.mjs +2 -2
  462. package/dist/x/maxBy.es.js +59 -6
  463. package/dist/x/maxBy.es.min.js +3 -3
  464. package/dist/x/maxBy.js +59 -6
  465. package/dist/x/maxBy.min.js +3 -3
  466. package/dist/x/maxBy.min.mjs +3 -3
  467. package/dist/x/maxBy.mjs +59 -6
  468. package/dist/x/noop.es.js +2 -2
  469. package/dist/x/noop.es.min.js +2 -2
  470. package/dist/x/noop.js +2 -2
  471. package/dist/x/noop.min.js +2 -2
  472. package/dist/x/noop.min.mjs +2 -2
  473. package/dist/x/noop.mjs +2 -2
  474. package/dist/x/pluck.es.js +32 -103
  475. package/dist/x/pluck.es.min.js +3 -3
  476. package/dist/x/pluck.js +32 -103
  477. package/dist/x/pluck.min.js +3 -3
  478. package/dist/x/pluck.min.mjs +3 -3
  479. package/dist/x/pluck.mjs +32 -103
  480. package/dist/x/prepend.es.js +2 -2
  481. package/dist/x/prepend.es.min.js +2 -2
  482. package/dist/x/prepend.js +2 -2
  483. package/dist/x/prepend.min.js +2 -2
  484. package/dist/x/prepend.min.mjs +2 -2
  485. package/dist/x/prepend.mjs +2 -2
  486. package/dist/x/size.es.js +2 -2
  487. package/dist/x/size.es.min.js +2 -2
  488. package/dist/x/size.js +2 -2
  489. package/dist/x/size.min.js +2 -2
  490. package/dist/x/size.min.mjs +2 -2
  491. package/dist/x/size.mjs +2 -2
  492. package/dist/x/trace.es.js +2 -9
  493. package/dist/x/trace.es.min.js +3 -3
  494. package/dist/x/trace.js +2 -9
  495. package/dist/x/trace.min.js +3 -3
  496. package/dist/x/trace.min.mjs +3 -3
  497. package/dist/x/trace.mjs +2 -9
  498. package/dist/x/unionWith.es.js +2 -2
  499. package/dist/x/unionWith.es.min.js +2 -2
  500. package/dist/x/unionWith.js +2 -2
  501. package/dist/x/unionWith.min.js +2 -2
  502. package/dist/x/unionWith.min.mjs +2 -2
  503. package/dist/x/unionWith.mjs +2 -2
  504. package/dist/x/uniq.es.js +2 -2
  505. package/dist/x/uniq.es.min.js +2 -2
  506. package/dist/x/uniq.js +2 -2
  507. package/dist/x/uniq.min.js +2 -2
  508. package/dist/x/uniq.min.mjs +2 -2
  509. package/dist/x/uniq.mjs +2 -2
  510. package/dist/x/unless.es.js +2 -2
  511. package/dist/x/unless.es.min.js +2 -2
  512. package/dist/x/unless.js +2 -2
  513. package/dist/x/unless.min.js +2 -2
  514. package/dist/x/unless.min.mjs +2 -2
  515. package/dist/x/unless.mjs +2 -2
  516. package/dist/x/values.es.js +2 -2
  517. package/dist/x/values.es.min.js +2 -2
  518. package/dist/x/values.js +2 -2
  519. package/dist/x/values.min.js +2 -2
  520. package/dist/x/values.min.mjs +2 -2
  521. package/dist/x/values.mjs +2 -2
  522. package/dist/x/when.es.js +2 -2
  523. package/dist/x/when.es.min.js +2 -2
  524. package/dist/x/when.js +2 -2
  525. package/dist/x/when.min.js +2 -2
  526. package/dist/x/when.min.mjs +2 -2
  527. package/dist/x/when.mjs +2 -2
  528. package/dist-test.js +9 -2025
  529. package/eq.js +21 -63
  530. package/es.js +746 -869
  531. package/every.js +94 -0
  532. package/filter.js +83 -125
  533. package/flatMap.js +105 -154
  534. package/forEach.js +82 -0
  535. package/get.js +44 -36
  536. package/global.js +6 -4
  537. package/gt.js +15 -58
  538. package/gte.js +14 -57
  539. package/index.js +746 -869
  540. package/lt.js +17 -60
  541. package/lte.js +14 -57
  542. package/map.js +153 -203
  543. package/memory-usage/reduce.js +2 -2
  544. package/not.js +30 -49
  545. package/omit.js +36 -13
  546. package/or.js +64 -41
  547. package/package.json +7 -7
  548. package/pick.js +52 -22
  549. package/pipe.js +27 -92
  550. package/reduce.js +114 -129
  551. package/rubico.js +10 -8
  552. package/set.js +60 -24
  553. package/some.js +105 -0
  554. package/switchCase.js +29 -25
  555. package/tap.js +15 -45
  556. package/test.js +847 -1083
  557. package/thunkify.js +11 -5
  558. package/transform.js +57 -81
  559. package/tryCatch.js +38 -32
  560. package/x/differenceWith.js +3 -3
  561. package/x/filterOut.test.js +6 -6
  562. package/x/flatten.js +1 -1
  563. package/x/flatten.test.js +0 -8
  564. package/x/index.js +0 -2
  565. package/x/pluck.js +18 -27
  566. package/x/pluck.test.js +3 -7
  567. package/x/timeInLoop.js +16 -25
  568. package/x/timeInLoop.test.js +8 -4
  569. package/any.js +0 -88
  570. package/dist/any.es.min.js +0 -7
  571. package/dist/any.min.js +0 -8
  572. package/dist/any.min.mjs +0 -7
  573. package/dist/fork.es.js +0 -159
  574. package/dist/fork.es.min.js +0 -7
  575. package/dist/fork.js +0 -166
  576. package/dist/fork.min.js +0 -8
  577. package/dist/fork.min.mjs +0 -7
  578. package/dist/fork.mjs +0 -159
  579. package/dist/x/forEach.es.min.js +0 -7
  580. package/dist/x/forEach.min.js +0 -8
  581. package/dist/x/forEach.min.mjs +0 -7
  582. package/fork.js +0 -91
  583. package/x/forEach.js +0 -93
  584. package/x/forEach.test.js +0 -218
  585. /package/{benchmarks → archive/benchmarks-v1.9.7}/any.js +0 -0
  586. /package/{x/forEach.benchmark.js → archive/benchmarks-v1.9.7/forEach.js} +0 -0
  587. /package/{benchmarks → archive/benchmarks-v1.9.7}/fork.js +0 -0
  588. /package/{benchmarks → archive/benchmarks-v1.9.7}/integration.js +0 -0
  589. /package/{benchmarks → archive/benchmarks-v1.9.7}/misc.js +0 -0
package/dist/not.es.js CHANGED
@@ -1,29 +1,90 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
8
  const isPromise = value => value != null && typeof value.then == 'function'
9
9
 
10
- // true -> false
11
- const _not = value => !value
12
-
13
- const not = function (funcOrValue) {
14
- if (typeof funcOrValue == 'function') {
15
- return function logicalInverter(value) {
16
- const boolean = funcOrValue(value)
17
- return isPromise(boolean) ? boolean.then(_not) : !boolean
10
+ const areAnyValuesPromises = function (values) {
11
+ const length = values.length
12
+ let index = -1
13
+ while (++index < length) {
14
+ const value = values[index]
15
+ if (isPromise(value)) {
16
+ return true
18
17
  }
19
18
  }
20
- return !funcOrValue
19
+ return false
20
+ }
21
+
22
+ const promiseAll = Promise.all.bind(Promise)
23
+
24
+ const __ = Symbol.for('placeholder')
25
+
26
+ // argument resolver for curry2
27
+ const curry2ResolveArg0 = (
28
+ baseFunc, arg1,
29
+ ) => function arg0Resolver(arg0) {
30
+ return baseFunc(arg0, arg1)
31
+ }
32
+
33
+ // argument resolver for curry2
34
+ const curry2ResolveArg1 = (
35
+ baseFunc, arg0,
36
+ ) => function arg1Resolver(arg1) {
37
+ return baseFunc(arg0, arg1)
38
+ }
39
+
40
+ const curry2 = function (baseFunc, arg0, arg1) {
41
+ return arg0 == __
42
+ ? curry2ResolveArg0(baseFunc, arg1)
43
+ : curry2ResolveArg1(baseFunc, arg0)
44
+ }
45
+
46
+ // argument resolver for curryArgs2
47
+ const curryArgs2ResolveArgs0 = (
48
+ baseFunc, arg1, arg2,
49
+ ) => function args0Resolver(...args) {
50
+ return baseFunc(args, arg1)
21
51
  }
22
52
 
23
- const notSync = func => function notSync(...args) {
24
- return !func(...args)
53
+ // argument resolver for curryArgs2
54
+ const curryArgs2ResolveArgs1 = (
55
+ baseFunc, arg0, arg2,
56
+ ) => function arg1Resolver(...args) {
57
+ return baseFunc(arg0, args)
25
58
  }
26
59
 
27
- not.sync = notSync
60
+ const curryArgs2 = function (baseFunc, arg0, arg1) {
61
+ if (arg0 == __) {
62
+ return curryArgs2ResolveArgs0(baseFunc, arg1)
63
+ }
64
+ return curryArgs2ResolveArgs1(baseFunc, arg0)
65
+ }
66
+
67
+ // negate(value boolean) -> inverse boolean
68
+ const negate = value => !value
69
+
70
+ // _not(args Array, predicate function)
71
+ const _not = function (args, predicate) {
72
+ const boolean = predicate(...args)
73
+ return isPromise(boolean) ? boolean.then(negate) : !boolean
74
+ }
75
+
76
+ const not = function (...args) {
77
+ const predicateOrValue = args.pop()
78
+ if (typeof predicateOrValue == 'function') {
79
+ if (args.length == 0) {
80
+ return curryArgs2(_not, __, predicateOrValue)
81
+ }
82
+ if (areAnyValuesPromises(args)) {
83
+ return promiseAll(args).then(curry2(_not, __, predicateOrValue))
84
+ }
85
+ return _not(args, predicateOrValue)
86
+ }
87
+ return !predicateOrValue
88
+ }
28
89
 
29
90
  export default not
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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 isPromise=n=>null!=n&&"function"==typeof n.then,_not=n=>!n,not=function(n){return"function"==typeof n?function(t){const o=n(t);return isPromise(o)?o.then(_not):!o}:!n},notSync=n=>function(...t){return!n(...t)};not.sync=notSync;export default not;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),__=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)},curryArgs2ResolveArgs0=(r,e,n)=>function(...n){return r(n,e)},curryArgs2ResolveArgs1=(r,e,n)=>function(...n){return r(e,n)},curryArgs2=function(r,e,n){return e==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,e)},negate=r=>!r,_not=function(r,e){const n=e(...r);return isPromise(n)?n.then(negate):!n},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?(n=_not,s=e,(o=__)==__?curryArgs2ResolveArgs0(n,s):curryArgs2ResolveArgs1(n,o)):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):!e;var n,o,s};export default not;
package/dist/not.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
@@ -13,24 +13,85 @@
13
13
 
14
14
  const isPromise = value => value != null && typeof value.then == 'function'
15
15
 
16
- // true -> false
17
- const _not = value => !value
18
-
19
- const not = function (funcOrValue) {
20
- if (typeof funcOrValue == 'function') {
21
- return function logicalInverter(value) {
22
- const boolean = funcOrValue(value)
23
- return isPromise(boolean) ? boolean.then(_not) : !boolean
16
+ const areAnyValuesPromises = function (values) {
17
+ const length = values.length
18
+ let index = -1
19
+ while (++index < length) {
20
+ const value = values[index]
21
+ if (isPromise(value)) {
22
+ return true
24
23
  }
25
24
  }
26
- return !funcOrValue
25
+ return false
26
+ }
27
+
28
+ const promiseAll = Promise.all.bind(Promise)
29
+
30
+ const __ = Symbol.for('placeholder')
31
+
32
+ // argument resolver for curry2
33
+ const curry2ResolveArg0 = (
34
+ baseFunc, arg1,
35
+ ) => function arg0Resolver(arg0) {
36
+ return baseFunc(arg0, arg1)
37
+ }
38
+
39
+ // argument resolver for curry2
40
+ const curry2ResolveArg1 = (
41
+ baseFunc, arg0,
42
+ ) => function arg1Resolver(arg1) {
43
+ return baseFunc(arg0, arg1)
44
+ }
45
+
46
+ const curry2 = function (baseFunc, arg0, arg1) {
47
+ return arg0 == __
48
+ ? curry2ResolveArg0(baseFunc, arg1)
49
+ : curry2ResolveArg1(baseFunc, arg0)
50
+ }
51
+
52
+ // argument resolver for curryArgs2
53
+ const curryArgs2ResolveArgs0 = (
54
+ baseFunc, arg1, arg2,
55
+ ) => function args0Resolver(...args) {
56
+ return baseFunc(args, arg1)
27
57
  }
28
58
 
29
- const notSync = func => function notSync(...args) {
30
- return !func(...args)
59
+ // argument resolver for curryArgs2
60
+ const curryArgs2ResolveArgs1 = (
61
+ baseFunc, arg0, arg2,
62
+ ) => function arg1Resolver(...args) {
63
+ return baseFunc(arg0, args)
31
64
  }
32
65
 
33
- not.sync = notSync
66
+ const curryArgs2 = function (baseFunc, arg0, arg1) {
67
+ if (arg0 == __) {
68
+ return curryArgs2ResolveArgs0(baseFunc, arg1)
69
+ }
70
+ return curryArgs2ResolveArgs1(baseFunc, arg0)
71
+ }
72
+
73
+ // negate(value boolean) -> inverse boolean
74
+ const negate = value => !value
75
+
76
+ // _not(args Array, predicate function)
77
+ const _not = function (args, predicate) {
78
+ const boolean = predicate(...args)
79
+ return isPromise(boolean) ? boolean.then(negate) : !boolean
80
+ }
81
+
82
+ const not = function (...args) {
83
+ const predicateOrValue = args.pop()
84
+ if (typeof predicateOrValue == 'function') {
85
+ if (args.length == 0) {
86
+ return curryArgs2(_not, __, predicateOrValue)
87
+ }
88
+ if (areAnyValuesPromises(args)) {
89
+ return promiseAll(args).then(curry2(_not, __, predicateOrValue))
90
+ }
91
+ return _not(args, predicateOrValue)
92
+ }
93
+ return !predicateOrValue
94
+ }
34
95
 
35
96
  return not
36
97
  }())))
package/dist/not.min.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.not=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>!n,t=function(t){return"function"==typeof t?function(o){const e=t(o);return(n=>null!=n&&"function"==typeof n.then)(e)?e.then(n):!e}:!t};return t.sync=n=>function(...t){return!n(...t)},t}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.not=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Promise.all.bind(Promise),o=Symbol.for("placeholder"),e=n=>!n,r=function(t,o){const r=o(...t);return n(r)?r.then(e):!r};return function(...e){const u=e.pop();return"function"==typeof u?0==e.length?(f=r,c=u,(i=o)==o?((n,t,o)=>function(...o){return n(o,t)})(f,c):((n,t,o)=>function(...o){return n(t,o)})(f,i)):function(t){const o=t.length;let e=-1;for(;++e<o;){const o=t[e];if(n(o))return!0}return!1}(e)?t(e).then(function(n,t,e){return t==o?((n,t)=>function(o){return n(o,t)})(n,e):((n,t)=>function(o){return n(t,o)})(n,t)}(r,o,u)):r(e,u):!u;var f,i,c}}());
package/dist/not.min.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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 isPromise=n=>null!=n&&"function"==typeof n.then,_not=n=>!n,not=function(n){return"function"==typeof n?function(t){const o=n(t);return isPromise(o)?o.then(_not):!o}:!n},notSync=n=>function(...t){return!n(...t)};not.sync=notSync;export default not;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),__=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)},curryArgs2ResolveArgs0=(r,e,n)=>function(...n){return r(n,e)},curryArgs2ResolveArgs1=(r,e,n)=>function(...n){return r(e,n)},curryArgs2=function(r,e,n){return e==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,e)},negate=r=>!r,_not=function(r,e){const n=e(...r);return isPromise(n)?n.then(negate):!n},not=function(...r){const e=r.pop();return"function"==typeof e?0==r.length?(n=_not,s=e,(o=__)==__?curryArgs2ResolveArgs0(n,s):curryArgs2ResolveArgs1(n,o)):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_not,__,e)):_not(r,e):!e;var n,o,s};export default not;
package/dist/not.mjs CHANGED
@@ -1,29 +1,90 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
8
  const isPromise = value => value != null && typeof value.then == 'function'
9
9
 
10
- // true -> false
11
- const _not = value => !value
12
-
13
- const not = function (funcOrValue) {
14
- if (typeof funcOrValue == 'function') {
15
- return function logicalInverter(value) {
16
- const boolean = funcOrValue(value)
17
- return isPromise(boolean) ? boolean.then(_not) : !boolean
10
+ const areAnyValuesPromises = function (values) {
11
+ const length = values.length
12
+ let index = -1
13
+ while (++index < length) {
14
+ const value = values[index]
15
+ if (isPromise(value)) {
16
+ return true
18
17
  }
19
18
  }
20
- return !funcOrValue
19
+ return false
20
+ }
21
+
22
+ const promiseAll = Promise.all.bind(Promise)
23
+
24
+ const __ = Symbol.for('placeholder')
25
+
26
+ // argument resolver for curry2
27
+ const curry2ResolveArg0 = (
28
+ baseFunc, arg1,
29
+ ) => function arg0Resolver(arg0) {
30
+ return baseFunc(arg0, arg1)
31
+ }
32
+
33
+ // argument resolver for curry2
34
+ const curry2ResolveArg1 = (
35
+ baseFunc, arg0,
36
+ ) => function arg1Resolver(arg1) {
37
+ return baseFunc(arg0, arg1)
38
+ }
39
+
40
+ const curry2 = function (baseFunc, arg0, arg1) {
41
+ return arg0 == __
42
+ ? curry2ResolveArg0(baseFunc, arg1)
43
+ : curry2ResolveArg1(baseFunc, arg0)
44
+ }
45
+
46
+ // argument resolver for curryArgs2
47
+ const curryArgs2ResolveArgs0 = (
48
+ baseFunc, arg1, arg2,
49
+ ) => function args0Resolver(...args) {
50
+ return baseFunc(args, arg1)
21
51
  }
22
52
 
23
- const notSync = func => function notSync(...args) {
24
- return !func(...args)
53
+ // argument resolver for curryArgs2
54
+ const curryArgs2ResolveArgs1 = (
55
+ baseFunc, arg0, arg2,
56
+ ) => function arg1Resolver(...args) {
57
+ return baseFunc(arg0, args)
25
58
  }
26
59
 
27
- not.sync = notSync
60
+ const curryArgs2 = function (baseFunc, arg0, arg1) {
61
+ if (arg0 == __) {
62
+ return curryArgs2ResolveArgs0(baseFunc, arg1)
63
+ }
64
+ return curryArgs2ResolveArgs1(baseFunc, arg0)
65
+ }
66
+
67
+ // negate(value boolean) -> inverse boolean
68
+ const negate = value => !value
69
+
70
+ // _not(args Array, predicate function)
71
+ const _not = function (args, predicate) {
72
+ const boolean = predicate(...args)
73
+ return isPromise(boolean) ? boolean.then(negate) : !boolean
74
+ }
75
+
76
+ const not = function (...args) {
77
+ const predicateOrValue = args.pop()
78
+ if (typeof predicateOrValue == 'function') {
79
+ if (args.length == 0) {
80
+ return curryArgs2(_not, __, predicateOrValue)
81
+ }
82
+ if (areAnyValuesPromises(args)) {
83
+ return promiseAll(args).then(curry2(_not, __, predicateOrValue))
84
+ }
85
+ return _not(args, predicateOrValue)
86
+ }
87
+ return !predicateOrValue
88
+ }
28
89
 
29
90
  export default not
package/dist/omit.es.js CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
+ const isPromise = value => value != null && typeof value.then == 'function'
9
+
8
10
  const isArray = Array.isArray
9
11
 
10
12
  const memoizeCappedUnary = function (func, cap) {
@@ -133,7 +135,30 @@ const copyDeep = function (value) {
133
135
  return value
134
136
  }
135
137
 
136
- const omit = paths => function omitting(source) {
138
+ const __ = Symbol.for('placeholder')
139
+
140
+ // argument resolver for curry2
141
+ const curry2ResolveArg0 = (
142
+ baseFunc, arg1,
143
+ ) => function arg0Resolver(arg0) {
144
+ return baseFunc(arg0, arg1)
145
+ }
146
+
147
+ // argument resolver for curry2
148
+ const curry2ResolveArg1 = (
149
+ baseFunc, arg0,
150
+ ) => function arg1Resolver(arg1) {
151
+ return baseFunc(arg0, arg1)
152
+ }
153
+
154
+ const curry2 = function (baseFunc, arg0, arg1) {
155
+ return arg0 == __
156
+ ? curry2ResolveArg0(baseFunc, arg1)
157
+ : curry2ResolveArg1(baseFunc, arg0)
158
+ }
159
+
160
+ // _omit(source Object, paths Array<string>) -> result Object
161
+ const _omit = function (source, paths) {
137
162
  const pathsLength = paths.length,
138
163
  result = copyDeep(source)
139
164
  let pathsIndex = -1
@@ -143,4 +168,14 @@ const omit = paths => function omitting(source) {
143
168
  return result
144
169
  }
145
170
 
171
+ const omit = function (arg0, arg1) {
172
+ if (arg1 == null) {
173
+ return curry2(_omit, __, arg0)
174
+ }
175
+ if (isPromise(arg0)) {
176
+ return arg0.then(curry2(_omit, __, arg1))
177
+ }
178
+ return _omit(arg0, arg1)
179
+ }
180
+
146
181
  export default omit
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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 isArray=Array.isArray,memoizeCappedUnary=function(e,t){const r=new Map,o=function(o){if(r.has(o))return r.get(o);const n=e(o);return r.set(o,n),r.size>t&&r.clear(),n};return o.cache=r,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(e){const t=e.length-1,r="["==e[0],o="]"==e[t];return r&&o?e.slice(1,t).split(pathDelimiters):r?e.slice(1).split(pathDelimiters):o?e.slice(0,t).split(pathDelimiters):e.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=e=>isArray(e)?e:"string"==typeof e?memoizedCappedParsePropertyPath(e):[e],getByPath=function(e,t){const r=propertyPathToArray(t),o=r.length;let n=-1,p=e;for(;++n<o;)if(p=p[r[n]],null==p)return;return p},deleteByPath=function(e,t){if(null==e)return;const r=propertyPathToArray(t),o=r.length-1;let n=-1,p=e;for(;++n<o;)if(p=p[r[n]],null==p)return;const a=r[n];null!=p&&a in p&&delete p[a]},objectCopyDeep=function(e){const t={};for(const r in e){const o=e[r];isArray(o)?t[r]=arrayCopyDeep(o):null!=o&&o.constructor==Object?t[r]=objectCopyDeep(o):t[r]=o}return t},arrayCopyDeep=function(e){const t=e.length,r=[];let o=-1;for(;++o<t;){const t=e[o];isArray(t)?r[o]=arrayCopyDeep(t):null!=t&&t.constructor==Object?r[o]=objectCopyDeep(t):r[o]=t}return r},copyDeep=function(e){return isArray(e)?arrayCopyDeep(e):null==e?e:e.constructor==Object?objectCopyDeep(e):e},omit=e=>function(t){const r=e.length,o=isArray(n=t)?arrayCopyDeep(n):null==n?n:n.constructor==Object?objectCopyDeep(n):n;var n;let p=-1;for(;++p<r;)deleteByPath(o,e[p]);return o};export default omit;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,memoizeCappedUnary=function(r,e){const t=new Map,o=function(o){if(t.has(o))return t.get(o);const n=r(o);return t.set(o,n),t.size>e&&t.clear(),n};return o.cache=t,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],o="]"==r[e];return t&&o?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):o?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),o=t.length;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;return c},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),o=t.length-1;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;const i=t[n];null!=c&&i in c&&delete c[i]},objectCopyDeep=function(r){const e={};for(const t in r){const o=r[t];isArray(o)?e[t]=arrayCopyDeep(o):null!=o&&o.constructor==Object?e[t]=objectCopyDeep(o):e[t]=o}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let o=-1;for(;++o<e;){const e=r[o];isArray(e)?t[o]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[o]=objectCopyDeep(e):t[o]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},__=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)},_omit=function(r,e){const t=e.length,o=isArray(n=r)?arrayCopyDeep(n):null==n?n:n.constructor==Object?objectCopyDeep(n):n;var n;let c=-1;for(;++c<t;)deleteByPath(o,e[c]);return o},omit=function(r,e){return null==e?curry2(_omit,__,r):null!=(t=r)&&"function"==typeof t.then?r.then(curry2(_omit,__,e)):_omit(r,e);var t};export default omit;
package/dist/omit.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
@@ -11,6 +11,8 @@
11
11
  else (root.omit = omit) // Browser
12
12
  }(typeof globalThis == 'object' ? globalThis : this, (function () { 'use strict'
13
13
 
14
+ const isPromise = value => value != null && typeof value.then == 'function'
15
+
14
16
  const isArray = Array.isArray
15
17
 
16
18
  const memoizeCappedUnary = function (func, cap) {
@@ -139,7 +141,30 @@ const copyDeep = function (value) {
139
141
  return value
140
142
  }
141
143
 
142
- const omit = paths => function omitting(source) {
144
+ const __ = Symbol.for('placeholder')
145
+
146
+ // argument resolver for curry2
147
+ const curry2ResolveArg0 = (
148
+ baseFunc, arg1,
149
+ ) => function arg0Resolver(arg0) {
150
+ return baseFunc(arg0, arg1)
151
+ }
152
+
153
+ // argument resolver for curry2
154
+ const curry2ResolveArg1 = (
155
+ baseFunc, arg0,
156
+ ) => function arg1Resolver(arg1) {
157
+ return baseFunc(arg0, arg1)
158
+ }
159
+
160
+ const curry2 = function (baseFunc, arg0, arg1) {
161
+ return arg0 == __
162
+ ? curry2ResolveArg0(baseFunc, arg1)
163
+ : curry2ResolveArg1(baseFunc, arg0)
164
+ }
165
+
166
+ // _omit(source Object, paths Array<string>) -> result Object
167
+ const _omit = function (source, paths) {
143
168
  const pathsLength = paths.length,
144
169
  result = copyDeep(source)
145
170
  let pathsIndex = -1
@@ -149,5 +174,15 @@ const omit = paths => function omitting(source) {
149
174
  return result
150
175
  }
151
176
 
177
+ const omit = function (arg0, arg1) {
178
+ if (arg1 == null) {
179
+ return curry2(_omit, __, arg0)
180
+ }
181
+ if (isPromise(arg0)) {
182
+ return arg0.then(curry2(_omit, __, arg1))
183
+ }
184
+ return _omit(arg0, arg1)
185
+ }
186
+
152
187
  return omit
153
188
  }())))
package/dist/omit.min.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
- !function(t,n){"object"==typeof module?module.exports=n:"function"==typeof define?define((()=>n)):t.omit=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 c=t(o);return e.set(o,c),e.size>n&&e.clear(),c};return o.cache=e,o}((function(t){const e=t.length-1,o="["==t[0],c="]"==t[e];return o&&c?t.slice(1,e).split(n):o?t.slice(1).split(n):c?t.slice(0,e).split(n):t.split(n)}),500),o=n=>t(n)?n:"string"==typeof n?e(n):[n],c=function(t,n){if(null==t)return;const e=o(n),c=e.length-1;let r=-1,l=t;for(;++r<c;)if(l=l[e[r]],null==l)return;const s=e[r];null!=l&&s in l&&delete l[s]},r=function(n){const e={};for(const o in n){const c=n[o];t(c)?e[o]=l(c):null!=c&&c.constructor==Object?e[o]=r(c):e[o]=c}return e},l=function(n){const e=n.length,o=[];let c=-1;for(;++c<e;){const e=n[c];t(e)?o[c]=l(e):null!=e&&e.constructor==Object?o[c]=r(e):o[c]=e}return o};return n=>function(e){const o=n.length,s=t(i=e)?l(i):null==i?i:i.constructor==Object?r(i):i;var i;let u=-1;for(;++u<o;)c(s,n[u]);return s}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.omit=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=/[.|[|\]]+/,e=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 e=n.length-1,o="["==n[0],r="]"==n[e];return o&&r?n.slice(1,e).split(t):o?n.slice(1).split(t):r?n.slice(0,e).split(t):n.split(t)}),500),o=t=>n(t)?t:"string"==typeof t?e(t):[t],r=function(n,t){if(null==n)return;const e=o(t),r=e.length-1;let c=-1,u=n;for(;++c<r;)if(u=u[e[c]],null==u)return;const l=e[c];null!=u&&l in u&&delete u[l]},c=function(t){const e={};for(const o in t){const r=t[o];n(r)?e[o]=u(r):null!=r&&r.constructor==Object?e[o]=c(r):e[o]=r}return e},u=function(t){const e=t.length,o=[];let r=-1;for(;++r<e;){const e=t[r];n(e)?o[r]=u(e):null!=e&&e.constructor==Object?o[r]=c(e):o[r]=e}return o},l=Symbol.for("placeholder"),i=function(n,t,e){return t==l?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},s=function(t,e){const o=e.length,l=n(i=t)?u(i):null==i?i:i.constructor==Object?c(i):i;var i;let s=-1;for(;++s<o;)r(l,e[s]);return l};return function(n,t){return null==t?i(s,l,n):null!=(e=n)&&"function"==typeof e.then?n.then(i(s,l,t)):s(n,t);var e}}());
package/dist/omit.min.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v1.9.6
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 isArray=Array.isArray,memoizeCappedUnary=function(e,t){const r=new Map,o=function(o){if(r.has(o))return r.get(o);const n=e(o);return r.set(o,n),r.size>t&&r.clear(),n};return o.cache=r,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(e){const t=e.length-1,r="["==e[0],o="]"==e[t];return r&&o?e.slice(1,t).split(pathDelimiters):r?e.slice(1).split(pathDelimiters):o?e.slice(0,t).split(pathDelimiters):e.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=e=>isArray(e)?e:"string"==typeof e?memoizedCappedParsePropertyPath(e):[e],getByPath=function(e,t){const r=propertyPathToArray(t),o=r.length;let n=-1,p=e;for(;++n<o;)if(p=p[r[n]],null==p)return;return p},deleteByPath=function(e,t){if(null==e)return;const r=propertyPathToArray(t),o=r.length-1;let n=-1,p=e;for(;++n<o;)if(p=p[r[n]],null==p)return;const a=r[n];null!=p&&a in p&&delete p[a]},objectCopyDeep=function(e){const t={};for(const r in e){const o=e[r];isArray(o)?t[r]=arrayCopyDeep(o):null!=o&&o.constructor==Object?t[r]=objectCopyDeep(o):t[r]=o}return t},arrayCopyDeep=function(e){const t=e.length,r=[];let o=-1;for(;++o<t;){const t=e[o];isArray(t)?r[o]=arrayCopyDeep(t):null!=t&&t.constructor==Object?r[o]=objectCopyDeep(t):r[o]=t}return r},copyDeep=function(e){return isArray(e)?arrayCopyDeep(e):null==e?e:e.constructor==Object?objectCopyDeep(e):e},omit=e=>function(t){const r=e.length,o=isArray(n=t)?arrayCopyDeep(n):null==n?n:n.constructor==Object?objectCopyDeep(n):n;var n;let p=-1;for(;++p<r;)deleteByPath(o,e[p]);return o};export default omit;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,isArray=Array.isArray,memoizeCappedUnary=function(r,e){const t=new Map,o=function(o){if(t.has(o))return t.get(o);const n=r(o);return t.set(o,n),t.size>e&&t.clear(),n};return o.cache=t,o},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const e=r.length-1,t="["==r[0],o="]"==r[e];return t&&o?r.slice(1,e).split(pathDelimiters):t?r.slice(1).split(pathDelimiters):o?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),o=t.length;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;return c},deleteByPath=function(r,e){if(null==r)return;const t=propertyPathToArray(e),o=t.length-1;let n=-1,c=r;for(;++n<o;)if(c=c[t[n]],null==c)return;const i=t[n];null!=c&&i in c&&delete c[i]},objectCopyDeep=function(r){const e={};for(const t in r){const o=r[t];isArray(o)?e[t]=arrayCopyDeep(o):null!=o&&o.constructor==Object?e[t]=objectCopyDeep(o):e[t]=o}return e},arrayCopyDeep=function(r){const e=r.length,t=[];let o=-1;for(;++o<e;){const e=r[o];isArray(e)?t[o]=arrayCopyDeep(e):null!=e&&e.constructor==Object?t[o]=objectCopyDeep(e):t[o]=e}return t},copyDeep=function(r){return isArray(r)?arrayCopyDeep(r):null==r?r:r.constructor==Object?objectCopyDeep(r):r},__=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)},_omit=function(r,e){const t=e.length,o=isArray(n=r)?arrayCopyDeep(n):null==n?n:n.constructor==Object?objectCopyDeep(n):n;var n;let c=-1;for(;++c<t;)deleteByPath(o,e[c]);return o},omit=function(r,e){return null==e?curry2(_omit,__,r):null!=(t=r)&&"function"==typeof t.then?r.then(curry2(_omit,__,e)):_omit(r,e);var t};export default omit;
package/dist/omit.mjs CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
- * rubico v1.9.6
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
 
8
+ const isPromise = value => value != null && typeof value.then == 'function'
9
+
8
10
  const isArray = Array.isArray
9
11
 
10
12
  const memoizeCappedUnary = function (func, cap) {
@@ -133,7 +135,30 @@ const copyDeep = function (value) {
133
135
  return value
134
136
  }
135
137
 
136
- const omit = paths => function omitting(source) {
138
+ const __ = Symbol.for('placeholder')
139
+
140
+ // argument resolver for curry2
141
+ const curry2ResolveArg0 = (
142
+ baseFunc, arg1,
143
+ ) => function arg0Resolver(arg0) {
144
+ return baseFunc(arg0, arg1)
145
+ }
146
+
147
+ // argument resolver for curry2
148
+ const curry2ResolveArg1 = (
149
+ baseFunc, arg0,
150
+ ) => function arg1Resolver(arg1) {
151
+ return baseFunc(arg0, arg1)
152
+ }
153
+
154
+ const curry2 = function (baseFunc, arg0, arg1) {
155
+ return arg0 == __
156
+ ? curry2ResolveArg0(baseFunc, arg1)
157
+ : curry2ResolveArg1(baseFunc, arg0)
158
+ }
159
+
160
+ // _omit(source Object, paths Array<string>) -> result Object
161
+ const _omit = function (source, paths) {
137
162
  const pathsLength = paths.length,
138
163
  result = copyDeep(source)
139
164
  let pathsIndex = -1
@@ -143,4 +168,14 @@ const omit = paths => function omitting(source) {
143
168
  return result
144
169
  }
145
170
 
171
+ const omit = function (arg0, arg1) {
172
+ if (arg1 == null) {
173
+ return curry2(_omit, __, arg0)
174
+ }
175
+ if (isPromise(arg0)) {
176
+ return arg0.then(curry2(_omit, __, arg1))
177
+ }
178
+ return _omit(arg0, arg1)
179
+ }
180
+
146
181
  export default omit