rubico 2.7.3 → 2.7.4

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 (493) hide show
  1. package/README.md +14 -17
  2. package/Transducer.d.ts +10 -10
  3. package/Transducer.js +65 -69
  4. package/__.js +1 -1
  5. package/_internal/FlatMappingIterator.js +1 -1
  6. package/_internal/MappingIterator.d.ts +1 -1
  7. package/_internal/MappingIterator.js +1 -1
  8. package/_internal/arrayFilter.js +6 -6
  9. package/_internal/arrayFilterIndexes.js +7 -7
  10. package/_internal/arrayFilterWithIndex.js +6 -6
  11. package/_internal/arrayFind.js +7 -7
  12. package/_internal/arrayFlatten.js +25 -25
  13. package/_internal/arrayForEach.d.ts +1 -1
  14. package/_internal/arrayForEach.js +1 -1
  15. package/_internal/arrayForEachSeries.js +1 -1
  16. package/_internal/arrayMap.d.ts +2 -2
  17. package/_internal/arrayMap.js +5 -5
  18. package/_internal/arrayMapPool.d.ts +1 -1
  19. package/_internal/arrayMapPool.js +10 -10
  20. package/_internal/arrayMapRate.js +4 -4
  21. package/_internal/arrayMapSeries.d.ts +1 -1
  22. package/_internal/arrayMapSeries.js +8 -8
  23. package/_internal/arrayMapWithIndex.js +4 -4
  24. package/_internal/arrayReduce.js +1 -1
  25. package/_internal/asyncGeneratorFunctionForEach.js +3 -3
  26. package/_internal/asyncGeneratorFunctionMap.js +3 -3
  27. package/_internal/asyncIteratorFind.js +3 -3
  28. package/_internal/asyncIteratorForEach.d.ts +1 -1
  29. package/_internal/asyncIteratorForEach.js +3 -3
  30. package/_internal/asyncIteratorForEachSeries.js +3 -3
  31. package/_internal/asyncIteratorToArray.js +2 -2
  32. package/_internal/copyDeep.js +12 -12
  33. package/_internal/funcAll.js +3 -3
  34. package/_internal/funcAllSeries.js +6 -6
  35. package/_internal/funcObjectAll.js +4 -4
  36. package/_internal/functionArrayAll.js +3 -3
  37. package/_internal/functionArrayAllSeries.js +6 -6
  38. package/_internal/functionObjectAll.js +4 -4
  39. package/_internal/generatorFunctionForEach.js +3 -3
  40. package/_internal/generatorFunctionMap.js +3 -3
  41. package/_internal/generatorFunctionReduce.js +1 -1
  42. package/_internal/iteratorEvery.js +2 -2
  43. package/_internal/iteratorFind.js +7 -7
  44. package/_internal/iteratorForEach.d.ts +1 -1
  45. package/_internal/iteratorForEach.js +3 -3
  46. package/_internal/iteratorForEachSeries.js +1 -1
  47. package/_internal/iteratorReduce.d.ts +1 -1
  48. package/_internal/iteratorReduce.js +2 -2
  49. package/_internal/iteratorSome.js +2 -2
  50. package/_internal/mapFilter.js +4 -4
  51. package/_internal/mapMap.d.ts +1 -1
  52. package/_internal/mapMap.js +6 -6
  53. package/_internal/mapMapPool.js +10 -10
  54. package/_internal/mapMapSeries.js +10 -10
  55. package/_internal/objectFilter.js +6 -6
  56. package/_internal/objectFlatMap.d.ts +1 -1
  57. package/_internal/objectFlatMap.js +1 -1
  58. package/_internal/objectFlatten.js +14 -14
  59. package/_internal/objectMap.js +3 -3
  60. package/_internal/objectMapOwn.js +3 -3
  61. package/_internal/objectMapPool.js +10 -10
  62. package/_internal/objectMapSeries.js +9 -9
  63. package/_internal/objectReduce.d.ts +1 -1
  64. package/_internal/objectReduce.js +2 -2
  65. package/_internal/reducerAllSync.d.ts +2 -2
  66. package/_internal/reducerAllSync.js +2 -2
  67. package/_internal/reducerAnySync.d.ts +1 -1
  68. package/_internal/reducerAnySync.js +2 -2
  69. package/_internal/reducerConcat.d.ts +1 -1
  70. package/_internal/reducerConcat.js +4 -4
  71. package/_internal/reducerConcatSync.js +2 -2
  72. package/_internal/reducerEvery.d.ts +2 -2
  73. package/_internal/reducerEvery.js +4 -4
  74. package/_internal/reducerFilter.d.ts +2 -2
  75. package/_internal/reducerFilter.js +5 -5
  76. package/_internal/reducerFlatten.js +3 -3
  77. package/_internal/reducerForEach.d.ts +2 -2
  78. package/_internal/reducerForEach.js +5 -5
  79. package/_internal/reducerMap.d.ts +1 -1
  80. package/_internal/reducerMap.js +5 -5
  81. package/_internal/reducerSome.d.ts +2 -2
  82. package/_internal/reducerSome.js +4 -4
  83. package/_internal/reducerTryCatch.d.ts +2 -2
  84. package/_internal/reducerTryCatch.js +8 -8
  85. package/_internal/setFilter.d.ts +1 -1
  86. package/_internal/setFilter.js +5 -5
  87. package/_internal/setFlatten.js +24 -24
  88. package/_internal/setMap.d.ts +1 -1
  89. package/_internal/setMap.js +6 -6
  90. package/_internal/setMapPool.js +9 -9
  91. package/_internal/setMapSeries.js +10 -10
  92. package/_internal/streamFlatExtend.js +25 -25
  93. package/_internal/streamFlatMap.js +2 -2
  94. package/all.js +3 -3
  95. package/and.js +5 -2
  96. package/assign.js +2 -2
  97. package/compose.js +6 -2
  98. package/curry.js +5 -12
  99. package/dist/Transducer.es.js +24 -24
  100. package/dist/Transducer.es.min.js +1 -1
  101. package/dist/Transducer.js +24 -24
  102. package/dist/Transducer.min.js +1 -1
  103. package/dist/Transducer.mjs +24 -24
  104. package/dist/__.es.js +1 -1
  105. package/dist/__.es.min.js +1 -1
  106. package/dist/__.js +1 -1
  107. package/dist/__.min.js +1 -1
  108. package/dist/__.mjs +1 -1
  109. package/dist/all.es.js +14 -14
  110. package/dist/all.es.min.js +1 -1
  111. package/dist/all.js +14 -14
  112. package/dist/all.min.js +1 -1
  113. package/dist/all.mjs +14 -14
  114. package/dist/always.es.js +1 -1
  115. package/dist/always.es.min.js +1 -1
  116. package/dist/always.js +1 -1
  117. package/dist/always.min.js +1 -1
  118. package/dist/always.mjs +1 -1
  119. package/dist/and.es.js +1 -1
  120. package/dist/and.es.min.js +1 -1
  121. package/dist/and.js +1 -1
  122. package/dist/and.min.js +1 -1
  123. package/dist/and.mjs +1 -1
  124. package/dist/assign.es.js +5 -5
  125. package/dist/assign.es.min.js +1 -1
  126. package/dist/assign.js +5 -5
  127. package/dist/assign.min.js +1 -1
  128. package/dist/assign.mjs +5 -5
  129. package/dist/compose.es.js +1 -1
  130. package/dist/compose.es.min.js +1 -1
  131. package/dist/compose.js +1 -1
  132. package/dist/compose.min.js +1 -1
  133. package/dist/compose.mjs +1 -1
  134. package/dist/curry.es.js +1 -1
  135. package/dist/curry.es.min.js +1 -1
  136. package/dist/curry.js +1 -1
  137. package/dist/curry.min.js +1 -1
  138. package/dist/curry.mjs +1 -1
  139. package/dist/eq.es.js +1 -1
  140. package/dist/eq.es.min.js +1 -1
  141. package/dist/eq.js +1 -1
  142. package/dist/eq.min.js +1 -1
  143. package/dist/eq.mjs +1 -1
  144. package/dist/every.es.js +7 -7
  145. package/dist/every.es.min.js +1 -1
  146. package/dist/every.js +7 -7
  147. package/dist/every.min.js +1 -1
  148. package/dist/every.mjs +7 -7
  149. package/dist/filter.es.js +21 -21
  150. package/dist/filter.es.min.js +1 -1
  151. package/dist/filter.js +21 -21
  152. package/dist/filter.min.js +1 -1
  153. package/dist/filter.mjs +21 -21
  154. package/dist/flatMap.es.js +82 -82
  155. package/dist/flatMap.es.min.js +1 -1
  156. package/dist/flatMap.js +82 -82
  157. package/dist/flatMap.min.js +1 -1
  158. package/dist/flatMap.mjs +82 -82
  159. package/dist/forEach.es.js +7 -7
  160. package/dist/forEach.es.min.js +1 -1
  161. package/dist/forEach.js +7 -7
  162. package/dist/forEach.min.js +1 -1
  163. package/dist/forEach.mjs +7 -7
  164. package/dist/get.es.js +1 -1
  165. package/dist/get.es.min.js +1 -1
  166. package/dist/get.js +1 -1
  167. package/dist/get.min.js +1 -1
  168. package/dist/get.mjs +1 -1
  169. package/dist/gt.es.js +1 -1
  170. package/dist/gt.es.min.js +1 -1
  171. package/dist/gt.js +1 -1
  172. package/dist/gt.min.js +1 -1
  173. package/dist/gt.mjs +1 -1
  174. package/dist/gte.es.js +1 -1
  175. package/dist/gte.es.min.js +1 -1
  176. package/dist/gte.js +1 -1
  177. package/dist/gte.min.js +1 -1
  178. package/dist/gte.mjs +1 -1
  179. package/dist/lt.es.js +1 -1
  180. package/dist/lt.es.min.js +1 -1
  181. package/dist/lt.js +1 -1
  182. package/dist/lt.min.js +1 -1
  183. package/dist/lt.mjs +1 -1
  184. package/dist/lte.es.js +1 -1
  185. package/dist/lte.es.min.js +1 -1
  186. package/dist/lte.js +1 -1
  187. package/dist/lte.min.js +1 -1
  188. package/dist/lte.mjs +1 -1
  189. package/dist/map.es.js +83 -83
  190. package/dist/map.es.min.js +1 -1
  191. package/dist/map.js +83 -83
  192. package/dist/map.min.js +1 -1
  193. package/dist/map.mjs +83 -83
  194. package/dist/not.es.js +1 -1
  195. package/dist/not.es.min.js +1 -1
  196. package/dist/not.js +1 -1
  197. package/dist/not.min.js +1 -1
  198. package/dist/not.mjs +1 -1
  199. package/dist/omit.es.js +13 -13
  200. package/dist/omit.es.min.js +1 -1
  201. package/dist/omit.js +13 -13
  202. package/dist/omit.min.js +1 -1
  203. package/dist/omit.mjs +13 -13
  204. package/dist/or.es.js +1 -1
  205. package/dist/or.es.min.js +1 -1
  206. package/dist/or.js +1 -1
  207. package/dist/or.min.js +1 -1
  208. package/dist/or.mjs +1 -1
  209. package/dist/pick.es.js +1 -1
  210. package/dist/pick.es.min.js +1 -1
  211. package/dist/pick.js +1 -1
  212. package/dist/pick.min.js +1 -1
  213. package/dist/pick.mjs +1 -1
  214. package/dist/pipe.es.js +1 -1
  215. package/dist/pipe.es.min.js +1 -1
  216. package/dist/pipe.js +1 -1
  217. package/dist/pipe.min.js +1 -1
  218. package/dist/pipe.mjs +1 -1
  219. package/dist/reduce.es.js +5 -5
  220. package/dist/reduce.es.min.js +1 -1
  221. package/dist/reduce.js +5 -5
  222. package/dist/reduce.min.js +1 -1
  223. package/dist/reduce.mjs +5 -5
  224. package/dist/rubico.es.js +215 -215
  225. package/dist/rubico.es.min.js +1 -1
  226. package/dist/rubico.global.js +215 -215
  227. package/dist/rubico.global.min.js +1 -1
  228. package/dist/rubico.js +215 -215
  229. package/dist/rubico.min.js +1 -1
  230. package/dist/rubico.mjs +215 -215
  231. package/dist/set.es.js +1 -1
  232. package/dist/set.es.min.js +1 -1
  233. package/dist/set.js +1 -1
  234. package/dist/set.min.js +1 -1
  235. package/dist/set.mjs +1 -1
  236. package/dist/some.es.js +8 -8
  237. package/dist/some.es.min.js +1 -1
  238. package/dist/some.js +8 -8
  239. package/dist/some.min.js +1 -1
  240. package/dist/some.mjs +8 -8
  241. package/dist/switchCase.es.js +1 -1
  242. package/dist/switchCase.es.min.js +1 -1
  243. package/dist/switchCase.js +1 -1
  244. package/dist/switchCase.min.js +1 -1
  245. package/dist/switchCase.mjs +1 -1
  246. package/dist/tap.es.js +1 -1
  247. package/dist/tap.es.min.js +1 -1
  248. package/dist/tap.js +1 -1
  249. package/dist/tap.min.js +1 -1
  250. package/dist/tap.mjs +1 -1
  251. package/dist/thunkify.es.js +1 -1
  252. package/dist/thunkify.es.min.js +1 -1
  253. package/dist/thunkify.js +1 -1
  254. package/dist/thunkify.min.js +1 -1
  255. package/dist/thunkify.mjs +1 -1
  256. package/dist/transform.es.js +5 -5
  257. package/dist/transform.es.min.js +1 -1
  258. package/dist/transform.js +5 -5
  259. package/dist/transform.min.js +1 -1
  260. package/dist/transform.mjs +5 -5
  261. package/dist/tryCatch.es.js +1 -1
  262. package/dist/tryCatch.es.min.js +1 -1
  263. package/dist/tryCatch.js +1 -1
  264. package/dist/tryCatch.min.js +1 -1
  265. package/dist/tryCatch.mjs +1 -1
  266. package/dist/x/append.es.js +8 -8
  267. package/dist/x/append.es.min.js +1 -1
  268. package/dist/x/append.js +8 -8
  269. package/dist/x/append.min.js +1 -1
  270. package/dist/x/append.mjs +8 -8
  271. package/dist/x/callProp.es.js +1 -1
  272. package/dist/x/callProp.es.min.js +1 -1
  273. package/dist/x/callProp.js +1 -1
  274. package/dist/x/callProp.min.js +1 -1
  275. package/dist/x/callProp.mjs +1 -1
  276. package/dist/x/defaultsDeep.es.js +69 -37
  277. package/dist/x/defaultsDeep.es.min.js +2 -2
  278. package/dist/x/defaultsDeep.js +69 -37
  279. package/dist/x/defaultsDeep.min.js +2 -2
  280. package/dist/x/defaultsDeep.mjs +69 -37
  281. package/dist/x/differenceWith.es.js +14 -14
  282. package/dist/x/differenceWith.es.min.js +1 -1
  283. package/dist/x/differenceWith.js +14 -14
  284. package/dist/x/differenceWith.min.js +1 -1
  285. package/dist/x/differenceWith.mjs +14 -14
  286. package/dist/x/filterOut.es.js +21 -21
  287. package/dist/x/filterOut.es.min.js +1 -1
  288. package/dist/x/filterOut.js +21 -21
  289. package/dist/x/filterOut.min.js +1 -1
  290. package/dist/x/filterOut.mjs +21 -21
  291. package/dist/x/find.es.js +18 -18
  292. package/dist/x/find.es.min.js +1 -1
  293. package/dist/x/find.js +18 -18
  294. package/dist/x/find.min.js +1 -1
  295. package/dist/x/find.mjs +18 -18
  296. package/dist/x/findIndex.es.js +1 -1
  297. package/dist/x/findIndex.es.min.js +1 -1
  298. package/dist/x/findIndex.js +1 -1
  299. package/dist/x/findIndex.min.js +1 -1
  300. package/dist/x/findIndex.mjs +1 -1
  301. package/dist/x/first.es.js +1 -1
  302. package/dist/x/first.es.min.js +1 -1
  303. package/dist/x/first.js +1 -1
  304. package/dist/x/first.min.js +1 -1
  305. package/dist/x/first.mjs +1 -1
  306. package/dist/x/flatten.es.js +82 -82
  307. package/dist/x/flatten.es.min.js +1 -1
  308. package/dist/x/flatten.js +82 -82
  309. package/dist/x/flatten.min.js +1 -1
  310. package/dist/x/flatten.mjs +82 -82
  311. package/dist/x/groupBy.es.js +17 -17
  312. package/dist/x/groupBy.es.min.js +1 -1
  313. package/dist/x/groupBy.js +17 -17
  314. package/dist/x/groupBy.min.js +1 -1
  315. package/dist/x/groupBy.mjs +17 -17
  316. package/dist/x/has.es.js +1 -1
  317. package/dist/x/has.es.min.js +1 -1
  318. package/dist/x/has.js +1 -1
  319. package/dist/x/has.min.js +1 -1
  320. package/dist/x/has.mjs +1 -1
  321. package/dist/x/identity.es.js +1 -1
  322. package/dist/x/identity.es.min.js +1 -1
  323. package/dist/x/identity.js +1 -1
  324. package/dist/x/identity.min.js +1 -1
  325. package/dist/x/identity.mjs +1 -1
  326. package/dist/x/includes.es.js +1 -1
  327. package/dist/x/includes.es.min.js +1 -1
  328. package/dist/x/includes.js +1 -1
  329. package/dist/x/includes.min.js +1 -1
  330. package/dist/x/includes.mjs +1 -1
  331. package/dist/x/isDeepEqual.es.js +1 -1
  332. package/dist/x/isDeepEqual.es.min.js +1 -1
  333. package/dist/x/isDeepEqual.js +1 -1
  334. package/dist/x/isDeepEqual.min.js +1 -1
  335. package/dist/x/isDeepEqual.mjs +1 -1
  336. package/dist/x/isEmpty.es.js +1 -1
  337. package/dist/x/isEmpty.es.min.js +1 -1
  338. package/dist/x/isEmpty.js +1 -1
  339. package/dist/x/isEmpty.min.js +1 -1
  340. package/dist/x/isEmpty.mjs +1 -1
  341. package/dist/x/isEqual.es.js +1 -1
  342. package/dist/x/isEqual.es.min.js +1 -1
  343. package/dist/x/isEqual.js +1 -1
  344. package/dist/x/isEqual.min.js +1 -1
  345. package/dist/x/isEqual.mjs +1 -1
  346. package/dist/x/isFunction.es.js +1 -1
  347. package/dist/x/isFunction.es.min.js +1 -1
  348. package/dist/x/isFunction.js +1 -1
  349. package/dist/x/isFunction.min.js +1 -1
  350. package/dist/x/isFunction.mjs +1 -1
  351. package/dist/x/isIn.es.js +1 -1
  352. package/dist/x/isIn.es.min.js +1 -1
  353. package/dist/x/isIn.js +1 -1
  354. package/dist/x/isIn.min.js +1 -1
  355. package/dist/x/isIn.mjs +1 -1
  356. package/dist/x/isObject.es.js +1 -1
  357. package/dist/x/isObject.es.min.js +1 -1
  358. package/dist/x/isObject.js +1 -1
  359. package/dist/x/isObject.min.js +1 -1
  360. package/dist/x/isObject.mjs +1 -1
  361. package/dist/x/isString.es.js +1 -1
  362. package/dist/x/isString.es.min.js +1 -1
  363. package/dist/x/isString.js +1 -1
  364. package/dist/x/isString.min.js +1 -1
  365. package/dist/x/isString.mjs +1 -1
  366. package/dist/x/keys.es.js +1 -1
  367. package/dist/x/keys.es.min.js +1 -1
  368. package/dist/x/keys.js +1 -1
  369. package/dist/x/keys.min.js +1 -1
  370. package/dist/x/keys.mjs +1 -1
  371. package/dist/x/last.es.js +1 -1
  372. package/dist/x/last.es.min.js +1 -1
  373. package/dist/x/last.js +1 -1
  374. package/dist/x/last.min.js +1 -1
  375. package/dist/x/last.mjs +1 -1
  376. package/dist/x/maxBy.es.js +6 -6
  377. package/dist/x/maxBy.es.min.js +1 -1
  378. package/dist/x/maxBy.js +6 -6
  379. package/dist/x/maxBy.min.js +1 -1
  380. package/dist/x/maxBy.mjs +6 -6
  381. package/dist/x/noop.es.js +1 -1
  382. package/dist/x/noop.es.min.js +1 -1
  383. package/dist/x/noop.js +1 -1
  384. package/dist/x/noop.min.js +1 -1
  385. package/dist/x/noop.mjs +1 -1
  386. package/dist/x/pluck.es.js +83 -83
  387. package/dist/x/pluck.es.min.js +1 -1
  388. package/dist/x/pluck.js +83 -83
  389. package/dist/x/pluck.min.js +1 -1
  390. package/dist/x/pluck.mjs +83 -83
  391. package/dist/x/prepend.es.js +8 -8
  392. package/dist/x/prepend.es.min.js +1 -1
  393. package/dist/x/prepend.js +8 -8
  394. package/dist/x/prepend.min.js +1 -1
  395. package/dist/x/prepend.mjs +8 -8
  396. package/dist/x/size.es.js +1 -1
  397. package/dist/x/size.es.min.js +1 -1
  398. package/dist/x/size.js +1 -1
  399. package/dist/x/size.min.js +1 -1
  400. package/dist/x/size.mjs +1 -1
  401. package/dist/x/trace.es.js +1 -1
  402. package/dist/x/trace.es.min.js +1 -1
  403. package/dist/x/trace.js +1 -1
  404. package/dist/x/trace.min.js +1 -1
  405. package/dist/x/trace.mjs +1 -1
  406. package/dist/x/unionWith.es.js +39 -39
  407. package/dist/x/unionWith.es.min.js +1 -1
  408. package/dist/x/unionWith.js +39 -39
  409. package/dist/x/unionWith.min.js +1 -1
  410. package/dist/x/unionWith.mjs +39 -39
  411. package/dist/x/uniq.es.js +1 -1
  412. package/dist/x/uniq.es.min.js +1 -1
  413. package/dist/x/uniq.js +1 -1
  414. package/dist/x/uniq.min.js +1 -1
  415. package/dist/x/uniq.mjs +1 -1
  416. package/dist/x/unless.es.js +1 -1
  417. package/dist/x/unless.es.min.js +1 -1
  418. package/dist/x/unless.js +1 -1
  419. package/dist/x/unless.min.js +1 -1
  420. package/dist/x/unless.mjs +1 -1
  421. package/dist/x/values.es.js +1 -1
  422. package/dist/x/values.es.min.js +1 -1
  423. package/dist/x/values.js +1 -1
  424. package/dist/x/values.min.js +1 -1
  425. package/dist/x/values.mjs +1 -1
  426. package/dist/x/when.es.js +1 -1
  427. package/dist/x/when.es.min.js +1 -1
  428. package/dist/x/when.js +1 -1
  429. package/dist/x/when.min.js +1 -1
  430. package/dist/x/when.mjs +1 -1
  431. package/eq.js +32 -10
  432. package/es.js +215 -215
  433. package/every.d.ts +1 -1
  434. package/every.js +6 -3
  435. package/filter.d.ts +3 -3
  436. package/filter.js +14 -14
  437. package/flatMap.d.ts +9 -9
  438. package/flatMap.js +9 -9
  439. package/forEach.d.ts +1 -1
  440. package/forEach.js +19 -15
  441. package/gt.js +30 -13
  442. package/gte.js +31 -12
  443. package/index.js +215 -215
  444. package/lt.js +28 -9
  445. package/lte.js +34 -15
  446. package/map.d.ts +3 -3
  447. package/map.js +31 -31
  448. package/monad/Mux.benchmark.js +1 -1
  449. package/monad/Mux.js +6 -6
  450. package/monad/Struct.js +2 -2
  451. package/not.js +15 -7
  452. package/or.js +5 -2
  453. package/package.json +1 -1
  454. package/pipe.js +7 -13
  455. package/reduce.d.ts +7 -7
  456. package/reduce.js +16 -16
  457. package/some.d.ts +1 -1
  458. package/some.js +6 -3
  459. package/switchCase.d.ts +1 -1
  460. package/switchCase.js +7 -4
  461. package/tap.js +14 -4
  462. package/thunkify.js +2 -0
  463. package/transform.d.ts +1 -1
  464. package/transform.js +6 -15
  465. package/tryCatch.js +8 -2
  466. package/x/README.md +8 -8
  467. package/x/append.d.ts +2 -2
  468. package/x/append.js +8 -8
  469. package/x/defaultsDeep.js +94 -57
  470. package/x/defaultsDeep.test.js +24 -1
  471. package/x/differenceWith.js +13 -13
  472. package/x/find.d.ts +1 -1
  473. package/x/find.js +1 -1
  474. package/x/find.test.js +2 -2
  475. package/x/findIndex.test.js +1 -1
  476. package/x/first.d.ts +1 -1
  477. package/x/first.js +1 -1
  478. package/x/first.test.js +1 -1
  479. package/x/groupBy.d.ts +1 -1
  480. package/x/groupBy.js +13 -13
  481. package/x/last.d.ts +1 -1
  482. package/x/last.js +1 -1
  483. package/x/last.test.js +1 -1
  484. package/x/maxBy.d.ts +7 -7
  485. package/x/maxBy.js +13 -13
  486. package/x/maxBy.test.js +5 -5
  487. package/x/pluck.test.js +1 -1
  488. package/x/prepend.d.ts +2 -2
  489. package/x/prepend.js +8 -8
  490. package/x/size.d.ts +1 -1
  491. package/x/size.js +1 -1
  492. package/x/unionWith.js +11 -11
  493. package/x/unionWith.test.js +5 -5
package/lt.js CHANGED
@@ -6,20 +6,27 @@ const lessThan = require('./_internal/lessThan')
6
6
  *
7
7
  * @synopsis
8
8
  * ```coffeescript [specscript]
9
- * lt(leftValue Promise|any, rightValue Promise|any) -> boolean
9
+ * args Array<any>
10
+ * argsOrPromises Array<Promise|any>
10
11
  *
11
- * lt(leftValue Promise|any, right function)(...args) -> Promise|boolean
12
- * lt(...args, leftValue Promise|any, right function) -> Promise|boolean
12
+ * type SyncOrAsyncResolver = (...args)=>Promise|any
13
13
  *
14
- * lt(left function, rightValue Promise|any)(...args) -> Promise|boolean
15
- * lt(...args, left function, rightValue Promise|any) -> Promise|boolean
14
+ * leftValue Promise|any
15
+ * rightValue Promise|any
16
+ * leftResolver SyncOrAsyncResolver
17
+ * rightResolver SyncOrAsyncResolver
16
18
  *
17
- * lt(left function, right function)(...args) -> Promise|boolean
18
- * lt(...args, left function, right function) -> Promise|boolean
19
+ * lt(leftValue, rightValue) -> Promise|boolean
20
+ * lt(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
21
+ * lt(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
22
+ * lt(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
23
+ * lt(leftResolver, rightValue)(...args) -> Promise|boolean
24
+ * lt(leftValue, rightResolver)(...args) -> Promise|boolean
25
+ * lt(leftResolver, rightResolver)(...args) -> Promise|boolean
19
26
  * ```
20
27
  *
21
28
  * @description
22
- * Test if a value is less than (`<`) another value.
29
+ * Functional equivalent of the [Less than (<)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Less_than) operator. Tests if a value is less than (`<`) another value.
23
30
  *
24
31
  * ```javascript [playground]
25
32
  * console.log(lt(1, 3)) // true
@@ -27,7 +34,7 @@ const lessThan = require('./_internal/lessThan')
27
34
  * console.log(lt(4, 3)) // false
28
35
  * ```
29
36
  *
30
- * If either of the two values are resolver functions, `lt` returns a function that resolves the values to compare from its arguments.
37
+ * If either of the two values are resolver functions, `lt` returns a function that resolves the value(s) to compare.
31
38
  *
32
39
  * ```javascript [playground]
33
40
  * const identity = value => value
@@ -39,6 +46,18 @@ const lessThan = require('./_internal/lessThan')
39
46
  * console.log(isLessThan3(5)) // false
40
47
  * ```
41
48
  *
49
+ * If either of the resolver functions is asynchronous, `lt` returns an asynchronous function.
50
+ *
51
+ * ```javascript [playground]
52
+ * const asyncIdentity = async value => value
53
+ *
54
+ * const asyncIsLessThan3 = lt(asyncIdentity, 3)
55
+ *
56
+ * asyncIsLessThan3(1).then(console.log) // true
57
+ * asyncIsLessThan3(3).then(console.log) // false
58
+ * asyncIsLessThan3(5).then(console.log) // false
59
+ * ```
60
+ *
42
61
  * `lt` supports a lazy API for composability.
43
62
  *
44
63
  * ```javascript [playground]
package/lte.js CHANGED
@@ -6,20 +6,27 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
6
6
  *
7
7
  * @synopsis
8
8
  * ```coffeescript [specscript]
9
- * lte(leftValue Promise|any, rightValue Promise|any) -> boolean
10
- *
11
- * lte(leftValue Promise|any, right function)(...args) -> Promise|boolean
12
- * lte(...args, leftValue Promise|any, right function) -> Promise|boolean
13
- *
14
- * lte(left function, rightValue Promise|any)(...args) -> Promise|boolean
15
- * lte(...args, left function, rightValue Promise|any) -> Promise|boolean
16
- *
17
- * lte(left function, right function)(...args) -> Promise|boolean
18
- * lte(...args, left function, right function) -> Promise|boolean
9
+ * args Array<any>
10
+ * argsOrPromises Array<Promise|any>
11
+ *
12
+ * type SyncOrAsyncResolver = (...args)=>Promise|any
13
+ *
14
+ * leftValue Promise|any
15
+ * rightValue Promise|any
16
+ * leftResolver SyncOrAsyncResolver
17
+ * rightResolver SyncOrAsyncResolver
18
+ *
19
+ * lte(leftValue, rightValue) -> Promise|boolean
20
+ * lte(...argsOrPromises, leftResolver, rightValue) -> Promise|boolean
21
+ * lte(...argsOrPromises, leftValue, rightResolver) -> Promise|boolean
22
+ * lte(...argsOrPromises, leftResolver, rightResolver) -> Promise|boolean
23
+ * lte(leftResolver, rightValue)(...args) -> Promise|boolean
24
+ * lte(leftValue, rightResolver)(...args) -> Promise|boolean
25
+ * lte(leftResolver, rightResolver)(...args) -> Promise|boolean
19
26
  * ```
20
27
  *
21
28
  * @description
22
- * Test if a value is less than or equal (`<=`) to another value.
29
+ * Functional equivalent of the [Less than or equal (>=)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Less_than_or_equal) operator. Tests if a value is less than or equal (`<=`) to another value.
23
30
  *
24
31
  * ```javascript [playground]
25
32
  * console.log(lte(1, 3)) // true
@@ -27,16 +34,28 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
27
34
  * console.log(lte(4, 3)) // false
28
35
  * ```
29
36
  *
30
- * If either of the two values are resolver functions, `lte` returns a function that resolves the values to compare from its arguments.
37
+ * If either of the two values are resolver functions, `lte` returns a function that resolves the value(s) to compare.
31
38
  *
32
39
  * ```javascript [playground]
33
40
  * const identity = value => value
34
41
  *
35
42
  * const isLessThanOrEqualTo3 = lte(identity, 3)
36
43
  *
37
- * console.log(isLessThanOrEqualTo3(1), true)
38
- * console.log(isLessThanOrEqualTo3(3), true)
39
- * console.log(isLessThanOrEqualTo3(5), false)
44
+ * console.log(isLessThanOrEqualTo3(1)) // true
45
+ * console.log(isLessThanOrEqualTo3(3)) // true
46
+ * console.log(isLessThanOrEqualTo3(5)) // false
47
+ * ```
48
+ *
49
+ * If either of the two resolver functions is asynchronous, `lte` returns an asynchronous function.
50
+ *
51
+ * ```javascript [playground]
52
+ * const asyncIdentity = async value => value
53
+ *
54
+ * const asyncIsLessThanOrEqualTo3 = lte(asyncIdentity, 3)
55
+ *
56
+ * asyncIsLessThanOrEqualTo3(1).then(console.log) // true
57
+ * asyncIsLessThanOrEqualTo3(3).then(console.log) // true
58
+ * asyncIsLessThanOrEqualTo3(5).then(console.log) // false
40
59
  * ```
41
60
  *
42
61
  * `lte` supports a lazy API for composability.
package/map.d.ts CHANGED
@@ -10,14 +10,14 @@ export = map;
10
10
  * value any,
11
11
  * indexOrKey number|string,
12
12
  * collection Mappable
13
- * )=>(mappedItem Promise|any)
13
+ * )=>(mappedElement Promise|any)
14
14
  *
15
15
  * map(value Mappable, mapper Mapper) -> result Promise|Mappable
16
16
  * map(mapper Mapper)(value Mappable) -> result Promise|Mappable
17
17
  * ```
18
18
  *
19
19
  * @description
20
- * Applies a synchronous or asynchronous mapper function concurrently to each item of a collection, returning the results in a new collection of the same type. If order is implied by the collection, it is maintained in the result. `map` accepts the following collections:
20
+ * Applies a synchronous or asynchronous mapper function concurrently to each element of a collection, returning the results in a new collection of the same type. If order is implied by the collection, it is maintained in the result. `map` accepts the following collections:
21
21
  *
22
22
  * * `Array`
23
23
  * * `Object`
@@ -26,7 +26,7 @@ export = map;
26
26
  * * `Iterator`/`Generator`
27
27
  * * `AsyncIterator`/`AsyncGenerator`
28
28
  *
29
- * With arrays (type `Array`), `map` applies the mapper function to each item of the array, returning the transformed results in a new array ordered the same as the original array.
29
+ * With arrays (type `Array`), `map` applies the mapper function to each element of the array, returning the transformed results in a new array ordered the same as the original array.
30
30
  *
31
31
  * ```javascript [playground]
32
32
  * const square = number => number ** 2
package/map.js CHANGED
@@ -95,18 +95,18 @@ const _map = function (value, f) {
95
95
  * ```coffeescript [specscript]
96
96
  * type Functor = Array|Set|Map|Generator|AsyncGenerator|{ map: function }|Object
97
97
  *
98
- * type Mapper = (
99
- * item any,
98
+ * type SyncOrAsyncMapper = (
99
+ * element any,
100
100
  * indexOrKey number|string|any,
101
101
  * functor Functor
102
- * )=>(resultItem Promise|any)
102
+ * )=>(resultElement Promise|any)
103
103
  *
104
- * map(functor Promise|Functor, mapper Mapper) -> result Promise|Functor
105
- * map(mapper Mapper)(functor Functor) -> result Promise|Functor
104
+ * map(functor Promise|Functor, mapper SyncOrAsyncMapper) -> result Promise|Functor
105
+ * map(mapper SyncOrAsyncMapper)(functor Functor) -> result Promise|Functor
106
106
  * ```
107
107
  *
108
108
  * @description
109
- * Applies a mapper function to each item of a functor, returning a functor of the same type with the mapped items. The order of the items is maintained.
109
+ * Applies a mapper function to each element of a functor, returning a functor of the same type with the mapped elements. The order of the elements is maintained.
110
110
  *
111
111
  * The following data types are considered to be functors:
112
112
  * * `array`
@@ -117,12 +117,12 @@ const _map = function (value, f) {
117
117
  * * `object with .map method`
118
118
  * * `object`
119
119
  *
120
- * The mapper function defines a mapping between a given item in the functor to a resulting item in the returned functor.
120
+ * The mapper function defines a mapping between a given element in the functor to a resulting element in the returned functor.
121
121
  *
122
122
  * ```javascript
123
- * const mapper = function (item) {
124
- * // resultItem is the result of a mapping from item
125
- * return resultItem
123
+ * const mapper = function (element) {
124
+ * // resultElement is the result of a mapping from element
125
+ * return resultElement
126
126
  * }
127
127
  * ```
128
128
  *
@@ -130,34 +130,34 @@ const _map = function (value, f) {
130
130
  *
131
131
  * If the functor is an array:
132
132
  * ```coffeescript [specscript]
133
- * mapper(item any, index number, ftor Array) -> resultItem Promise|any
133
+ * mapper(element any, index number, ftor Array) -> resultElement Promise|any
134
134
  * ```
135
135
  *
136
136
  * If the functor is a set:
137
137
  * ```coffeescript [specscript]
138
- * mapper(item any, item any, ftor Set) -> resultItem Promise|any
138
+ * mapper(element any, element any, ftor Set) -> resultElement Promise|any
139
139
  * ```
140
140
  *
141
141
  * If the functor is a map:
142
142
  * ```coffeescript [specscript]
143
- * mapper(item any, key any, ftor Map) -> resultItem Promise|any
143
+ * mapper(element any, key any, ftor Map) -> resultElement Promise|any
144
144
  * ```
145
145
  *
146
146
  * If the functor is a generator:
147
147
  * ```coffeescript [specscript]
148
- * mapper(item any) -> resultItem Promise|any
148
+ * mapper(element any) -> resultElement Promise|any
149
149
  * ```
150
150
  *
151
151
  * If the functor is an async generator:
152
152
  * ```coffeescript [specscript]
153
- * mapper(item any) -> resultItem Promise|any
153
+ * mapper(element any) -> resultElement Promise|any
154
154
  * ```
155
155
  *
156
156
  * If the functor is an object with a `.map` method, the mapper function signature is defined externally.
157
157
  *
158
158
  * If the functor is a plain object:
159
159
  * ```coffeescript [specscript]
160
- * mapper(item any, key string, ftor Object) -> resultItem Promise|any
160
+ * mapper(element any, key string, ftor Object) -> resultElement Promise|any
161
161
  * ```
162
162
  *
163
163
  * `map` works for arrays.
@@ -204,7 +204,7 @@ const _map = function (value, f) {
204
204
  * console.log(result) // Map { 'a' => 1, 'b' => 4, 'c' => 9, 'd' => 16, 'e' => 25 }
205
205
  * ```
206
206
  *
207
- * `map` applies the mapper function lazily to each value of a generator, creating a new generator with mapped items.
207
+ * `map` applies the mapper function lazily to each value of a generator, creating a new generator with mapped elements.
208
208
  *
209
209
  * ```javascript [playground]
210
210
  * const capitalize = string => string.toUpperCase()
@@ -221,7 +221,7 @@ const _map = function (value, f) {
221
221
  * console.log([...ABCGenerator]) // ['A', 'B', 'C']
222
222
  * ```
223
223
  *
224
- * `map` applies the mapper function lazily to each value of an async generator, creating a new async generator with mapped items.
224
+ * `map` applies the mapper function lazily to each value of an async generator, creating a new async generator with mapped elements.
225
225
  *
226
226
  * ```javascript [playground]
227
227
  * const capitalize = string => string.toUpperCase()
@@ -306,7 +306,7 @@ const _mapEntries = (value, f) => {
306
306
  *
307
307
  * type EntryMapper = (
308
308
  * entry [key string|any, value any],
309
- * )=>(resultEntry Promise|[resultKey string|any, resultItem any])
309
+ * )=>(resultEntry Promise|[resultKey string|any, resultElement any])
310
310
  *
311
311
  * map.entries(
312
312
  * value Promise|FunctorWithEntries,
@@ -398,13 +398,13 @@ map.entries = function mapEntries(arg0, arg1) {
398
398
  * ```coffeescript [specscript]
399
399
  * type Functor = Array|Object|Set|Map
400
400
  *
401
- * type Mapper = (
401
+ * type SyncOrAsyncMapper = (
402
402
  * value any,
403
403
  * indexOrKey number|string|any,
404
404
  * f Functor
405
- * )=>(mappedItem Promise|any)
405
+ * )=>(mappedElement Promise|any)
406
406
  *
407
- * _mapSeries(f Functor, f Mapper) -> result Promise|Functor
407
+ * _mapSeries(f Functor, f SyncOrAsyncMapper) -> result Promise|Functor
408
408
  * ```
409
409
  */
410
410
  const _mapSeries = function (collection, f) {
@@ -437,18 +437,18 @@ const _mapSeries = function (collection, f) {
437
437
  * ```coffeescript [specscript]
438
438
  * type MapSeriesFunctor = Array|Object|Set|Map
439
439
  *
440
- * type Mapper = (
440
+ * type SyncOrAsyncMapper = (
441
441
  * value any,
442
442
  * indexOrKey number|string|any,
443
443
  * ftor MapSeriesFunctor,
444
- * )=>(mappedItem Promise|any)
444
+ * )=>(mappedElement Promise|any)
445
445
  *
446
446
  * map.series(
447
447
  * ftor Promise|MapSeriesFunctor,
448
- * mapper Mapper
448
+ * mapper SyncOrAsyncMapper
449
449
  * ) -> result MapSeriesFunctor
450
450
  *
451
- * map.series(mapper Mapper)(ftor MapSeriesFunctor)
451
+ * map.series(mapper SyncOrAsyncMapper)(ftor MapSeriesFunctor)
452
452
  * -> result MapSeriesFunctor
453
453
  * ```
454
454
  *
@@ -537,21 +537,21 @@ const _mapPool = function (f, concurrency, mapper) {
537
537
  * ```coffeescript [specscript]
538
538
  * type MapPoolFunctor = Array|Object|Set|Map
539
539
  *
540
- * type Mapper = (
541
- * item any,
540
+ * type SyncOrAsyncMapper = (
541
+ * element any,
542
542
  * indexOrKey number|string|any,
543
543
  * ftor Functor
544
- * )=>(resultItem Promise|any)
544
+ * )=>(resultElement Promise|any)
545
545
  *
546
546
  * map.pool(
547
547
  * ftor MapPoolFunctor,
548
548
  * concurrency number,
549
- * mapper Mapper
549
+ * mapper SyncOrAsyncMapper
550
550
  * ) -> result Promise|Array
551
551
  *
552
552
  * map.pool(
553
553
  * concurrency number,
554
- * mapper Mapper
554
+ * mapper SyncOrAsyncMapper
555
555
  * )(ftor MapPoolFunctor) -> result Promise|Array
556
556
  * ```
557
557
  *
@@ -16,7 +16,7 @@ const nested = [[1], 2, [[3]]]
16
16
 
17
17
  const muxConcatFlatten = arr => {
18
18
  const y = []
19
- for (const item of muxConcat(arr)) y.push(item)
19
+ for (const element of muxConcat(arr)) y.push(element)
20
20
  return y
21
21
  }
22
22
 
package/monad/Mux.js CHANGED
@@ -240,13 +240,13 @@ const muxZipAsync = async function*(x) {
240
240
  * Create rows from disparate Sequences
241
241
  *
242
242
  * @description
243
- * Mux.zip takes a Sequence of items or Sequences of items and outputs either an Iterator or an AsyncIterator that yields an Array of items of each supplied Sequence for a given iteration. If any Sequence supplied to Mux.zip is AsyncIterable or an AsyncGeneratorFunction, Mux.zip outputs an AsyncIterator. The Iterator or AsyncIterator will iterate as long as the longest iterator of the supplied Sequences; shorter iterators will yield undefined until the longest iterator is consumed.
243
+ * Mux.zip takes a Sequence of elements or Sequences of elements and outputs either an Iterator or an AsyncIterator that yields an Array of elements of each supplied Sequence for a given iteration. If any Sequence supplied to Mux.zip is AsyncIterable or an AsyncGeneratorFunction, Mux.zip outputs an AsyncIterator. The Iterator or AsyncIterator will iterate as long as the longest iterator of the supplied Sequences; shorter iterators will yield undefined until the longest iterator is consumed.
244
244
  *
245
245
  * @example
246
246
  * const iterator = Mux.zip([[1, 2, 3], ['a', 'b', 'c']])
247
247
  *
248
- * for (const item of iterator) {
249
- * console.log(item) // [1, 'a']
248
+ * for (const element of iterator) {
249
+ * console.log(element) // [1, 'a']
250
250
  * // [2, 'b']
251
251
  * // [3, 'c']
252
252
  * }
@@ -307,7 +307,7 @@ const muxConcatAsync = async function*(x) {
307
307
  * Concatenate Sequences into one
308
308
  *
309
309
  * @description
310
- * Mux.concat takes a Sequence of items or Sequences of items and outputs either an Iterator or an AsyncIterator that yields each item individually. The first of these items is the first item of the first Sequence, the next is the second item of the first Sequence, and so on until all Sequences have been iterated in order. Non-Sequence Items in the top-level Sequence are yielded as they are.
310
+ * Mux.concat takes a Sequence of elements or Sequences of elements and outputs either an Iterator or an AsyncIterator that yields each element individually. The first of these elements is the first element of the first Sequence, the next is the second element of the first Sequence, and so on until all Sequences have been iterated in order. Non-Sequence Elements in the top-level Sequence are yielded as they are.
311
311
  *
312
312
  * @example
313
313
  * const iter = Mux.concat([
@@ -396,7 +396,7 @@ const muxSwitchAsync = async function*(x) {
396
396
  * Interleave Sequences into one
397
397
  *
398
398
  * @description
399
- * Mux.switch takes a Sequence of items or Sequences of items and outputs either an Iterator or an AsyncIterator that yields each item individually. The first of these items is the first item of the first Sequence, the next is the first item of the second Sequence, and so on until all Sequences have yielded their first item. Then, the first Sequence yields its second item, the second Sequence yields its second item, and so on until all Sequences have finished iterating. Non-Sequence Items in the top-level Sequence are yielded as they are. When a shorter Sequence finishes iterating, the remaining Sequences will switch yielding amongst themselves.
399
+ * Mux.switch takes a Sequence of elements or Sequences of elements and outputs either an Iterator or an AsyncIterator that yields each element individually. The first of these elements is the first element of the first Sequence, the next is the first element of the second Sequence, and so on until all Sequences have yielded their first element. Then, the first Sequence yields its second element, the second Sequence yields its second element, and so on until all Sequences have finished iterating. Non-Sequence Elements in the top-level Sequence are yielded as they are. When a shorter Sequence finishes iterating, the remaining Sequences will switch yielding amongst themselves.
400
400
  *
401
401
  * @example
402
402
  * const iter = Mux.switch([
@@ -457,7 +457,7 @@ const muxRaceAsync = async function*(x) {
457
457
  * Asynchronously Race Sequences into one
458
458
  *
459
459
  * @description
460
- * Mux.race takes a Sequence of items or Sequences of items and outputs either an Iterator or an AsyncIterator that yields each item individually. The first of these items are the synchronous items of the top level Sequence, followed by the asynchronous items of any asynchronous sub Sequences. If any sub Sequences are asynchronous, the order of these asynchronous items in the final returned AsyncIterator is determined by the serial asynchronous resolution of the individual asynchronous sub Sequences. If all Sequences are synchronous, Mux.race behaves just as Mux.concat.
460
+ * Mux.race takes a Sequence of elements or Sequences of elements and outputs either an Iterator or an AsyncIterator that yields each element individually. The first of these elements are the synchronous elements of the top level Sequence, followed by the asynchronous elements of any asynchronous sub Sequences. If any sub Sequences are asynchronous, the order of these asynchronous elements in the final returned AsyncIterator is determined by the serial asynchronous resolution of the individual asynchronous sub Sequences. If all Sequences are synchronous, Mux.race behaves just as Mux.concat.
461
461
  *
462
462
  * @example
463
463
  * const f = async function*() { await delay(5); yield 10; yield 20 }
package/monad/Struct.js CHANGED
@@ -106,7 +106,7 @@ Struct.values = x => isObject(x) ? objectValuesGenerator(x) : x.values()
106
106
  * <A any, B any>Struct.get(x Map<A, B>, index A) -> B|undefined
107
107
  *
108
108
  * @catchphrase
109
- * Get an item by index
109
+ * Get an element by index
110
110
  */
111
111
  Struct.get = (x, index) => {
112
112
  if (typeof x.get == 'function') return x.get(index)
@@ -179,7 +179,7 @@ Struct.size.objectKeys = x => {
179
179
  */
180
180
  const copySet = x => {
181
181
  const y = new Set()
182
- for (const item of x) y.add(item)
182
+ for (const element of x) y.add(element)
183
183
  return y
184
184
  }
185
185
 
package/not.js CHANGED
@@ -22,17 +22,17 @@ const _not = function (args, predicate) {
22
22
  * args Array<any>
23
23
  * argsOrPromises Array<Promise|any>
24
24
  *
25
- * type Predicate = (...args)=>Promise|boolean
25
+ * type SyncOrAsyncPredicate = (...args)=>Promise|boolean
26
26
  *
27
- * predicate Predicate
27
+ * predicate SyncOrAsyncPredicate
28
28
  *
29
- * not(value boolean) -> negated boolean
29
+ * not(value Promise|boolean|any) -> negated Promise|boolean
30
30
  * not(...argsOrPromises, predicate) -> negated Promise|boolean
31
31
  * not(predicate)(...args) -> negated Promise|boolean
32
32
  * ```
33
33
  *
34
34
  * @description
35
- * Negate a value like the [logical NOT (`!`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT) operator.
35
+ * Function equivalent to the [Logical NOT (`!`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_NOT) operator. Negates a value.
36
36
  *
37
37
  * ```javascript [playground]
38
38
  * const myObj = { a: 1 }
@@ -46,9 +46,17 @@ const _not = function (args, predicate) {
46
46
  * ```javascript [playground]
47
47
  * const isOdd = number => number % 2 == 1
48
48
  *
49
- * console.log(
50
- * not(isOdd)(3),
51
- * ) // false
49
+ * const isNotOdd = not(isOdd)
50
+ *
51
+ * console.log(isNotOdd(3)) // false
52
+ * ```
53
+ *
54
+ * `not` negates the resolved value of a promise.
55
+ *
56
+ * ```javascript [playground]
57
+ * const promise = Promise.resolve(false)
58
+ *
59
+ * not(promise).then(console.log) // true
52
60
  * ```
53
61
  *
54
62
  * Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
package/or.js CHANGED
@@ -99,7 +99,10 @@ const areAnyPredicatesTruthy = function (args, predicates) {
99
99
  * ```coffeescript [specscript]
100
100
  * args Array<any>
101
101
  * argsOrPromises Array<Promise|any>
102
- * predicatesOrValues Array<function|boolean|any>
102
+ *
103
+ * type SyncOrAsyncPredicate = (...args)=>Promise|boolean|any
104
+ *
105
+ * predicatesOrValues Array<SyncOrAsyncPredicate|boolean|any>
103
106
  *
104
107
  * or(values Array<boolean|any>) -> result boolean
105
108
  * or(...argsOrPromises, predicatesOrValues) -> Promise|boolean
@@ -107,7 +110,7 @@ const areAnyPredicatesTruthy = function (args, predicates) {
107
110
  * ```
108
111
  *
109
112
  * @description
110
- * Function equivalent to the [logical OR](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR) operator. Tests arrays of predicate functions, promises, values, or a mix thereof.
113
+ * Function equivalent to the [Logical OR](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR) operator. Tests arrays of predicate functions, promises, values, or a mix thereof.
111
114
  *
112
115
  * If provided an array of boolean values, `or` returns true if any boolean values are truthy.
113
116
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rubico",
3
- "version": "2.7.3",
3
+ "version": "2.7.4",
4
4
  "description": "[a]synchronous functional programming",
5
5
  "author": "Richard Tong",
6
6
  "license": "MIT",
package/pipe.js CHANGED
@@ -10,17 +10,21 @@ const __ = require('./_internal/placeholder')
10
10
  *
11
11
  * @synopsis
12
12
  * ```coffeescript [specscript]
13
- * funcs Array<function>
14
13
  * args Array<any>
15
14
  * argsOrPromises Array<Promise|any>
16
15
  *
16
+ * type SyncOrAsyncFunction = (...args)=>Promise|any
17
+ * type UnarySyncOrAsyncFunction = any=>Promise|any
18
+ *
19
+ * funcs [SyncOrAsyncFunction, ...Array<UnarySyncOrAsyncFunction>]
20
+ *
17
21
  * pipe(funcs)(...args) -> result Promise|any
18
- * pipe(...argsOrPromises, funcs Array<function>) -> result Promise|any
22
+ * pipe(...argsOrPromises, funcs) -> result Promise|any
19
23
  * pipe(...funcs)(...args) -> result Promise|any
20
24
  * ```
21
25
  *
22
26
  * @description
23
- * Creates a function pipeline from multiple functions. Each function in the pipeline is evaluated in series, passing its return value as an argument to the next function. The result of a pipeline execution is the return value of the last function in the pipeline. If any function in the pipeline is asynchronous, the result of the pipeline execution is a Promise.
27
+ * Creates a function pipeline from multiple functions. Each function in the pipeline is evaluated in series, passing its return value as an argument to the next function. The result of a pipeline execution is the return value of the last function in the pipeline. All arguments provided to the pipeline are provided to the first function in the pipeline. If any function in the pipeline is asynchronous, the result of the pipeline execution is a Promise.
24
28
  *
25
29
  * ```javascript [playground]
26
30
  * const syncAdd123 = pipe([
@@ -51,16 +55,6 @@ const __ = require('./_internal/placeholder')
51
55
  * console.log(appendBC('a')) // 'abc'
52
56
  * ```
53
57
  *
54
- * When passed any amount of arguments before the array of functions, `pipe` executes eagerly; the array of functions is immediately invoked with the supplied arguments.
55
- *
56
- * ```javascript [playground]
57
- * pipe(1, 2, 3, [
58
- * Array.of,
59
- * map(number => number * 3),
60
- * console.log, // [3, 6, 9]
61
- * ])
62
- * ```
63
- *
64
58
  * Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
65
59
  *
66
60
  * ```javascript [playground]
package/reduce.d.ts CHANGED
@@ -28,7 +28,7 @@ export = reduce;
28
28
  * ```
29
29
  *
30
30
  * @description
31
- * Transforms a collection based on a reducer function and optional initial value. In a reducing operation, the result is defined in the beginning as either the initial value if supplied or the first item of the collection. The reducing operation then iterates through the remaining items in the collection, executing the reducer at each iteration to return the result to be used in the next iteration. The final result is the result of the execution of the reducer at the last item of the iteration. `reduce` accepts the following collections:
31
+ * Transforms a collection based on a reducer function and optional initial value. In a reducing operation, the result is defined in the beginning as either the initial value if supplied or the first element of the collection. The reducing operation then iterates through the remaining elements in the collection, executing the reducer at each iteration to return the result to be used in the next iteration. The final result is the result of the execution of the reducer at the last element of the iteration. `reduce` accepts the following collections:
32
32
  *
33
33
  * * `Array`
34
34
  * * `Object`
@@ -37,7 +37,7 @@ export = reduce;
37
37
  * * `Iterator`/`Generator`
38
38
  * * `AsyncIterator`/`AsyncGenerator`
39
39
  *
40
- * For arrays (type `Array`), `reduce` executes the reducer function for each item of the array in order, returning a new result at each execution to be used in the next execution. On each iteration, the reducer is passed the accumulator, the item of the iteration, the index of the item in the array, and a reference to the original array.
40
+ * For arrays (type `Array`), `reduce` executes the reducer function for each element of the array in order, returning a new result at each execution to be used in the next execution. On each iteration, the reducer is passed the accumulator, the element of the iteration, the index of the element in the array, and a reference to the original array.
41
41
  *
42
42
  * ```javascript [playground]
43
43
  * const max = (a, b) => a > b ? a : b
@@ -51,7 +51,7 @@ export = reduce;
51
51
  * ) // 5
52
52
  * ```
53
53
  *
54
- * If an optional initial value is provided, the result starts as the provided initial value rather than the first item of the collection.
54
+ * If an optional initial value is provided, the result starts as the provided initial value rather than the first element of the collection.
55
55
  *
56
56
  * ```javascript [playground]
57
57
  * const add = (a, b) => a + b
@@ -91,7 +91,7 @@ export = reduce;
91
91
  * ) // 15
92
92
  * ```
93
93
  *
94
- * For sets (type `Set`), `reduce` executes the reducer function for each item of the set. On each iteration, the reducer is passed the accumulator and item of the set.
94
+ * For sets (type `Set`), `reduce` executes the reducer function for each element of the set. On each iteration, the reducer is passed the accumulator and element of the set.
95
95
  *
96
96
  * ```javascript [playground]
97
97
  * const add = (a, b) => a + b
@@ -107,7 +107,7 @@ export = reduce;
107
107
  * ) // 15
108
108
  * ```
109
109
  *
110
- * For maps (type `Map`), `reduce` executes the reducer function for each value of each entry of the map. On each iteration, the reducer is passed the accumulator, the map item, the key of the map item, and a reference to the original map.
110
+ * For maps (type `Map`), `reduce` executes the reducer function for each value of each entry of the map. On each iteration, the reducer is passed the accumulator, the map element, the key of the map element, and a reference to the original map.
111
111
  *
112
112
  * ```javascript [playground]
113
113
  * const add = (a, b) => a + b
@@ -123,7 +123,7 @@ export = reduce;
123
123
  * ) // 15
124
124
  * ```
125
125
  *
126
- * For iterators (type `Iterator`) and generators (type `Generator`), `reduce` executes the reducer function for each value of the iterator/generator. On each iteration, the reducer is passed the accumulator and the item of the iteration. The iterator/generator is consumed in the process.
126
+ * For iterators (type `Iterator`) and generators (type `Generator`), `reduce` executes the reducer function for each value of the iterator/generator. On each iteration, the reducer is passed the accumulator and the element of the iteration. The iterator/generator is consumed in the process.
127
127
  *
128
128
  * ```javascript [playground]
129
129
  * const add = (a, b) => a + b
@@ -141,7 +141,7 @@ export = reduce;
141
141
  * ) // 15
142
142
  * ```
143
143
  *
144
- * For asyncIterators (type `AsyncIterator`) and asyncGenerators (type `AsyncGenerator`), `reduce` executes the reducer function for each value of the asyncIterator/asyncGenerator. On each iteration, the reducer is passed the accumulator and the item of the async iteration. The asyncIterator/asyncGenerator is consumed in the process.
144
+ * For asyncIterators (type `AsyncIterator`) and asyncGenerators (type `AsyncGenerator`), `reduce` executes the reducer function for each value of the asyncIterator/asyncGenerator. On each iteration, the reducer is passed the accumulator and the element of the async iteration. The asyncIterator/asyncGenerator is consumed in the process.
145
145
  *
146
146
  * ```javascript [playground]
147
147
  * const asyncAdd = async (a, b) => a + b