rubico 2.7.9 → 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 (343) hide show
  1. package/README.md +2 -2
  2. package/_internal/arraySome.js +6 -6
  3. package/_internal/asyncIteratorEvery.js +10 -10
  4. package/_internal/asyncIteratorSome.js +9 -9
  5. package/_internal/curryArity.js +14 -12
  6. package/_internal/mapMapEntries.js +1 -1
  7. package/_internal/objectMapEntries.js +1 -1
  8. package/curry.js +59 -3
  9. package/dist/Transducer.es.js +1 -1
  10. package/dist/Transducer.es.min.js +1 -1
  11. package/dist/Transducer.js +1 -1
  12. package/dist/Transducer.min.js +2 -2
  13. package/dist/Transducer.mjs +1 -1
  14. package/dist/__.es.js +1 -1
  15. package/dist/__.es.min.js +1 -1
  16. package/dist/__.js +1 -1
  17. package/dist/__.min.js +2 -2
  18. package/dist/__.mjs +1 -1
  19. package/dist/all.es.js +1 -1
  20. package/dist/all.es.min.js +1 -1
  21. package/dist/all.js +1 -1
  22. package/dist/all.min.js +2 -2
  23. package/dist/all.mjs +1 -1
  24. package/dist/always.es.js +1 -1
  25. package/dist/always.es.min.js +1 -1
  26. package/dist/always.js +1 -1
  27. package/dist/always.min.js +2 -2
  28. package/dist/always.mjs +1 -1
  29. package/dist/and.es.js +1 -1
  30. package/dist/and.es.min.js +1 -1
  31. package/dist/and.js +1 -1
  32. package/dist/and.min.js +2 -2
  33. package/dist/and.mjs +1 -1
  34. package/dist/assign.es.js +1 -1
  35. package/dist/assign.es.min.js +1 -1
  36. package/dist/assign.js +1 -1
  37. package/dist/assign.min.js +2 -2
  38. package/dist/assign.mjs +1 -1
  39. package/dist/compose.es.js +1 -1
  40. package/dist/compose.es.min.js +1 -1
  41. package/dist/compose.js +1 -1
  42. package/dist/compose.min.js +2 -2
  43. package/dist/compose.mjs +1 -1
  44. package/dist/curry.es.js +17 -13
  45. package/dist/curry.es.min.js +2 -2
  46. package/dist/curry.js +17 -13
  47. package/dist/curry.min.js +2 -2
  48. package/dist/curry.mjs +17 -13
  49. package/dist/eq.es.js +1 -1
  50. package/dist/eq.es.min.js +1 -1
  51. package/dist/eq.js +1 -1
  52. package/dist/eq.min.js +2 -2
  53. package/dist/eq.mjs +1 -1
  54. package/dist/every.es.js +9 -9
  55. package/dist/every.es.min.js +2 -2
  56. package/dist/every.js +9 -9
  57. package/dist/every.min.js +2 -2
  58. package/dist/every.mjs +9 -9
  59. package/dist/filter.es.js +1 -1
  60. package/dist/filter.es.min.js +1 -1
  61. package/dist/filter.js +1 -1
  62. package/dist/filter.min.js +2 -2
  63. package/dist/filter.mjs +1 -1
  64. package/dist/flatMap.es.js +1 -1
  65. package/dist/flatMap.es.min.js +2 -2
  66. package/dist/flatMap.js +1 -1
  67. package/dist/flatMap.min.js +2 -2
  68. package/dist/flatMap.mjs +1 -1
  69. package/dist/forEach.es.js +1 -1
  70. package/dist/forEach.es.min.js +1 -1
  71. package/dist/forEach.js +1 -1
  72. package/dist/forEach.min.js +2 -2
  73. package/dist/forEach.mjs +1 -1
  74. package/dist/get.es.js +1 -1
  75. package/dist/get.es.min.js +1 -1
  76. package/dist/get.js +1 -1
  77. package/dist/get.min.js +2 -2
  78. package/dist/get.mjs +1 -1
  79. package/dist/gt.es.js +1 -1
  80. package/dist/gt.es.min.js +1 -1
  81. package/dist/gt.js +1 -1
  82. package/dist/gt.min.js +2 -2
  83. package/dist/gt.mjs +1 -1
  84. package/dist/gte.es.js +1 -1
  85. package/dist/gte.es.min.js +1 -1
  86. package/dist/gte.js +1 -1
  87. package/dist/gte.min.js +2 -2
  88. package/dist/gte.mjs +1 -1
  89. package/dist/lt.es.js +1 -1
  90. package/dist/lt.es.min.js +1 -1
  91. package/dist/lt.js +1 -1
  92. package/dist/lt.min.js +2 -2
  93. package/dist/lt.mjs +1 -1
  94. package/dist/lte.es.js +1 -1
  95. package/dist/lte.es.min.js +1 -1
  96. package/dist/lte.js +1 -1
  97. package/dist/lte.min.js +2 -2
  98. package/dist/lte.mjs +1 -1
  99. package/dist/map.es.js +13 -13
  100. package/dist/map.es.min.js +2 -2
  101. package/dist/map.js +13 -13
  102. package/dist/map.min.js +2 -2
  103. package/dist/map.mjs +13 -13
  104. package/dist/not.es.js +1 -1
  105. package/dist/not.es.min.js +1 -1
  106. package/dist/not.js +1 -1
  107. package/dist/not.min.js +2 -2
  108. package/dist/not.mjs +1 -1
  109. package/dist/omit.es.js +1 -1
  110. package/dist/omit.es.min.js +1 -1
  111. package/dist/omit.js +1 -1
  112. package/dist/omit.min.js +2 -2
  113. package/dist/omit.mjs +1 -1
  114. package/dist/or.es.js +1 -1
  115. package/dist/or.es.min.js +1 -1
  116. package/dist/or.js +1 -1
  117. package/dist/or.min.js +2 -2
  118. package/dist/or.mjs +1 -1
  119. package/dist/pick.es.js +1 -1
  120. package/dist/pick.es.min.js +1 -1
  121. package/dist/pick.js +1 -1
  122. package/dist/pick.min.js +2 -2
  123. package/dist/pick.mjs +1 -1
  124. package/dist/pipe.es.js +1 -1
  125. package/dist/pipe.es.min.js +1 -1
  126. package/dist/pipe.js +1 -1
  127. package/dist/pipe.min.js +2 -2
  128. package/dist/pipe.mjs +1 -1
  129. package/dist/reduce.es.js +1 -1
  130. package/dist/reduce.es.min.js +1 -1
  131. package/dist/reduce.js +1 -1
  132. package/dist/reduce.min.js +2 -2
  133. package/dist/reduce.mjs +1 -1
  134. package/dist/rubico.es.js +40 -36
  135. package/dist/rubico.es.min.js +2 -2
  136. package/dist/rubico.global.js +40 -36
  137. package/dist/rubico.global.min.js +2 -2
  138. package/dist/rubico.js +40 -36
  139. package/dist/rubico.min.js +2 -2
  140. package/dist/rubico.mjs +40 -36
  141. package/dist/set.es.js +1 -1
  142. package/dist/set.es.min.js +1 -1
  143. package/dist/set.js +1 -1
  144. package/dist/set.min.js +2 -2
  145. package/dist/set.mjs +1 -1
  146. package/dist/some.es.js +14 -14
  147. package/dist/some.es.min.js +2 -2
  148. package/dist/some.js +14 -14
  149. package/dist/some.min.js +2 -2
  150. package/dist/some.mjs +14 -14
  151. package/dist/switchCase.es.js +1 -1
  152. package/dist/switchCase.es.min.js +1 -1
  153. package/dist/switchCase.js +1 -1
  154. package/dist/switchCase.min.js +2 -2
  155. package/dist/switchCase.mjs +1 -1
  156. package/dist/tap.es.js +1 -1
  157. package/dist/tap.es.min.js +1 -1
  158. package/dist/tap.js +1 -1
  159. package/dist/tap.min.js +2 -2
  160. package/dist/tap.mjs +1 -1
  161. package/dist/thunkify.es.js +1 -1
  162. package/dist/thunkify.es.min.js +1 -1
  163. package/dist/thunkify.js +1 -1
  164. package/dist/thunkify.min.js +2 -2
  165. package/dist/thunkify.mjs +1 -1
  166. package/dist/transform.es.js +1 -1
  167. package/dist/transform.es.min.js +1 -1
  168. package/dist/transform.js +1 -1
  169. package/dist/transform.min.js +2 -2
  170. package/dist/transform.mjs +1 -1
  171. package/dist/tryCatch.es.js +1 -1
  172. package/dist/tryCatch.es.min.js +1 -1
  173. package/dist/tryCatch.js +1 -1
  174. package/dist/tryCatch.min.js +2 -2
  175. package/dist/tryCatch.mjs +1 -1
  176. package/dist/x/append.es.js +1 -1
  177. package/dist/x/append.es.min.js +1 -1
  178. package/dist/x/append.js +1 -1
  179. package/dist/x/append.min.js +2 -2
  180. package/dist/x/append.mjs +1 -1
  181. package/dist/x/callProp.es.js +1 -1
  182. package/dist/x/callProp.es.min.js +1 -1
  183. package/dist/x/callProp.js +1 -1
  184. package/dist/x/callProp.min.js +2 -2
  185. package/dist/x/callProp.mjs +1 -1
  186. package/dist/x/defaultsDeep.es.js +1 -1
  187. package/dist/x/defaultsDeep.es.min.js +1 -1
  188. package/dist/x/defaultsDeep.js +1 -1
  189. package/dist/x/defaultsDeep.min.js +2 -2
  190. package/dist/x/defaultsDeep.mjs +1 -1
  191. package/dist/x/differenceWith.es.js +6 -6
  192. package/dist/x/differenceWith.es.min.js +2 -2
  193. package/dist/x/differenceWith.js +6 -6
  194. package/dist/x/differenceWith.min.js +2 -2
  195. package/dist/x/differenceWith.mjs +6 -6
  196. package/dist/x/filterOut.es.js +1 -1
  197. package/dist/x/filterOut.es.min.js +1 -1
  198. package/dist/x/filterOut.js +1 -1
  199. package/dist/x/filterOut.min.js +2 -2
  200. package/dist/x/filterOut.mjs +1 -1
  201. package/dist/x/find.es.js +1 -1
  202. package/dist/x/find.es.min.js +1 -1
  203. package/dist/x/find.js +1 -1
  204. package/dist/x/find.min.js +2 -2
  205. package/dist/x/find.mjs +1 -1
  206. package/dist/x/findIndex.es.js +1 -1
  207. package/dist/x/findIndex.es.min.js +1 -1
  208. package/dist/x/findIndex.js +1 -1
  209. package/dist/x/findIndex.min.js +2 -2
  210. package/dist/x/findIndex.mjs +1 -1
  211. package/dist/x/first.es.js +1 -1
  212. package/dist/x/first.es.min.js +1 -1
  213. package/dist/x/first.js +1 -1
  214. package/dist/x/first.min.js +2 -2
  215. package/dist/x/first.mjs +1 -1
  216. package/dist/x/flatten.es.js +1 -1
  217. package/dist/x/flatten.es.min.js +2 -2
  218. package/dist/x/flatten.js +1 -1
  219. package/dist/x/flatten.min.js +2 -2
  220. package/dist/x/flatten.mjs +1 -1
  221. package/dist/x/groupBy.es.js +1 -1
  222. package/dist/x/groupBy.es.min.js +1 -1
  223. package/dist/x/groupBy.js +1 -1
  224. package/dist/x/groupBy.min.js +2 -2
  225. package/dist/x/groupBy.mjs +1 -1
  226. package/dist/x/has.es.js +1 -1
  227. package/dist/x/has.es.min.js +1 -1
  228. package/dist/x/has.js +1 -1
  229. package/dist/x/has.min.js +2 -2
  230. package/dist/x/has.mjs +1 -1
  231. package/dist/x/identity.es.js +1 -1
  232. package/dist/x/identity.es.min.js +1 -1
  233. package/dist/x/identity.js +1 -1
  234. package/dist/x/identity.min.js +2 -2
  235. package/dist/x/identity.mjs +1 -1
  236. package/dist/x/includes.es.js +1 -1
  237. package/dist/x/includes.es.min.js +1 -1
  238. package/dist/x/includes.js +1 -1
  239. package/dist/x/includes.min.js +2 -2
  240. package/dist/x/includes.mjs +1 -1
  241. package/dist/x/isDeepEqual.es.js +1 -1
  242. package/dist/x/isDeepEqual.es.min.js +1 -1
  243. package/dist/x/isDeepEqual.js +1 -1
  244. package/dist/x/isDeepEqual.min.js +2 -2
  245. package/dist/x/isDeepEqual.mjs +1 -1
  246. package/dist/x/isEmpty.es.js +1 -1
  247. package/dist/x/isEmpty.es.min.js +1 -1
  248. package/dist/x/isEmpty.js +1 -1
  249. package/dist/x/isEmpty.min.js +2 -2
  250. package/dist/x/isEmpty.mjs +1 -1
  251. package/dist/x/isEqual.es.js +1 -1
  252. package/dist/x/isEqual.es.min.js +1 -1
  253. package/dist/x/isEqual.js +1 -1
  254. package/dist/x/isEqual.min.js +2 -2
  255. package/dist/x/isEqual.mjs +1 -1
  256. package/dist/x/isFunction.es.js +1 -1
  257. package/dist/x/isFunction.es.min.js +1 -1
  258. package/dist/x/isFunction.js +1 -1
  259. package/dist/x/isFunction.min.js +2 -2
  260. package/dist/x/isFunction.mjs +1 -1
  261. package/dist/x/isIn.es.js +1 -1
  262. package/dist/x/isIn.es.min.js +1 -1
  263. package/dist/x/isIn.js +1 -1
  264. package/dist/x/isIn.min.js +2 -2
  265. package/dist/x/isIn.mjs +1 -1
  266. package/dist/x/isObject.es.js +1 -1
  267. package/dist/x/isObject.es.min.js +1 -1
  268. package/dist/x/isObject.js +1 -1
  269. package/dist/x/isObject.min.js +2 -2
  270. package/dist/x/isObject.mjs +1 -1
  271. package/dist/x/isString.es.js +1 -1
  272. package/dist/x/isString.es.min.js +1 -1
  273. package/dist/x/isString.js +1 -1
  274. package/dist/x/isString.min.js +2 -2
  275. package/dist/x/isString.mjs +1 -1
  276. package/dist/x/keys.es.js +1 -1
  277. package/dist/x/keys.es.min.js +1 -1
  278. package/dist/x/keys.js +1 -1
  279. package/dist/x/keys.min.js +2 -2
  280. package/dist/x/keys.mjs +1 -1
  281. package/dist/x/last.es.js +1 -1
  282. package/dist/x/last.es.min.js +1 -1
  283. package/dist/x/last.js +1 -1
  284. package/dist/x/last.min.js +2 -2
  285. package/dist/x/last.mjs +1 -1
  286. package/dist/x/maxBy.es.js +1 -1
  287. package/dist/x/maxBy.es.min.js +1 -1
  288. package/dist/x/maxBy.js +1 -1
  289. package/dist/x/maxBy.min.js +2 -2
  290. package/dist/x/maxBy.mjs +1 -1
  291. package/dist/x/noop.es.js +1 -1
  292. package/dist/x/noop.es.min.js +1 -1
  293. package/dist/x/noop.js +1 -1
  294. package/dist/x/noop.min.js +2 -2
  295. package/dist/x/noop.mjs +1 -1
  296. package/dist/x/pluck.es.js +13 -13
  297. package/dist/x/pluck.es.min.js +2 -2
  298. package/dist/x/pluck.js +13 -13
  299. package/dist/x/pluck.min.js +2 -2
  300. package/dist/x/pluck.mjs +13 -13
  301. package/dist/x/prepend.es.js +1 -1
  302. package/dist/x/prepend.es.min.js +1 -1
  303. package/dist/x/prepend.js +1 -1
  304. package/dist/x/prepend.min.js +2 -2
  305. package/dist/x/prepend.mjs +1 -1
  306. package/dist/x/size.es.js +1 -1
  307. package/dist/x/size.es.min.js +1 -1
  308. package/dist/x/size.js +1 -1
  309. package/dist/x/size.min.js +2 -2
  310. package/dist/x/size.mjs +1 -1
  311. package/dist/x/trace.es.js +1 -1
  312. package/dist/x/trace.es.min.js +1 -1
  313. package/dist/x/trace.js +1 -1
  314. package/dist/x/trace.min.js +2 -2
  315. package/dist/x/trace.mjs +1 -1
  316. package/dist/x/unionWith.es.js +1 -1
  317. package/dist/x/unionWith.es.min.js +1 -1
  318. package/dist/x/unionWith.js +1 -1
  319. package/dist/x/unionWith.min.js +2 -2
  320. package/dist/x/unionWith.mjs +1 -1
  321. package/dist/x/uniq.es.js +1 -1
  322. package/dist/x/uniq.es.min.js +1 -1
  323. package/dist/x/uniq.js +1 -1
  324. package/dist/x/uniq.min.js +2 -2
  325. package/dist/x/uniq.mjs +1 -1
  326. package/dist/x/unless.es.js +1 -1
  327. package/dist/x/unless.es.min.js +1 -1
  328. package/dist/x/unless.js +1 -1
  329. package/dist/x/unless.min.js +2 -2
  330. package/dist/x/unless.mjs +1 -1
  331. package/dist/x/values.es.js +1 -1
  332. package/dist/x/values.es.min.js +1 -1
  333. package/dist/x/values.js +1 -1
  334. package/dist/x/values.min.js +2 -2
  335. package/dist/x/values.mjs +1 -1
  336. package/dist/x/when.es.js +1 -1
  337. package/dist/x/when.es.min.js +1 -1
  338. package/dist/x/when.js +1 -1
  339. package/dist/x/when.min.js +2 -2
  340. package/dist/x/when.mjs +1 -1
  341. package/es.js +40 -36
  342. package/index.js +40 -36
  343. package/package.json +2 -1
package/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.7.9
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.
@@ -1068,7 +1068,7 @@ const objectMapPool = function (o, concurrency, f) {
1068
1068
  return result
1069
1069
  }
1070
1070
 
1071
- const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1071
+ const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
1072
1072
  const argsLength = args.length,
1073
1073
  curriedArgsLength = curriedArgs.length,
1074
1074
  nextArgs = []
@@ -1089,8 +1089,8 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1089
1089
  }
1090
1090
  if (nextArgs.length == arity) {
1091
1091
  return numCurriedPlaceholders == 0
1092
- ? func(...nextArgs)
1093
- : curryArity(arity, func, nextArgs)
1092
+ ? func.apply(context, nextArgs)
1093
+ : curryArity(arity, func, context, nextArgs)
1094
1094
  }
1095
1095
  }
1096
1096
 
@@ -1102,26 +1102,26 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
1102
1102
  nextArgs.push(curriedArg)
1103
1103
  if (nextArgs.length == arity) {
1104
1104
  return numCurriedPlaceholders == 0
1105
- ? func(...nextArgs)
1106
- : curryArity(arity, func, nextArgs)
1105
+ ? func.apply(context, nextArgs)
1106
+ : curryArity(arity, func, context, nextArgs)
1107
1107
  }
1108
1108
  }
1109
- return curryArity(arity, func, nextArgs)
1109
+ return curryArity(arity, func, context, nextArgs)
1110
1110
  }
1111
1111
 
1112
- const curryArity = function (arity, func, args) {
1112
+ const curryArity = function (arity, func, context, args) {
1113
1113
  const argsLength = args.length
1114
1114
  if (argsLength < arity) {
1115
- return _curryArity(arity, func, args)
1115
+ return _curryArity(arity, func, context, args)
1116
1116
  }
1117
1117
  let argsIndex = -1
1118
1118
  while (++argsIndex < argsLength) {
1119
1119
  const arg = args[argsIndex]
1120
1120
  if (arg == __) {
1121
- return _curryArity(arity, func, args)
1121
+ return _curryArity(arity, func, context, args)
1122
1122
  }
1123
1123
  }
1124
- return func(...args)
1124
+ return func.apply(context, args)
1125
1125
  }
1126
1126
 
1127
1127
  const spread2 = func => function spreading2([arg0, arg1]) {
@@ -1136,7 +1136,7 @@ const objectMapEntries = function (object, mapper) {
1136
1136
  mapping = mapper([key, value])
1137
1137
  if (isPromise(mapping)) {
1138
1138
  promises.push(mapping.then(
1139
- spread2(curryArity(3, objectSet, [result]))))
1139
+ spread2(curryArity(3, objectSet, this, [result]))))
1140
1140
  } else {
1141
1141
  result[mapping[0]] = mapping[1]
1142
1142
  }
@@ -1152,7 +1152,7 @@ const mapMapEntriesForEachCallback = (
1152
1152
  ) => function callback(value, key) {
1153
1153
  const mapping = mapper([key, value])
1154
1154
  if (isPromise(mapping)) {
1155
- promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
1155
+ promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
1156
1156
  } else {
1157
1157
  result.set(mapping[0], mapping[1])
1158
1158
  }
@@ -2461,21 +2461,21 @@ const SelfReferencingPromise = function (basePromise) {
2461
2461
  }
2462
2462
 
2463
2463
  const asyncArraySome = async function (
2464
- array, predicate, index, promisesInFlight,
2464
+ array, predicate, index, promises,
2465
2465
  ) {
2466
2466
  const length = array.length
2467
2467
 
2468
2468
  while (++index < length) {
2469
2469
  const predication = predicate(array[index])
2470
2470
  if (isPromise(predication)) {
2471
- promisesInFlight.add(SelfReferencingPromise(predication))
2471
+ promises.add(SelfReferencingPromise(predication))
2472
2472
  } else if (predication) {
2473
2473
  return true
2474
2474
  }
2475
2475
  }
2476
- while (promisesInFlight.size > 0) {
2477
- const [predication, promise] = await promiseRace(promisesInFlight)
2478
- promisesInFlight.delete(promise)
2476
+ while (promises.size > 0) {
2477
+ const [predication, promise] = await promiseRace(promises)
2478
+ promises.delete(promise)
2479
2479
  if (predication) {
2480
2480
  return true
2481
2481
  }
@@ -2500,7 +2500,7 @@ const arraySome = function (array, predicate) {
2500
2500
  }
2501
2501
 
2502
2502
  const asyncIteratorSome = async function (
2503
- iterator, predicate, promisesInFlight, maxConcurrency = 20,
2503
+ iterator, predicate, promises, maxConcurrency = 20,
2504
2504
  ) {
2505
2505
  let iteration = iterator.next()
2506
2506
  if (isPromise(iteration)) {
@@ -2508,16 +2508,16 @@ const asyncIteratorSome = async function (
2508
2508
  }
2509
2509
 
2510
2510
  while (!iteration.done) {
2511
- if (promisesInFlight.size >= maxConcurrency) {
2512
- const [predication, promise] = await promiseRace(promisesInFlight)
2513
- promisesInFlight.delete(promise)
2511
+ if (promises.size >= maxConcurrency) {
2512
+ const [predication, promise] = await promiseRace(promises)
2513
+ promises.delete(promise)
2514
2514
  if (predication) {
2515
2515
  return true
2516
2516
  }
2517
2517
  }
2518
2518
  const predication = predicate(iteration.value)
2519
2519
  if (isPromise(predication)) {
2520
- promisesInFlight.add(SelfReferencingPromise(predication))
2520
+ promises.add(SelfReferencingPromise(predication))
2521
2521
  } else if (predication) {
2522
2522
  return true
2523
2523
  }
@@ -2526,9 +2526,9 @@ const asyncIteratorSome = async function (
2526
2526
  iteration = await iteration
2527
2527
  }
2528
2528
  }
2529
- while (promisesInFlight.size > 0) {
2530
- const [predication, promise] = await promiseRace(promisesInFlight)
2531
- promisesInFlight.delete(promise)
2529
+ while (promises.size > 0) {
2530
+ const [predication, promise] = await promiseRace(promises)
2531
+ promises.delete(promise)
2532
2532
  if (predication) {
2533
2533
  return true
2534
2534
  }
@@ -2627,13 +2627,13 @@ const iteratorEvery = function (iterator, predicate) {
2627
2627
  }
2628
2628
 
2629
2629
  const asyncIteratorEvery = async function (
2630
- asyncIterator, predicate, promisesInFlight, maxConcurrency = 20,
2630
+ asyncIterator, predicate, promises, maxConcurrency = 20,
2631
2631
  ) {
2632
2632
  let iteration = await asyncIterator.next()
2633
2633
  while (!iteration.done) {
2634
- if (promisesInFlight.size >= maxConcurrency) {
2635
- const [predication, promise] = await promiseRace(promisesInFlight)
2636
- promisesInFlight.delete(promise)
2634
+ if (promises.size >= maxConcurrency) {
2635
+ const [predication, promise] = await promiseRace(promises)
2636
+ promises.delete(promise)
2637
2637
  if (!predication) {
2638
2638
  return false
2639
2639
  }
@@ -2641,15 +2641,15 @@ const asyncIteratorEvery = async function (
2641
2641
 
2642
2642
  const predication = predicate(iteration.value)
2643
2643
  if (isPromise(predication)) {
2644
- promisesInFlight.add(SelfReferencingPromise(predication))
2644
+ promises.add(SelfReferencingPromise(predication))
2645
2645
  } else if (!predication) {
2646
2646
  return false
2647
2647
  }
2648
2648
  iteration = await asyncIterator.next()
2649
2649
  }
2650
- while (promisesInFlight.size > 0) {
2651
- const [predication, promise] = await promiseRace(promisesInFlight)
2652
- promisesInFlight.delete(promise)
2650
+ while (promises.size > 0) {
2651
+ const [predication, promise] = await promiseRace(promises)
2652
+ promises.delete(promise)
2653
2653
  if (!predication) {
2654
2654
  return false
2655
2655
  }
@@ -3291,10 +3291,14 @@ const thunkify = (func, ...args) => function thunk() {
3291
3291
  return func(...args)
3292
3292
  }
3293
3293
 
3294
- const curry = (func, ...args) => curryArity(func.length, func, args)
3294
+ const curry = (func, ...args) => curryArity(func.length, func, this, args)
3295
3295
 
3296
3296
  curry.arity = function curryArity_(arity, func, ...args) {
3297
- return curryArity(arity, func, args)
3297
+ return curryArity(arity, func, this, args)
3298
+ }
3299
+
3300
+ curry.call = function call(func, context, ...args) {
3301
+ return curryArity(func.length, func, context, args)
3298
3302
  }
3299
3303
 
3300
3304
  const rubico = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rubico",
3
- "version": "2.7.9",
3
+ "version": "2.8.0",
4
4
  "description": "[a]synchronous functional programming",
5
5
  "author": "Richard Tong",
6
6
  "license": "MIT",
@@ -85,6 +85,7 @@
85
85
  },
86
86
  "scripts": {
87
87
  "test": "mocha test.js *.test.js */**.test.js",
88
+ "dist-test": "node dist-test.js && node dist-test.mjs",
88
89
  "test-coverage": "nyc mocha test.js x/*.test.js monad/*.test.js",
89
90
  "build": "npm run dts && ./build",
90
91
  "bench": "./bench"