rubico 2.7.10 → 2.8.1

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 (343) hide show
  1. package/LICENSE +5 -17
  2. package/README.md +1 -1
  3. package/_internal/curryArity.js +34 -12
  4. package/_internal/funcApply2.js +18 -0
  5. package/_internal/mapMapEntries.js +1 -1
  6. package/_internal/objectMapEntries.js +1 -1
  7. package/curry.js +95 -12
  8. package/dist/Transducer.es.js +1 -1
  9. package/dist/Transducer.es.min.js +1 -1
  10. package/dist/Transducer.js +1 -1
  11. package/dist/Transducer.min.js +1 -1
  12. package/dist/Transducer.mjs +1 -1
  13. package/dist/__.es.js +1 -1
  14. package/dist/__.es.min.js +1 -1
  15. package/dist/__.js +1 -1
  16. package/dist/__.min.js +1 -1
  17. package/dist/__.mjs +1 -1
  18. package/dist/all.es.js +1 -1
  19. package/dist/all.es.min.js +1 -1
  20. package/dist/all.js +1 -1
  21. package/dist/all.min.js +1 -1
  22. package/dist/all.mjs +1 -1
  23. package/dist/always.es.js +1 -1
  24. package/dist/always.es.min.js +1 -1
  25. package/dist/always.js +1 -1
  26. package/dist/always.min.js +1 -1
  27. package/dist/always.mjs +1 -1
  28. package/dist/and.es.js +1 -1
  29. package/dist/and.es.min.js +1 -1
  30. package/dist/and.js +1 -1
  31. package/dist/and.min.js +1 -1
  32. package/dist/and.mjs +1 -1
  33. package/dist/assign.es.js +1 -1
  34. package/dist/assign.es.min.js +1 -1
  35. package/dist/assign.js +1 -1
  36. package/dist/assign.min.js +1 -1
  37. package/dist/assign.mjs +1 -1
  38. package/dist/compose.es.js +1 -1
  39. package/dist/compose.es.min.js +1 -1
  40. package/dist/compose.js +1 -1
  41. package/dist/compose.min.js +1 -1
  42. package/dist/compose.mjs +1 -1
  43. package/dist/curry.es.js +146 -13
  44. package/dist/curry.es.min.js +2 -2
  45. package/dist/curry.js +146 -13
  46. package/dist/curry.min.js +2 -2
  47. package/dist/curry.mjs +146 -13
  48. package/dist/eq.es.js +1 -1
  49. package/dist/eq.es.min.js +1 -1
  50. package/dist/eq.js +1 -1
  51. package/dist/eq.min.js +1 -1
  52. package/dist/eq.mjs +1 -1
  53. package/dist/every.es.js +1 -1
  54. package/dist/every.es.min.js +1 -1
  55. package/dist/every.js +1 -1
  56. package/dist/every.min.js +1 -1
  57. package/dist/every.mjs +1 -1
  58. package/dist/filter.es.js +1 -1
  59. package/dist/filter.es.min.js +1 -1
  60. package/dist/filter.js +1 -1
  61. package/dist/filter.min.js +1 -1
  62. package/dist/filter.mjs +1 -1
  63. package/dist/flatMap.es.js +1 -1
  64. package/dist/flatMap.es.min.js +1 -1
  65. package/dist/flatMap.js +1 -1
  66. package/dist/flatMap.min.js +1 -1
  67. package/dist/flatMap.mjs +1 -1
  68. package/dist/forEach.es.js +1 -1
  69. package/dist/forEach.es.min.js +1 -1
  70. package/dist/forEach.js +1 -1
  71. package/dist/forEach.min.js +1 -1
  72. package/dist/forEach.mjs +1 -1
  73. package/dist/get.es.js +1 -1
  74. package/dist/get.es.min.js +1 -1
  75. package/dist/get.js +1 -1
  76. package/dist/get.min.js +1 -1
  77. package/dist/get.mjs +1 -1
  78. package/dist/gt.es.js +1 -1
  79. package/dist/gt.es.min.js +1 -1
  80. package/dist/gt.js +1 -1
  81. package/dist/gt.min.js +1 -1
  82. package/dist/gt.mjs +1 -1
  83. package/dist/gte.es.js +1 -1
  84. package/dist/gte.es.min.js +1 -1
  85. package/dist/gte.js +1 -1
  86. package/dist/gte.min.js +1 -1
  87. package/dist/gte.mjs +1 -1
  88. package/dist/lt.es.js +1 -1
  89. package/dist/lt.es.min.js +1 -1
  90. package/dist/lt.js +1 -1
  91. package/dist/lt.min.js +1 -1
  92. package/dist/lt.mjs +1 -1
  93. package/dist/lte.es.js +1 -1
  94. package/dist/lte.es.min.js +1 -1
  95. package/dist/lte.js +1 -1
  96. package/dist/lte.min.js +1 -1
  97. package/dist/lte.mjs +1 -1
  98. package/dist/map.es.js +52 -13
  99. package/dist/map.es.min.js +2 -2
  100. package/dist/map.js +52 -13
  101. package/dist/map.min.js +2 -2
  102. package/dist/map.mjs +52 -13
  103. package/dist/not.es.js +1 -1
  104. package/dist/not.es.min.js +1 -1
  105. package/dist/not.js +1 -1
  106. package/dist/not.min.js +1 -1
  107. package/dist/not.mjs +1 -1
  108. package/dist/omit.es.js +1 -1
  109. package/dist/omit.es.min.js +1 -1
  110. package/dist/omit.js +1 -1
  111. package/dist/omit.min.js +1 -1
  112. package/dist/omit.mjs +1 -1
  113. package/dist/or.es.js +1 -1
  114. package/dist/or.es.min.js +1 -1
  115. package/dist/or.js +1 -1
  116. package/dist/or.min.js +1 -1
  117. package/dist/or.mjs +1 -1
  118. package/dist/pick.es.js +1 -1
  119. package/dist/pick.es.min.js +1 -1
  120. package/dist/pick.js +1 -1
  121. package/dist/pick.min.js +1 -1
  122. package/dist/pick.mjs +1 -1
  123. package/dist/pipe.es.js +1 -1
  124. package/dist/pipe.es.min.js +1 -1
  125. package/dist/pipe.js +1 -1
  126. package/dist/pipe.min.js +1 -1
  127. package/dist/pipe.mjs +1 -1
  128. package/dist/reduce.es.js +1 -1
  129. package/dist/reduce.es.min.js +1 -1
  130. package/dist/reduce.js +1 -1
  131. package/dist/reduce.min.js +1 -1
  132. package/dist/reduce.mjs +1 -1
  133. package/dist/rubico.es.js +63 -18
  134. package/dist/rubico.es.min.js +2 -2
  135. package/dist/rubico.global.js +63 -18
  136. package/dist/rubico.global.min.js +2 -2
  137. package/dist/rubico.js +63 -18
  138. package/dist/rubico.min.js +2 -2
  139. package/dist/rubico.mjs +63 -18
  140. package/dist/set.es.js +1 -1
  141. package/dist/set.es.min.js +1 -1
  142. package/dist/set.js +1 -1
  143. package/dist/set.min.js +1 -1
  144. package/dist/set.mjs +1 -1
  145. package/dist/some.es.js +1 -1
  146. package/dist/some.es.min.js +1 -1
  147. package/dist/some.js +1 -1
  148. package/dist/some.min.js +1 -1
  149. package/dist/some.mjs +1 -1
  150. package/dist/switchCase.es.js +1 -1
  151. package/dist/switchCase.es.min.js +1 -1
  152. package/dist/switchCase.js +1 -1
  153. package/dist/switchCase.min.js +1 -1
  154. package/dist/switchCase.mjs +1 -1
  155. package/dist/tap.es.js +1 -1
  156. package/dist/tap.es.min.js +1 -1
  157. package/dist/tap.js +1 -1
  158. package/dist/tap.min.js +1 -1
  159. package/dist/tap.mjs +1 -1
  160. package/dist/thunkify.es.js +41 -17
  161. package/dist/thunkify.es.min.js +2 -2
  162. package/dist/thunkify.js +41 -17
  163. package/dist/thunkify.min.js +2 -2
  164. package/dist/thunkify.mjs +41 -17
  165. package/dist/transform.es.js +1 -1
  166. package/dist/transform.es.min.js +1 -1
  167. package/dist/transform.js +1 -1
  168. package/dist/transform.min.js +1 -1
  169. package/dist/transform.mjs +1 -1
  170. package/dist/tryCatch.es.js +1 -1
  171. package/dist/tryCatch.es.min.js +1 -1
  172. package/dist/tryCatch.js +1 -1
  173. package/dist/tryCatch.min.js +1 -1
  174. package/dist/tryCatch.mjs +1 -1
  175. package/dist/x/append.es.js +1 -1
  176. package/dist/x/append.es.min.js +1 -1
  177. package/dist/x/append.js +1 -1
  178. package/dist/x/append.min.js +1 -1
  179. package/dist/x/append.mjs +1 -1
  180. package/dist/x/callProp.es.js +1 -1
  181. package/dist/x/callProp.es.min.js +1 -1
  182. package/dist/x/callProp.js +1 -1
  183. package/dist/x/callProp.min.js +1 -1
  184. package/dist/x/callProp.mjs +1 -1
  185. package/dist/x/defaultsDeep.es.js +1 -1
  186. package/dist/x/defaultsDeep.es.min.js +1 -1
  187. package/dist/x/defaultsDeep.js +1 -1
  188. package/dist/x/defaultsDeep.min.js +1 -1
  189. package/dist/x/defaultsDeep.mjs +1 -1
  190. package/dist/x/differenceWith.es.js +1 -1
  191. package/dist/x/differenceWith.es.min.js +1 -1
  192. package/dist/x/differenceWith.js +1 -1
  193. package/dist/x/differenceWith.min.js +1 -1
  194. package/dist/x/differenceWith.mjs +1 -1
  195. package/dist/x/filterOut.es.js +1 -1
  196. package/dist/x/filterOut.es.min.js +1 -1
  197. package/dist/x/filterOut.js +1 -1
  198. package/dist/x/filterOut.min.js +1 -1
  199. package/dist/x/filterOut.mjs +1 -1
  200. package/dist/x/find.es.js +1 -1
  201. package/dist/x/find.es.min.js +1 -1
  202. package/dist/x/find.js +1 -1
  203. package/dist/x/find.min.js +1 -1
  204. package/dist/x/find.mjs +1 -1
  205. package/dist/x/findIndex.es.js +1 -1
  206. package/dist/x/findIndex.es.min.js +1 -1
  207. package/dist/x/findIndex.js +1 -1
  208. package/dist/x/findIndex.min.js +1 -1
  209. package/dist/x/findIndex.mjs +1 -1
  210. package/dist/x/first.es.js +1 -1
  211. package/dist/x/first.es.min.js +1 -1
  212. package/dist/x/first.js +1 -1
  213. package/dist/x/first.min.js +1 -1
  214. package/dist/x/first.mjs +1 -1
  215. package/dist/x/flatten.es.js +1 -1
  216. package/dist/x/flatten.es.min.js +1 -1
  217. package/dist/x/flatten.js +1 -1
  218. package/dist/x/flatten.min.js +1 -1
  219. package/dist/x/flatten.mjs +1 -1
  220. package/dist/x/groupBy.es.js +1 -1
  221. package/dist/x/groupBy.es.min.js +1 -1
  222. package/dist/x/groupBy.js +1 -1
  223. package/dist/x/groupBy.min.js +1 -1
  224. package/dist/x/groupBy.mjs +1 -1
  225. package/dist/x/has.es.js +1 -1
  226. package/dist/x/has.es.min.js +1 -1
  227. package/dist/x/has.js +1 -1
  228. package/dist/x/has.min.js +1 -1
  229. package/dist/x/has.mjs +1 -1
  230. package/dist/x/identity.es.js +1 -1
  231. package/dist/x/identity.es.min.js +1 -1
  232. package/dist/x/identity.js +1 -1
  233. package/dist/x/identity.min.js +1 -1
  234. package/dist/x/identity.mjs +1 -1
  235. package/dist/x/includes.es.js +1 -1
  236. package/dist/x/includes.es.min.js +1 -1
  237. package/dist/x/includes.js +1 -1
  238. package/dist/x/includes.min.js +1 -1
  239. package/dist/x/includes.mjs +1 -1
  240. package/dist/x/isDeepEqual.es.js +1 -1
  241. package/dist/x/isDeepEqual.es.min.js +1 -1
  242. package/dist/x/isDeepEqual.js +1 -1
  243. package/dist/x/isDeepEqual.min.js +1 -1
  244. package/dist/x/isDeepEqual.mjs +1 -1
  245. package/dist/x/isEmpty.es.js +1 -1
  246. package/dist/x/isEmpty.es.min.js +1 -1
  247. package/dist/x/isEmpty.js +1 -1
  248. package/dist/x/isEmpty.min.js +1 -1
  249. package/dist/x/isEmpty.mjs +1 -1
  250. package/dist/x/isEqual.es.js +1 -1
  251. package/dist/x/isEqual.es.min.js +1 -1
  252. package/dist/x/isEqual.js +1 -1
  253. package/dist/x/isEqual.min.js +1 -1
  254. package/dist/x/isEqual.mjs +1 -1
  255. package/dist/x/isFunction.es.js +1 -1
  256. package/dist/x/isFunction.es.min.js +1 -1
  257. package/dist/x/isFunction.js +1 -1
  258. package/dist/x/isFunction.min.js +1 -1
  259. package/dist/x/isFunction.mjs +1 -1
  260. package/dist/x/isIn.es.js +1 -1
  261. package/dist/x/isIn.es.min.js +1 -1
  262. package/dist/x/isIn.js +1 -1
  263. package/dist/x/isIn.min.js +1 -1
  264. package/dist/x/isIn.mjs +1 -1
  265. package/dist/x/isObject.es.js +1 -1
  266. package/dist/x/isObject.es.min.js +1 -1
  267. package/dist/x/isObject.js +1 -1
  268. package/dist/x/isObject.min.js +1 -1
  269. package/dist/x/isObject.mjs +1 -1
  270. package/dist/x/isString.es.js +1 -1
  271. package/dist/x/isString.es.min.js +1 -1
  272. package/dist/x/isString.js +1 -1
  273. package/dist/x/isString.min.js +1 -1
  274. package/dist/x/isString.mjs +1 -1
  275. package/dist/x/keys.es.js +1 -1
  276. package/dist/x/keys.es.min.js +1 -1
  277. package/dist/x/keys.js +1 -1
  278. package/dist/x/keys.min.js +1 -1
  279. package/dist/x/keys.mjs +1 -1
  280. package/dist/x/last.es.js +1 -1
  281. package/dist/x/last.es.min.js +1 -1
  282. package/dist/x/last.js +1 -1
  283. package/dist/x/last.min.js +1 -1
  284. package/dist/x/last.mjs +1 -1
  285. package/dist/x/maxBy.es.js +1 -1
  286. package/dist/x/maxBy.es.min.js +1 -1
  287. package/dist/x/maxBy.js +1 -1
  288. package/dist/x/maxBy.min.js +1 -1
  289. package/dist/x/maxBy.mjs +1 -1
  290. package/dist/x/noop.es.js +1 -1
  291. package/dist/x/noop.es.min.js +1 -1
  292. package/dist/x/noop.js +1 -1
  293. package/dist/x/noop.min.js +1 -1
  294. package/dist/x/noop.mjs +1 -1
  295. package/dist/x/pluck.es.js +52 -13
  296. package/dist/x/pluck.es.min.js +2 -2
  297. package/dist/x/pluck.js +52 -13
  298. package/dist/x/pluck.min.js +2 -2
  299. package/dist/x/pluck.mjs +52 -13
  300. package/dist/x/prepend.es.js +1 -1
  301. package/dist/x/prepend.es.min.js +1 -1
  302. package/dist/x/prepend.js +1 -1
  303. package/dist/x/prepend.min.js +1 -1
  304. package/dist/x/prepend.mjs +1 -1
  305. package/dist/x/size.es.js +1 -1
  306. package/dist/x/size.es.min.js +1 -1
  307. package/dist/x/size.js +1 -1
  308. package/dist/x/size.min.js +1 -1
  309. package/dist/x/size.mjs +1 -1
  310. package/dist/x/trace.es.js +1 -1
  311. package/dist/x/trace.es.min.js +1 -1
  312. package/dist/x/trace.js +1 -1
  313. package/dist/x/trace.min.js +1 -1
  314. package/dist/x/trace.mjs +1 -1
  315. package/dist/x/unionWith.es.js +1 -1
  316. package/dist/x/unionWith.es.min.js +1 -1
  317. package/dist/x/unionWith.js +1 -1
  318. package/dist/x/unionWith.min.js +1 -1
  319. package/dist/x/unionWith.mjs +1 -1
  320. package/dist/x/uniq.es.js +1 -1
  321. package/dist/x/uniq.es.min.js +1 -1
  322. package/dist/x/uniq.js +1 -1
  323. package/dist/x/uniq.min.js +1 -1
  324. package/dist/x/uniq.mjs +1 -1
  325. package/dist/x/unless.es.js +1 -1
  326. package/dist/x/unless.es.min.js +1 -1
  327. package/dist/x/unless.js +1 -1
  328. package/dist/x/unless.min.js +1 -1
  329. package/dist/x/unless.mjs +1 -1
  330. package/dist/x/values.es.js +1 -1
  331. package/dist/x/values.es.min.js +1 -1
  332. package/dist/x/values.js +1 -1
  333. package/dist/x/values.min.js +1 -1
  334. package/dist/x/values.mjs +1 -1
  335. package/dist/x/when.es.js +1 -1
  336. package/dist/x/when.es.min.js +1 -1
  337. package/dist/x/when.js +1 -1
  338. package/dist/x/when.min.js +1 -1
  339. package/dist/x/when.mjs +1 -1
  340. package/es.js +63 -18
  341. package/index.js +63 -18
  342. package/package.json +1 -1
  343. package/thunkify.js +66 -6
package/dist/map.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -634,7 +634,31 @@ const objectMapPool = function (o, concurrency, f) {
634
634
  return result
635
635
  }
636
636
 
637
- const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
637
+ const areAnyValuesPromises = function (values) {
638
+ if (isArray(values)) {
639
+ const length = values.length
640
+ let index = -1
641
+ while (++index < length) {
642
+ const value = values[index]
643
+ if (isPromise(value)) {
644
+ return true
645
+ }
646
+ }
647
+ return false
648
+ }
649
+
650
+ for (const key in values) {
651
+ const value = values[key]
652
+ if (isPromise(value)) {
653
+ return true
654
+ }
655
+ }
656
+ return false
657
+ }
658
+
659
+ const funcApply2 = (func, context, args) => func.apply(context, args)
660
+
661
+ const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
638
662
  const argsLength = args.length,
639
663
  curriedArgsLength = curriedArgs.length,
640
664
  nextArgs = []
@@ -653,10 +677,16 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
653
677
  } else {
654
678
  nextArgs.push(arg)
655
679
  }
680
+
656
681
  if (nextArgs.length == arity) {
682
+ if (areAnyValuesPromises(nextArgs)) {
683
+ return numCurriedPlaceholders == 0
684
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
685
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
686
+ }
657
687
  return numCurriedPlaceholders == 0
658
- ? func(...nextArgs)
659
- : curryArity(arity, func, nextArgs)
688
+ ? func.apply(context, nextArgs)
689
+ : curryArity(arity, func, context, nextArgs)
660
690
  }
661
691
  }
662
692
 
@@ -666,28 +696,37 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
666
696
  numCurriedPlaceholders += 1
667
697
  }
668
698
  nextArgs.push(curriedArg)
699
+
669
700
  if (nextArgs.length == arity) {
701
+ if (areAnyValuesPromises(nextArgs)) {
702
+ return numCurriedPlaceholders == 0
703
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
704
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
705
+ }
670
706
  return numCurriedPlaceholders == 0
671
- ? func(...nextArgs)
672
- : curryArity(arity, func, nextArgs)
707
+ ? func.apply(context, nextArgs)
708
+ : curryArity(arity, func, context, nextArgs)
673
709
  }
674
710
  }
675
- return curryArity(arity, func, nextArgs)
711
+
712
+ return areAnyValuesPromises(nextArgs)
713
+ ? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
714
+ : curryArity(arity, func, context, nextArgs)
676
715
  }
677
716
 
678
- const curryArity = function (arity, func, args) {
717
+ const curryArity = function (arity, func, context, args) {
679
718
  const argsLength = args.length
680
719
  if (argsLength < arity) {
681
- return _curryArity(arity, func, args)
720
+ return _curryArity(arity, func, context, args)
682
721
  }
683
722
  let argsIndex = -1
684
723
  while (++argsIndex < argsLength) {
685
724
  const arg = args[argsIndex]
686
725
  if (arg == __) {
687
- return _curryArity(arity, func, args)
726
+ return _curryArity(arity, func, context, args)
688
727
  }
689
728
  }
690
- return func(...args)
729
+ return func.apply(context, args)
691
730
  }
692
731
 
693
732
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -702,7 +741,7 @@ const objectMapEntries = function (object, mapper) {
702
741
  mapping = mapper([key, value])
703
742
  if (isPromise(mapping)) {
704
743
  promises.push(mapping.then(
705
- spread2(curryArity(3, objectSet, [result]))))
744
+ spread2(curryArity(3, objectSet, this, [result]))))
706
745
  } else {
707
746
  result[mapping[0]] = mapping[1]
708
747
  }
@@ -718,7 +757,7 @@ const mapMapEntriesForEachCallback = (
718
757
  ) => function callback(value, key) {
719
758
  const mapping = mapper([key, value])
720
759
  if (isPromise(mapping)) {
721
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
760
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
722
761
  } else {
723
762
  result.set(mapping[0], mapping[1])
724
763
  }
package/dist/map.min.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 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.map=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.iterator,e=(n,e)=>({toString:()=>"[object MappingIterator]",[t](){return this},next(){const t=n.next();return t.done?t:{value:e(t.value),done:!1}}}),r=n=>({value:n,done:!1}),o=Symbol.asyncIterator,u=(t,e)=>({[o](){return this},async next(){const o=await t.next();if(o.done)return o;const u=e(o.value);return n(u)?u.then(r):{value:u,done:!1}}}),c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},s=function(n,t,e,r){return t==c?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==c?((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)},f=Array.isArray,a=Promise.all.bind(Promise),l=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?a(o):o},h=(n,t,e)=>n[t](e),d=n=>function(){return n},p=function(n,t,e,r,o){return t==c?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==c?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==c?((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)},w=(n,t,e,r)=>n[t](e,r),y=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)),v=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},g=function(n,t,e){return n[t]=e,n},x=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},S=function(t,e){const r=t.length,o=Array(r);let u=-1;for(;++u<r;){const r=e(t[u],u);if(n(r))return r.then(v(s(g,o,u,c),p(x,t,e,c,u)));o[u]=r}return o},b=(n,t,e,r,o)=>function(){return n(t,e,r,o)},j=async function(t,e,r,o){for(const u in t){if(u in o)continue;let c=e(t[u]);n(c)&&(c=await c),r[u]=c}return r},m=(n,t,e,r)=>function(){return n(t,e,r)},M=function(n,t){return n.add(t),n},T=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value);n(u)&&(u=await u),r.add(u),o=t.next()}return r},z=function(n,t,e){return n.set(t,e)},E=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value[1]);n(u)&&(u=await u),r.set(o.value[0],u),o=t.next()}return r},O=n=>function(...t){return n(...t),t[0]},A=Promise.race.bind(Promise),P=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await A(c);const i=e(t[u]);if(n(i)){const n=i.then(O(()=>c.delete(n)));c.add(n),o[u]=n}else o[u]=i}return a(o)},$=function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(t[c]);if(n(o)){const n=new Set,i=o.then(O(()=>n.delete(i)));return n.add(i),u[c]=i,P(t,r,e,u,c,n)}u[c]=o}return u},I=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=o(i.value,i.value,t);if(n(s)){const n=s.then(t=>{c.delete(n),u.add(t)});c.add(n)}else u.add(s);i=e.next()}return c.size>0&&await a(c),u},k=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=i.value[0],f=o(i.value[1],s,t);if(n(f)){u.set(s,f);const n=f.then(t=>{c.delete(n),u.set(s,t)});c.add(n)}else u.set(s,f);i=e.next()}return c.size>0&&await a(c),u},q=async function(t,e,r,o,u,c){for(const i in t){if(i in u)continue;c.size>=e&&await A(c);const s=r(t[i],i,t);if(n(s)){o[i]=s;const n=s.then(t=>{c.delete(n),o[i]=t});c.add(n)}else o[i]=s}return c.size>0&&await a(c),o},B=(n,t,e)=>function(...r){const o=e.length,u=r.length,i=[];let s=-1,f=-1,a=0;for(;++s<o;){const o=e[s];if(o==c&&(f+=1)<u){const n=r[f];n==c&&(a+=1),i.push(n)}else i.push(o);if(i.length==n)return 0==a?t(...i):C(n,t,i)}for(;++f<u;){const e=r[f];if(e==c&&(a+=1),i.push(e),i.length==n)return 0==a?t(...i):C(n,t,i)}return C(n,t,i)},C=function(n,t,e){const r=e.length;if(r<n)return B(n,t,e);let o=-1;for(;++o<r;){if(e[o]==c)return B(n,t,e)}return t(...e)},D=n=>function([t,e]){return n(t,e)},F=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(D(C(3,z,[e])))):e.set(c[0],c[1])})(e,r,o)),0==o.length?r:a(o).then(d(r))},G=function(r,i){return f(r)?l(r,i):null==r?r:"function"==typeof r.then?r.then(i):"function"==typeof r.map?r.map(i):"string"==typeof r||r.constructor==String?function(t,e){const r=l(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(r,i):r.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const i=e(u,u,t);n(i)?o.push(i.then(s(h,r,"add",c))):r.add(i)}return 0==o.length?r:a(o).then(d(r))}(r,i):r.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,i]of t){const s=e(i,u,t);n(s)?o.push(s.then(p(w,r,"set",u,c))):r.set(u,s)}return 0==o.length?r:a(o).then(d(r))}(r,i):"function"==typeof r[t]?e(r[t](),i):"function"==typeof r[o]?u(r[o](),i):r.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?y(r):r}(r,i):i(r)},H=function(t,e){return null==e?i(G,c,t):n(t)?t.then(i(G,c,e)):G(t,e)},J=(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(D(C(3,g,[r])))):r[c[0]]=c[1]}return 0==o.length?r:a(o).then(d(r))}(t,e);if(t.constructor==Map)return F(t,e);throw new TypeError("value is not an Object or Map")};H.entries=function(t,e){return null==e?i(J,c,t):n(t)?t.then(i(J,c,e)):J(t,e)};const K=function(e,r){if(f(e))return S(e,r);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e){const r=S(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(e,r);if(e.constructor==Set)return function(e,r){const o=new Set,u=e[t]();let s=u.next();for(;!s.done;){const t=r(s.value);if(n(t))return t.then(v(i(M,o,c),m(T,u,r,o)));o.add(t),s=u.next()}return o}(e,r);if(e.constructor==Map)return function(e,r){const o=new Map,u=e[t]();let i=u.next();for(;!i.done;){const t=i.value[0],e=r(i.value[1]);if(n(e))return e.then(v(s(z,o,t,c),m(E,u,r,o)));o.set(t,e),i=u.next()}return o}(e,r);if(e.constructor==Object)return function(t,e){const r={},o={};for(const u in t){o[u]=!0;const i=e(t[u],u,t);if(n(i))return i.then(v(s(g,r,u,c),b(j,t,e,r,o)));r[u]=i}return r}(e,r);throw new TypeError(`invalid collection ${e}`)};H.series=function(t,e){return null==e?i(K,c,t):n(t)?t.then(i(K,c,e)):K(t,e)};const L=function(e,r,o){if(f(e))return $(e,r,o);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e,r){const o=$(t,e,r);return n(o)?o.then(s(h,c,"join","")):o.join("")}(e,r,o);if(e.constructor==Set)return function(e,r,o){const u=new Set,c=e[t]();let i=c.next();for(;!i.done;){const t=o(i.value,i.value,e);if(n(t)){const n=new Set,i=t.then(t=>{n.delete(i),u.add(t)});return n.add(i),I(e,c,r,o,u,n)}u.add(t),i=c.next()}return u}(e,r,o);if(e.constructor==Map)return function(e,r,o){const u=new Map,c=e[t]();let i=c.next();for(;!i.done;){const t=i.value[0],s=o(i.value[1],t,e);if(n(s)){const n=new Set;u.set(t,s);const i=s.then(e=>{n.delete(i),u.set(t,e)});return n.add(i),k(e,c,r,o,u,n)}u.set(t,s),i=c.next()}return u}(e,r,o);if(e.constructor==Object)return function(t,e,r){const o={},u={};for(const c in t){u[c]=!0;const i=r(t[c],c,t);if(n(i)){const n=new Set;o[c]=i;const s=i.then(t=>{n.delete(s),o[c]=t});return n.add(s),q(t,e,r,o,u,n)}o[c]=i}return o}(e,r,o);throw new TypeError(`invalid functor ${e}`)};return H.pool=function(t,e,r){return null==r?s(L,c,t,e):n(t)?t.then(s(L,c,e,r)):L(t,e,r)},H}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define(()=>t):n.map=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.iterator,e=(n,e)=>({toString:()=>"[object MappingIterator]",[t](){return this},next(){const t=n.next();return t.done?t:{value:e(t.value),done:!1}}}),r=n=>({value:n,done:!1}),o=Symbol.asyncIterator,u=(t,e)=>({[o](){return this},async next(){const o=await t.next();if(o.done)return o;const u=e(o.value);return n(u)?u.then(r):{value:u,done:!1}}}),c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},s=function(n,t,e,r){return t==c?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==c?((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)},f=Array.isArray,l=Promise.all.bind(Promise),a=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},h=(n,t,e)=>n[t](e),d=n=>function(){return n},p=function(n,t,e,r,o){return t==c?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==c?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==c?((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)},y=(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)),g=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},v=function(n,t,e){return n[t]=e,n},x=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},S=function(t,e){const r=t.length,o=Array(r);let u=-1;for(;++u<r;){const r=e(t[u],u);if(n(r))return r.then(g(s(v,o,u,c),p(x,t,e,c,u)));o[u]=r}return o},b=(n,t,e,r,o)=>function(){return n(t,e,r,o)},j=async function(t,e,r,o){for(const u in t){if(u in o)continue;let c=e(t[u]);n(c)&&(c=await c),r[u]=c}return r},m=(n,t,e,r)=>function(){return n(t,e,r)},M=function(n,t){return n.add(t),n},T=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value);n(u)&&(u=await u),r.add(u),o=t.next()}return r},z=function(n,t,e){return n.set(t,e)},E=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value[1]);n(u)&&(u=await u),r.set(o.value[0],u),o=t.next()}return r},O=n=>function(...t){return n(...t),t[0]},A=Promise.race.bind(Promise),P=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await A(c);const i=e(t[u]);if(n(i)){const n=i.then(O(()=>c.delete(n)));c.add(n),o[u]=n}else o[u]=i}return l(o)},$=function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(t[c]);if(n(o)){const n=new Set,i=o.then(O(()=>n.delete(i)));return n.add(i),u[c]=i,P(t,r,e,u,c,n)}u[c]=o}return u},I=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=o(i.value,i.value,t);if(n(s)){const n=s.then(t=>{c.delete(n),u.add(t)});c.add(n)}else u.add(s);i=e.next()}return c.size>0&&await l(c),u},k=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=i.value[0],f=o(i.value[1],s,t);if(n(f)){u.set(s,f);const n=f.then(t=>{c.delete(n),u.set(s,t)});c.add(n)}else u.set(s,f);i=e.next()}return c.size>0&&await l(c),u},q=async function(t,e,r,o,u,c){for(const i in t){if(i in u)continue;c.size>=e&&await A(c);const s=r(t[i],i,t);if(n(s)){o[i]=s;const n=s.then(t=>{c.delete(n),o[i]=t});c.add(n)}else o[i]=s}return c.size>0&&await l(c),o},B=function(t){if(f(t)){const e=t.length;let r=-1;for(;++r<e;){const e=t[r];if(n(e))return!0}return!1}for(const e in t){const r=t[e];if(n(r))return!0}return!1},C=(n,t,e)=>n.apply(t,e),D=(n,t,e,r)=>function(...o){const u=r.length,i=o.length,f=[];let a=-1,h=-1,d=0;for(;++a<u;){const u=r[a];if(u==c&&(h+=1)<i){const n=o[h];n==c&&(d+=1),f.push(n)}else f.push(u);if(f.length==n)return B(f)?0==d?l(f).then(s(C,t,e,c)):l(f).then(p(F,n,t,e,c)):0==d?t.apply(e,f):F(n,t,e,f)}for(;++h<i;){const r=o[h];if(r==c&&(d+=1),f.push(r),f.length==n)return B(f)?0==d?l(f).then(s(C,t,e,c)):l(f).then(p(F,n,t,e,c)):0==d?t.apply(e,f):F(n,t,e,f)}return B(f)?l(f).then(p(F,n,t,e,c)):F(n,t,e,f)},F=function(n,t,e,r){const o=r.length;if(o<n)return D(n,t,e,r);let u=-1;for(;++u<o;){if(r[u]==c)return D(n,t,e,r)}return t.apply(e,r)},G=n=>function([t,e]){return n(t,e)},H=(t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(G(F(3,z,this,[e])))):e.set(c[0],c[1])},J=function(r,i){return f(r)?a(r,i):null==r?r:"function"==typeof r.then?r.then(i):"function"==typeof r.map?r.map(i):"string"==typeof r||r.constructor==String?function(t,e){const r=a(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(r,i):r.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const i=e(u,u,t);n(i)?o.push(i.then(s(h,r,"add",c))):r.add(i)}return 0==o.length?r:l(o).then(d(r))}(r,i):r.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,i]of t){const s=e(i,u,t);n(s)?o.push(s.then(p(y,r,"set",u,c))):r.set(u,s)}return 0==o.length?r:l(o).then(d(r))}(r,i):"function"==typeof r[t]?e(r[t](),i):"function"==typeof r[o]?u(r[o](),i):r.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}(r,i):i(r)},K=function(t,e){return null==e?i(J,c,t):n(t)?t.then(i(J,c,e)):J(t,e)},L=(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(G(F(3,v,this,[r])))):r[c[0]]=c[1]}return 0==o.length?r:l(o).then(d(r))}(t,e);if(t.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(H(t,e,r)),0==r.length?e:l(r).then(d(e))}(t,e);throw new TypeError("value is not an Object or Map")};K.entries=function(t,e){return null==e?i(L,c,t):n(t)?t.then(i(L,c,e)):L(t,e)};const N=function(e,r){if(f(e))return S(e,r);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e){const r=S(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(e,r);if(e.constructor==Set)return function(e,r){const o=new Set,u=e[t]();let s=u.next();for(;!s.done;){const t=r(s.value);if(n(t))return t.then(g(i(M,o,c),m(T,u,r,o)));o.add(t),s=u.next()}return o}(e,r);if(e.constructor==Map)return function(e,r){const o=new Map,u=e[t]();let i=u.next();for(;!i.done;){const t=i.value[0],e=r(i.value[1]);if(n(e))return e.then(g(s(z,o,t,c),m(E,u,r,o)));o.set(t,e),i=u.next()}return o}(e,r);if(e.constructor==Object)return function(t,e){const r={},o={};for(const u in t){o[u]=!0;const i=e(t[u],u,t);if(n(i))return i.then(g(s(v,r,u,c),b(j,t,e,r,o)));r[u]=i}return r}(e,r);throw new TypeError(`invalid collection ${e}`)};K.series=function(t,e){return null==e?i(N,c,t):n(t)?t.then(i(N,c,e)):N(t,e)};const Q=function(e,r,o){if(f(e))return $(e,r,o);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e,r){const o=$(t,e,r);return n(o)?o.then(s(h,c,"join","")):o.join("")}(e,r,o);if(e.constructor==Set)return function(e,r,o){const u=new Set,c=e[t]();let i=c.next();for(;!i.done;){const t=o(i.value,i.value,e);if(n(t)){const n=new Set,i=t.then(t=>{n.delete(i),u.add(t)});return n.add(i),I(e,c,r,o,u,n)}u.add(t),i=c.next()}return u}(e,r,o);if(e.constructor==Map)return function(e,r,o){const u=new Map,c=e[t]();let i=c.next();for(;!i.done;){const t=i.value[0],s=o(i.value[1],t,e);if(n(s)){const n=new Set;u.set(t,s);const i=s.then(e=>{n.delete(i),u.set(t,e)});return n.add(i),k(e,c,r,o,u,n)}u.set(t,s),i=c.next()}return u}(e,r,o);if(e.constructor==Object)return function(t,e,r){const o={},u={};for(const c in t){u[c]=!0;const i=r(t[c],c,t);if(n(i)){const n=new Set;o[c]=i;const s=i.then(t=>{n.delete(s),o[c]=t});return n.add(s),q(t,e,r,o,u,n)}o[c]=i}return o}(e,r,o);throw new TypeError(`invalid functor ${e}`)};return K.pool=function(t,e,r){return null==r?s(Q,c,t,e):n(t)?t.then(s(Q,c,e,r)):Q(t,e,r)},K}());
package/dist/map.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -628,7 +628,31 @@ const objectMapPool = function (o, concurrency, f) {
628
628
  return result
629
629
  }
630
630
 
631
- const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
631
+ const areAnyValuesPromises = function (values) {
632
+ if (isArray(values)) {
633
+ const length = values.length
634
+ let index = -1
635
+ while (++index < length) {
636
+ const value = values[index]
637
+ if (isPromise(value)) {
638
+ return true
639
+ }
640
+ }
641
+ return false
642
+ }
643
+
644
+ for (const key in values) {
645
+ const value = values[key]
646
+ if (isPromise(value)) {
647
+ return true
648
+ }
649
+ }
650
+ return false
651
+ }
652
+
653
+ const funcApply2 = (func, context, args) => func.apply(context, args)
654
+
655
+ const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
632
656
  const argsLength = args.length,
633
657
  curriedArgsLength = curriedArgs.length,
634
658
  nextArgs = []
@@ -647,10 +671,16 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
647
671
  } else {
648
672
  nextArgs.push(arg)
649
673
  }
674
+
650
675
  if (nextArgs.length == arity) {
676
+ if (areAnyValuesPromises(nextArgs)) {
677
+ return numCurriedPlaceholders == 0
678
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
679
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
680
+ }
651
681
  return numCurriedPlaceholders == 0
652
- ? func(...nextArgs)
653
- : curryArity(arity, func, nextArgs)
682
+ ? func.apply(context, nextArgs)
683
+ : curryArity(arity, func, context, nextArgs)
654
684
  }
655
685
  }
656
686
 
@@ -660,28 +690,37 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
660
690
  numCurriedPlaceholders += 1
661
691
  }
662
692
  nextArgs.push(curriedArg)
693
+
663
694
  if (nextArgs.length == arity) {
695
+ if (areAnyValuesPromises(nextArgs)) {
696
+ return numCurriedPlaceholders == 0
697
+ ? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
698
+ : promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
699
+ }
664
700
  return numCurriedPlaceholders == 0
665
- ? func(...nextArgs)
666
- : curryArity(arity, func, nextArgs)
701
+ ? func.apply(context, nextArgs)
702
+ : curryArity(arity, func, context, nextArgs)
667
703
  }
668
704
  }
669
- return curryArity(arity, func, nextArgs)
705
+
706
+ return areAnyValuesPromises(nextArgs)
707
+ ? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
708
+ : curryArity(arity, func, context, nextArgs)
670
709
  }
671
710
 
672
- const curryArity = function (arity, func, args) {
711
+ const curryArity = function (arity, func, context, args) {
673
712
  const argsLength = args.length
674
713
  if (argsLength < arity) {
675
- return _curryArity(arity, func, args)
714
+ return _curryArity(arity, func, context, args)
676
715
  }
677
716
  let argsIndex = -1
678
717
  while (++argsIndex < argsLength) {
679
718
  const arg = args[argsIndex]
680
719
  if (arg == __) {
681
- return _curryArity(arity, func, args)
720
+ return _curryArity(arity, func, context, args)
682
721
  }
683
722
  }
684
- return func(...args)
723
+ return func.apply(context, args)
685
724
  }
686
725
 
687
726
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -696,7 +735,7 @@ const objectMapEntries = function (object, mapper) {
696
735
  mapping = mapper([key, value])
697
736
  if (isPromise(mapping)) {
698
737
  promises.push(mapping.then(
699
- spread2(curryArity(3, objectSet, [result]))))
738
+ spread2(curryArity(3, objectSet, this, [result]))))
700
739
  } else {
701
740
  result[mapping[0]] = mapping[1]
702
741
  }
@@ -712,7 +751,7 @@ const mapMapEntriesForEachCallback = (
712
751
  ) => function callback(value, key) {
713
752
  const mapping = mapper([key, value])
714
753
  if (isPromise(mapping)) {
715
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
754
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
716
755
  } else {
717
756
  result.set(mapping[0], mapping[1])
718
757
  }
package/dist/not.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/not.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/not.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/not.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/omit.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/omit.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/omit.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/omit.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/or.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/or.es.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/or.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/or.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/or.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pick.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pick.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pick.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pick.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pipe.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pipe.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pipe.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/pipe.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/reduce.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/reduce.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/reduce.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2026 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.