rubico 2.4.1 → 2.5.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 (345) hide show
  1. package/README.md +9 -0
  2. package/_internal/mapMapSeries.js +62 -0
  3. package/_internal/objectForEachSeries.js +6 -4
  4. package/_internal/objectMapSeries.js +61 -0
  5. package/_internal/setAdd.js +14 -0
  6. package/_internal/setMapSeries.js +61 -0
  7. package/_internal/stringMap.js +1 -1
  8. package/_internal/stringMapSeries.js +31 -0
  9. package/dist/Transducer.es.js +1 -1
  10. package/dist/Transducer.es.min.js +2 -2
  11. package/dist/Transducer.js +1 -1
  12. package/dist/Transducer.min.js +1 -1
  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 +1 -1
  18. package/dist/__.mjs +1 -1
  19. package/dist/all.es.js +1 -1
  20. package/dist/all.es.min.js +2 -2
  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 +1 -1
  28. package/dist/always.mjs +1 -1
  29. package/dist/and.es.js +1 -1
  30. package/dist/and.es.min.js +2 -2
  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 +2 -2
  36. package/dist/assign.js +1 -1
  37. package/dist/assign.min.js +1 -1
  38. package/dist/assign.mjs +1 -1
  39. package/dist/compose.es.js +1 -1
  40. package/dist/compose.es.min.js +2 -2
  41. package/dist/compose.js +1 -1
  42. package/dist/compose.min.js +1 -1
  43. package/dist/compose.mjs +1 -1
  44. package/dist/curry.es.js +1 -1
  45. package/dist/curry.es.min.js +1 -1
  46. package/dist/curry.js +1 -1
  47. package/dist/curry.min.js +1 -1
  48. package/dist/curry.mjs +1 -1
  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 +1 -1
  53. package/dist/eq.mjs +1 -1
  54. package/dist/every.es.js +1 -1
  55. package/dist/every.es.min.js +1 -1
  56. package/dist/every.js +1 -1
  57. package/dist/every.min.js +1 -1
  58. package/dist/every.mjs +1 -1
  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 +1 -1
  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 +1 -1
  68. package/dist/flatMap.mjs +1 -1
  69. package/dist/forEach.es.js +9 -7
  70. package/dist/forEach.es.min.js +2 -2
  71. package/dist/forEach.js +9 -7
  72. package/dist/forEach.min.js +2 -2
  73. package/dist/forEach.mjs +9 -7
  74. package/dist/get.es.js +1 -1
  75. package/dist/get.es.min.js +2 -2
  76. package/dist/get.js +1 -1
  77. package/dist/get.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  98. package/dist/lte.mjs +1 -1
  99. package/dist/map.es.js +163 -9
  100. package/dist/map.es.min.js +2 -2
  101. package/dist/map.js +163 -9
  102. package/dist/map.min.js +2 -2
  103. package/dist/map.mjs +163 -9
  104. package/dist/not.es.js +1 -1
  105. package/dist/not.es.min.js +2 -2
  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 +2 -2
  111. package/dist/omit.js +1 -1
  112. package/dist/omit.min.js +1 -1
  113. package/dist/omit.mjs +1 -1
  114. package/dist/or.es.js +1 -1
  115. package/dist/or.es.min.js +2 -2
  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 +2 -2
  121. package/dist/pick.js +1 -1
  122. package/dist/pick.min.js +1 -1
  123. package/dist/pick.mjs +1 -1
  124. package/dist/pipe.es.js +1 -1
  125. package/dist/pipe.es.min.js +2 -2
  126. package/dist/pipe.js +1 -1
  127. package/dist/pipe.min.js +1 -1
  128. package/dist/pipe.mjs +1 -1
  129. package/dist/reduce.es.js +1 -1
  130. package/dist/reduce.es.min.js +2 -2
  131. package/dist/reduce.js +1 -1
  132. package/dist/reduce.min.js +1 -1
  133. package/dist/reduce.mjs +1 -1
  134. package/dist/rubico.es.js +167 -19
  135. package/dist/rubico.es.min.js +2 -2
  136. package/dist/rubico.global.js +167 -19
  137. package/dist/rubico.global.min.js +2 -2
  138. package/dist/rubico.js +167 -19
  139. package/dist/rubico.min.js +2 -2
  140. package/dist/rubico.mjs +167 -19
  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 +1 -1
  145. package/dist/set.mjs +1 -1
  146. package/dist/some.es.js +1 -1
  147. package/dist/some.es.min.js +1 -1
  148. package/dist/some.js +1 -1
  149. package/dist/some.min.js +1 -1
  150. package/dist/some.mjs +1 -1
  151. package/dist/switchCase.es.js +1 -1
  152. package/dist/switchCase.es.min.js +2 -2
  153. package/dist/switchCase.js +1 -1
  154. package/dist/switchCase.min.js +1 -1
  155. package/dist/switchCase.mjs +1 -1
  156. package/dist/tap.es.js +1 -1
  157. package/dist/tap.es.min.js +2 -2
  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 +2 -2
  163. package/dist/thunkify.js +1 -1
  164. package/dist/thunkify.min.js +1 -1
  165. package/dist/thunkify.mjs +1 -1
  166. package/dist/transform.es.js +1 -1
  167. package/dist/transform.es.min.js +2 -2
  168. package/dist/transform.js +1 -1
  169. package/dist/transform.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  190. package/dist/x/defaultsDeep.mjs +1 -1
  191. package/dist/x/differenceWith.es.js +1 -1
  192. package/dist/x/differenceWith.es.min.js +2 -2
  193. package/dist/x/differenceWith.js +1 -1
  194. package/dist/x/differenceWith.min.js +1 -1
  195. package/dist/x/differenceWith.mjs +1 -1
  196. package/dist/x/filterOut.es.js +1 -1
  197. package/dist/x/filterOut.es.min.js +2 -2
  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 +1 -1
  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 +2 -2
  208. package/dist/x/findIndex.js +1 -1
  209. package/dist/x/findIndex.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  223. package/dist/x/groupBy.js +1 -1
  224. package/dist/x/groupBy.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  238. package/dist/x/includes.js +1 -1
  239. package/dist/x/includes.min.js +1 -1
  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 +2 -2
  243. package/dist/x/isDeepEqual.js +1 -1
  244. package/dist/x/isDeepEqual.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  263. package/dist/x/isIn.js +1 -1
  264. package/dist/x/isIn.min.js +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +1 -1
  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 +2 -2
  288. package/dist/x/maxBy.js +1 -1
  289. package/dist/x/maxBy.min.js +1 -1
  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 +1 -1
  295. package/dist/x/noop.mjs +1 -1
  296. package/dist/x/pluck.es.js +163 -9
  297. package/dist/x/pluck.es.min.js +2 -2
  298. package/dist/x/pluck.js +163 -9
  299. package/dist/x/pluck.min.js +2 -2
  300. package/dist/x/pluck.mjs +163 -9
  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 +1 -1
  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 +1 -1
  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 +2 -2
  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 +1 -1
  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 +1 -1
  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 +2 -2
  328. package/dist/x/unless.js +1 -1
  329. package/dist/x/unless.min.js +1 -1
  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 +1 -1
  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 +2 -2
  338. package/dist/x/when.js +1 -1
  339. package/dist/x/when.min.js +1 -1
  340. package/dist/x/when.mjs +1 -1
  341. package/es.js +167 -19
  342. package/forEach.js +2 -2
  343. package/index.js +167 -19
  344. package/map.js +62 -7
  345. package/package.json +8 -7
package/dist/x/pluck.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -292,6 +292,139 @@ const arrayMapSeries = function (array, mapper) {
292
292
  return result
293
293
  }
294
294
 
295
+ const stringMapSeries = function (string, mapper) {
296
+ const result = arrayMapSeries(string, mapper)
297
+ return isPromise(result)
298
+ ? result.then(curry3(callPropUnary, __, 'join', ''))
299
+ : result.join('')
300
+ }
301
+
302
+ const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
303
+ return func(arg0, arg1, arg2, arg3)
304
+ }
305
+
306
+ // _objectMapSeriesAsync(
307
+ // object Object,
308
+ // f function,
309
+ // result Object,
310
+ // doneKeys Object
311
+ // ) -> Promise<object>
312
+ const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
313
+ for (const key in object) {
314
+ if (key in doneKeys) {
315
+ continue
316
+ }
317
+ let resultItem = f(object[key])
318
+ if (isPromise(resultItem)) {
319
+ resultItem = await resultItem
320
+ }
321
+ result[key] = resultItem
322
+ }
323
+ return result
324
+ }
325
+
326
+ const objectMapSeries = function (object, f) {
327
+ const result = {}
328
+ const doneKeys = {}
329
+ for (const key in object) {
330
+ doneKeys[key] = true
331
+ const resultItem = f(object[key], key, object)
332
+ if (isPromise(resultItem)) {
333
+ return resultItem.then(funcConcat(
334
+ curry3(objectSet, result, key, __),
335
+ thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
336
+ ))
337
+ }
338
+ }
339
+ return result
340
+ }
341
+
342
+ const thunkify3 = (func, arg0, arg1, arg2) => function thunk() {
343
+ return func(arg0, arg1, arg2)
344
+ }
345
+
346
+ const setAdd = function (set, value) {
347
+ set.add(value)
348
+ return set
349
+ }
350
+
351
+ // _setMapSeriesAsync(
352
+ // iterator Iterator,
353
+ // f function,
354
+ // result Set,
355
+ // ) -> Promise<Set>
356
+ const _setMapSeriesAsync = async function (iterator, f, result) {
357
+ let iteration = iterator.next()
358
+ while (!iteration.done) {
359
+ let resultItem = f(iteration.value)
360
+ if (isPromise(resultItem)) {
361
+ resultItem = await resultItem
362
+ }
363
+ result.add(resultItem)
364
+ iteration = iterator.next()
365
+ }
366
+ return result
367
+ }
368
+
369
+ const setMapSeries = function (set, f) {
370
+ const result = new Set()
371
+ const iterator = set[symbolIterator]()
372
+ let iteration = iterator.next()
373
+ while (!iteration.done) {
374
+ const resultItem = f(iteration.value)
375
+ if (isPromise(resultItem)) {
376
+ return resultItem.then(funcConcat(
377
+ curry2(setAdd, result, __),
378
+ thunkify3(_setMapSeriesAsync, iterator, f, result),
379
+ ))
380
+ }
381
+ result.add(resultItem)
382
+ iteration = iterator.next()
383
+ }
384
+ return result
385
+ }
386
+
387
+ const mapSet = function setting(source, key, value) {
388
+ return source.set(key, value)
389
+ }
390
+
391
+ // _mapMapSeriesAsync(
392
+ // iterator Iterator,
393
+ // f function,
394
+ // result Map,
395
+ // ) -> Promise<Map>
396
+ const _mapMapSeriesAsync = async function (iterator, f, result) {
397
+ let iteration = iterator.next()
398
+ while (!iteration.done) {
399
+ let resultItem = f(iteration.value[1])
400
+ if (isPromise(resultItem)) {
401
+ resultItem = await resultItem
402
+ }
403
+ result.set(iteration.value[0], resultItem)
404
+ iteration = iterator.next()
405
+ }
406
+ return result
407
+ }
408
+
409
+ const mapMapSeries = function (map, f) {
410
+ const result = new Map()
411
+ const iterator = map[symbolIterator]()
412
+ let iteration = iterator.next()
413
+ while (!iteration.done) {
414
+ const key = iteration.value[0]
415
+ const resultItem = f(iteration.value[1])
416
+ if (isPromise(resultItem)) {
417
+ return resultItem.then(funcConcat(
418
+ curry3(mapSet, result, key, __),
419
+ thunkify3(_mapMapSeriesAsync, iterator, f, result),
420
+ ))
421
+ }
422
+ result.set(key, resultItem)
423
+ iteration = iterator.next()
424
+ }
425
+ return result
426
+ }
427
+
295
428
  const tapSync = func => function tapping(...args) {
296
429
  func(...args)
297
430
  return args[0]
@@ -420,10 +553,6 @@ const objectMapEntries = function (object, mapper) {
420
553
  : promiseAll(promises).then(always(result))
421
554
  }
422
555
 
423
- const mapSet = function setting(source, key, value) {
424
- return source.set(key, value)
425
- }
426
-
427
556
  // (mapper function, result Map, promises Array<Promise>) => (key any, value any) => ()
428
557
  const mapMapEntriesForEachCallback = (
429
558
  mapper, result, promises,
@@ -512,11 +641,36 @@ map.entries = function mapEntries(arg0, arg1) {
512
641
  : _mapEntries(arg0, arg1)
513
642
  }
514
643
 
515
- map.series = mapper => function mappingInSeries(value) {
516
- if (isArray(value)) {
517
- return arrayMapSeries(value, mapper)
644
+ const _mapSeries = function (collection, f) {
645
+ if (isArray(collection)) {
646
+ return arrayMapSeries(collection, f)
518
647
  }
519
- throw new TypeError(`${value} is not an Array`)
648
+ if (collection == null) {
649
+ throw new TypeError(`invalid collection ${collection}`)
650
+ }
651
+
652
+ if (typeof collection == 'string' || collection.constructor == String) {
653
+ return stringMapSeries(collection, f)
654
+ }
655
+ if (collection.constructor == Set) {
656
+ return setMapSeries(collection, f)
657
+ }
658
+ if (collection.constructor == Map) {
659
+ return mapMapSeries(collection, f)
660
+ }
661
+ if (collection.constructor == Object) {
662
+ return objectMapSeries(collection, f)
663
+ }
664
+ throw new TypeError(`invalid collection ${collection}`)
665
+ }
666
+
667
+ map.series = function mapSeries(arg0, arg1) {
668
+ if (typeof arg0 == 'function') {
669
+ return curry2(_mapSeries, __, arg0)
670
+ }
671
+ return isPromise(arg0)
672
+ ? arg0.then(curry2(_mapSeries, __, arg1))
673
+ : _mapSeries(arg0, arg1)
520
674
  }
521
675
 
522
676
  map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/prepend.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/size.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,n)=>function(...e){const o=r(...e);return isPromise(o)?o.then(n):n(o)},always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,e)=>r?n():e(),__=Symbol.for("placeholder"),curry3ResolveArg0=(r,n,e)=>function(o){return r(o,n,e)},curry3ResolveArg1=(r,n,e)=>function(o){return r(n,o,e)},curry3ResolveArg2=(r,n,e)=>function(o){return r(n,e,o)},curry3=function(r,n,e,o){return n==__?curry3ResolveArg0(r,e,o):e==__?curry3ResolveArg1(r,n,o):curry3ResolveArg2(r,n,e)},curryArgs2ResolveArgs0=(r,n,e)=>function(...e){return r(e,n)},curryArgs2ResolveArgs1=(r,n,e)=>function(...e){return r(n,e)},curryArgs2=function(r,n,e){return n==__?curryArgs2ResolveArgs0(r,e):curryArgs2ResolveArgs1(r,n)},_tap=function(r,n){const e=r[0],o=n(...r);return isPromise(o)?o.then(always(e)):e},tap=function(...r){const n=r.pop();return 0==r.length?(e=_tap,t=n,(o=__)==__?curryArgs2ResolveArgs0(e,t):curryArgs2ResolveArgs1(e,o)):_tap(r,n);var e,o,t};tap.if=(r,n)=>function(...e){const o=r(...e);if(isPromise(o))return o.then((t=thunkConditional,s=__,u=thunkifyArgs(tap(n),e),c=always(e[0]),s==__?curry3ResolveArg0(t,u,c):u==__?curry3ResolveArg1(t,s,c):curry3ResolveArg2(t,s,u)));var t,s,u,c;if(o){const r=n(...e);if(isPromise(r))return r.then(always(e[0]))}return e[0]};const consoleLog=console.log,trace=function(...r){const n=r[0];return"function"==typeof n?tap((e=n,o=consoleLog,function(...r){const n=e(...r);return isPromise(n)?n.then(o):o(n)})):tap(consoleLog)(...r);var e,o};export default trace;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,n)=>function(...t){const o=r(...t);return isPromise(o)?o.then(n):n(o)},always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,t)=>r?n():t(),__=Symbol.for("placeholder"),curry3ResolveArg0=(r,n,t)=>function(o){return r(o,n,t)},curry3ResolveArg1=(r,n,t)=>function(o){return r(n,o,t)},curry3ResolveArg2=(r,n,t)=>function(o){return r(n,t,o)},curry3=function(r,n,t,o){return n==__?curry3ResolveArg0(r,t,o):t==__?curry3ResolveArg1(r,n,o):curry3ResolveArg2(r,n,t)},curryArgs2ResolveArgs0=(r,n,t)=>function(...t){return r(t,n)},curryArgs2ResolveArgs1=(r,n,t)=>function(...t){return r(n,t)},curryArgs2=function(r,n,t){return n==__?curryArgs2ResolveArgs0(r,t):curryArgs2ResolveArgs1(r,n)},_tap=function(r,n){const t=r[0],o=n(...r);return isPromise(o)?o.then(always(t)):t},tap=function(...r){const n=r.pop();return 0==r.length?curryArgs2(_tap,__,n):_tap(r,n)};tap.if=(r,n)=>function(...t){const o=r(...t);if(isPromise(o))return o.then(curry3(thunkConditional,__,thunkifyArgs(tap(n),t),always(t[0])));if(o){const r=n(...t);if(isPromise(r))return r.then(always(t[0]))}return t[0]};const consoleLog=console.log,trace=function(...r){const n=r[0];return"function"==typeof n?tap(funcConcat(n,consoleLog)):tap(consoleLog)(...r)};export default trace;
package/dist/x/trace.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
7
 
8
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},o=(n,t,o)=>n?t():o(),e=Symbol.for("placeholder"),r=function(o,e){const r=o[0],u=e(...o);return n(u)?u.then(t(r)):r},u=function(...n){const t=n.pop();return 0==n.length?(o=r,c=t,(u=e)==e?((n,t,o)=>function(...o){return n(o,t)})(o,c):((n,t,o)=>function(...o){return n(t,o)})(o,u)):r(n,t);var o,u,c};u.if=(r,c)=>function(...f){const i=r(...f);if(n(i))return i.then((s=o,l=e,h=((n,t)=>function(){return n(...t)})(u(c),f),p=t(f[0]),l==e?((n,t,o)=>function(e){return n(e,t,o)})(s,h,p):h==e?((n,t,o)=>function(e){return n(t,e,o)})(s,l,p):((n,t,o)=>function(e){return n(t,o,e)})(s,l,h)));var s,l,h,p;if(i){const o=c(...f);if(n(o))return o.then(t(f[0]))}return f[0]};const c=console.log;return function(...t){const o=t[0];return"function"==typeof o?u((e=o,r=c,function(...t){const o=e(...t);return n(o)?o.then(r):r(o)})):u(c)(...t);var e,r}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},o=(n,t,o)=>n?t():o(),e=Symbol.for("placeholder"),r=function(o,e){const r=o[0],u=e(...o);return n(u)?u.then(t(r)):r},u=function(...n){const t=n.pop();return 0==n.length?(o=r,c=t,(u=e)==e?((n,t)=>function(...o){return n(o,t)})(o,c):((n,t)=>function(...o){return n(t,o)})(o,u)):r(n,t);var o,u,c};u.if=(r,c)=>function(...f){const i=r(...f);if(n(i))return i.then((s=o,l=e,h=((n,t)=>function(){return n(...t)})(u(c),f),p=t(f[0]),l==e?((n,t,o)=>function(e){return n(e,t,o)})(s,h,p):h==e?((n,t,o)=>function(e){return n(t,e,o)})(s,l,p):((n,t,o)=>function(e){return n(t,o,e)})(s,l,h)));var s,l,h,p;if(i){const o=c(...f);if(n(o))return o.then(t(f[0]))}return f[0]};const c=console.log;return function(...t){const o=t[0];return"function"==typeof o?u((e=o,r=c,function(...t){const o=e(...t);return n(o)?o.then(r):r(o)})):u(c)(...t);var e,r}}());
package/dist/x/trace.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/uniq.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isPromise=r=>null!=r&&"function"==typeof r.then,always=r=>function(){return r},__=Symbol.for("placeholder"),thunkify1=(r,n)=>function(){return r(n)},curry3ResolveArg0=(r,n,e)=>function(u){return r(u,n,e)},curry3ResolveArg1=(r,n,e)=>function(u){return r(n,u,e)},curry3ResolveArg2=(r,n,e)=>function(u){return r(n,e,u)},curry3=function(r,n,e,u){return n==__?curry3ResolveArg0(r,e,u):e==__?curry3ResolveArg1(r,n,u):curry3ResolveArg2(r,n,e)},thunkConditional=(r,n,e)=>r?n():e(),unless=(r,n)=>function(e){const u=r(e);return isPromise(u)?u.then((o=thunkConditional,t=__,c=always(e),l=thunkify1(n,e),t==__?curry3ResolveArg0(o,c,l):c==__?curry3ResolveArg1(o,t,l):curry3ResolveArg2(o,t,c))):u?e:n(e);var o,t,c,l};export default unless;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,always=r=>function(){return r},__=Symbol.for("placeholder"),thunkify1=(r,n)=>function(){return r(n)},curry3ResolveArg0=(r,n,u)=>function(e){return r(e,n,u)},curry3ResolveArg1=(r,n,u)=>function(e){return r(n,e,u)},curry3ResolveArg2=(r,n,u)=>function(e){return r(n,u,e)},curry3=function(r,n,u,e){return n==__?curry3ResolveArg0(r,u,e):u==__?curry3ResolveArg1(r,n,e):curry3ResolveArg2(r,n,u)},thunkConditional=(r,n,u)=>r?n():u(),unless=(r,n)=>function(u){const e=r(u);return isPromise(e)?e.then(curry3(thunkConditional,__,always(u),thunkify1(n,u))):e?u:n(u)};export default unless;
package/dist/x/unless.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/unless.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
6
6
  */
7
- const isPromise=r=>null!=r&&"function"==typeof r.then,always=r=>function(){return r},__=Symbol.for("placeholder"),thunkify1=(r,n)=>function(){return r(n)},curry3ResolveArg0=(r,n,e)=>function(u){return r(u,n,e)},curry3ResolveArg1=(r,n,e)=>function(u){return r(n,u,e)},curry3ResolveArg2=(r,n,e)=>function(u){return r(n,e,u)},curry3=function(r,n,e,u){return n==__?curry3ResolveArg0(r,e,u):e==__?curry3ResolveArg1(r,n,u):curry3ResolveArg2(r,n,e)},thunkConditional=(r,n,e)=>r?n():e(),when=(r,n)=>function(e){const u=r(e);return isPromise(u)?u.then((o=thunkConditional,t=__,c=thunkify1(n,e),l=always(e),t==__?curry3ResolveArg0(o,c,l):c==__?curry3ResolveArg1(o,t,l):curry3ResolveArg2(o,t,c))):u?n(e):e;var o,t,c,l};export default when;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,always=r=>function(){return r},__=Symbol.for("placeholder"),thunkify1=(r,n)=>function(){return r(n)},curry3ResolveArg0=(r,n,e)=>function(u){return r(u,n,e)},curry3ResolveArg1=(r,n,e)=>function(u){return r(n,u,e)},curry3ResolveArg2=(r,n,e)=>function(u){return r(n,e,u)},curry3=function(r,n,e,u){return n==__?curry3ResolveArg0(r,e,u):e==__?curry3ResolveArg1(r,n,u):curry3ResolveArg2(r,n,e)},thunkConditional=(r,n,e)=>r?n():e(),when=(r,n)=>function(e){const u=r(e);return isPromise(u)?u.then(curry3(thunkConditional,__,thunkify1(n,e),always(e))):u?n(e):e};export default when;
package/dist/x/when.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.4.1
2
+ * rubico v2.5.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2024 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.