rubico 2.7.3 → 2.7.5

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 (496) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +27 -30
  3. package/Transducer.d.ts +10 -10
  4. package/Transducer.js +65 -69
  5. package/__.js +1 -1
  6. package/_internal/FlatMappingIterator.js +1 -1
  7. package/_internal/MappingIterator.d.ts +1 -1
  8. package/_internal/MappingIterator.js +1 -1
  9. package/_internal/arrayFilter.js +6 -6
  10. package/_internal/arrayFilterIndexes.js +7 -7
  11. package/_internal/arrayFilterWithIndex.js +6 -6
  12. package/_internal/arrayFind.js +7 -7
  13. package/_internal/arrayFlatten.js +25 -25
  14. package/_internal/arrayForEach.d.ts +1 -1
  15. package/_internal/arrayForEach.js +1 -1
  16. package/_internal/arrayForEachSeries.js +1 -1
  17. package/_internal/arrayMap.d.ts +2 -2
  18. package/_internal/arrayMap.js +5 -5
  19. package/_internal/arrayMapPool.d.ts +1 -1
  20. package/_internal/arrayMapPool.js +10 -10
  21. package/_internal/arrayMapRate.js +4 -4
  22. package/_internal/arrayMapSeries.d.ts +1 -1
  23. package/_internal/arrayMapSeries.js +8 -8
  24. package/_internal/arrayMapWithIndex.js +4 -4
  25. package/_internal/arrayReduce.js +1 -1
  26. package/_internal/asyncGeneratorFunctionForEach.js +3 -3
  27. package/_internal/asyncGeneratorFunctionMap.js +3 -3
  28. package/_internal/asyncIteratorFind.js +3 -3
  29. package/_internal/asyncIteratorForEach.d.ts +1 -1
  30. package/_internal/asyncIteratorForEach.js +3 -3
  31. package/_internal/asyncIteratorForEachSeries.js +3 -3
  32. package/_internal/asyncIteratorToArray.js +2 -2
  33. package/_internal/copyDeep.js +12 -12
  34. package/_internal/funcAll.js +3 -3
  35. package/_internal/funcAllSeries.js +6 -6
  36. package/_internal/funcObjectAll.js +4 -4
  37. package/_internal/functionArrayAll.js +3 -3
  38. package/_internal/functionArrayAllSeries.js +6 -6
  39. package/_internal/functionObjectAll.js +4 -4
  40. package/_internal/generatorFunctionForEach.js +3 -3
  41. package/_internal/generatorFunctionMap.js +3 -3
  42. package/_internal/generatorFunctionReduce.js +1 -1
  43. package/_internal/iteratorEvery.js +2 -2
  44. package/_internal/iteratorFind.js +7 -7
  45. package/_internal/iteratorForEach.d.ts +1 -1
  46. package/_internal/iteratorForEach.js +3 -3
  47. package/_internal/iteratorForEachSeries.js +1 -1
  48. package/_internal/iteratorReduce.d.ts +1 -1
  49. package/_internal/iteratorReduce.js +2 -2
  50. package/_internal/iteratorSome.js +2 -2
  51. package/_internal/mapFilter.js +4 -4
  52. package/_internal/mapMap.d.ts +1 -1
  53. package/_internal/mapMap.js +6 -6
  54. package/_internal/mapMapPool.js +10 -10
  55. package/_internal/mapMapSeries.js +10 -10
  56. package/_internal/objectFilter.js +6 -6
  57. package/_internal/objectFlatMap.d.ts +1 -1
  58. package/_internal/objectFlatMap.js +1 -1
  59. package/_internal/objectFlatten.js +14 -14
  60. package/_internal/objectMap.js +3 -3
  61. package/_internal/objectMapOwn.js +3 -3
  62. package/_internal/objectMapPool.js +10 -10
  63. package/_internal/objectMapSeries.js +9 -9
  64. package/_internal/objectReduce.d.ts +1 -1
  65. package/_internal/objectReduce.js +2 -2
  66. package/_internal/reducerAllSync.d.ts +2 -2
  67. package/_internal/reducerAllSync.js +2 -2
  68. package/_internal/reducerAnySync.d.ts +1 -1
  69. package/_internal/reducerAnySync.js +2 -2
  70. package/_internal/reducerConcat.d.ts +1 -1
  71. package/_internal/reducerConcat.js +4 -4
  72. package/_internal/reducerConcatSync.js +2 -2
  73. package/_internal/reducerEvery.d.ts +2 -2
  74. package/_internal/reducerEvery.js +4 -4
  75. package/_internal/reducerFilter.d.ts +2 -2
  76. package/_internal/reducerFilter.js +5 -5
  77. package/_internal/reducerFlatten.js +3 -3
  78. package/_internal/reducerForEach.d.ts +2 -2
  79. package/_internal/reducerForEach.js +5 -5
  80. package/_internal/reducerMap.d.ts +1 -1
  81. package/_internal/reducerMap.js +5 -5
  82. package/_internal/reducerSome.d.ts +2 -2
  83. package/_internal/reducerSome.js +4 -4
  84. package/_internal/reducerTryCatch.d.ts +2 -2
  85. package/_internal/reducerTryCatch.js +8 -8
  86. package/_internal/setFilter.d.ts +1 -1
  87. package/_internal/setFilter.js +5 -5
  88. package/_internal/setFlatten.js +24 -24
  89. package/_internal/setMap.d.ts +1 -1
  90. package/_internal/setMap.js +6 -6
  91. package/_internal/setMapPool.js +9 -9
  92. package/_internal/setMapSeries.js +10 -10
  93. package/_internal/streamFlatExtend.js +25 -25
  94. package/_internal/streamFlatMap.js +2 -2
  95. package/all.js +3 -3
  96. package/and.js +5 -2
  97. package/assign.js +2 -2
  98. package/compose.js +6 -2
  99. package/curry.js +5 -12
  100. package/dist/Transducer.es.js +24 -24
  101. package/dist/Transducer.es.min.js +1 -1
  102. package/dist/Transducer.js +24 -24
  103. package/dist/Transducer.min.js +1 -1
  104. package/dist/Transducer.mjs +24 -24
  105. package/dist/__.es.js +1 -1
  106. package/dist/__.es.min.js +1 -1
  107. package/dist/__.js +1 -1
  108. package/dist/__.min.js +1 -1
  109. package/dist/__.mjs +1 -1
  110. package/dist/all.es.js +14 -14
  111. package/dist/all.es.min.js +1 -1
  112. package/dist/all.js +14 -14
  113. package/dist/all.min.js +1 -1
  114. package/dist/all.mjs +14 -14
  115. package/dist/always.es.js +1 -1
  116. package/dist/always.es.min.js +1 -1
  117. package/dist/always.js +1 -1
  118. package/dist/always.min.js +1 -1
  119. package/dist/always.mjs +1 -1
  120. package/dist/and.es.js +1 -1
  121. package/dist/and.es.min.js +1 -1
  122. package/dist/and.js +1 -1
  123. package/dist/and.min.js +1 -1
  124. package/dist/and.mjs +1 -1
  125. package/dist/assign.es.js +5 -5
  126. package/dist/assign.es.min.js +1 -1
  127. package/dist/assign.js +5 -5
  128. package/dist/assign.min.js +1 -1
  129. package/dist/assign.mjs +5 -5
  130. package/dist/compose.es.js +1 -1
  131. package/dist/compose.es.min.js +1 -1
  132. package/dist/compose.js +1 -1
  133. package/dist/compose.min.js +1 -1
  134. package/dist/compose.mjs +1 -1
  135. package/dist/curry.es.js +1 -1
  136. package/dist/curry.es.min.js +1 -1
  137. package/dist/curry.js +1 -1
  138. package/dist/curry.min.js +1 -1
  139. package/dist/curry.mjs +1 -1
  140. package/dist/eq.es.js +1 -1
  141. package/dist/eq.es.min.js +1 -1
  142. package/dist/eq.js +1 -1
  143. package/dist/eq.min.js +1 -1
  144. package/dist/eq.mjs +1 -1
  145. package/dist/every.es.js +7 -7
  146. package/dist/every.es.min.js +1 -1
  147. package/dist/every.js +7 -7
  148. package/dist/every.min.js +1 -1
  149. package/dist/every.mjs +7 -7
  150. package/dist/filter.es.js +21 -21
  151. package/dist/filter.es.min.js +1 -1
  152. package/dist/filter.js +21 -21
  153. package/dist/filter.min.js +1 -1
  154. package/dist/filter.mjs +21 -21
  155. package/dist/flatMap.es.js +82 -82
  156. package/dist/flatMap.es.min.js +1 -1
  157. package/dist/flatMap.js +82 -82
  158. package/dist/flatMap.min.js +1 -1
  159. package/dist/flatMap.mjs +82 -82
  160. package/dist/forEach.es.js +7 -7
  161. package/dist/forEach.es.min.js +1 -1
  162. package/dist/forEach.js +7 -7
  163. package/dist/forEach.min.js +1 -1
  164. package/dist/forEach.mjs +7 -7
  165. package/dist/get.es.js +1 -1
  166. package/dist/get.es.min.js +1 -1
  167. package/dist/get.js +1 -1
  168. package/dist/get.min.js +1 -1
  169. package/dist/get.mjs +1 -1
  170. package/dist/gt.es.js +1 -1
  171. package/dist/gt.es.min.js +1 -1
  172. package/dist/gt.js +1 -1
  173. package/dist/gt.min.js +1 -1
  174. package/dist/gt.mjs +1 -1
  175. package/dist/gte.es.js +1 -1
  176. package/dist/gte.es.min.js +1 -1
  177. package/dist/gte.js +1 -1
  178. package/dist/gte.min.js +1 -1
  179. package/dist/gte.mjs +1 -1
  180. package/dist/lt.es.js +1 -1
  181. package/dist/lt.es.min.js +1 -1
  182. package/dist/lt.js +1 -1
  183. package/dist/lt.min.js +1 -1
  184. package/dist/lt.mjs +1 -1
  185. package/dist/lte.es.js +1 -1
  186. package/dist/lte.es.min.js +1 -1
  187. package/dist/lte.js +1 -1
  188. package/dist/lte.min.js +1 -1
  189. package/dist/lte.mjs +1 -1
  190. package/dist/map.es.js +83 -83
  191. package/dist/map.es.min.js +1 -1
  192. package/dist/map.js +83 -83
  193. package/dist/map.min.js +1 -1
  194. package/dist/map.mjs +83 -83
  195. package/dist/not.es.js +1 -1
  196. package/dist/not.es.min.js +1 -1
  197. package/dist/not.js +1 -1
  198. package/dist/not.min.js +1 -1
  199. package/dist/not.mjs +1 -1
  200. package/dist/omit.es.js +13 -13
  201. package/dist/omit.es.min.js +1 -1
  202. package/dist/omit.js +13 -13
  203. package/dist/omit.min.js +1 -1
  204. package/dist/omit.mjs +13 -13
  205. package/dist/or.es.js +1 -1
  206. package/dist/or.es.min.js +1 -1
  207. package/dist/or.js +1 -1
  208. package/dist/or.min.js +1 -1
  209. package/dist/or.mjs +1 -1
  210. package/dist/pick.es.js +1 -1
  211. package/dist/pick.es.min.js +1 -1
  212. package/dist/pick.js +1 -1
  213. package/dist/pick.min.js +1 -1
  214. package/dist/pick.mjs +1 -1
  215. package/dist/pipe.es.js +1 -1
  216. package/dist/pipe.es.min.js +1 -1
  217. package/dist/pipe.js +1 -1
  218. package/dist/pipe.min.js +1 -1
  219. package/dist/pipe.mjs +1 -1
  220. package/dist/reduce.es.js +5 -5
  221. package/dist/reduce.es.min.js +1 -1
  222. package/dist/reduce.js +5 -5
  223. package/dist/reduce.min.js +1 -1
  224. package/dist/reduce.mjs +5 -5
  225. package/dist/rubico.es.js +215 -215
  226. package/dist/rubico.es.min.js +1 -1
  227. package/dist/rubico.global.js +215 -215
  228. package/dist/rubico.global.min.js +1 -1
  229. package/dist/rubico.js +215 -215
  230. package/dist/rubico.min.js +1 -1
  231. package/dist/rubico.mjs +215 -215
  232. package/dist/set.es.js +1 -1
  233. package/dist/set.es.min.js +1 -1
  234. package/dist/set.js +1 -1
  235. package/dist/set.min.js +1 -1
  236. package/dist/set.mjs +1 -1
  237. package/dist/some.es.js +8 -8
  238. package/dist/some.es.min.js +1 -1
  239. package/dist/some.js +8 -8
  240. package/dist/some.min.js +1 -1
  241. package/dist/some.mjs +8 -8
  242. package/dist/switchCase.es.js +1 -1
  243. package/dist/switchCase.es.min.js +1 -1
  244. package/dist/switchCase.js +1 -1
  245. package/dist/switchCase.min.js +1 -1
  246. package/dist/switchCase.mjs +1 -1
  247. package/dist/tap.es.js +1 -1
  248. package/dist/tap.es.min.js +1 -1
  249. package/dist/tap.js +1 -1
  250. package/dist/tap.min.js +1 -1
  251. package/dist/tap.mjs +1 -1
  252. package/dist/thunkify.es.js +1 -1
  253. package/dist/thunkify.es.min.js +1 -1
  254. package/dist/thunkify.js +1 -1
  255. package/dist/thunkify.min.js +1 -1
  256. package/dist/thunkify.mjs +1 -1
  257. package/dist/transform.es.js +5 -5
  258. package/dist/transform.es.min.js +1 -1
  259. package/dist/transform.js +5 -5
  260. package/dist/transform.min.js +1 -1
  261. package/dist/transform.mjs +5 -5
  262. package/dist/tryCatch.es.js +1 -1
  263. package/dist/tryCatch.es.min.js +1 -1
  264. package/dist/tryCatch.js +1 -1
  265. package/dist/tryCatch.min.js +1 -1
  266. package/dist/tryCatch.mjs +1 -1
  267. package/dist/x/append.es.js +8 -8
  268. package/dist/x/append.es.min.js +1 -1
  269. package/dist/x/append.js +8 -8
  270. package/dist/x/append.min.js +1 -1
  271. package/dist/x/append.mjs +8 -8
  272. package/dist/x/callProp.es.js +1 -1
  273. package/dist/x/callProp.es.min.js +1 -1
  274. package/dist/x/callProp.js +1 -1
  275. package/dist/x/callProp.min.js +1 -1
  276. package/dist/x/callProp.mjs +1 -1
  277. package/dist/x/defaultsDeep.es.js +69 -37
  278. package/dist/x/defaultsDeep.es.min.js +2 -2
  279. package/dist/x/defaultsDeep.js +69 -37
  280. package/dist/x/defaultsDeep.min.js +2 -2
  281. package/dist/x/defaultsDeep.mjs +69 -37
  282. package/dist/x/differenceWith.es.js +14 -14
  283. package/dist/x/differenceWith.es.min.js +1 -1
  284. package/dist/x/differenceWith.js +14 -14
  285. package/dist/x/differenceWith.min.js +1 -1
  286. package/dist/x/differenceWith.mjs +14 -14
  287. package/dist/x/filterOut.es.js +21 -21
  288. package/dist/x/filterOut.es.min.js +1 -1
  289. package/dist/x/filterOut.js +21 -21
  290. package/dist/x/filterOut.min.js +1 -1
  291. package/dist/x/filterOut.mjs +21 -21
  292. package/dist/x/find.es.js +18 -18
  293. package/dist/x/find.es.min.js +1 -1
  294. package/dist/x/find.js +18 -18
  295. package/dist/x/find.min.js +1 -1
  296. package/dist/x/find.mjs +18 -18
  297. package/dist/x/findIndex.es.js +1 -1
  298. package/dist/x/findIndex.es.min.js +1 -1
  299. package/dist/x/findIndex.js +1 -1
  300. package/dist/x/findIndex.min.js +1 -1
  301. package/dist/x/findIndex.mjs +1 -1
  302. package/dist/x/first.es.js +1 -1
  303. package/dist/x/first.es.min.js +1 -1
  304. package/dist/x/first.js +1 -1
  305. package/dist/x/first.min.js +1 -1
  306. package/dist/x/first.mjs +1 -1
  307. package/dist/x/flatten.es.js +82 -82
  308. package/dist/x/flatten.es.min.js +1 -1
  309. package/dist/x/flatten.js +82 -82
  310. package/dist/x/flatten.min.js +1 -1
  311. package/dist/x/flatten.mjs +82 -82
  312. package/dist/x/groupBy.es.js +17 -17
  313. package/dist/x/groupBy.es.min.js +1 -1
  314. package/dist/x/groupBy.js +17 -17
  315. package/dist/x/groupBy.min.js +1 -1
  316. package/dist/x/groupBy.mjs +17 -17
  317. package/dist/x/has.es.js +1 -1
  318. package/dist/x/has.es.min.js +1 -1
  319. package/dist/x/has.js +1 -1
  320. package/dist/x/has.min.js +1 -1
  321. package/dist/x/has.mjs +1 -1
  322. package/dist/x/identity.es.js +1 -1
  323. package/dist/x/identity.es.min.js +1 -1
  324. package/dist/x/identity.js +1 -1
  325. package/dist/x/identity.min.js +1 -1
  326. package/dist/x/identity.mjs +1 -1
  327. package/dist/x/includes.es.js +1 -1
  328. package/dist/x/includes.es.min.js +1 -1
  329. package/dist/x/includes.js +1 -1
  330. package/dist/x/includes.min.js +1 -1
  331. package/dist/x/includes.mjs +1 -1
  332. package/dist/x/isDeepEqual.es.js +1 -1
  333. package/dist/x/isDeepEqual.es.min.js +1 -1
  334. package/dist/x/isDeepEqual.js +1 -1
  335. package/dist/x/isDeepEqual.min.js +1 -1
  336. package/dist/x/isDeepEqual.mjs +1 -1
  337. package/dist/x/isEmpty.es.js +1 -1
  338. package/dist/x/isEmpty.es.min.js +1 -1
  339. package/dist/x/isEmpty.js +1 -1
  340. package/dist/x/isEmpty.min.js +1 -1
  341. package/dist/x/isEmpty.mjs +1 -1
  342. package/dist/x/isEqual.es.js +1 -1
  343. package/dist/x/isEqual.es.min.js +1 -1
  344. package/dist/x/isEqual.js +1 -1
  345. package/dist/x/isEqual.min.js +1 -1
  346. package/dist/x/isEqual.mjs +1 -1
  347. package/dist/x/isFunction.es.js +1 -1
  348. package/dist/x/isFunction.es.min.js +1 -1
  349. package/dist/x/isFunction.js +1 -1
  350. package/dist/x/isFunction.min.js +1 -1
  351. package/dist/x/isFunction.mjs +1 -1
  352. package/dist/x/isIn.es.js +1 -1
  353. package/dist/x/isIn.es.min.js +1 -1
  354. package/dist/x/isIn.js +1 -1
  355. package/dist/x/isIn.min.js +1 -1
  356. package/dist/x/isIn.mjs +1 -1
  357. package/dist/x/isObject.es.js +1 -1
  358. package/dist/x/isObject.es.min.js +1 -1
  359. package/dist/x/isObject.js +1 -1
  360. package/dist/x/isObject.min.js +1 -1
  361. package/dist/x/isObject.mjs +1 -1
  362. package/dist/x/isString.es.js +1 -1
  363. package/dist/x/isString.es.min.js +1 -1
  364. package/dist/x/isString.js +1 -1
  365. package/dist/x/isString.min.js +1 -1
  366. package/dist/x/isString.mjs +1 -1
  367. package/dist/x/keys.es.js +1 -1
  368. package/dist/x/keys.es.min.js +1 -1
  369. package/dist/x/keys.js +1 -1
  370. package/dist/x/keys.min.js +1 -1
  371. package/dist/x/keys.mjs +1 -1
  372. package/dist/x/last.es.js +1 -1
  373. package/dist/x/last.es.min.js +1 -1
  374. package/dist/x/last.js +1 -1
  375. package/dist/x/last.min.js +1 -1
  376. package/dist/x/last.mjs +1 -1
  377. package/dist/x/maxBy.es.js +6 -6
  378. package/dist/x/maxBy.es.min.js +1 -1
  379. package/dist/x/maxBy.js +6 -6
  380. package/dist/x/maxBy.min.js +1 -1
  381. package/dist/x/maxBy.mjs +6 -6
  382. package/dist/x/noop.es.js +1 -1
  383. package/dist/x/noop.es.min.js +1 -1
  384. package/dist/x/noop.js +1 -1
  385. package/dist/x/noop.min.js +1 -1
  386. package/dist/x/noop.mjs +1 -1
  387. package/dist/x/pluck.es.js +83 -83
  388. package/dist/x/pluck.es.min.js +1 -1
  389. package/dist/x/pluck.js +83 -83
  390. package/dist/x/pluck.min.js +1 -1
  391. package/dist/x/pluck.mjs +83 -83
  392. package/dist/x/prepend.es.js +8 -8
  393. package/dist/x/prepend.es.min.js +1 -1
  394. package/dist/x/prepend.js +8 -8
  395. package/dist/x/prepend.min.js +1 -1
  396. package/dist/x/prepend.mjs +8 -8
  397. package/dist/x/size.es.js +1 -1
  398. package/dist/x/size.es.min.js +1 -1
  399. package/dist/x/size.js +1 -1
  400. package/dist/x/size.min.js +1 -1
  401. package/dist/x/size.mjs +1 -1
  402. package/dist/x/trace.es.js +1 -1
  403. package/dist/x/trace.es.min.js +1 -1
  404. package/dist/x/trace.js +1 -1
  405. package/dist/x/trace.min.js +1 -1
  406. package/dist/x/trace.mjs +1 -1
  407. package/dist/x/unionWith.es.js +39 -39
  408. package/dist/x/unionWith.es.min.js +1 -1
  409. package/dist/x/unionWith.js +39 -39
  410. package/dist/x/unionWith.min.js +1 -1
  411. package/dist/x/unionWith.mjs +39 -39
  412. package/dist/x/uniq.es.js +1 -1
  413. package/dist/x/uniq.es.min.js +1 -1
  414. package/dist/x/uniq.js +1 -1
  415. package/dist/x/uniq.min.js +1 -1
  416. package/dist/x/uniq.mjs +1 -1
  417. package/dist/x/unless.es.js +1 -1
  418. package/dist/x/unless.es.min.js +1 -1
  419. package/dist/x/unless.js +1 -1
  420. package/dist/x/unless.min.js +1 -1
  421. package/dist/x/unless.mjs +1 -1
  422. package/dist/x/values.es.js +1 -1
  423. package/dist/x/values.es.min.js +1 -1
  424. package/dist/x/values.js +1 -1
  425. package/dist/x/values.min.js +1 -1
  426. package/dist/x/values.mjs +1 -1
  427. package/dist/x/when.es.js +1 -1
  428. package/dist/x/when.es.min.js +1 -1
  429. package/dist/x/when.js +1 -1
  430. package/dist/x/when.min.js +1 -1
  431. package/dist/x/when.mjs +1 -1
  432. package/eq.js +32 -10
  433. package/es.js +215 -215
  434. package/every.d.ts +1 -1
  435. package/every.js +6 -3
  436. package/filter.d.ts +3 -3
  437. package/filter.js +14 -14
  438. package/flatMap.d.ts +9 -9
  439. package/flatMap.js +9 -9
  440. package/forEach.d.ts +1 -1
  441. package/forEach.js +19 -15
  442. package/global.js +1 -0
  443. package/gt.js +30 -13
  444. package/gte.js +31 -12
  445. package/index.js +215 -215
  446. package/lt.js +28 -9
  447. package/lte.js +34 -15
  448. package/map.d.ts +3 -3
  449. package/map.js +31 -31
  450. package/monad/Mux.benchmark.js +1 -1
  451. package/monad/Mux.js +6 -6
  452. package/monad/Struct.js +2 -2
  453. package/not.js +15 -7
  454. package/or.js +5 -2
  455. package/package.json +1 -1
  456. package/pipe.js +7 -13
  457. package/reduce.d.ts +7 -7
  458. package/reduce.js +16 -16
  459. package/some.d.ts +1 -1
  460. package/some.js +6 -3
  461. package/switchCase.d.ts +1 -1
  462. package/switchCase.js +7 -4
  463. package/tap.js +14 -4
  464. package/thunkify.js +2 -0
  465. package/transform.d.ts +1 -1
  466. package/transform.js +6 -15
  467. package/tryCatch.js +8 -2
  468. package/x/README.md +8 -8
  469. package/x/append.d.ts +2 -2
  470. package/x/append.js +8 -8
  471. package/x/defaultsDeep.js +94 -57
  472. package/x/defaultsDeep.test.js +24 -1
  473. package/x/differenceWith.js +13 -13
  474. package/x/find.d.ts +1 -1
  475. package/x/find.js +1 -1
  476. package/x/find.test.js +2 -2
  477. package/x/findIndex.test.js +1 -1
  478. package/x/first.d.ts +1 -1
  479. package/x/first.js +1 -1
  480. package/x/first.test.js +1 -1
  481. package/x/groupBy.d.ts +1 -1
  482. package/x/groupBy.js +13 -13
  483. package/x/last.d.ts +1 -1
  484. package/x/last.js +1 -1
  485. package/x/last.test.js +1 -1
  486. package/x/maxBy.d.ts +7 -7
  487. package/x/maxBy.js +13 -13
  488. package/x/maxBy.test.js +5 -5
  489. package/x/pluck.test.js +1 -1
  490. package/x/prepend.d.ts +2 -2
  491. package/x/prepend.js +8 -8
  492. package/x/size.d.ts +1 -1
  493. package/x/size.js +1 -1
  494. package/x/unionWith.js +11 -11
  495. package/x/unionWith.test.js +5 -5
  496. package/global.d.ts +0 -1
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.3
2
+ * rubico v2.7.5
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -305,11 +305,11 @@ const functionArrayAll = function (funcs, args) {
305
305
  let funcsIndex = -1, isAsync = false
306
306
  while (++funcsIndex < funcsLength) {
307
307
  const f = funcs[funcsIndex]
308
- const resultItem = typeof f == 'function' ? f(...args) : f
309
- if (isPromise(resultItem)) {
308
+ const resultElement = typeof f == 'function' ? f(...args) : f
309
+ if (isPromise(resultElement)) {
310
310
  isAsync = true
311
311
  }
312
- result[funcsIndex] = resultItem
312
+ result[funcsIndex] = resultElement
313
313
  }
314
314
  return isAsync ? promiseAll(result) : result
315
315
  }
@@ -363,8 +363,8 @@ const objectSet = function (object, property, value) {
363
363
  const asyncFunctionArrayAllSeries = async function (funcs, args, result, funcsIndex) {
364
364
  const funcsLength = funcs.length
365
365
  while (++funcsIndex < funcsLength) {
366
- const resultItem = funcs[funcsIndex](...args)
367
- result[funcsIndex] = isPromise(resultItem) ? await resultItem : resultItem
366
+ const resultElement = funcs[funcsIndex](...args)
367
+ result[funcsIndex] = isPromise(resultElement) ? await resultElement : resultElement
368
368
  }
369
369
  return result
370
370
  }
@@ -373,13 +373,13 @@ const functionArrayAllSeries = function (funcs, args) {
373
373
  const funcsLength = funcs.length, result = []
374
374
  let funcsIndex = -1
375
375
  while (++funcsIndex < funcsLength) {
376
- const resultItem = funcs[funcsIndex](...args)
377
- if (isPromise(resultItem)) {
378
- return resultItem.then(funcConcat(
376
+ const resultElement = funcs[funcsIndex](...args)
377
+ if (isPromise(resultElement)) {
378
+ return resultElement.then(funcConcat(
379
379
  curry3(objectSet, result, funcsIndex, __),
380
380
  curry4(asyncFunctionArrayAllSeries, funcs, args, __, funcsIndex)))
381
381
  }
382
- result[funcsIndex] = resultItem
382
+ result[funcsIndex] = resultElement
383
383
  }
384
384
  return result
385
385
  }
@@ -388,11 +388,11 @@ const functionObjectAll = function (funcs, args) {
388
388
  const result = {}, promises = []
389
389
  for (const key in funcs) {
390
390
  const f = funcs[key]
391
- const resultItem = typeof f == 'function' ? f(...args) : f
392
- if (isPromise(resultItem)) {
393
- promises.push(resultItem.then(curry3(objectSet, result, key, __)))
391
+ const resultElement = typeof f == 'function' ? f(...args) : f
392
+ if (isPromise(resultElement)) {
393
+ promises.push(resultElement.then(curry3(objectSet, result, key, __)))
394
394
  } else {
395
- result[key] = resultItem
395
+ result[key] = resultElement
396
396
  }
397
397
  }
398
398
  return promises.length == 0 ? result : promiseAll(promises).then(always(result))
@@ -642,11 +642,11 @@ const arrayMap = function (array, mapper) {
642
642
  isAsync = false
643
643
 
644
644
  while (++index < arrayLength) {
645
- const resultItem = mapper(array[index], index, array)
646
- if (isPromise(resultItem)) {
645
+ const resultElement = mapper(array[index], index, array)
646
+ if (isPromise(resultElement)) {
647
647
  isAsync = true
648
648
  }
649
- result[index] = resultItem
649
+ result[index] = resultElement
650
650
  }
651
651
  return isAsync ? promiseAll(result) : result
652
652
  }
@@ -663,12 +663,12 @@ const stringMap = function (string, mapper) {
663
663
  const setMap = function (set, mapper) {
664
664
  const result = new Set(),
665
665
  promises = []
666
- for (const item of set) {
667
- const resultItem = mapper(item, item, set)
668
- if (isPromise(resultItem)) {
669
- promises.push(resultItem.then(curry3(callPropUnary, result, 'add', __)))
666
+ for (const element of set) {
667
+ const resultElement = mapper(element, element, set)
668
+ if (isPromise(resultElement)) {
669
+ promises.push(resultElement.then(curry3(callPropUnary, result, 'add', __)))
670
670
  } else {
671
- result.add(resultItem)
671
+ result.add(resultElement)
672
672
  }
673
673
  }
674
674
  return promises.length == 0
@@ -681,13 +681,13 @@ const callPropBinary = (value, property, arg0, arg1) => value[property](arg0, ar
681
681
  const mapMap = function (value, mapper) {
682
682
  const result = new Map(),
683
683
  promises = []
684
- for (const [key, item] of value) {
685
- const resultItem = mapper(item, key, value)
686
- if (isPromise(resultItem)) {
687
- promises.push(resultItem.then(
684
+ for (const [key, element] of value) {
685
+ const resultElement = mapper(element, key, value)
686
+ if (isPromise(resultElement)) {
687
+ promises.push(resultElement.then(
688
688
  curry4(callPropBinary, result, 'set', key, __)))
689
689
  } else {
690
- result.set(key, resultItem)
690
+ result.set(key, resultElement)
691
691
  }
692
692
  }
693
693
  return promises.length == 0
@@ -699,11 +699,11 @@ const objectMap = function (object, mapper) {
699
699
  const result = {}
700
700
  let isAsync = false
701
701
  for (const key in object) {
702
- const resultItem = mapper(object[key], key, object)
703
- if (isPromise(resultItem)) {
702
+ const resultElement = mapper(object[key], key, object)
703
+ if (isPromise(resultElement)) {
704
704
  isAsync = true
705
705
  }
706
- result[key] = resultItem
706
+ result[key] = resultElement
707
707
  }
708
708
  return isAsync ? promiseObjectAll(result) : result
709
709
  }
@@ -713,8 +713,8 @@ const arrayMapSeriesAsync = async function (
713
713
  ) {
714
714
  const arrayLength = array.length
715
715
  while (++index < arrayLength) {
716
- const resultItem = mapper(array[index], index)
717
- result[index] = isPromise(resultItem) ? await resultItem : resultItem
716
+ const resultElement = mapper(array[index], index)
717
+ result[index] = isPromise(resultElement) ? await resultElement : resultElement
718
718
  }
719
719
  return result
720
720
  }
@@ -725,13 +725,13 @@ const arrayMapSeries = function (array, mapper) {
725
725
  let index = -1
726
726
 
727
727
  while (++index < arrayLength) {
728
- const resultItem = mapper(array[index], index)
729
- if (isPromise(resultItem)) {
730
- return resultItem.then(funcConcat(
728
+ const resultElement = mapper(array[index], index)
729
+ if (isPromise(resultElement)) {
730
+ return resultElement.then(funcConcat(
731
731
  curry3(objectSet, result, index, __),
732
732
  curry4(arrayMapSeriesAsync, array, mapper, __, index)))
733
733
  }
734
- result[index] = resultItem
734
+ result[index] = resultElement
735
735
  }
736
736
  return result
737
737
  }
@@ -758,11 +758,11 @@ const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
758
758
  if (key in doneKeys) {
759
759
  continue
760
760
  }
761
- let resultItem = f(object[key])
762
- if (isPromise(resultItem)) {
763
- resultItem = await resultItem
761
+ let resultElement = f(object[key])
762
+ if (isPromise(resultElement)) {
763
+ resultElement = await resultElement
764
764
  }
765
- result[key] = resultItem
765
+ result[key] = resultElement
766
766
  }
767
767
  return result
768
768
  }
@@ -772,14 +772,14 @@ const objectMapSeries = function (object, f) {
772
772
  const doneKeys = {}
773
773
  for (const key in object) {
774
774
  doneKeys[key] = true
775
- const resultItem = f(object[key], key, object)
776
- if (isPromise(resultItem)) {
777
- return resultItem.then(funcConcat(
775
+ const resultElement = f(object[key], key, object)
776
+ if (isPromise(resultElement)) {
777
+ return resultElement.then(funcConcat(
778
778
  curry3(objectSet, result, key, __),
779
779
  thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
780
780
  ))
781
781
  }
782
- result[key] = resultItem
782
+ result[key] = resultElement
783
783
  }
784
784
  return result
785
785
  }
@@ -797,11 +797,11 @@ const setAdd = function (set, value) {
797
797
  const _setMapSeriesAsync = async function (iterator, f, result) {
798
798
  let iteration = iterator.next()
799
799
  while (!iteration.done) {
800
- let resultItem = f(iteration.value)
801
- if (isPromise(resultItem)) {
802
- resultItem = await resultItem
800
+ let resultElement = f(iteration.value)
801
+ if (isPromise(resultElement)) {
802
+ resultElement = await resultElement
803
803
  }
804
- result.add(resultItem)
804
+ result.add(resultElement)
805
805
  iteration = iterator.next()
806
806
  }
807
807
  return result
@@ -812,14 +812,14 @@ const setMapSeries = function (set, f) {
812
812
  const iterator = set[symbolIterator]()
813
813
  let iteration = iterator.next()
814
814
  while (!iteration.done) {
815
- const resultItem = f(iteration.value)
816
- if (isPromise(resultItem)) {
817
- return resultItem.then(funcConcat(
815
+ const resultElement = f(iteration.value)
816
+ if (isPromise(resultElement)) {
817
+ return resultElement.then(funcConcat(
818
818
  curry2(setAdd, result, __),
819
819
  thunkify3(_setMapSeriesAsync, iterator, f, result),
820
820
  ))
821
821
  }
822
- result.add(resultItem)
822
+ result.add(resultElement)
823
823
  iteration = iterator.next()
824
824
  }
825
825
  return result
@@ -837,11 +837,11 @@ const mapSet = function setting(source, key, value) {
837
837
  const _mapMapSeriesAsync = async function (iterator, f, result) {
838
838
  let iteration = iterator.next()
839
839
  while (!iteration.done) {
840
- let resultItem = f(iteration.value[1])
841
- if (isPromise(resultItem)) {
842
- resultItem = await resultItem
840
+ let resultElement = f(iteration.value[1])
841
+ if (isPromise(resultElement)) {
842
+ resultElement = await resultElement
843
843
  }
844
- result.set(iteration.value[0], resultItem)
844
+ result.set(iteration.value[0], resultElement)
845
845
  iteration = iterator.next()
846
846
  }
847
847
  return result
@@ -853,14 +853,14 @@ const mapMapSeries = function (map, f) {
853
853
  let iteration = iterator.next()
854
854
  while (!iteration.done) {
855
855
  const key = iteration.value[0]
856
- const resultItem = f(iteration.value[1])
857
- if (isPromise(resultItem)) {
858
- return resultItem.then(funcConcat(
856
+ const resultElement = f(iteration.value[1])
857
+ if (isPromise(resultElement)) {
858
+ return resultElement.then(funcConcat(
859
859
  curry3(mapSet, result, key, __),
860
860
  thunkify3(_mapMapSeriesAsync, iterator, f, result),
861
861
  ))
862
862
  }
863
- result.set(key, resultItem)
863
+ result.set(key, resultElement)
864
864
  iteration = iterator.next()
865
865
  }
866
866
  return result
@@ -881,14 +881,14 @@ const arrayMapPoolAsync = async function (
881
881
  if (promises.size >= concurrencyLimit) {
882
882
  await promiseRace(promises)
883
883
  }
884
- const resultItem = f(array[index])
885
- if (isPromise(resultItem)) {
886
- const selfDeletingPromise = resultItem.then(
884
+ const resultElement = f(array[index])
885
+ if (isPromise(resultElement)) {
886
+ const selfDeletingPromise = resultElement.then(
887
887
  tapSync(() => promises.delete(selfDeletingPromise)))
888
888
  promises.add(selfDeletingPromise)
889
889
  result[index] = selfDeletingPromise
890
890
  } else {
891
- result[index] = resultItem
891
+ result[index] = resultElement
892
892
  }
893
893
  }
894
894
  return promiseAll(result)
@@ -899,17 +899,17 @@ const arrayMapPool = function (array, concurrency, f) {
899
899
  result = Array(arrayLength)
900
900
  let index = -1
901
901
  while (++index < arrayLength) {
902
- const resultItem = f(array[index])
903
- if (isPromise(resultItem)) {
902
+ const resultElement = f(array[index])
903
+ if (isPromise(resultElement)) {
904
904
  const promises = new Set(),
905
- selfDeletingPromise = resultItem.then(
905
+ selfDeletingPromise = resultElement.then(
906
906
  tapSync(() => promises.delete(selfDeletingPromise)))
907
907
  promises.add(selfDeletingPromise)
908
908
  result[index] = selfDeletingPromise
909
909
  return arrayMapPoolAsync(
910
910
  array, f, concurrency, result, index, promises)
911
911
  }
912
- result[index] = resultItem
912
+ result[index] = resultElement
913
913
  }
914
914
  return result
915
915
  }
@@ -929,15 +929,15 @@ const _setMapPoolAsync = async function (
929
929
  if (promises.size >= concurrency) {
930
930
  await promiseRace(promises)
931
931
  }
932
- const resultItem = f(iteration.value, iteration.value, s)
933
- if (isPromise(resultItem)) {
934
- const selfDeletingPromise = resultItem.then(resolvedValue => {
932
+ const resultElement = f(iteration.value, iteration.value, s)
933
+ if (isPromise(resultElement)) {
934
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
935
935
  promises.delete(selfDeletingPromise)
936
936
  result.add(resolvedValue)
937
937
  })
938
938
  promises.add(selfDeletingPromise)
939
939
  } else {
940
- result.add(resultItem)
940
+ result.add(resultElement)
941
941
  }
942
942
  iteration = iterator.next()
943
943
  }
@@ -952,17 +952,17 @@ const setMapPool = function (s, concurrency, f) {
952
952
  const iterator = s[symbolIterator]()
953
953
  let iteration = iterator.next()
954
954
  while (!iteration.done) {
955
- const resultItem = f(iteration.value, iteration.value, s)
956
- if (isPromise(resultItem)) {
955
+ const resultElement = f(iteration.value, iteration.value, s)
956
+ if (isPromise(resultElement)) {
957
957
  const promises = new Set()
958
- const selfDeletingPromise = resultItem.then(resolvedValue => {
958
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
959
959
  promises.delete(selfDeletingPromise)
960
960
  result.add(resolvedValue)
961
961
  })
962
962
  promises.add(selfDeletingPromise)
963
963
  return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
964
964
  }
965
- result.add(resultItem)
965
+ result.add(resultElement)
966
966
  iteration = iterator.next()
967
967
  }
968
968
  return result
@@ -977,16 +977,16 @@ const _mapMapPoolAsync = async function (
977
977
  await promiseRace(promises)
978
978
  }
979
979
  const key = iteration.value[0]
980
- const resultItem = f(iteration.value[1], key, m)
981
- if (isPromise(resultItem)) {
982
- result.set(key, resultItem)
983
- const selfDeletingPromise = resultItem.then(resolvedValue => {
980
+ const resultElement = f(iteration.value[1], key, m)
981
+ if (isPromise(resultElement)) {
982
+ result.set(key, resultElement)
983
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
984
984
  promises.delete(selfDeletingPromise)
985
985
  result.set(key, resolvedValue)
986
986
  })
987
987
  promises.add(selfDeletingPromise)
988
988
  } else {
989
- result.set(key, resultItem)
989
+ result.set(key, resultElement)
990
990
  }
991
991
  iteration = iterator.next()
992
992
  }
@@ -1002,18 +1002,18 @@ const mapMapPool = function (m, concurrency, f) {
1002
1002
  let iteration = iterator.next()
1003
1003
  while (!iteration.done) {
1004
1004
  const key = iteration.value[0]
1005
- const resultItem = f(iteration.value[1], key, m)
1006
- if (isPromise(resultItem)) {
1005
+ const resultElement = f(iteration.value[1], key, m)
1006
+ if (isPromise(resultElement)) {
1007
1007
  const promises = new Set()
1008
- result.set(key, resultItem)
1009
- const selfDeletingPromise = resultItem.then(resolvedValue => {
1008
+ result.set(key, resultElement)
1009
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
1010
1010
  promises.delete(selfDeletingPromise)
1011
1011
  result.set(key, resolvedValue)
1012
1012
  })
1013
1013
  promises.add(selfDeletingPromise)
1014
1014
  return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
1015
1015
  }
1016
- result.set(key, resultItem)
1016
+ result.set(key, resultElement)
1017
1017
  iteration = iterator.next()
1018
1018
  }
1019
1019
  return result
@@ -1029,16 +1029,16 @@ const _objectMapPoolAsync = async function (
1029
1029
  if (promises.size >= concurrency) {
1030
1030
  await promiseRace(promises)
1031
1031
  }
1032
- const resultItem = f(o[key], key, o)
1033
- if (isPromise(resultItem)) {
1034
- result[key] = resultItem
1035
- const selfDeletingPromise = resultItem.then(resolvedValue => {
1032
+ const resultElement = f(o[key], key, o)
1033
+ if (isPromise(resultElement)) {
1034
+ result[key] = resultElement
1035
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
1036
1036
  promises.delete(selfDeletingPromise)
1037
1037
  result[key] = resolvedValue
1038
1038
  })
1039
1039
  promises.add(selfDeletingPromise)
1040
1040
  } else {
1041
- result[key] = resultItem
1041
+ result[key] = resultElement
1042
1042
  }
1043
1043
  }
1044
1044
  if (promises.size > 0) {
@@ -1052,18 +1052,18 @@ const objectMapPool = function (o, concurrency, f) {
1052
1052
  const doneKeys = {}
1053
1053
  for (const key in o) {
1054
1054
  doneKeys[key] = true
1055
- const resultItem = f(o[key], key, o)
1056
- if (isPromise(resultItem)) {
1055
+ const resultElement = f(o[key], key, o)
1056
+ if (isPromise(resultElement)) {
1057
1057
  const promises = new Set()
1058
- result[key] = resultItem
1059
- const selfDeletingPromise = resultItem.then(resolvedValue => {
1058
+ result[key] = resultElement
1059
+ const selfDeletingPromise = resultElement.then(resolvedValue => {
1060
1060
  promises.delete(selfDeletingPromise)
1061
1061
  result[key] = resolvedValue
1062
1062
  })
1063
1063
  promises.add(selfDeletingPromise)
1064
1064
  return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
1065
1065
  }
1066
- result[key] = resultItem
1066
+ result[key] = resultElement
1067
1067
  }
1068
1068
  return result
1069
1069
  }
@@ -1365,15 +1365,15 @@ const arrayFilter = function (array, predicate) {
1365
1365
  let index = -1,
1366
1366
  resultIndex = -1
1367
1367
  while (++index < arrayLength) {
1368
- const item = array[index],
1369
- shouldIncludeItem = predicate(item, index, array)
1370
- if (isPromise(shouldIncludeItem)) {
1368
+ const element = array[index],
1369
+ shouldIncludeElement = predicate(element, index, array)
1370
+ if (isPromise(shouldIncludeElement)) {
1371
1371
  return promiseAll(
1372
- arrayExtendMap([shouldIncludeItem], array, predicate, index)
1372
+ arrayExtendMap([shouldIncludeElement], array, predicate, index)
1373
1373
  ).then(curry4(arrayFilterByConditions, array, result, index - 1, __))
1374
1374
  }
1375
- if (shouldIncludeItem) {
1376
- result[++resultIndex] = item
1375
+ if (shouldIncludeElement) {
1376
+ result[++resultIndex] = element
1377
1377
  }
1378
1378
  }
1379
1379
  return result
@@ -1396,13 +1396,13 @@ const setFilter = function (value, predicate) {
1396
1396
  const result = new Set(),
1397
1397
  resultAdd = result.add.bind(result),
1398
1398
  promises = []
1399
- for (const item of value) {
1400
- const predication = predicate(item, item, value)
1399
+ for (const element of value) {
1400
+ const predication = predicate(element, element, value)
1401
1401
  if (isPromise(predication)) {
1402
1402
  promises.push(predication.then(curry3(
1403
- thunkConditional, __, thunkify1(resultAdd, item), noop)))
1403
+ thunkConditional, __, thunkify1(resultAdd, element), noop)))
1404
1404
  } else if (predication) {
1405
- result.add(item)
1405
+ result.add(element)
1406
1406
  }
1407
1407
  }
1408
1408
  return promises.length == 0
@@ -1413,15 +1413,15 @@ const setFilter = function (value, predicate) {
1413
1413
  const mapFilter = function (map, predicate) {
1414
1414
  const result = new Map(),
1415
1415
  promises = []
1416
- for (const [key, item] of map) {
1417
- const predication = predicate(item, key, map)
1416
+ for (const [key, element] of map) {
1417
+ const predication = predicate(element, key, map)
1418
1418
  if (isPromise(predication)) {
1419
1419
  promises.push(predication.then(curry3(thunkConditional,
1420
1420
  __,
1421
- thunkify4(callPropBinary, result, 'set', key, item),
1421
+ thunkify4(callPropBinary, result, 'set', key, element),
1422
1422
  noop)))
1423
1423
  } else if (predication) {
1424
- result.set(key, item)
1424
+ result.set(key, element)
1425
1425
  }
1426
1426
  }
1427
1427
  return promises.length == 0 ? result
@@ -1440,13 +1440,13 @@ const objectFilter = function (object, predicate) {
1440
1440
  const result = {},
1441
1441
  promises = []
1442
1442
  for (const key in object) {
1443
- const item = object[key],
1444
- shouldIncludeItem = predicate(item, key, object)
1445
- if (isPromise(shouldIncludeItem)) {
1446
- promises.push(shouldIncludeItem.then(
1443
+ const element = object[key],
1444
+ shouldIncludeElement = predicate(element, key, object)
1445
+ if (isPromise(shouldIncludeElement)) {
1446
+ promises.push(shouldIncludeElement.then(
1447
1447
  curry4(objectSetIf, result, key, object[key], __)))
1448
- } else if (shouldIncludeItem) {
1449
- result[key] = item
1448
+ } else if (shouldIncludeElement) {
1449
+ result[key] = element
1450
1450
  }
1451
1451
  }
1452
1452
  return promises.length == 0
@@ -1708,11 +1708,11 @@ const mapReduce = function (map, reducer, result) {
1708
1708
 
1709
1709
  const reducerConcat = (
1710
1710
  reducerA, reducerB,
1711
- ) => function pipedReducer(result, item) {
1712
- const intermediate = reducerA(result, item)
1711
+ ) => function pipedReducer(result, element) {
1712
+ const intermediate = reducerA(result, element)
1713
1713
  return isPromise(intermediate)
1714
- ? intermediate.then(curry2(reducerB, __, item))
1715
- : reducerB(intermediate, item)
1714
+ ? intermediate.then(curry2(reducerB, __, element))
1715
+ : reducerB(intermediate, element)
1716
1716
  }
1717
1717
 
1718
1718
  const genericReduce = function (collection, reducer, result) {
@@ -1952,7 +1952,7 @@ const FlatMappingIterator = function (iterator, flatMapper) {
1952
1952
  const monadAsArray = genericReduce(
1953
1953
  flatMapper(iteration.value),
1954
1954
  arrayPush,
1955
- []) // this will always have at least one item
1955
+ []) // this will always have at least one element
1956
1956
  if (monadAsArray.length > 1) {
1957
1957
  buffer = monadAsArray
1958
1958
  bufferIndex = 1
@@ -2031,8 +2031,8 @@ const funcConcatSync = (
2031
2031
 
2032
2032
  const asyncIteratorForEach = async function (asyncIterator, callback) {
2033
2033
  const promises = []
2034
- for await (const item of asyncIterator) {
2035
- const operation = callback(item)
2034
+ for await (const element of asyncIterator) {
2035
+ const operation = callback(element)
2036
2036
  if (isPromise(operation)) {
2037
2037
  promises.push(operation)
2038
2038
  }
@@ -2048,44 +2048,44 @@ const arrayFlatten = function (array) {
2048
2048
  let index = -1
2049
2049
 
2050
2050
  while (++index < length) {
2051
- const item = array[index]
2052
- if (isArray(item)) {
2053
- const itemLength = item.length
2054
- let itemIndex = -1
2055
- while (++itemIndex < itemLength) {
2056
- result.push(item[itemIndex])
2051
+ const element = array[index]
2052
+ if (isArray(element)) {
2053
+ const elementLength = element.length
2054
+ let elementIndex = -1
2055
+ while (++elementIndex < elementLength) {
2056
+ result.push(element[elementIndex])
2057
2057
  }
2058
- } else if (item == null) {
2059
- result.push(item)
2060
- } else if (typeof item.then == 'function') {
2061
- promises.push(item.then(curry2(arrayPush, result, __)))
2062
- } else if (typeof item[symbolIterator] == 'function') {
2063
- for (const subItem of item) {
2064
- result.push(subItem)
2058
+ } else if (element == null) {
2059
+ result.push(element)
2060
+ } else if (typeof element.then == 'function') {
2061
+ promises.push(element.then(curry2(arrayPush, result, __)))
2062
+ } else if (typeof element[symbolIterator] == 'function') {
2063
+ for (const subElement of element) {
2064
+ result.push(subElement)
2065
2065
  }
2066
- } else if (typeof item[symbolAsyncIterator] == 'function') {
2066
+ } else if (typeof element[symbolAsyncIterator] == 'function') {
2067
2067
  promises.push(asyncIteratorForEach(
2068
- item[symbolAsyncIterator](), curry2(arrayPush, result, __)))
2069
- } else if (typeof item.chain == 'function') {
2070
- const monadValue = item.chain(identity)
2068
+ element[symbolAsyncIterator](), curry2(arrayPush, result, __)))
2069
+ } else if (typeof element.chain == 'function') {
2070
+ const monadValue = element.chain(identity)
2071
2071
  isPromise(monadValue)
2072
2072
  ? promises.push(monadValue.then(curry2(arrayPush, result, __)))
2073
2073
  : result.push(monadValue)
2074
- } else if (typeof item.flatMap == 'function') {
2075
- const monadValue = item.flatMap(identity)
2074
+ } else if (typeof element.flatMap == 'function') {
2075
+ const monadValue = element.flatMap(identity)
2076
2076
  isPromise(monadValue)
2077
2077
  ? promises.push(monadValue.then(curry2(arrayPush, result, __)))
2078
2078
  : result.push(monadValue)
2079
- } else if (typeof item.reduce == 'function') {
2080
- const folded = item.reduce(funcConcatSync(
2079
+ } else if (typeof element.reduce == 'function') {
2080
+ const folded = element.reduce(funcConcatSync(
2081
2081
  getArg1, curry2(arrayPush, result, __)), null)
2082
2082
  isPromise(folded) && promises.push(folded)
2083
- } else if (item.constructor == Object) {
2084
- for (const key in item) {
2085
- result.push(item[key])
2083
+ } else if (element.constructor == Object) {
2084
+ for (const key in element) {
2085
+ result.push(element[key])
2086
2086
  }
2087
2087
  } else {
2088
- result.push(item)
2088
+ result.push(element)
2089
2089
  }
2090
2090
  }
2091
2091
  return promises.length == 0
@@ -2108,31 +2108,31 @@ const objectFlatten = function (object) {
2108
2108
  getResult = () => result
2109
2109
 
2110
2110
  for (const key in object) {
2111
- const item = object[key]
2112
- if (item == null) {
2111
+ const element = object[key]
2112
+ if (element == null) {
2113
2113
  continue
2114
- } else if (typeof item[symbolIterator] == 'function') {
2115
- for (const monadItem of item) {
2116
- objectAssign(result, monadItem)
2114
+ } else if (typeof element[symbolIterator] == 'function') {
2115
+ for (const monadElement of element) {
2116
+ objectAssign(result, monadElement)
2117
2117
  }
2118
- } else if (typeof item[symbolAsyncIterator] == 'function') {
2118
+ } else if (typeof element[symbolAsyncIterator] == 'function') {
2119
2119
  promises.push(
2120
- asyncIteratorForEach(item[symbolAsyncIterator](), resultAssign))
2121
- } else if (typeof item.chain == 'function') {
2122
- const monadValue = item.chain(identity)
2120
+ asyncIteratorForEach(element[symbolAsyncIterator](), resultAssign))
2121
+ } else if (typeof element.chain == 'function') {
2122
+ const monadValue = element.chain(identity)
2123
2123
  isPromise(monadValue)
2124
2124
  ? promises.push(monadValue.then(resultAssign))
2125
2125
  : objectAssign(result, monadValue)
2126
- } else if (typeof item.flatMap == 'function') {
2127
- const monadValue = item.flatMap(identity)
2126
+ } else if (typeof element.flatMap == 'function') {
2127
+ const monadValue = element.flatMap(identity)
2128
2128
  isPromise(monadValue)
2129
2129
  ? promises.push(monadValue.then(resultAssign))
2130
2130
  : resultAssign(monadValue)
2131
- } else if (typeof item.reduce == 'function') {
2132
- const folded = item.reduce(resultAssignReducer, null)
2131
+ } else if (typeof element.reduce == 'function') {
2132
+ const folded = element.reduce(resultAssignReducer, null)
2133
2133
  isPromise(folded) && promises.push(folded)
2134
2134
  } else {
2135
- objectAssign(result, item)
2135
+ objectAssign(result, element)
2136
2136
  }
2137
2137
  }
2138
2138
  return promises.length == 0
@@ -2151,45 +2151,45 @@ const setFlatten = function (set) {
2151
2151
  const size = set.size,
2152
2152
  promises = [],
2153
2153
  result = new Set(),
2154
- resultAddReducer = (_, subItem) => result.add(subItem),
2154
+ resultAddReducer = (_, subElement) => result.add(subElement),
2155
2155
  resultAdd = curry3(callPropUnary, result, 'add', __),
2156
2156
  getResult = () => result
2157
2157
 
2158
- for (const item of set) {
2159
- if (isArray(item)) {
2160
- const itemLength = item.length
2161
- let itemIndex = -1
2162
- while (++itemIndex < itemLength) {
2163
- result.add(item[itemIndex])
2158
+ for (const element of set) {
2159
+ if (isArray(element)) {
2160
+ const elementLength = element.length
2161
+ let elementIndex = -1
2162
+ while (++elementIndex < elementLength) {
2163
+ result.add(element[elementIndex])
2164
2164
  }
2165
- } else if (item == null) {
2166
- result.add(item)
2167
- } else if (typeof item[symbolIterator] == 'function') {
2168
- for (const subItem of item) {
2169
- result.add(subItem)
2165
+ } else if (element == null) {
2166
+ result.add(element)
2167
+ } else if (typeof element[symbolIterator] == 'function') {
2168
+ for (const subElement of element) {
2169
+ result.add(subElement)
2170
2170
  }
2171
- } else if (typeof item[symbolAsyncIterator] == 'function') {
2171
+ } else if (typeof element[symbolAsyncIterator] == 'function') {
2172
2172
  promises.push(
2173
- asyncIteratorForEach(item[symbolAsyncIterator](), resultAdd))
2174
- } else if (typeof item.chain == 'function') {
2175
- const monadValue = item.chain(identity)
2173
+ asyncIteratorForEach(element[symbolAsyncIterator](), resultAdd))
2174
+ } else if (typeof element.chain == 'function') {
2175
+ const monadValue = element.chain(identity)
2176
2176
  isPromise(monadValue)
2177
2177
  ? promises.push(monadValue.then(resultAdd))
2178
2178
  : result.add(monadValue)
2179
- } else if (typeof item.flatMap == 'function') {
2180
- const monadValue = item.flatMap(identity)
2179
+ } else if (typeof element.flatMap == 'function') {
2180
+ const monadValue = element.flatMap(identity)
2181
2181
  isPromise(monadValue)
2182
2182
  ? promises.push(monadValue.then(resultAdd))
2183
2183
  : result.add(monadValue)
2184
- } else if (typeof item.reduce == 'function') {
2185
- const folded = item.reduce(resultAddReducer, null)
2184
+ } else if (typeof element.reduce == 'function') {
2185
+ const folded = element.reduce(resultAddReducer, null)
2186
2186
  isPromise(folded) && promises.push(folded)
2187
- } else if (item.constructor == Object) {
2188
- for (const key in item) {
2189
- result.add(item[key])
2187
+ } else if (element.constructor == Object) {
2188
+ for (const key in element) {
2189
+ result.add(element[key])
2190
2190
  }
2191
2191
  } else {
2192
- result.add(item)
2192
+ result.add(element)
2193
2193
  }
2194
2194
  }
2195
2195
  return promises.length == 0 ? result : promiseAll(promises).then(getResult)
@@ -2285,8 +2285,8 @@ const objectForEach = function (object, callback) {
2285
2285
 
2286
2286
  const iteratorForEach = function (iterator, callback) {
2287
2287
  const promises = []
2288
- for (const item of iterator) {
2289
- const operation = callback(item)
2288
+ for (const element of iterator) {
2289
+ const operation = callback(element)
2290
2290
  if (isPromise(operation)) {
2291
2291
  promises.push(operation)
2292
2292
  }
@@ -2384,8 +2384,8 @@ const iteratorForEachSeries = function (iterator, callback) {
2384
2384
  }
2385
2385
 
2386
2386
  const asyncIteratorForEachSeries = async function (asyncIterator, callback) {
2387
- for await (const item of asyncIterator) {
2388
- const operation = callback(item)
2387
+ for await (const element of asyncIterator) {
2388
+ const operation = callback(element)
2389
2389
  if (isPromise(operation)) {
2390
2390
  await operation
2391
2391
  }
@@ -2537,8 +2537,8 @@ const asyncIteratorSome = async function (
2537
2537
  }
2538
2538
 
2539
2539
  const iteratorSome = function (iterator, predicate) {
2540
- for (const item of iterator) {
2541
- const predication = predicate(item)
2540
+ for (const element of iterator) {
2541
+ const predication = predicate(element)
2542
2542
  if (isPromise(predication)) {
2543
2543
  return asyncIteratorSome(
2544
2544
  iterator, predicate, new Set([SelfReferencingPromise(predication)]))
@@ -2550,14 +2550,14 @@ const iteratorSome = function (iterator, predicate) {
2550
2550
  return false
2551
2551
  }
2552
2552
 
2553
- const reducerAnySync = predicate => function anyReducer(result, item) {
2554
- return result ? true : predicate(item)
2553
+ const reducerAnySync = predicate => function anyReducer(result, element) {
2554
+ return result ? true : predicate(element)
2555
2555
  }
2556
2556
 
2557
- const reducerSome = predicate => function anyReducer(result, item) {
2557
+ const reducerSome = predicate => function anyReducer(result, element) {
2558
2558
  return result === true ? result
2559
- : isPromise(result) ? result.then(curry2(reducerAnySync(predicate), __, item))
2560
- : result ? true : predicate(item)
2559
+ : isPromise(result) ? result.then(curry2(reducerAnySync(predicate), __, element))
2560
+ : result ? true : predicate(element)
2561
2561
  }
2562
2562
 
2563
2563
  // _some(collection Array|Iterable|AsyncIterable|{ reduce: function }|Object, predicate function) -> Promise|boolean
@@ -2613,8 +2613,8 @@ const arrayEvery = function (array, predicate) {
2613
2613
 
2614
2614
  const iteratorEvery = function (iterator, predicate) {
2615
2615
  const promises = []
2616
- for (const item of iterator) {
2617
- const predication = predicate(item)
2616
+ for (const element of iterator) {
2617
+ const predication = predicate(element)
2618
2618
  if (isPromise(predication)) {
2619
2619
  promises.push(predication)
2620
2620
  } else if (!predication) {
@@ -2657,13 +2657,13 @@ const asyncIteratorEvery = async function (
2657
2657
  return true
2658
2658
  }
2659
2659
 
2660
- const reducerAllSync = (predicate, result, item) => result ? predicate(item) : false
2660
+ const reducerAllSync = (predicate, result, element) => result ? predicate(element) : false
2661
2661
 
2662
- const reducerEvery = predicate => function allReducer(result, item) {
2662
+ const reducerEvery = predicate => function allReducer(result, element) {
2663
2663
  return result === false ? false
2664
2664
  : isPromise(result) ? result.then(
2665
- curry3(reducerAllSync, predicate, __, item))
2666
- : result ? predicate(item) : false
2665
+ curry3(reducerAllSync, predicate, __, element))
2666
+ : result ? predicate(element) : false
2667
2667
  }
2668
2668
 
2669
2669
  // _every(collection Array|Iterable|AsyncIterable|{ reduce: function }|Object, predicate function) -> Promise|boolean
@@ -3220,13 +3220,13 @@ const deleteByPath = function (object, path) {
3220
3220
  const objectCopyDeep = function (object) {
3221
3221
  const result = {}
3222
3222
  for (const key in object) {
3223
- const item = object[key]
3224
- if (isArray(item)) {
3225
- result[key] = arrayCopyDeep(item)
3226
- } else if (item != null && item.constructor == Object) {
3227
- result[key] = objectCopyDeep(item)
3223
+ const element = object[key]
3224
+ if (isArray(element)) {
3225
+ result[key] = arrayCopyDeep(element)
3226
+ } else if (element != null && element.constructor == Object) {
3227
+ result[key] = objectCopyDeep(element)
3228
3228
  } else {
3229
- result[key] = item
3229
+ result[key] = element
3230
3230
  }
3231
3231
  }
3232
3232
  return result
@@ -3238,13 +3238,13 @@ const arrayCopyDeep = function (array) {
3238
3238
  result = []
3239
3239
  let index = -1
3240
3240
  while (++index < length) {
3241
- const item = array[index]
3242
- if (isArray(item)) {
3243
- result[index] = arrayCopyDeep(item)
3244
- } else if (item != null && item.constructor == Object) {
3245
- result[index] = objectCopyDeep(item)
3241
+ const element = array[index]
3242
+ if (isArray(element)) {
3243
+ result[index] = arrayCopyDeep(element)
3244
+ } else if (element != null && element.constructor == Object) {
3245
+ result[index] = objectCopyDeep(element)
3246
3246
  } else {
3247
- result[index] = item
3247
+ result[index] = element
3248
3248
  }
3249
3249
  }
3250
3250
  return result