rubico 2.6.5 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/Transducer.d.ts +1 -1
  2. package/Transducer.js +65 -16
  3. package/__.js +10 -1
  4. package/all.d.ts +2 -2
  5. package/all.js +11 -2
  6. package/always.js +8 -0
  7. package/and.js +6 -0
  8. package/assign.js +9 -0
  9. package/compose.js +33 -8
  10. package/curry.js +18 -0
  11. package/dist/Transducer.es.js +2 -2
  12. package/dist/Transducer.es.min.js +2 -2
  13. package/dist/Transducer.js +2 -2
  14. package/dist/Transducer.min.js +2 -2
  15. package/dist/Transducer.mjs +2 -2
  16. package/dist/__.es.js +2 -2
  17. package/dist/__.es.min.js +2 -2
  18. package/dist/__.js +2 -2
  19. package/dist/__.min.js +2 -2
  20. package/dist/__.mjs +2 -2
  21. package/dist/all.es.js +2 -22
  22. package/dist/all.es.min.js +2 -2
  23. package/dist/all.js +2 -22
  24. package/dist/all.min.js +2 -2
  25. package/dist/all.mjs +2 -22
  26. package/dist/always.es.js +2 -2
  27. package/dist/always.es.min.js +2 -2
  28. package/dist/always.js +2 -2
  29. package/dist/always.min.js +2 -2
  30. package/dist/always.mjs +2 -2
  31. package/dist/and.es.js +2 -2
  32. package/dist/and.es.min.js +2 -2
  33. package/dist/and.js +2 -2
  34. package/dist/and.min.js +2 -2
  35. package/dist/and.mjs +2 -2
  36. package/dist/assign.es.js +2 -2
  37. package/dist/assign.es.min.js +2 -2
  38. package/dist/assign.js +2 -2
  39. package/dist/assign.min.js +2 -2
  40. package/dist/assign.mjs +2 -2
  41. package/dist/compose.es.js +6 -2
  42. package/dist/compose.es.min.js +3 -3
  43. package/dist/compose.js +6 -2
  44. package/dist/compose.min.js +3 -3
  45. package/dist/compose.mjs +6 -2
  46. package/dist/curry.es.js +2 -2
  47. package/dist/curry.es.min.js +2 -2
  48. package/dist/curry.js +2 -2
  49. package/dist/curry.min.js +2 -2
  50. package/dist/curry.mjs +2 -2
  51. package/dist/eq.es.js +2 -2
  52. package/dist/eq.es.min.js +2 -2
  53. package/dist/eq.js +2 -2
  54. package/dist/eq.min.js +2 -2
  55. package/dist/eq.mjs +2 -2
  56. package/dist/every.es.js +2 -2
  57. package/dist/every.es.min.js +2 -2
  58. package/dist/every.js +2 -2
  59. package/dist/every.min.js +2 -2
  60. package/dist/every.mjs +2 -2
  61. package/dist/filter.es.js +5 -3
  62. package/dist/filter.es.min.js +3 -3
  63. package/dist/filter.js +5 -3
  64. package/dist/filter.min.js +3 -3
  65. package/dist/filter.mjs +5 -3
  66. package/dist/flatMap.es.js +2 -2
  67. package/dist/flatMap.es.min.js +2 -2
  68. package/dist/flatMap.js +2 -2
  69. package/dist/flatMap.min.js +2 -2
  70. package/dist/flatMap.mjs +2 -2
  71. package/dist/forEach.es.js +2 -2
  72. package/dist/forEach.es.min.js +2 -2
  73. package/dist/forEach.js +2 -2
  74. package/dist/forEach.min.js +2 -2
  75. package/dist/forEach.mjs +2 -2
  76. package/dist/get.es.js +2 -2
  77. package/dist/get.es.min.js +2 -2
  78. package/dist/get.js +2 -2
  79. package/dist/get.min.js +2 -2
  80. package/dist/get.mjs +2 -2
  81. package/dist/gt.es.js +2 -2
  82. package/dist/gt.es.min.js +2 -2
  83. package/dist/gt.js +2 -2
  84. package/dist/gt.min.js +2 -2
  85. package/dist/gt.mjs +2 -2
  86. package/dist/gte.es.js +2 -2
  87. package/dist/gte.es.min.js +2 -2
  88. package/dist/gte.js +2 -2
  89. package/dist/gte.min.js +2 -2
  90. package/dist/gte.mjs +2 -2
  91. package/dist/lt.es.js +2 -2
  92. package/dist/lt.es.min.js +2 -2
  93. package/dist/lt.js +2 -2
  94. package/dist/lt.min.js +2 -2
  95. package/dist/lt.mjs +2 -2
  96. package/dist/lte.es.js +2 -2
  97. package/dist/lte.es.min.js +2 -2
  98. package/dist/lte.js +2 -2
  99. package/dist/lte.min.js +2 -2
  100. package/dist/lte.mjs +2 -2
  101. package/dist/map.es.js +31 -31
  102. package/dist/map.es.min.js +3 -3
  103. package/dist/map.js +31 -31
  104. package/dist/map.min.js +3 -3
  105. package/dist/map.mjs +31 -31
  106. package/dist/not.es.js +2 -2
  107. package/dist/not.es.min.js +2 -2
  108. package/dist/not.js +2 -2
  109. package/dist/not.min.js +2 -2
  110. package/dist/not.mjs +2 -2
  111. package/dist/omit.es.js +2 -2
  112. package/dist/omit.es.min.js +2 -2
  113. package/dist/omit.js +2 -2
  114. package/dist/omit.min.js +2 -2
  115. package/dist/omit.mjs +2 -2
  116. package/dist/or.es.js +2 -2
  117. package/dist/or.es.min.js +2 -2
  118. package/dist/or.js +2 -2
  119. package/dist/or.min.js +2 -2
  120. package/dist/or.mjs +2 -2
  121. package/dist/pick.es.js +2 -2
  122. package/dist/pick.es.min.js +2 -2
  123. package/dist/pick.js +2 -2
  124. package/dist/pick.min.js +2 -2
  125. package/dist/pick.mjs +2 -2
  126. package/dist/pipe.es.js +6 -2
  127. package/dist/pipe.es.min.js +3 -3
  128. package/dist/pipe.js +6 -2
  129. package/dist/pipe.min.js +3 -3
  130. package/dist/pipe.mjs +6 -2
  131. package/dist/reduce.es.js +9 -9
  132. package/dist/reduce.es.min.js +2 -2
  133. package/dist/reduce.js +9 -9
  134. package/dist/reduce.min.js +2 -2
  135. package/dist/reduce.mjs +9 -9
  136. package/dist/rubico.es.js +49 -59
  137. package/dist/rubico.es.min.js +3 -3
  138. package/dist/rubico.global.js +49 -59
  139. package/dist/rubico.global.min.js +3 -3
  140. package/dist/rubico.js +49 -59
  141. package/dist/rubico.min.js +3 -3
  142. package/dist/rubico.mjs +49 -59
  143. package/dist/set.es.js +2 -2
  144. package/dist/set.es.min.js +2 -2
  145. package/dist/set.js +2 -2
  146. package/dist/set.min.js +2 -2
  147. package/dist/set.mjs +2 -2
  148. package/dist/some.es.js +2 -2
  149. package/dist/some.es.min.js +2 -2
  150. package/dist/some.js +2 -2
  151. package/dist/some.min.js +2 -2
  152. package/dist/some.mjs +2 -2
  153. package/dist/switchCase.es.js +2 -2
  154. package/dist/switchCase.es.min.js +2 -2
  155. package/dist/switchCase.js +2 -2
  156. package/dist/switchCase.min.js +2 -2
  157. package/dist/switchCase.mjs +2 -2
  158. package/dist/tap.es.js +2 -2
  159. package/dist/tap.es.min.js +2 -2
  160. package/dist/tap.js +2 -2
  161. package/dist/tap.min.js +2 -2
  162. package/dist/tap.mjs +2 -2
  163. package/dist/thunkify.es.js +2 -2
  164. package/dist/thunkify.es.min.js +2 -2
  165. package/dist/thunkify.js +2 -2
  166. package/dist/thunkify.min.js +2 -2
  167. package/dist/thunkify.mjs +2 -2
  168. package/dist/transform.es.js +2 -2
  169. package/dist/transform.es.min.js +2 -2
  170. package/dist/transform.js +2 -2
  171. package/dist/transform.min.js +2 -2
  172. package/dist/transform.mjs +2 -2
  173. package/dist/tryCatch.es.js +2 -2
  174. package/dist/tryCatch.es.min.js +2 -2
  175. package/dist/tryCatch.js +2 -2
  176. package/dist/tryCatch.min.js +2 -2
  177. package/dist/tryCatch.mjs +2 -2
  178. package/dist/x/append.es.js +2 -2
  179. package/dist/x/append.es.min.js +2 -2
  180. package/dist/x/append.js +2 -2
  181. package/dist/x/append.min.js +2 -2
  182. package/dist/x/append.mjs +2 -2
  183. package/dist/x/callProp.es.js +2 -2
  184. package/dist/x/callProp.es.min.js +2 -2
  185. package/dist/x/callProp.js +2 -2
  186. package/dist/x/callProp.min.js +2 -2
  187. package/dist/x/callProp.mjs +2 -2
  188. package/dist/x/defaultsDeep.es.js +2 -2
  189. package/dist/x/defaultsDeep.es.min.js +2 -2
  190. package/dist/x/defaultsDeep.js +2 -2
  191. package/dist/x/defaultsDeep.min.js +2 -2
  192. package/dist/x/defaultsDeep.mjs +2 -2
  193. package/dist/x/differenceWith.es.js +2 -2
  194. package/dist/x/differenceWith.es.min.js +2 -2
  195. package/dist/x/differenceWith.js +2 -2
  196. package/dist/x/differenceWith.min.js +2 -2
  197. package/dist/x/differenceWith.mjs +2 -2
  198. package/dist/x/filterOut.es.js +5 -3
  199. package/dist/x/filterOut.es.min.js +3 -3
  200. package/dist/x/filterOut.js +5 -3
  201. package/dist/x/filterOut.min.js +3 -3
  202. package/dist/x/filterOut.mjs +5 -3
  203. package/dist/x/find.es.js +2 -2
  204. package/dist/x/find.es.min.js +2 -2
  205. package/dist/x/find.js +2 -2
  206. package/dist/x/find.min.js +2 -2
  207. package/dist/x/find.mjs +2 -2
  208. package/dist/x/findIndex.es.js +2 -2
  209. package/dist/x/findIndex.es.min.js +2 -2
  210. package/dist/x/findIndex.js +2 -2
  211. package/dist/x/findIndex.min.js +2 -2
  212. package/dist/x/findIndex.mjs +2 -2
  213. package/dist/x/first.es.js +2 -2
  214. package/dist/x/first.es.min.js +2 -2
  215. package/dist/x/first.js +2 -2
  216. package/dist/x/first.min.js +2 -2
  217. package/dist/x/first.mjs +2 -2
  218. package/dist/x/flatten.es.js +2 -2
  219. package/dist/x/flatten.es.min.js +2 -2
  220. package/dist/x/flatten.js +2 -2
  221. package/dist/x/flatten.min.js +2 -2
  222. package/dist/x/flatten.mjs +2 -2
  223. package/dist/x/groupBy.es.js +9 -9
  224. package/dist/x/groupBy.es.min.js +2 -2
  225. package/dist/x/groupBy.js +9 -9
  226. package/dist/x/groupBy.min.js +2 -2
  227. package/dist/x/groupBy.mjs +9 -9
  228. package/dist/x/has.es.js +2 -2
  229. package/dist/x/has.es.min.js +2 -2
  230. package/dist/x/has.js +2 -2
  231. package/dist/x/has.min.js +2 -2
  232. package/dist/x/has.mjs +2 -2
  233. package/dist/x/identity.es.js +2 -2
  234. package/dist/x/identity.es.min.js +2 -2
  235. package/dist/x/identity.js +2 -2
  236. package/dist/x/identity.min.js +2 -2
  237. package/dist/x/identity.mjs +2 -2
  238. package/dist/x/includes.es.js +2 -2
  239. package/dist/x/includes.es.min.js +2 -2
  240. package/dist/x/includes.js +2 -2
  241. package/dist/x/includes.min.js +2 -2
  242. package/dist/x/includes.mjs +2 -2
  243. package/dist/x/isDeepEqual.es.js +2 -2
  244. package/dist/x/isDeepEqual.es.min.js +2 -2
  245. package/dist/x/isDeepEqual.js +2 -2
  246. package/dist/x/isDeepEqual.min.js +2 -2
  247. package/dist/x/isDeepEqual.mjs +2 -2
  248. package/dist/x/isEmpty.es.js +2 -2
  249. package/dist/x/isEmpty.es.min.js +2 -2
  250. package/dist/x/isEmpty.js +2 -2
  251. package/dist/x/isEmpty.min.js +2 -2
  252. package/dist/x/isEmpty.mjs +2 -2
  253. package/dist/x/isEqual.es.js +2 -2
  254. package/dist/x/isEqual.es.min.js +2 -2
  255. package/dist/x/isEqual.js +2 -2
  256. package/dist/x/isEqual.min.js +2 -2
  257. package/dist/x/isEqual.mjs +2 -2
  258. package/dist/x/isFunction.es.js +2 -2
  259. package/dist/x/isFunction.es.min.js +2 -2
  260. package/dist/x/isFunction.js +2 -2
  261. package/dist/x/isFunction.min.js +2 -2
  262. package/dist/x/isFunction.mjs +2 -2
  263. package/dist/x/isIn.es.js +2 -2
  264. package/dist/x/isIn.es.min.js +2 -2
  265. package/dist/x/isIn.js +2 -2
  266. package/dist/x/isIn.min.js +2 -2
  267. package/dist/x/isIn.mjs +2 -2
  268. package/dist/x/isObject.es.js +2 -2
  269. package/dist/x/isObject.es.min.js +2 -2
  270. package/dist/x/isObject.js +2 -2
  271. package/dist/x/isObject.min.js +2 -2
  272. package/dist/x/isObject.mjs +2 -2
  273. package/dist/x/isString.es.js +2 -2
  274. package/dist/x/isString.es.min.js +2 -2
  275. package/dist/x/isString.js +2 -2
  276. package/dist/x/isString.min.js +2 -2
  277. package/dist/x/isString.mjs +2 -2
  278. package/dist/x/keys.es.js +2 -2
  279. package/dist/x/keys.es.min.js +2 -2
  280. package/dist/x/keys.js +2 -2
  281. package/dist/x/keys.min.js +2 -2
  282. package/dist/x/keys.mjs +2 -2
  283. package/dist/x/last.es.js +2 -2
  284. package/dist/x/last.es.min.js +2 -2
  285. package/dist/x/last.js +2 -2
  286. package/dist/x/last.min.js +2 -2
  287. package/dist/x/last.mjs +2 -2
  288. package/dist/x/maxBy.es.js +2 -2
  289. package/dist/x/maxBy.es.min.js +2 -2
  290. package/dist/x/maxBy.js +2 -2
  291. package/dist/x/maxBy.min.js +2 -2
  292. package/dist/x/maxBy.mjs +2 -2
  293. package/dist/x/noop.es.js +2 -2
  294. package/dist/x/noop.es.min.js +2 -2
  295. package/dist/x/noop.js +2 -2
  296. package/dist/x/noop.min.js +2 -2
  297. package/dist/x/noop.mjs +2 -2
  298. package/dist/x/pluck.es.js +31 -31
  299. package/dist/x/pluck.es.min.js +3 -3
  300. package/dist/x/pluck.js +31 -31
  301. package/dist/x/pluck.min.js +3 -3
  302. package/dist/x/pluck.mjs +31 -31
  303. package/dist/x/prepend.es.js +2 -2
  304. package/dist/x/prepend.es.min.js +2 -2
  305. package/dist/x/prepend.js +2 -2
  306. package/dist/x/prepend.min.js +2 -2
  307. package/dist/x/prepend.mjs +2 -2
  308. package/dist/x/size.es.js +2 -2
  309. package/dist/x/size.es.min.js +2 -2
  310. package/dist/x/size.js +2 -2
  311. package/dist/x/size.min.js +2 -2
  312. package/dist/x/size.mjs +2 -2
  313. package/dist/x/trace.es.js +2 -2
  314. package/dist/x/trace.es.min.js +2 -2
  315. package/dist/x/trace.js +2 -2
  316. package/dist/x/trace.min.js +2 -2
  317. package/dist/x/trace.mjs +2 -2
  318. package/dist/x/unionWith.es.js +2 -2
  319. package/dist/x/unionWith.es.min.js +2 -2
  320. package/dist/x/unionWith.js +2 -2
  321. package/dist/x/unionWith.min.js +2 -2
  322. package/dist/x/unionWith.mjs +2 -2
  323. package/dist/x/uniq.es.js +2 -2
  324. package/dist/x/uniq.es.min.js +2 -2
  325. package/dist/x/uniq.js +2 -2
  326. package/dist/x/uniq.min.js +2 -2
  327. package/dist/x/uniq.mjs +2 -2
  328. package/dist/x/unless.es.js +2 -2
  329. package/dist/x/unless.es.min.js +2 -2
  330. package/dist/x/unless.js +2 -2
  331. package/dist/x/unless.min.js +2 -2
  332. package/dist/x/unless.mjs +2 -2
  333. package/dist/x/values.es.js +2 -2
  334. package/dist/x/values.es.min.js +2 -2
  335. package/dist/x/values.js +2 -2
  336. package/dist/x/values.min.js +2 -2
  337. package/dist/x/values.mjs +2 -2
  338. package/dist/x/when.es.js +2 -2
  339. package/dist/x/when.es.min.js +2 -2
  340. package/dist/x/when.js +2 -2
  341. package/dist/x/when.min.js +2 -2
  342. package/dist/x/when.mjs +2 -2
  343. package/eq.d.ts +6 -6
  344. package/eq.js +14 -6
  345. package/es.js +49 -59
  346. package/every.js +19 -5
  347. package/filter.js +87 -47
  348. package/flatMap.js +38 -32
  349. package/forEach.js +107 -13
  350. package/get.js +9 -0
  351. package/gt.js +9 -0
  352. package/gte.js +9 -0
  353. package/index.js +49 -59
  354. package/lte.js +9 -0
  355. package/map.js +198 -103
  356. package/not.js +7 -0
  357. package/omit.d.ts +2 -2
  358. package/omit.js +11 -2
  359. package/or.js +6 -0
  360. package/package.json +1 -3
  361. package/pick.js +9 -0
  362. package/pipe.js +30 -3
  363. package/reduce.js +132 -89
  364. package/set.js +9 -0
  365. package/some.js +17 -3
  366. package/switchCase.js +6 -0
  367. package/tap.js +14 -0
  368. package/thunkify.js +8 -0
  369. package/transform.js +112 -44
  370. package/tryCatch.js +5 -0
  371. package/x/append.js +3 -0
  372. package/x/callProp.js +5 -0
  373. package/x/defaultsDeep.d.ts +2 -2
  374. package/x/defaultsDeep.js +7 -2
  375. package/x/differenceWith.js +5 -0
  376. package/x/find.d.ts +2 -2
  377. package/x/find.js +2 -2
  378. package/x/groupBy.d.ts +2 -2
  379. package/x/groupBy.js +2 -2
  380. package/x/pluck.d.ts +2 -2
  381. package/x/pluck.js +2 -2
  382. package/x/unionWith.test.js +3 -3
package/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.2
2
+ * rubico v2.7.0
3
3
  * https://github.com/a-synchronous/rubico
4
- * (c) 2019-2024 Richard Tong
4
+ * (c) 2019-2025 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
@@ -73,6 +73,10 @@ const curry2 = function (baseFunc, arg0, arg1) {
73
73
  }
74
74
 
75
75
  const pipe = function (...args) {
76
+ if (typeof args[0] == 'function') {
77
+ return args.reduce(funcConcat)
78
+ }
79
+
76
80
  const funcs = args.pop()
77
81
  const pipeline = funcs.reduce(funcConcat)
78
82
 
@@ -88,6 +92,10 @@ const pipe = function (...args) {
88
92
  }
89
93
 
90
94
  const compose = function (...args) {
95
+ if (typeof args[0] == 'function') {
96
+ return args.reduceRight(funcConcat)
97
+ }
98
+
91
99
  const funcs = args.pop()
92
100
  const composition = funcs.reduceRight(funcConcat)
93
101
 
@@ -429,26 +437,6 @@ const all = function (...args) {
429
437
  return isArray(resolversOrValues)
430
438
  ? functionArrayAll(resolversOrValues, argValues)
431
439
  : functionObjectAll(resolversOrValues, argValues)
432
-
433
- /*
434
- ////////////////////////////////////////////////////////////////
435
- const funcs = args.pop()
436
- if (args.length == 0) {
437
- return isArray(funcs)
438
- ? curryArgs2(functionArrayAll, funcs, __)
439
- : curryArgs2(functionObjectAll, funcs, __)
440
- }
441
-
442
- if (areAnyValuesPromises(args)) {
443
- return isArray(funcs)
444
- ? promiseAll(args).then(curry2(functionArrayAll, funcs, __))
445
- : promiseAll(args).then(curry2(functionObjectAll, funcs, __))
446
- }
447
-
448
- return isArray(funcs)
449
- ? functionArrayAll(funcs, args)
450
- : functionObjectAll(funcs, args)
451
- */
452
440
  }
453
441
 
454
442
  all.series = function allSeries(...args) {
@@ -1179,39 +1167,39 @@ const mapMapEntries = function (source, mapper) {
1179
1167
  : promiseAll(promises).then(always(result))
1180
1168
  }
1181
1169
 
1182
- const _map = function (value, mapper) {
1170
+ const _map = function (value, f) {
1183
1171
  if (isArray(value)) {
1184
- return arrayMap(value, mapper)
1172
+ return arrayMap(value, f)
1185
1173
  }
1186
1174
  if (value == null) {
1187
1175
  return value
1188
1176
  }
1189
1177
 
1190
1178
  if (typeof value.then == 'function') {
1191
- return value.then(mapper)
1179
+ return value.then(f)
1192
1180
  }
1193
1181
  if (typeof value.map == 'function') {
1194
- return value.map(mapper)
1182
+ return value.map(f)
1195
1183
  }
1196
1184
  if (typeof value == 'string' || value.constructor == String) {
1197
- return stringMap(value, mapper)
1185
+ return stringMap(value, f)
1198
1186
  }
1199
1187
  if (value.constructor == Set) {
1200
- return setMap(value, mapper)
1188
+ return setMap(value, f)
1201
1189
  }
1202
1190
  if (value.constructor == Map) {
1203
- return mapMap(value, mapper)
1191
+ return mapMap(value, f)
1204
1192
  }
1205
1193
  if (typeof value[symbolIterator] == 'function') {
1206
- return MappingIterator(value[symbolIterator](), mapper)
1194
+ return MappingIterator(value[symbolIterator](), f)
1207
1195
  }
1208
1196
  if (typeof value[symbolAsyncIterator] == 'function') {
1209
- return MappingAsyncIterator(value[symbolAsyncIterator](), mapper)
1197
+ return MappingAsyncIterator(value[symbolAsyncIterator](), f)
1210
1198
  }
1211
1199
  if (value.constructor == Object) {
1212
- return objectMap(value, mapper)
1200
+ return objectMap(value, f)
1213
1201
  }
1214
- return mapper(value)
1202
+ return f(value)
1215
1203
  }
1216
1204
 
1217
1205
  const map = function (arg0, arg1) {
@@ -1223,16 +1211,16 @@ const map = function (arg0, arg1) {
1223
1211
  : _map(arg0, arg1)
1224
1212
  }
1225
1213
 
1226
- // _mapEntries(value Object|Map, mapper function) -> Object|Map
1227
- const _mapEntries = (value, mapper) => {
1214
+ // _mapEntries(value Object|Map, f function) -> Object|Map
1215
+ const _mapEntries = (value, f) => {
1228
1216
  if (value == null) {
1229
1217
  throw new TypeError('value is not an Object or Map')
1230
1218
  }
1231
1219
  if (value.constructor == Object) {
1232
- return objectMapEntries(value, mapper)
1220
+ return objectMapEntries(value, f)
1233
1221
  }
1234
1222
  if (value.constructor == Map) {
1235
- return mapMapEntries(value, mapper)
1223
+ return mapMapEntries(value, f)
1236
1224
  }
1237
1225
  throw new TypeError('value is not an Object or Map')
1238
1226
  }
@@ -1278,26 +1266,26 @@ map.series = function mapSeries(arg0, arg1) {
1278
1266
  : _mapSeries(arg0, arg1)
1279
1267
  }
1280
1268
 
1281
- const _mapPool = function (collection, concurrency, f) {
1282
- if (isArray(collection)) {
1283
- return arrayMapPool(collection, concurrency, f)
1269
+ const _mapPool = function (f, concurrency, mapper) {
1270
+ if (isArray(f)) {
1271
+ return arrayMapPool(f, concurrency, mapper)
1284
1272
  }
1285
- if (collection == null) {
1286
- throw new TypeError(`invalid collection ${collection}`)
1273
+ if (f == null) {
1274
+ throw new TypeError(`invalid functor ${f}`)
1287
1275
  }
1288
- if (typeof collection == 'string' || collection.constructor == String) {
1289
- return stringMapPool(collection, concurrency, f)
1276
+ if (typeof f == 'string' || f.constructor == String) {
1277
+ return stringMapPool(f, concurrency, mapper)
1290
1278
  }
1291
- if (collection.constructor == Set) {
1292
- return setMapPool(collection, concurrency, f)
1279
+ if (f.constructor == Set) {
1280
+ return setMapPool(f, concurrency, mapper)
1293
1281
  }
1294
- if (collection.constructor == Map) {
1295
- return mapMapPool(collection, concurrency, f)
1282
+ if (f.constructor == Map) {
1283
+ return mapMapPool(f, concurrency, mapper)
1296
1284
  }
1297
- if (collection.constructor == Object) {
1298
- return objectMapPool(collection, concurrency, f)
1285
+ if (f.constructor == Object) {
1286
+ return objectMapPool(f, concurrency, mapper)
1299
1287
  }
1300
- throw new TypeError(`invalid collection ${collection}`)
1288
+ throw new TypeError(`invalid functor ${f}`)
1301
1289
  }
1302
1290
 
1303
1291
  map.pool = function mapPool(arg0, arg1, arg2) {
@@ -1502,7 +1490,9 @@ const filter = function (arg0, arg1) {
1502
1490
  if (typeof arg0 == 'function') {
1503
1491
  return curry2(_filter, __, arg0)
1504
1492
  }
1505
- return _filter(arg0, arg1)
1493
+ return isPromise(arg0)
1494
+ ? arg0.then(curry2(_filter, __, arg1))
1495
+ : _filter(arg0, arg1)
1506
1496
  }
1507
1497
 
1508
1498
  const objectValues = Object.values
@@ -1763,17 +1753,17 @@ const genericReduce = function (collection, reducer, result) {
1763
1753
  : reducer(result, collection)
1764
1754
  }
1765
1755
 
1766
- // _reduce(collection any, reducer function, initialValue function|any) -> Promise
1767
- const _reduce = function (collection, reducer, initialValue) {
1768
- if (typeof initialValue == 'function') {
1769
- const actualInitialValue = initialValue(collection)
1756
+ // _reduce(collection any, reducer function, initial function|any) -> Promise
1757
+ const _reduce = function (collection, reducer, initial) {
1758
+ if (typeof initial == 'function') {
1759
+ const actualInitialValue = initial(collection)
1770
1760
  return isPromise(actualInitialValue)
1771
1761
  ? actualInitialValue.then(curry3(genericReduce, collection, reducer, __))
1772
1762
  : genericReduce(collection, reducer, actualInitialValue)
1773
1763
  }
1774
- return isPromise(initialValue)
1775
- ? initialValue.then(curry3(genericReduce, collection, reducer, __))
1776
- : genericReduce(collection, reducer, initialValue)
1764
+ return isPromise(initial)
1765
+ ? initial.then(curry3(genericReduce, collection, reducer, __))
1766
+ : genericReduce(collection, reducer, initial)
1777
1767
  }
1778
1768
 
1779
1769
  const reduce = function (...args) {
package/lte.js CHANGED
@@ -53,6 +53,15 @@ const lessThanOrEqual = require('./_internal/lessThanOrEqual')
53
53
  * ```javascript [playground]
54
54
  * lte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log) // true
55
55
  * ```
56
+ *
57
+ * See also:
58
+ * * [and](/docs/and)
59
+ * * [eq](/docs/eq)
60
+ * * [lt](/docs/lt)
61
+ * * [gt](/docs/gt)
62
+ * * [gte](/docs/gte)
63
+ * * [thunkify](/docs/thunkify)
64
+ *
56
65
  */
57
66
  const lte = ComparisonOperator(lessThanOrEqual)
58
67