rubico 2.7.10 → 2.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/_internal/curryArity.js +14 -12
  2. package/_internal/mapMapEntries.js +1 -1
  3. package/_internal/objectMapEntries.js +1 -1
  4. package/curry.js +59 -3
  5. package/dist/Transducer.es.js +1 -1
  6. package/dist/Transducer.es.min.js +1 -1
  7. package/dist/Transducer.js +1 -1
  8. package/dist/Transducer.min.js +1 -1
  9. package/dist/Transducer.mjs +1 -1
  10. package/dist/__.es.js +1 -1
  11. package/dist/__.es.min.js +1 -1
  12. package/dist/__.js +1 -1
  13. package/dist/__.min.js +1 -1
  14. package/dist/__.mjs +1 -1
  15. package/dist/all.es.js +1 -1
  16. package/dist/all.es.min.js +1 -1
  17. package/dist/all.js +1 -1
  18. package/dist/all.min.js +1 -1
  19. package/dist/all.mjs +1 -1
  20. package/dist/always.es.js +1 -1
  21. package/dist/always.es.min.js +1 -1
  22. package/dist/always.js +1 -1
  23. package/dist/always.min.js +1 -1
  24. package/dist/always.mjs +1 -1
  25. package/dist/and.es.js +1 -1
  26. package/dist/and.es.min.js +1 -1
  27. package/dist/and.js +1 -1
  28. package/dist/and.min.js +1 -1
  29. package/dist/and.mjs +1 -1
  30. package/dist/assign.es.js +1 -1
  31. package/dist/assign.es.min.js +1 -1
  32. package/dist/assign.js +1 -1
  33. package/dist/assign.min.js +1 -1
  34. package/dist/assign.mjs +1 -1
  35. package/dist/compose.es.js +1 -1
  36. package/dist/compose.es.min.js +1 -1
  37. package/dist/compose.js +1 -1
  38. package/dist/compose.min.js +1 -1
  39. package/dist/compose.mjs +1 -1
  40. package/dist/curry.es.js +17 -13
  41. package/dist/curry.es.min.js +2 -2
  42. package/dist/curry.js +17 -13
  43. package/dist/curry.min.js +2 -2
  44. package/dist/curry.mjs +17 -13
  45. package/dist/eq.es.js +1 -1
  46. package/dist/eq.es.min.js +1 -1
  47. package/dist/eq.js +1 -1
  48. package/dist/eq.min.js +1 -1
  49. package/dist/eq.mjs +1 -1
  50. package/dist/every.es.js +1 -1
  51. package/dist/every.es.min.js +1 -1
  52. package/dist/every.js +1 -1
  53. package/dist/every.min.js +1 -1
  54. package/dist/every.mjs +1 -1
  55. package/dist/filter.es.js +1 -1
  56. package/dist/filter.es.min.js +1 -1
  57. package/dist/filter.js +1 -1
  58. package/dist/filter.min.js +1 -1
  59. package/dist/filter.mjs +1 -1
  60. package/dist/flatMap.es.js +1 -1
  61. package/dist/flatMap.es.min.js +1 -1
  62. package/dist/flatMap.js +1 -1
  63. package/dist/flatMap.min.js +1 -1
  64. package/dist/flatMap.mjs +1 -1
  65. package/dist/forEach.es.js +1 -1
  66. package/dist/forEach.es.min.js +1 -1
  67. package/dist/forEach.js +1 -1
  68. package/dist/forEach.min.js +1 -1
  69. package/dist/forEach.mjs +1 -1
  70. package/dist/get.es.js +1 -1
  71. package/dist/get.es.min.js +1 -1
  72. package/dist/get.js +1 -1
  73. package/dist/get.min.js +1 -1
  74. package/dist/get.mjs +1 -1
  75. package/dist/gt.es.js +1 -1
  76. package/dist/gt.es.min.js +1 -1
  77. package/dist/gt.js +1 -1
  78. package/dist/gt.min.js +1 -1
  79. package/dist/gt.mjs +1 -1
  80. package/dist/gte.es.js +1 -1
  81. package/dist/gte.es.min.js +1 -1
  82. package/dist/gte.js +1 -1
  83. package/dist/gte.min.js +1 -1
  84. package/dist/gte.mjs +1 -1
  85. package/dist/lt.es.js +1 -1
  86. package/dist/lt.es.min.js +1 -1
  87. package/dist/lt.js +1 -1
  88. package/dist/lt.min.js +1 -1
  89. package/dist/lt.mjs +1 -1
  90. package/dist/lte.es.js +1 -1
  91. package/dist/lte.es.min.js +1 -1
  92. package/dist/lte.js +1 -1
  93. package/dist/lte.min.js +1 -1
  94. package/dist/lte.mjs +1 -1
  95. package/dist/map.es.js +13 -13
  96. package/dist/map.es.min.js +2 -2
  97. package/dist/map.js +13 -13
  98. package/dist/map.min.js +2 -2
  99. package/dist/map.mjs +13 -13
  100. package/dist/not.es.js +1 -1
  101. package/dist/not.es.min.js +1 -1
  102. package/dist/not.js +1 -1
  103. package/dist/not.min.js +1 -1
  104. package/dist/not.mjs +1 -1
  105. package/dist/omit.es.js +1 -1
  106. package/dist/omit.es.min.js +1 -1
  107. package/dist/omit.js +1 -1
  108. package/dist/omit.min.js +1 -1
  109. package/dist/omit.mjs +1 -1
  110. package/dist/or.es.js +1 -1
  111. package/dist/or.es.min.js +1 -1
  112. package/dist/or.js +1 -1
  113. package/dist/or.min.js +1 -1
  114. package/dist/or.mjs +1 -1
  115. package/dist/pick.es.js +1 -1
  116. package/dist/pick.es.min.js +1 -1
  117. package/dist/pick.js +1 -1
  118. package/dist/pick.min.js +1 -1
  119. package/dist/pick.mjs +1 -1
  120. package/dist/pipe.es.js +1 -1
  121. package/dist/pipe.es.min.js +1 -1
  122. package/dist/pipe.js +1 -1
  123. package/dist/pipe.min.js +1 -1
  124. package/dist/pipe.mjs +1 -1
  125. package/dist/reduce.es.js +1 -1
  126. package/dist/reduce.es.min.js +1 -1
  127. package/dist/reduce.js +1 -1
  128. package/dist/reduce.min.js +1 -1
  129. package/dist/reduce.mjs +1 -1
  130. package/dist/rubico.es.js +19 -15
  131. package/dist/rubico.es.min.js +2 -2
  132. package/dist/rubico.global.js +19 -15
  133. package/dist/rubico.global.min.js +2 -2
  134. package/dist/rubico.js +19 -15
  135. package/dist/rubico.min.js +2 -2
  136. package/dist/rubico.mjs +19 -15
  137. package/dist/set.es.js +1 -1
  138. package/dist/set.es.min.js +1 -1
  139. package/dist/set.js +1 -1
  140. package/dist/set.min.js +1 -1
  141. package/dist/set.mjs +1 -1
  142. package/dist/some.es.js +1 -1
  143. package/dist/some.es.min.js +1 -1
  144. package/dist/some.js +1 -1
  145. package/dist/some.min.js +1 -1
  146. package/dist/some.mjs +1 -1
  147. package/dist/switchCase.es.js +1 -1
  148. package/dist/switchCase.es.min.js +1 -1
  149. package/dist/switchCase.js +1 -1
  150. package/dist/switchCase.min.js +1 -1
  151. package/dist/switchCase.mjs +1 -1
  152. package/dist/tap.es.js +1 -1
  153. package/dist/tap.es.min.js +1 -1
  154. package/dist/tap.js +1 -1
  155. package/dist/tap.min.js +1 -1
  156. package/dist/tap.mjs +1 -1
  157. package/dist/thunkify.es.js +1 -1
  158. package/dist/thunkify.es.min.js +1 -1
  159. package/dist/thunkify.js +1 -1
  160. package/dist/thunkify.min.js +1 -1
  161. package/dist/thunkify.mjs +1 -1
  162. package/dist/transform.es.js +1 -1
  163. package/dist/transform.es.min.js +1 -1
  164. package/dist/transform.js +1 -1
  165. package/dist/transform.min.js +1 -1
  166. package/dist/transform.mjs +1 -1
  167. package/dist/tryCatch.es.js +1 -1
  168. package/dist/tryCatch.es.min.js +1 -1
  169. package/dist/tryCatch.js +1 -1
  170. package/dist/tryCatch.min.js +1 -1
  171. package/dist/tryCatch.mjs +1 -1
  172. package/dist/x/append.es.js +1 -1
  173. package/dist/x/append.es.min.js +1 -1
  174. package/dist/x/append.js +1 -1
  175. package/dist/x/append.min.js +1 -1
  176. package/dist/x/append.mjs +1 -1
  177. package/dist/x/callProp.es.js +1 -1
  178. package/dist/x/callProp.es.min.js +1 -1
  179. package/dist/x/callProp.js +1 -1
  180. package/dist/x/callProp.min.js +1 -1
  181. package/dist/x/callProp.mjs +1 -1
  182. package/dist/x/defaultsDeep.es.js +1 -1
  183. package/dist/x/defaultsDeep.es.min.js +1 -1
  184. package/dist/x/defaultsDeep.js +1 -1
  185. package/dist/x/defaultsDeep.min.js +1 -1
  186. package/dist/x/defaultsDeep.mjs +1 -1
  187. package/dist/x/differenceWith.es.js +1 -1
  188. package/dist/x/differenceWith.es.min.js +1 -1
  189. package/dist/x/differenceWith.js +1 -1
  190. package/dist/x/differenceWith.min.js +1 -1
  191. package/dist/x/differenceWith.mjs +1 -1
  192. package/dist/x/filterOut.es.js +1 -1
  193. package/dist/x/filterOut.es.min.js +1 -1
  194. package/dist/x/filterOut.js +1 -1
  195. package/dist/x/filterOut.min.js +1 -1
  196. package/dist/x/filterOut.mjs +1 -1
  197. package/dist/x/find.es.js +1 -1
  198. package/dist/x/find.es.min.js +1 -1
  199. package/dist/x/find.js +1 -1
  200. package/dist/x/find.min.js +1 -1
  201. package/dist/x/find.mjs +1 -1
  202. package/dist/x/findIndex.es.js +1 -1
  203. package/dist/x/findIndex.es.min.js +1 -1
  204. package/dist/x/findIndex.js +1 -1
  205. package/dist/x/findIndex.min.js +1 -1
  206. package/dist/x/findIndex.mjs +1 -1
  207. package/dist/x/first.es.js +1 -1
  208. package/dist/x/first.es.min.js +1 -1
  209. package/dist/x/first.js +1 -1
  210. package/dist/x/first.min.js +1 -1
  211. package/dist/x/first.mjs +1 -1
  212. package/dist/x/flatten.es.js +1 -1
  213. package/dist/x/flatten.es.min.js +1 -1
  214. package/dist/x/flatten.js +1 -1
  215. package/dist/x/flatten.min.js +1 -1
  216. package/dist/x/flatten.mjs +1 -1
  217. package/dist/x/groupBy.es.js +1 -1
  218. package/dist/x/groupBy.es.min.js +1 -1
  219. package/dist/x/groupBy.js +1 -1
  220. package/dist/x/groupBy.min.js +1 -1
  221. package/dist/x/groupBy.mjs +1 -1
  222. package/dist/x/has.es.js +1 -1
  223. package/dist/x/has.es.min.js +1 -1
  224. package/dist/x/has.js +1 -1
  225. package/dist/x/has.min.js +1 -1
  226. package/dist/x/has.mjs +1 -1
  227. package/dist/x/identity.es.js +1 -1
  228. package/dist/x/identity.es.min.js +1 -1
  229. package/dist/x/identity.js +1 -1
  230. package/dist/x/identity.min.js +1 -1
  231. package/dist/x/identity.mjs +1 -1
  232. package/dist/x/includes.es.js +1 -1
  233. package/dist/x/includes.es.min.js +1 -1
  234. package/dist/x/includes.js +1 -1
  235. package/dist/x/includes.min.js +1 -1
  236. package/dist/x/includes.mjs +1 -1
  237. package/dist/x/isDeepEqual.es.js +1 -1
  238. package/dist/x/isDeepEqual.es.min.js +1 -1
  239. package/dist/x/isDeepEqual.js +1 -1
  240. package/dist/x/isDeepEqual.min.js +1 -1
  241. package/dist/x/isDeepEqual.mjs +1 -1
  242. package/dist/x/isEmpty.es.js +1 -1
  243. package/dist/x/isEmpty.es.min.js +1 -1
  244. package/dist/x/isEmpty.js +1 -1
  245. package/dist/x/isEmpty.min.js +1 -1
  246. package/dist/x/isEmpty.mjs +1 -1
  247. package/dist/x/isEqual.es.js +1 -1
  248. package/dist/x/isEqual.es.min.js +1 -1
  249. package/dist/x/isEqual.js +1 -1
  250. package/dist/x/isEqual.min.js +1 -1
  251. package/dist/x/isEqual.mjs +1 -1
  252. package/dist/x/isFunction.es.js +1 -1
  253. package/dist/x/isFunction.es.min.js +1 -1
  254. package/dist/x/isFunction.js +1 -1
  255. package/dist/x/isFunction.min.js +1 -1
  256. package/dist/x/isFunction.mjs +1 -1
  257. package/dist/x/isIn.es.js +1 -1
  258. package/dist/x/isIn.es.min.js +1 -1
  259. package/dist/x/isIn.js +1 -1
  260. package/dist/x/isIn.min.js +1 -1
  261. package/dist/x/isIn.mjs +1 -1
  262. package/dist/x/isObject.es.js +1 -1
  263. package/dist/x/isObject.es.min.js +1 -1
  264. package/dist/x/isObject.js +1 -1
  265. package/dist/x/isObject.min.js +1 -1
  266. package/dist/x/isObject.mjs +1 -1
  267. package/dist/x/isString.es.js +1 -1
  268. package/dist/x/isString.es.min.js +1 -1
  269. package/dist/x/isString.js +1 -1
  270. package/dist/x/isString.min.js +1 -1
  271. package/dist/x/isString.mjs +1 -1
  272. package/dist/x/keys.es.js +1 -1
  273. package/dist/x/keys.es.min.js +1 -1
  274. package/dist/x/keys.js +1 -1
  275. package/dist/x/keys.min.js +1 -1
  276. package/dist/x/keys.mjs +1 -1
  277. package/dist/x/last.es.js +1 -1
  278. package/dist/x/last.es.min.js +1 -1
  279. package/dist/x/last.js +1 -1
  280. package/dist/x/last.min.js +1 -1
  281. package/dist/x/last.mjs +1 -1
  282. package/dist/x/maxBy.es.js +1 -1
  283. package/dist/x/maxBy.es.min.js +1 -1
  284. package/dist/x/maxBy.js +1 -1
  285. package/dist/x/maxBy.min.js +1 -1
  286. package/dist/x/maxBy.mjs +1 -1
  287. package/dist/x/noop.es.js +1 -1
  288. package/dist/x/noop.es.min.js +1 -1
  289. package/dist/x/noop.js +1 -1
  290. package/dist/x/noop.min.js +1 -1
  291. package/dist/x/noop.mjs +1 -1
  292. package/dist/x/pluck.es.js +13 -13
  293. package/dist/x/pluck.es.min.js +2 -2
  294. package/dist/x/pluck.js +13 -13
  295. package/dist/x/pluck.min.js +2 -2
  296. package/dist/x/pluck.mjs +13 -13
  297. package/dist/x/prepend.es.js +1 -1
  298. package/dist/x/prepend.es.min.js +1 -1
  299. package/dist/x/prepend.js +1 -1
  300. package/dist/x/prepend.min.js +1 -1
  301. package/dist/x/prepend.mjs +1 -1
  302. package/dist/x/size.es.js +1 -1
  303. package/dist/x/size.es.min.js +1 -1
  304. package/dist/x/size.js +1 -1
  305. package/dist/x/size.min.js +1 -1
  306. package/dist/x/size.mjs +1 -1
  307. package/dist/x/trace.es.js +1 -1
  308. package/dist/x/trace.es.min.js +1 -1
  309. package/dist/x/trace.js +1 -1
  310. package/dist/x/trace.min.js +1 -1
  311. package/dist/x/trace.mjs +1 -1
  312. package/dist/x/unionWith.es.js +1 -1
  313. package/dist/x/unionWith.es.min.js +1 -1
  314. package/dist/x/unionWith.js +1 -1
  315. package/dist/x/unionWith.min.js +1 -1
  316. package/dist/x/unionWith.mjs +1 -1
  317. package/dist/x/uniq.es.js +1 -1
  318. package/dist/x/uniq.es.min.js +1 -1
  319. package/dist/x/uniq.js +1 -1
  320. package/dist/x/uniq.min.js +1 -1
  321. package/dist/x/uniq.mjs +1 -1
  322. package/dist/x/unless.es.js +1 -1
  323. package/dist/x/unless.es.min.js +1 -1
  324. package/dist/x/unless.js +1 -1
  325. package/dist/x/unless.min.js +1 -1
  326. package/dist/x/unless.mjs +1 -1
  327. package/dist/x/values.es.js +1 -1
  328. package/dist/x/values.es.min.js +1 -1
  329. package/dist/x/values.js +1 -1
  330. package/dist/x/values.min.js +1 -1
  331. package/dist/x/values.mjs +1 -1
  332. package/dist/x/when.es.js +1 -1
  333. package/dist/x/when.es.min.js +1 -1
  334. package/dist/x/when.js +1 -1
  335. package/dist/x/when.min.js +1 -1
  336. package/dist/x/when.mjs +1 -1
  337. package/es.js +19 -15
  338. package/index.js +19 -15
  339. package/package.json +1 -1
package/dist/map.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.0
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,7 @@ 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 _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
638
638
  const argsLength = args.length,
639
639
  curriedArgsLength = curriedArgs.length,
640
640
  nextArgs = []
@@ -655,8 +655,8 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
655
655
  }
656
656
  if (nextArgs.length == arity) {
657
657
  return numCurriedPlaceholders == 0
658
- ? func(...nextArgs)
659
- : curryArity(arity, func, nextArgs)
658
+ ? func.apply(context, nextArgs)
659
+ : curryArity(arity, func, context, nextArgs)
660
660
  }
661
661
  }
662
662
 
@@ -668,26 +668,26 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
668
668
  nextArgs.push(curriedArg)
669
669
  if (nextArgs.length == arity) {
670
670
  return numCurriedPlaceholders == 0
671
- ? func(...nextArgs)
672
- : curryArity(arity, func, nextArgs)
671
+ ? func.apply(context, nextArgs)
672
+ : curryArity(arity, func, context, nextArgs)
673
673
  }
674
674
  }
675
- return curryArity(arity, func, nextArgs)
675
+ return curryArity(arity, func, context, nextArgs)
676
676
  }
677
677
 
678
- const curryArity = function (arity, func, args) {
678
+ const curryArity = function (arity, func, context, args) {
679
679
  const argsLength = args.length
680
680
  if (argsLength < arity) {
681
- return _curryArity(arity, func, args)
681
+ return _curryArity(arity, func, context, args)
682
682
  }
683
683
  let argsIndex = -1
684
684
  while (++argsIndex < argsLength) {
685
685
  const arg = args[argsIndex]
686
686
  if (arg == __) {
687
- return _curryArity(arity, func, args)
687
+ return _curryArity(arity, func, context, args)
688
688
  }
689
689
  }
690
- return func(...args)
690
+ return func.apply(context, args)
691
691
  }
692
692
 
693
693
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -702,7 +702,7 @@ const objectMapEntries = function (object, mapper) {
702
702
  mapping = mapper([key, value])
703
703
  if (isPromise(mapping)) {
704
704
  promises.push(mapping.then(
705
- spread2(curryArity(3, objectSet, [result]))))
705
+ spread2(curryArity(3, objectSet, this, [result]))))
706
706
  } else {
707
707
  result[mapping[0]] = mapping[1]
708
708
  }
@@ -718,7 +718,7 @@ const mapMapEntriesForEachCallback = (
718
718
  ) => function callback(value, key) {
719
719
  const mapping = mapper([key, value])
720
720
  if (isPromise(mapping)) {
721
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
721
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
722
722
  } else {
723
723
  result.set(mapping[0], mapping[1])
724
724
  }
package/dist/map.min.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.0
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,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)},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)),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,r)=>function(...o){const u=r.length,i=o.length,s=[];let f=-1,a=-1,l=0;for(;++f<u;){const u=r[f];if(u==c&&(a+=1)<i){const n=o[a];n==c&&(l+=1),s.push(n)}else s.push(u);if(s.length==n)return 0==l?t.apply(e,s):C(n,t,e,s)}for(;++a<i;){const r=o[a];if(r==c&&(l+=1),s.push(r),s.length==n)return 0==l?t.apply(e,s):C(n,t,e,s)}return C(n,t,e,s)},C=function(n,t,e,r){const o=r.length;if(o<n)return B(n,t,e,r);let u=-1;for(;++u<o;){if(r[u]==c)return B(n,t,e,r)}return t.apply(e,r)},D=n=>function([t,e]){return n(t,e)},F=(t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(D(C(3,z,this,[e])))):e.set(c[0],c[1])},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(y,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?w(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,this,[r])))):r[c[0]]=c[1]}return 0==o.length?r:a(o).then(d(r))}(t,e);if(t.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(F(t,e,r)),0==r.length?e:a(r).then(d(e))}(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}());
package/dist/map.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.0
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,7 @@ 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 _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
632
632
  const argsLength = args.length,
633
633
  curriedArgsLength = curriedArgs.length,
634
634
  nextArgs = []
@@ -649,8 +649,8 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
649
649
  }
650
650
  if (nextArgs.length == arity) {
651
651
  return numCurriedPlaceholders == 0
652
- ? func(...nextArgs)
653
- : curryArity(arity, func, nextArgs)
652
+ ? func.apply(context, nextArgs)
653
+ : curryArity(arity, func, context, nextArgs)
654
654
  }
655
655
  }
656
656
 
@@ -662,26 +662,26 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
662
662
  nextArgs.push(curriedArg)
663
663
  if (nextArgs.length == arity) {
664
664
  return numCurriedPlaceholders == 0
665
- ? func(...nextArgs)
666
- : curryArity(arity, func, nextArgs)
665
+ ? func.apply(context, nextArgs)
666
+ : curryArity(arity, func, context, nextArgs)
667
667
  }
668
668
  }
669
- return curryArity(arity, func, nextArgs)
669
+ return curryArity(arity, func, context, nextArgs)
670
670
  }
671
671
 
672
- const curryArity = function (arity, func, args) {
672
+ const curryArity = function (arity, func, context, args) {
673
673
  const argsLength = args.length
674
674
  if (argsLength < arity) {
675
- return _curryArity(arity, func, args)
675
+ return _curryArity(arity, func, context, args)
676
676
  }
677
677
  let argsIndex = -1
678
678
  while (++argsIndex < argsLength) {
679
679
  const arg = args[argsIndex]
680
680
  if (arg == __) {
681
- return _curryArity(arity, func, args)
681
+ return _curryArity(arity, func, context, args)
682
682
  }
683
683
  }
684
- return func(...args)
684
+ return func.apply(context, args)
685
685
  }
686
686
 
687
687
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -696,7 +696,7 @@ const objectMapEntries = function (object, mapper) {
696
696
  mapping = mapper([key, value])
697
697
  if (isPromise(mapping)) {
698
698
  promises.push(mapping.then(
699
- spread2(curryArity(3, objectSet, [result]))))
699
+ spread2(curryArity(3, objectSet, this, [result]))))
700
700
  } else {
701
701
  result[mapping[0]] = mapping[1]
702
702
  }
@@ -712,7 +712,7 @@ const mapMapEntriesForEachCallback = (
712
712
  ) => function callback(value, key) {
713
713
  const mapping = mapper([key, value])
714
714
  if (isPromise(mapping)) {
715
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
715
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
716
716
  } else {
717
717
  result.set(mapping[0], mapping[1])
718
718
  }
package/dist/not.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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.0
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/rubico.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.10
2
+ * rubico v2.8.0
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.
@@ -1062,7 +1062,7 @@ const objectMapPool = function (o, concurrency, f) {
1062
1062
  return result
1063
1063
  }
1064
1064
 
1065
- const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1065
+ const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
1066
1066
  const argsLength = args.length,
1067
1067
  curriedArgsLength = curriedArgs.length,
1068
1068
  nextArgs = []
@@ -1083,8 +1083,8 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1083
1083
  }
1084
1084
  if (nextArgs.length == arity) {
1085
1085
  return numCurriedPlaceholders == 0
1086
- ? func(...nextArgs)
1087
- : curryArity(arity, func, nextArgs)
1086
+ ? func.apply(context, nextArgs)
1087
+ : curryArity(arity, func, context, nextArgs)
1088
1088
  }
1089
1089
  }
1090
1090
 
@@ -1096,26 +1096,26 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1096
1096
  nextArgs.push(curriedArg)
1097
1097
  if (nextArgs.length == arity) {
1098
1098
  return numCurriedPlaceholders == 0
1099
- ? func(...nextArgs)
1100
- : curryArity(arity, func, nextArgs)
1099
+ ? func.apply(context, nextArgs)
1100
+ : curryArity(arity, func, context, nextArgs)
1101
1101
  }
1102
1102
  }
1103
- return curryArity(arity, func, nextArgs)
1103
+ return curryArity(arity, func, context, nextArgs)
1104
1104
  }
1105
1105
 
1106
- const curryArity = function (arity, func, args) {
1106
+ const curryArity = function (arity, func, context, args) {
1107
1107
  const argsLength = args.length
1108
1108
  if (argsLength < arity) {
1109
- return _curryArity(arity, func, args)
1109
+ return _curryArity(arity, func, context, args)
1110
1110
  }
1111
1111
  let argsIndex = -1
1112
1112
  while (++argsIndex < argsLength) {
1113
1113
  const arg = args[argsIndex]
1114
1114
  if (arg == __) {
1115
- return _curryArity(arity, func, args)
1115
+ return _curryArity(arity, func, context, args)
1116
1116
  }
1117
1117
  }
1118
- return func(...args)
1118
+ return func.apply(context, args)
1119
1119
  }
1120
1120
 
1121
1121
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -1130,7 +1130,7 @@ const objectMapEntries = function (object, mapper) {
1130
1130
  mapping = mapper([key, value])
1131
1131
  if (isPromise(mapping)) {
1132
1132
  promises.push(mapping.then(
1133
- spread2(curryArity(3, objectSet, [result]))))
1133
+ spread2(curryArity(3, objectSet, this, [result]))))
1134
1134
  } else {
1135
1135
  result[mapping[0]] = mapping[1]
1136
1136
  }
@@ -1146,7 +1146,7 @@ const mapMapEntriesForEachCallback = (
1146
1146
  ) => function callback(value, key) {
1147
1147
  const mapping = mapper([key, value])
1148
1148
  if (isPromise(mapping)) {
1149
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
1149
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
1150
1150
  } else {
1151
1151
  result.set(mapping[0], mapping[1])
1152
1152
  }
@@ -3285,10 +3285,14 @@ const thunkify = (func, ...args) => function thunk() {
3285
3285
  return func(...args)
3286
3286
  }
3287
3287
 
3288
- const curry = (func, ...args) => curryArity(func.length, func, args)
3288
+ const curry = (func, ...args) => curryArity(func.length, func, this, args)
3289
3289
 
3290
3290
  curry.arity = function curryArity_(arity, func, ...args) {
3291
- return curryArity(arity, func, args)
3291
+ return curryArity(arity, func, this, args)
3292
+ }
3293
+
3294
+ curry.call = function call(func, context, ...args) {
3295
+ return curryArity(func.length, func, context, args)
3292
3296
  }
3293
3297
 
3294
3298
  const rubico = {