rubico 2.3.3 → 2.3.7

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 (342) hide show
  1. package/README.md +4 -4
  2. package/dist/Transducer.es.js +1 -1
  3. package/dist/Transducer.es.min.js +1 -1
  4. package/dist/Transducer.js +1 -1
  5. package/dist/Transducer.min.js +1 -1
  6. package/dist/Transducer.mjs +1 -1
  7. package/dist/__.es.js +1 -1
  8. package/dist/__.es.min.js +1 -1
  9. package/dist/__.js +1 -1
  10. package/dist/__.min.js +1 -1
  11. package/dist/__.mjs +1 -1
  12. package/dist/all.es.js +1 -1
  13. package/dist/all.es.min.js +1 -1
  14. package/dist/all.js +1 -1
  15. package/dist/all.min.js +1 -1
  16. package/dist/all.mjs +1 -1
  17. package/dist/always.es.js +1 -1
  18. package/dist/always.es.min.js +1 -1
  19. package/dist/always.js +1 -1
  20. package/dist/always.min.js +1 -1
  21. package/dist/always.mjs +1 -1
  22. package/dist/and.es.js +1 -1
  23. package/dist/and.es.min.js +1 -1
  24. package/dist/and.js +1 -1
  25. package/dist/and.min.js +1 -1
  26. package/dist/and.mjs +1 -1
  27. package/dist/assign.es.js +1 -1
  28. package/dist/assign.es.min.js +1 -1
  29. package/dist/assign.js +1 -1
  30. package/dist/assign.min.js +1 -1
  31. package/dist/assign.mjs +1 -1
  32. package/dist/compose.es.js +1 -1
  33. package/dist/compose.es.min.js +1 -1
  34. package/dist/compose.js +1 -1
  35. package/dist/compose.min.js +1 -1
  36. package/dist/compose.mjs +1 -1
  37. package/dist/curry.es.js +1 -1
  38. package/dist/curry.es.min.js +1 -1
  39. package/dist/curry.js +1 -1
  40. package/dist/curry.min.js +1 -1
  41. package/dist/curry.mjs +1 -1
  42. package/dist/eq.es.js +1 -1
  43. package/dist/eq.es.min.js +1 -1
  44. package/dist/eq.js +1 -1
  45. package/dist/eq.min.js +1 -1
  46. package/dist/eq.mjs +1 -1
  47. package/dist/every.es.js +1 -1
  48. package/dist/every.es.min.js +1 -1
  49. package/dist/every.js +1 -1
  50. package/dist/every.min.js +1 -1
  51. package/dist/every.mjs +1 -1
  52. package/dist/filter.es.js +1 -1
  53. package/dist/filter.es.min.js +1 -1
  54. package/dist/filter.js +1 -1
  55. package/dist/filter.min.js +1 -1
  56. package/dist/filter.mjs +1 -1
  57. package/dist/flatMap.es.js +1 -1
  58. package/dist/flatMap.es.min.js +1 -1
  59. package/dist/flatMap.js +1 -1
  60. package/dist/flatMap.min.js +1 -1
  61. package/dist/flatMap.mjs +1 -1
  62. package/dist/forEach.es.js +1 -1
  63. package/dist/forEach.es.min.js +1 -1
  64. package/dist/forEach.js +1 -1
  65. package/dist/forEach.min.js +1 -1
  66. package/dist/forEach.mjs +1 -1
  67. package/dist/get.es.js +1 -1
  68. package/dist/get.es.min.js +1 -1
  69. package/dist/get.js +1 -1
  70. package/dist/get.min.js +1 -1
  71. package/dist/get.mjs +1 -1
  72. package/dist/gt.es.js +1 -1
  73. package/dist/gt.es.min.js +1 -1
  74. package/dist/gt.js +1 -1
  75. package/dist/gt.min.js +1 -1
  76. package/dist/gt.mjs +1 -1
  77. package/dist/gte.es.js +1 -1
  78. package/dist/gte.es.min.js +1 -1
  79. package/dist/gte.js +1 -1
  80. package/dist/gte.min.js +1 -1
  81. package/dist/gte.mjs +1 -1
  82. package/dist/lt.es.js +1 -1
  83. package/dist/lt.es.min.js +1 -1
  84. package/dist/lt.js +1 -1
  85. package/dist/lt.min.js +1 -1
  86. package/dist/lt.mjs +1 -1
  87. package/dist/lte.es.js +1 -1
  88. package/dist/lte.es.min.js +1 -1
  89. package/dist/lte.js +1 -1
  90. package/dist/lte.min.js +1 -1
  91. package/dist/lte.mjs +1 -1
  92. package/dist/map.es.js +24 -12
  93. package/dist/map.es.min.js +2 -2
  94. package/dist/map.js +24 -12
  95. package/dist/map.min.js +2 -2
  96. package/dist/map.mjs +24 -12
  97. package/dist/not.es.js +1 -1
  98. package/dist/not.es.min.js +1 -1
  99. package/dist/not.js +1 -1
  100. package/dist/not.min.js +1 -1
  101. package/dist/not.mjs +1 -1
  102. package/dist/omit.es.js +1 -1
  103. package/dist/omit.es.min.js +1 -1
  104. package/dist/omit.js +1 -1
  105. package/dist/omit.min.js +1 -1
  106. package/dist/omit.mjs +1 -1
  107. package/dist/or.es.js +1 -1
  108. package/dist/or.es.min.js +1 -1
  109. package/dist/or.js +1 -1
  110. package/dist/or.min.js +1 -1
  111. package/dist/or.mjs +1 -1
  112. package/dist/pick.es.js +1 -1
  113. package/dist/pick.es.min.js +1 -1
  114. package/dist/pick.js +1 -1
  115. package/dist/pick.min.js +1 -1
  116. package/dist/pick.mjs +1 -1
  117. package/dist/pipe.es.js +1 -1
  118. package/dist/pipe.es.min.js +1 -1
  119. package/dist/pipe.js +1 -1
  120. package/dist/pipe.min.js +1 -1
  121. package/dist/pipe.mjs +1 -1
  122. package/dist/reduce.es.js +1 -1
  123. package/dist/reduce.es.min.js +1 -1
  124. package/dist/reduce.js +1 -1
  125. package/dist/reduce.min.js +1 -1
  126. package/dist/reduce.mjs +1 -1
  127. package/dist/rubico.es.js +24 -12
  128. package/dist/rubico.es.min.js +2 -2
  129. package/dist/rubico.global.js +24 -12
  130. package/dist/rubico.global.min.js +2 -2
  131. package/dist/rubico.js +24 -12
  132. package/dist/rubico.min.js +2 -2
  133. package/dist/rubico.mjs +24 -12
  134. package/dist/set.es.js +1 -1
  135. package/dist/set.es.min.js +1 -1
  136. package/dist/set.js +1 -1
  137. package/dist/set.min.js +1 -1
  138. package/dist/set.mjs +1 -1
  139. package/dist/some.es.js +1 -1
  140. package/dist/some.es.min.js +1 -1
  141. package/dist/some.js +1 -1
  142. package/dist/some.min.js +1 -1
  143. package/dist/some.mjs +1 -1
  144. package/dist/switchCase.es.js +1 -1
  145. package/dist/switchCase.es.min.js +1 -1
  146. package/dist/switchCase.js +1 -1
  147. package/dist/switchCase.min.js +1 -1
  148. package/dist/switchCase.mjs +1 -1
  149. package/dist/tap.es.js +1 -1
  150. package/dist/tap.es.min.js +1 -1
  151. package/dist/tap.js +1 -1
  152. package/dist/tap.min.js +1 -1
  153. package/dist/tap.mjs +1 -1
  154. package/dist/thunkify.es.js +1 -1
  155. package/dist/thunkify.es.min.js +1 -1
  156. package/dist/thunkify.js +1 -1
  157. package/dist/thunkify.min.js +1 -1
  158. package/dist/thunkify.mjs +1 -1
  159. package/dist/transform.es.js +1 -1
  160. package/dist/transform.es.min.js +1 -1
  161. package/dist/transform.js +1 -1
  162. package/dist/transform.min.js +1 -1
  163. package/dist/transform.mjs +1 -1
  164. package/dist/tryCatch.es.js +1 -1
  165. package/dist/tryCatch.es.min.js +1 -1
  166. package/dist/tryCatch.js +1 -1
  167. package/dist/tryCatch.min.js +1 -1
  168. package/dist/tryCatch.mjs +1 -1
  169. package/dist/x/append.es.js +1 -1
  170. package/dist/x/append.es.min.js +1 -1
  171. package/dist/x/append.js +1 -1
  172. package/dist/x/append.min.js +1 -1
  173. package/dist/x/append.mjs +1 -1
  174. package/dist/x/callProp.es.js +1 -1
  175. package/dist/x/callProp.es.min.js +1 -1
  176. package/dist/x/callProp.js +1 -1
  177. package/dist/x/callProp.min.js +1 -1
  178. package/dist/x/callProp.mjs +1 -1
  179. package/dist/x/defaultsDeep.es.js +1 -1
  180. package/dist/x/defaultsDeep.es.min.js +1 -1
  181. package/dist/x/defaultsDeep.js +1 -1
  182. package/dist/x/defaultsDeep.min.js +1 -1
  183. package/dist/x/defaultsDeep.mjs +1 -1
  184. package/dist/x/differenceWith.es.js +1 -1
  185. package/dist/x/differenceWith.es.min.js +1 -1
  186. package/dist/x/differenceWith.js +1 -1
  187. package/dist/x/differenceWith.min.js +1 -1
  188. package/dist/x/differenceWith.mjs +1 -1
  189. package/dist/x/filterOut.es.js +1 -1
  190. package/dist/x/filterOut.es.min.js +1 -1
  191. package/dist/x/filterOut.js +1 -1
  192. package/dist/x/filterOut.min.js +1 -1
  193. package/dist/x/filterOut.mjs +1 -1
  194. package/dist/x/find.es.js +1 -1
  195. package/dist/x/find.es.min.js +1 -1
  196. package/dist/x/find.js +1 -1
  197. package/dist/x/find.min.js +1 -1
  198. package/dist/x/find.mjs +1 -1
  199. package/dist/x/findIndex.es.js +1 -1
  200. package/dist/x/findIndex.es.min.js +1 -1
  201. package/dist/x/findIndex.js +1 -1
  202. package/dist/x/findIndex.min.js +1 -1
  203. package/dist/x/findIndex.mjs +1 -1
  204. package/dist/x/first.es.js +1 -1
  205. package/dist/x/first.es.min.js +1 -1
  206. package/dist/x/first.js +1 -1
  207. package/dist/x/first.min.js +1 -1
  208. package/dist/x/first.mjs +1 -1
  209. package/dist/x/flatten.es.js +1 -1
  210. package/dist/x/flatten.es.min.js +1 -1
  211. package/dist/x/flatten.js +1 -1
  212. package/dist/x/flatten.min.js +1 -1
  213. package/dist/x/flatten.mjs +1 -1
  214. package/dist/x/groupBy.es.js +1 -1
  215. package/dist/x/groupBy.es.min.js +1 -1
  216. package/dist/x/groupBy.js +1 -1
  217. package/dist/x/groupBy.min.js +1 -1
  218. package/dist/x/groupBy.mjs +1 -1
  219. package/dist/x/has.es.js +1 -1
  220. package/dist/x/has.es.min.js +1 -1
  221. package/dist/x/has.js +1 -1
  222. package/dist/x/has.min.js +1 -1
  223. package/dist/x/has.mjs +1 -1
  224. package/dist/x/identity.es.js +1 -1
  225. package/dist/x/identity.es.min.js +1 -1
  226. package/dist/x/identity.js +1 -1
  227. package/dist/x/identity.min.js +1 -1
  228. package/dist/x/identity.mjs +1 -1
  229. package/dist/x/includes.es.js +1 -1
  230. package/dist/x/includes.es.min.js +1 -1
  231. package/dist/x/includes.js +1 -1
  232. package/dist/x/includes.min.js +1 -1
  233. package/dist/x/includes.mjs +1 -1
  234. package/dist/x/isDeepEqual.es.js +1 -1
  235. package/dist/x/isDeepEqual.es.min.js +1 -1
  236. package/dist/x/isDeepEqual.js +1 -1
  237. package/dist/x/isDeepEqual.min.js +1 -1
  238. package/dist/x/isDeepEqual.mjs +1 -1
  239. package/dist/x/isEmpty.es.js +1 -1
  240. package/dist/x/isEmpty.es.min.js +1 -1
  241. package/dist/x/isEmpty.js +1 -1
  242. package/dist/x/isEmpty.min.js +1 -1
  243. package/dist/x/isEmpty.mjs +1 -1
  244. package/dist/x/isEqual.es.js +1 -1
  245. package/dist/x/isEqual.es.min.js +1 -1
  246. package/dist/x/isEqual.js +1 -1
  247. package/dist/x/isEqual.min.js +1 -1
  248. package/dist/x/isEqual.mjs +1 -1
  249. package/dist/x/isFunction.es.js +1 -1
  250. package/dist/x/isFunction.es.min.js +1 -1
  251. package/dist/x/isFunction.js +1 -1
  252. package/dist/x/isFunction.min.js +1 -1
  253. package/dist/x/isFunction.mjs +1 -1
  254. package/dist/x/isIn.es.js +1 -1
  255. package/dist/x/isIn.es.min.js +1 -1
  256. package/dist/x/isIn.js +1 -1
  257. package/dist/x/isIn.min.js +1 -1
  258. package/dist/x/isIn.mjs +1 -1
  259. package/dist/x/isObject.es.js +1 -1
  260. package/dist/x/isObject.es.min.js +1 -1
  261. package/dist/x/isObject.js +1 -1
  262. package/dist/x/isObject.min.js +1 -1
  263. package/dist/x/isObject.mjs +1 -1
  264. package/dist/x/isString.es.js +1 -1
  265. package/dist/x/isString.es.min.js +1 -1
  266. package/dist/x/isString.js +1 -1
  267. package/dist/x/isString.min.js +1 -1
  268. package/dist/x/isString.mjs +1 -1
  269. package/dist/x/keys.es.js +1 -1
  270. package/dist/x/keys.es.min.js +1 -1
  271. package/dist/x/keys.js +1 -1
  272. package/dist/x/keys.min.js +1 -1
  273. package/dist/x/keys.mjs +1 -1
  274. package/dist/x/last.es.js +1 -1
  275. package/dist/x/last.es.min.js +1 -1
  276. package/dist/x/last.js +1 -1
  277. package/dist/x/last.min.js +1 -1
  278. package/dist/x/last.mjs +1 -1
  279. package/dist/x/maxBy.es.js +1 -1
  280. package/dist/x/maxBy.es.min.js +1 -1
  281. package/dist/x/maxBy.js +1 -1
  282. package/dist/x/maxBy.min.js +1 -1
  283. package/dist/x/maxBy.mjs +1 -1
  284. package/dist/x/noop.es.js +1 -1
  285. package/dist/x/noop.es.min.js +1 -1
  286. package/dist/x/noop.js +1 -1
  287. package/dist/x/noop.min.js +1 -1
  288. package/dist/x/noop.mjs +1 -1
  289. package/dist/x/pluck.es.js +24 -12
  290. package/dist/x/pluck.es.min.js +2 -2
  291. package/dist/x/pluck.js +24 -12
  292. package/dist/x/pluck.min.js +2 -2
  293. package/dist/x/pluck.mjs +24 -12
  294. package/dist/x/prepend.es.js +1 -1
  295. package/dist/x/prepend.es.min.js +1 -1
  296. package/dist/x/prepend.js +1 -1
  297. package/dist/x/prepend.min.js +1 -1
  298. package/dist/x/prepend.mjs +1 -1
  299. package/dist/x/size.es.js +1 -1
  300. package/dist/x/size.es.min.js +1 -1
  301. package/dist/x/size.js +1 -1
  302. package/dist/x/size.min.js +1 -1
  303. package/dist/x/size.mjs +1 -1
  304. package/dist/x/trace.es.js +1 -1
  305. package/dist/x/trace.es.min.js +1 -1
  306. package/dist/x/trace.js +1 -1
  307. package/dist/x/trace.min.js +1 -1
  308. package/dist/x/trace.mjs +1 -1
  309. package/dist/x/unionWith.es.js +1 -1
  310. package/dist/x/unionWith.es.min.js +1 -1
  311. package/dist/x/unionWith.js +1 -1
  312. package/dist/x/unionWith.min.js +1 -1
  313. package/dist/x/unionWith.mjs +1 -1
  314. package/dist/x/uniq.es.js +1 -1
  315. package/dist/x/uniq.es.min.js +1 -1
  316. package/dist/x/uniq.js +1 -1
  317. package/dist/x/uniq.min.js +1 -1
  318. package/dist/x/uniq.mjs +1 -1
  319. package/dist/x/unless.es.js +1 -1
  320. package/dist/x/unless.es.min.js +1 -1
  321. package/dist/x/unless.js +1 -1
  322. package/dist/x/unless.min.js +1 -1
  323. package/dist/x/unless.mjs +1 -1
  324. package/dist/x/values.es.js +1 -1
  325. package/dist/x/values.es.min.js +1 -1
  326. package/dist/x/values.js +1 -1
  327. package/dist/x/values.min.js +1 -1
  328. package/dist/x/values.mjs +1 -1
  329. package/dist/x/when.es.js +1 -1
  330. package/dist/x/when.es.min.js +1 -1
  331. package/dist/x/when.js +1 -1
  332. package/dist/x/when.min.js +1 -1
  333. package/dist/x/when.mjs +1 -1
  334. package/eq.js +1 -1
  335. package/es.js +24 -12
  336. package/get.d.ts +1 -1
  337. package/gte.d.ts +1 -1
  338. package/index.js +24 -12
  339. package/lte.d.ts +1 -1
  340. package/map.js +29 -12
  341. package/package.json +1 -1
  342. package/pick.js +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/maxBy.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/noop.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/noop.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/noop.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -493,19 +493,31 @@ const map = (...args) => {
493
493
  return _map(collection, mapper)
494
494
  }
495
495
 
496
- map.entries = function mapEntries(mapper) {
497
- return function mappingEntries(value) {
498
- if (value == null) {
499
- throw new TypeError('value is not an Object or Map')
500
- }
501
- if (value.constructor == Object) {
502
- return objectMapEntries(value, mapper)
503
- }
504
- if (value.constructor == Map) {
505
- return mapMapEntries(value, mapper)
506
- }
496
+ // _mapEntries(value Object|Map, mapper function) -> Object|Map
497
+ const _mapEntries = (value, mapper) => {
498
+ if (value == null) {
507
499
  throw new TypeError('value is not an Object or Map')
508
500
  }
501
+ if (value.constructor == Object) {
502
+ return objectMapEntries(value, mapper)
503
+ }
504
+ if (value.constructor == Map) {
505
+ return mapMapEntries(value, mapper)
506
+ }
507
+ throw new TypeError('value is not an Object or Map')
508
+ }
509
+
510
+ map.entries = function mapEntries(...args) {
511
+ const mapper = args.pop()
512
+ if (args.length == 0) {
513
+ return curry2(_mapEntries, __, mapper)
514
+ }
515
+
516
+ const collection = args[0]
517
+ if (isPromise(collection)) {
518
+ return collection.then(curry2(_mapEntries, __, mapper))
519
+ }
520
+ return _mapEntries(collection, mapper)
509
521
  }
510
522
 
511
523
  map.series = mapper => function mappingInSeries(value) {
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const c=t(s,o,r);isPromise(c)?n.push(c.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,c)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n],n);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o],o);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const c=r.length;for(;++o<c;){s.size>=e&&await promiseRace(s);const c=t(r[o]);if(isPromise(c)){const r=c.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=c}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const c=new Set,i=n.then(tapSync((()=>c.delete(i))));return c.add(i),o[s]=i,arrayMapPoolAsync(r,t,e,o,s,c)}o[s]=n}return o},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,c=[];let i=-1,a=-1,u=0;for(;++i<o;){const o=e[i];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),c.push(r)}else c.push(o);if(c.length==r)return 0==u?t(...c):curryArity(r,t,c)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),c.push(e),c.length==r)return 0==u?t(...c):curryArity(r,t,c)}return curryArity(r,t,c)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapSet=function(r,t,e){return r.set(t,e)},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=(...r)=>{const t=r.pop();if(0==r.length)return curry2(_map,__,t);const e=r[0];return isPromise(e)?e.then(curry2(_map,__,t)):_map(e,t)};map.entries=function(r){return function(t){if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return objectMapEntries(t,r);if(t.constructor==Map)return mapMapEntries(t,r);throw new TypeError("value is not an Object or Map")}},map.series=r=>function(t){if(isArray(t))return arrayMapSeries(t,r);throw new TypeError(`${t} is not an Array`)},map.pool=(r,t)=>function(e){if(isArray(e))return arrayMapPool(e,t,r);throw new TypeError(`${e} is not an Array`)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,t):isPromise(r)?r.then(curry3(_get,__,t,e)):_get(r,t,e)},pluck=function(...r){const t=r.pop(),e="string"==typeof(n=t)||"number"==typeof n||isArray(n)?curry3(_get,__,n,o):isPromise(n)?n.then(curry3(_get,__,o,s)):_get(n,o,s);var n,o,s;return 0==r.length?map(e):map(r[0],e)};export default pluck;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const c=t(s,o,r);isPromise(c)?n.push(c.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,c)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n],n);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o],o);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const c=r.length;for(;++o<c;){s.size>=e&&await promiseRace(s);const c=t(r[o]);if(isPromise(c)){const r=c.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=c}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const c=new Set,i=n.then(tapSync((()=>c.delete(i))));return c.add(i),o[s]=i,arrayMapPoolAsync(r,t,e,o,s,c)}o[s]=n}return o},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,c=[];let i=-1,a=-1,u=0;for(;++i<o;){const o=e[i];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),c.push(r)}else c.push(o);if(c.length==r)return 0==u?t(...c):curryArity(r,t,c)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),c.push(e),c.length==r)return 0==u?t(...c):curryArity(r,t,c)}return curryArity(r,t,c)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapSet=function(r,t,e){return r.set(t,e)},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=(...r)=>{const t=r.pop();if(0==r.length)return curry2(_map,__,t);const e=r[0];return isPromise(e)?e.then(curry2(_map,__,t)):_map(e,t)},_mapEntries=(r,t)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,t);if(r.constructor==Map)return mapMapEntries(r,t);throw new TypeError("value is not an Object or Map")};map.entries=function(...r){const t=r.pop();if(0==r.length)return curry2(_mapEntries,__,t);const e=r[0];return isPromise(e)?e.then(curry2(_mapEntries,__,t)):_mapEntries(e,t)},map.series=r=>function(t){if(isArray(t))return arrayMapSeries(t,r);throw new TypeError(`${t} is not an Array`)},map.pool=(r,t)=>function(e){if(isArray(e))return arrayMapPool(e,t,r);throw new TypeError(`${e} is not an Array`)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,t):isPromise(r)?r.then(curry3(_get,__,t,e)):_get(r,t,e)},pluck=function(...r){const t=r.pop(),e="string"==typeof(n=t)||"number"==typeof n||isArray(n)?curry3(_get,__,n,o):isPromise(n)?n.then(curry3(_get,__,o,s)):_get(n,o,s);var n,o,s;return 0==r.length?map(e):map(r[0],e)};export default pluck;
package/dist/x/pluck.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -499,19 +499,31 @@ const map = (...args) => {
499
499
  return _map(collection, mapper)
500
500
  }
501
501
 
502
- map.entries = function mapEntries(mapper) {
503
- return function mappingEntries(value) {
504
- if (value == null) {
505
- throw new TypeError('value is not an Object or Map')
506
- }
507
- if (value.constructor == Object) {
508
- return objectMapEntries(value, mapper)
509
- }
510
- if (value.constructor == Map) {
511
- return mapMapEntries(value, mapper)
512
- }
502
+ // _mapEntries(value Object|Map, mapper function) -> Object|Map
503
+ const _mapEntries = (value, mapper) => {
504
+ if (value == null) {
513
505
  throw new TypeError('value is not an Object or Map')
514
506
  }
507
+ if (value.constructor == Object) {
508
+ return objectMapEntries(value, mapper)
509
+ }
510
+ if (value.constructor == Map) {
511
+ return mapMapEntries(value, mapper)
512
+ }
513
+ throw new TypeError('value is not an Object or Map')
514
+ }
515
+
516
+ map.entries = function mapEntries(...args) {
517
+ const mapper = args.pop()
518
+ if (args.length == 0) {
519
+ return curry2(_mapEntries, __, mapper)
520
+ }
521
+
522
+ const collection = args[0]
523
+ if (isPromise(collection)) {
524
+ return collection.then(curry2(_mapEntries, __, mapper))
525
+ }
526
+ return _mapEntries(collection, mapper)
515
527
  }
516
528
 
517
529
  map.series = mapper => function mappingInSeries(value) {
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},e=Symbol.iterator,r=(n,t)=>({toString:()=>"[object MappingIterator]",[e](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),o=n=>({value:n,done:!1}),u=Symbol.asyncIterator,c=(t,e)=>({[u](){return this},async next(){const r=await t.next();if(r.done)return r;const u=e(r.value);return n(u)?u.then(o):{value:u,done:!1}}}),i=Symbol.for("placeholder"),s=function(n,t,e){return t==i?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=Array.isArray,l=Promise.all.bind(Promise),h=function(t,e){const r=t.length,o=Array(r);let u=-1,c=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(c=!0),o[u]=r}return c?l(o):o},a=function(n,t,e,r){return t==i?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==i?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},p=(n,t,e)=>n[t](e),y=n=>function(){return n},g=function(n,t,e,r,o){return t==i?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==i?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==i?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,o):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},d=(n,t,e,r)=>n[t](e,r),w=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const c=t[u];n(c)?(o+=1,c.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=c}0==o&&e(r)})(t)),b=function(n,t,e){return n[t]=e,n},m=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o],o);r[o]=n(u)?await u:u}return r},v=n=>function(...t){return n(...t),t[0]},j=Promise.race.bind(Promise),M=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await j(c);const i=e(t[u]);if(n(i)){const n=i.then(v((()=>c.delete(n))));c.add(n),o[u]=n}else o[u]=i}return l(o)},S=(n,t,e)=>function(...r){const o=e.length,u=r.length,c=[];let s=-1,f=-1,l=0;for(;++s<o;){const o=e[s];if(o==i&&(f+=1)<u){const n=r[f];n==i&&(l+=1),c.push(n)}else c.push(o);if(c.length==n)return 0==l?t(...c):A(n,t,c)}for(;++f<u;){const e=r[f];if(e==i&&(l+=1),c.push(e),c.length==n)return 0==l?t(...c):A(n,t,c)}return A(n,t,c)},A=function(n,t,e){const r=e.length;if(r<n)return S(n,t,e);let o=-1;for(;++o<r;){if(e[o]==i)return S(n,t,e)}return t(...e)},T=n=>function([t,e]){return n(t,e)},x=function(n,t,e){return n.set(t,e)},E=function(t,e){const r=new Map,o=[];return t.forEach(((t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(T(A(3,x,[e])))):e.set(c[0],c[1])})(e,r,o)),0==o.length?r:l(o).then(y(r))},P=function(t,o){return f(t)?h(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const r=h(t,e);return n(r)?r.then(a(p,i,"join","")):r.join("")}(t,o):t.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const c=e(u,u,t);n(c)?o.push(c.then(a(p,r,"add",i))):r.add(c)}return 0==o.length?r:l(o).then(y(r))}(t,o):t.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,c]of t){const s=e(c,u,t);n(s)?o.push(s.then(g(d,r,"set",u,i))):r.set(u,s)}return 0==o.length?r:l(o).then(y(r))}(t,o):"function"==typeof t[e]?r(t[e](),o):"function"==typeof t[u]?c(t[u](),o):t.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(o=!0),r[u]=c}return o?w(r):r}(t,o):o(t)},O=(...t)=>{const e=t.pop();if(0==t.length)return s(P,i,e);const r=t[0];return n(r)?r.then(s(P,i,e)):P(r,e)};O.entries=function(t){return function(e){if(null==e)throw new TypeError("value is not an Object or Map");if(e.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const c=e([u,t[u]]);n(c)?o.push(c.then(T(A(3,b,[r])))):r[c[0]]=c[1]}return 0==o.length?r:l(o).then(y(r))}(e,t);if(e.constructor==Map)return E(e,t);throw new TypeError("value is not an Object or Map")}},O.series=e=>function(r){if(f(r))return function(e,r){const o=e.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(e[c],c);if(n(o))return o.then(t(a(b,u,c,i),g(m,e,r,i,c)));u[c]=o}return u}(r,e);throw new TypeError(`${r} is not an Array`)},O.pool=(t,e)=>function(r){if(f(r))return function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=e(t[c]);if(n(o)){const n=new Set,i=o.then(v((()=>n.delete(i))));return n.add(i),u[c]=i,M(t,e,r,u,c,n)}u[c]=o}return u}(r,e,t);throw new TypeError(`${r} is not an Array`)};const z=/[.|[|\]]+/,I=function(n,t){const e=new Map,r=function(r){if(e.has(r))return e.get(r);const o=n(r);return e.set(r,o),e.size>t&&e.clear(),o};return r.cache=e,r}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(z):e?n.slice(1).split(z):r?n.slice(0,t).split(z):n.split(z)}),500),$=function(n,t){const e=(n=>f(n)?n:"string"==typeof n?I(n):[n])(t),r=e.length;let o=-1,u=n;for(;++o<r;)if(u=u[e[o]],null==u)return;return u},k=function(n,t,e){const r=null==n?void 0:$(n,t);return void 0===r?"function"==typeof e?e(n):e:r};return function(...t){const e=t.pop(),r="string"==typeof(o=e)||"number"==typeof o||f(o)?a(k,i,o,u):n(o)?o.then(a(k,i,u,c)):k(o,u,c);var o,u,c;return 0==t.length?O(r):O(t[0],r)}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},e=Symbol.iterator,r=(n,t)=>({toString:()=>"[object MappingIterator]",[e](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),o=n=>({value:n,done:!1}),u=Symbol.asyncIterator,c=(t,e)=>({[u](){return this},async next(){const r=await t.next();if(r.done)return r;const u=e(r.value);return n(u)?u.then(o):{value:u,done:!1}}}),i=Symbol.for("placeholder"),s=function(n,t,e){return t==i?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=Array.isArray,l=Promise.all.bind(Promise),h=function(t,e){const r=t.length,o=Array(r);let u=-1,c=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(c=!0),o[u]=r}return c?l(o):o},a=function(n,t,e,r){return t==i?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==i?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},p=(n,t,e)=>n[t](e),y=n=>function(){return n},g=function(n,t,e,r,o){return t==i?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==i?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==i?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,o):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},d=(n,t,e,r)=>n[t](e,r),w=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const c=t[u];n(c)?(o+=1,c.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=c}0==o&&e(r)})(t)),b=function(n,t,e){return n[t]=e,n},m=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o],o);r[o]=n(u)?await u:u}return r},v=n=>function(...t){return n(...t),t[0]},j=Promise.race.bind(Promise),M=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await j(c);const i=e(t[u]);if(n(i)){const n=i.then(v((()=>c.delete(n))));c.add(n),o[u]=n}else o[u]=i}return l(o)},S=(n,t,e)=>function(...r){const o=e.length,u=r.length,c=[];let s=-1,f=-1,l=0;for(;++s<o;){const o=e[s];if(o==i&&(f+=1)<u){const n=r[f];n==i&&(l+=1),c.push(n)}else c.push(o);if(c.length==n)return 0==l?t(...c):A(n,t,c)}for(;++f<u;){const e=r[f];if(e==i&&(l+=1),c.push(e),c.length==n)return 0==l?t(...c):A(n,t,c)}return A(n,t,c)},A=function(n,t,e){const r=e.length;if(r<n)return S(n,t,e);let o=-1;for(;++o<r;){if(e[o]==i)return S(n,t,e)}return t(...e)},T=n=>function([t,e]){return n(t,e)},x=function(n,t,e){return n.set(t,e)},E=function(t,e){const r=new Map,o=[];return t.forEach(((t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(T(A(3,x,[e])))):e.set(c[0],c[1])})(e,r,o)),0==o.length?r:l(o).then(y(r))},P=function(t,o){return f(t)?h(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const r=h(t,e);return n(r)?r.then(a(p,i,"join","")):r.join("")}(t,o):t.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const c=e(u,u,t);n(c)?o.push(c.then(a(p,r,"add",i))):r.add(c)}return 0==o.length?r:l(o).then(y(r))}(t,o):t.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,c]of t){const s=e(c,u,t);n(s)?o.push(s.then(g(d,r,"set",u,i))):r.set(u,s)}return 0==o.length?r:l(o).then(y(r))}(t,o):"function"==typeof t[e]?r(t[e](),o):"function"==typeof t[u]?c(t[u](),o):t.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(o=!0),r[u]=c}return o?w(r):r}(t,o):o(t)},O=(...t)=>{const e=t.pop();if(0==t.length)return s(P,i,e);const r=t[0];return n(r)?r.then(s(P,i,e)):P(r,e)},z=(t,e)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const c=e([u,t[u]]);n(c)?o.push(c.then(T(A(3,b,[r])))):r[c[0]]=c[1]}return 0==o.length?r:l(o).then(y(r))}(t,e);if(t.constructor==Map)return E(t,e);throw new TypeError("value is not an Object or Map")};O.entries=function(...t){const e=t.pop();if(0==t.length)return s(z,i,e);const r=t[0];return n(r)?r.then(s(z,i,e)):z(r,e)},O.series=e=>function(r){if(f(r))return function(e,r){const o=e.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(e[c],c);if(n(o))return o.then(t(a(b,u,c,i),g(m,e,r,i,c)));u[c]=o}return u}(r,e);throw new TypeError(`${r} is not an Array`)},O.pool=(t,e)=>function(r){if(f(r))return function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=e(t[c]);if(n(o)){const n=new Set,i=o.then(v((()=>n.delete(i))));return n.add(i),u[c]=i,M(t,e,r,u,c,n)}u[c]=o}return u}(r,e,t);throw new TypeError(`${r} is not an Array`)};const I=/[.|[|\]]+/,$=function(n,t){const e=new Map,r=function(r){if(e.has(r))return e.get(r);const o=n(r);return e.set(r,o),e.size>t&&e.clear(),o};return r.cache=e,r}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(I):e?n.slice(1).split(I):r?n.slice(0,t).split(I):n.split(I)}),500),k=function(n,t){const e=(n=>f(n)?n:"string"==typeof n?$(n):[n])(t),r=e.length;let o=-1,u=n;for(;++o<r;)if(u=u[e[o]],null==u)return;return u},q=function(n,t,e){const r=null==n?void 0:k(n,t);return void 0===r?"function"==typeof e?e(n):e:r};return function(...t){const e=t.pop(),r="string"==typeof(o=e)||"number"==typeof o||f(o)?a(q,i,o,u):n(o)?o.then(a(q,i,u,c)):q(o,u,c);var o,u,c;return 0==t.length?O(r):O(t[0],r)}}());
package/dist/x/pluck.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -493,19 +493,31 @@ const map = (...args) => {
493
493
  return _map(collection, mapper)
494
494
  }
495
495
 
496
- map.entries = function mapEntries(mapper) {
497
- return function mappingEntries(value) {
498
- if (value == null) {
499
- throw new TypeError('value is not an Object or Map')
500
- }
501
- if (value.constructor == Object) {
502
- return objectMapEntries(value, mapper)
503
- }
504
- if (value.constructor == Map) {
505
- return mapMapEntries(value, mapper)
506
- }
496
+ // _mapEntries(value Object|Map, mapper function) -> Object|Map
497
+ const _mapEntries = (value, mapper) => {
498
+ if (value == null) {
507
499
  throw new TypeError('value is not an Object or Map')
508
500
  }
501
+ if (value.constructor == Object) {
502
+ return objectMapEntries(value, mapper)
503
+ }
504
+ if (value.constructor == Map) {
505
+ return mapMapEntries(value, mapper)
506
+ }
507
+ throw new TypeError('value is not an Object or Map')
508
+ }
509
+
510
+ map.entries = function mapEntries(...args) {
511
+ const mapper = args.pop()
512
+ if (args.length == 0) {
513
+ return curry2(_mapEntries, __, mapper)
514
+ }
515
+
516
+ const collection = args[0]
517
+ if (isPromise(collection)) {
518
+ return collection.then(curry2(_mapEntries, __, mapper))
519
+ }
520
+ return _mapEntries(collection, mapper)
509
521
  }
510
522
 
511
523
  map.series = mapper => function mappingInSeries(value) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/prepend.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/trace.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/trace.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/unless.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/unless.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.3.3
2
+ * rubico v2.3.7
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/eq.js CHANGED
@@ -39,7 +39,7 @@ const equals = require('./_internal/equals')
39
39
  * }
40
40
  * ```
41
41
  *
42
- * `eq` supports a tacit API for composability.
42
+ * `eq` supports a lazy API for composability.
43
43
  *
44
44
  * ```javascript [playground]
45
45
  * pipe({ name: 'George' }, [