rubico 2.6.1 → 2.6.2

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 (341) hide show
  1. package/_internal/areAllValuesNonfunctions.js +16 -4
  2. package/_internal/areAnyValuesPromises.js +16 -4
  3. package/_internal/functionArrayAll.js +2 -1
  4. package/_internal/functionObjectAll.js +2 -1
  5. package/all.js +101 -22
  6. package/assign.js +19 -3
  7. package/dist/Transducer.es.js +1 -1
  8. package/dist/Transducer.es.min.js +1 -1
  9. package/dist/Transducer.js +1 -1
  10. package/dist/Transducer.min.js +1 -1
  11. package/dist/Transducer.mjs +1 -1
  12. package/dist/__.es.js +1 -1
  13. package/dist/__.es.min.js +1 -1
  14. package/dist/__.js +1 -1
  15. package/dist/__.min.js +1 -1
  16. package/dist/__.mjs +1 -1
  17. package/dist/all.es.js +107 -8
  18. package/dist/all.es.min.js +2 -2
  19. package/dist/all.js +107 -8
  20. package/dist/all.min.js +2 -2
  21. package/dist/all.mjs +107 -8
  22. package/dist/always.es.js +1 -1
  23. package/dist/always.es.min.js +1 -1
  24. package/dist/always.js +1 -1
  25. package/dist/always.min.js +1 -1
  26. package/dist/always.mjs +1 -1
  27. package/dist/and.es.js +30 -9
  28. package/dist/and.es.min.js +2 -2
  29. package/dist/and.js +30 -9
  30. package/dist/and.min.js +2 -2
  31. package/dist/and.mjs +30 -9
  32. package/dist/assign.es.js +3 -2
  33. package/dist/assign.es.min.js +2 -2
  34. package/dist/assign.js +3 -2
  35. package/dist/assign.min.js +2 -2
  36. package/dist/assign.mjs +3 -2
  37. package/dist/compose.es.js +17 -5
  38. package/dist/compose.es.min.js +2 -2
  39. package/dist/compose.js +17 -5
  40. package/dist/compose.min.js +2 -2
  41. package/dist/compose.mjs +17 -5
  42. package/dist/curry.es.js +1 -1
  43. package/dist/curry.es.min.js +1 -1
  44. package/dist/curry.js +1 -1
  45. package/dist/curry.min.js +1 -1
  46. package/dist/curry.mjs +1 -1
  47. package/dist/eq.es.js +17 -5
  48. package/dist/eq.es.min.js +2 -2
  49. package/dist/eq.js +17 -5
  50. package/dist/eq.min.js +2 -2
  51. package/dist/eq.mjs +17 -5
  52. package/dist/every.es.js +1 -1
  53. package/dist/every.es.min.js +1 -1
  54. package/dist/every.js +1 -1
  55. package/dist/every.min.js +1 -1
  56. package/dist/every.mjs +1 -1
  57. package/dist/filter.es.js +1 -1
  58. package/dist/filter.es.min.js +1 -1
  59. package/dist/filter.js +1 -1
  60. package/dist/filter.min.js +1 -1
  61. package/dist/filter.mjs +1 -1
  62. package/dist/flatMap.es.js +1 -1
  63. package/dist/flatMap.es.min.js +1 -1
  64. package/dist/flatMap.js +1 -1
  65. package/dist/flatMap.min.js +1 -1
  66. package/dist/flatMap.mjs +1 -1
  67. package/dist/forEach.es.js +1 -1
  68. package/dist/forEach.es.min.js +1 -1
  69. package/dist/forEach.js +1 -1
  70. package/dist/forEach.min.js +1 -1
  71. package/dist/forEach.mjs +1 -1
  72. package/dist/get.es.js +1 -1
  73. package/dist/get.es.min.js +1 -1
  74. package/dist/get.js +1 -1
  75. package/dist/get.min.js +1 -1
  76. package/dist/get.mjs +1 -1
  77. package/dist/gt.es.js +17 -5
  78. package/dist/gt.es.min.js +2 -2
  79. package/dist/gt.js +17 -5
  80. package/dist/gt.min.js +2 -2
  81. package/dist/gt.mjs +17 -5
  82. package/dist/gte.es.js +17 -5
  83. package/dist/gte.es.min.js +2 -2
  84. package/dist/gte.js +17 -5
  85. package/dist/gte.min.js +2 -2
  86. package/dist/gte.mjs +17 -5
  87. package/dist/lt.es.js +17 -5
  88. package/dist/lt.es.min.js +2 -2
  89. package/dist/lt.js +17 -5
  90. package/dist/lt.min.js +2 -2
  91. package/dist/lt.mjs +17 -5
  92. package/dist/lte.es.js +17 -5
  93. package/dist/lte.es.min.js +2 -2
  94. package/dist/lte.js +17 -5
  95. package/dist/lte.min.js +2 -2
  96. package/dist/lte.mjs +17 -5
  97. package/dist/map.es.js +1 -1
  98. package/dist/map.es.min.js +1 -1
  99. package/dist/map.js +1 -1
  100. package/dist/map.min.js +1 -1
  101. package/dist/map.mjs +1 -1
  102. package/dist/not.es.js +17 -5
  103. package/dist/not.es.min.js +2 -2
  104. package/dist/not.js +17 -5
  105. package/dist/not.min.js +2 -2
  106. package/dist/not.mjs +17 -5
  107. package/dist/omit.es.js +1 -1
  108. package/dist/omit.es.min.js +1 -1
  109. package/dist/omit.js +1 -1
  110. package/dist/omit.min.js +1 -1
  111. package/dist/omit.mjs +1 -1
  112. package/dist/or.es.js +30 -9
  113. package/dist/or.es.min.js +2 -2
  114. package/dist/or.js +30 -9
  115. package/dist/or.min.js +2 -2
  116. package/dist/or.mjs +30 -9
  117. package/dist/pick.es.js +1 -1
  118. package/dist/pick.es.min.js +1 -1
  119. package/dist/pick.js +1 -1
  120. package/dist/pick.min.js +1 -1
  121. package/dist/pick.mjs +1 -1
  122. package/dist/pipe.es.js +17 -5
  123. package/dist/pipe.es.min.js +2 -2
  124. package/dist/pipe.js +17 -5
  125. package/dist/pipe.min.js +2 -2
  126. package/dist/pipe.mjs +17 -5
  127. package/dist/reduce.es.js +1 -1
  128. package/dist/reduce.es.min.js +1 -1
  129. package/dist/reduce.js +1 -1
  130. package/dist/reduce.min.js +1 -1
  131. package/dist/reduce.mjs +1 -1
  132. package/dist/rubico.es.js +107 -44
  133. package/dist/rubico.es.min.js +2 -2
  134. package/dist/rubico.global.js +107 -44
  135. package/dist/rubico.global.min.js +2 -2
  136. package/dist/rubico.js +107 -44
  137. package/dist/rubico.min.js +2 -2
  138. package/dist/rubico.mjs +107 -44
  139. package/dist/set.es.js +1 -1
  140. package/dist/set.es.min.js +1 -1
  141. package/dist/set.js +1 -1
  142. package/dist/set.min.js +1 -1
  143. package/dist/set.mjs +1 -1
  144. package/dist/some.es.js +1 -1
  145. package/dist/some.es.min.js +1 -1
  146. package/dist/some.js +1 -1
  147. package/dist/some.min.js +1 -1
  148. package/dist/some.mjs +1 -1
  149. package/dist/switchCase.es.js +30 -9
  150. package/dist/switchCase.es.min.js +2 -2
  151. package/dist/switchCase.js +30 -9
  152. package/dist/switchCase.min.js +2 -2
  153. package/dist/switchCase.mjs +30 -9
  154. package/dist/tap.es.js +17 -5
  155. package/dist/tap.es.min.js +2 -2
  156. package/dist/tap.js +17 -5
  157. package/dist/tap.min.js +2 -2
  158. package/dist/tap.mjs +17 -5
  159. package/dist/thunkify.es.js +17 -5
  160. package/dist/thunkify.es.min.js +2 -2
  161. package/dist/thunkify.js +17 -5
  162. package/dist/thunkify.min.js +2 -2
  163. package/dist/thunkify.mjs +17 -5
  164. package/dist/transform.es.js +1 -1
  165. package/dist/transform.es.min.js +1 -1
  166. package/dist/transform.js +1 -1
  167. package/dist/transform.min.js +1 -1
  168. package/dist/transform.mjs +1 -1
  169. package/dist/tryCatch.es.js +17 -5
  170. package/dist/tryCatch.es.min.js +2 -2
  171. package/dist/tryCatch.js +17 -5
  172. package/dist/tryCatch.min.js +2 -2
  173. package/dist/tryCatch.mjs +17 -5
  174. package/dist/x/append.es.js +1 -1
  175. package/dist/x/append.es.min.js +1 -1
  176. package/dist/x/append.js +1 -1
  177. package/dist/x/append.min.js +1 -1
  178. package/dist/x/append.mjs +1 -1
  179. package/dist/x/callProp.es.js +1 -1
  180. package/dist/x/callProp.es.min.js +1 -1
  181. package/dist/x/callProp.js +1 -1
  182. package/dist/x/callProp.min.js +1 -1
  183. package/dist/x/callProp.mjs +1 -1
  184. package/dist/x/defaultsDeep.es.js +1 -1
  185. package/dist/x/defaultsDeep.es.min.js +1 -1
  186. package/dist/x/defaultsDeep.js +1 -1
  187. package/dist/x/defaultsDeep.min.js +1 -1
  188. package/dist/x/defaultsDeep.mjs +1 -1
  189. package/dist/x/differenceWith.es.js +1 -1
  190. package/dist/x/differenceWith.es.min.js +1 -1
  191. package/dist/x/differenceWith.js +1 -1
  192. package/dist/x/differenceWith.min.js +1 -1
  193. package/dist/x/differenceWith.mjs +1 -1
  194. package/dist/x/filterOut.es.js +15 -5
  195. package/dist/x/filterOut.es.min.js +2 -2
  196. package/dist/x/filterOut.js +15 -5
  197. package/dist/x/filterOut.min.js +2 -2
  198. package/dist/x/filterOut.mjs +15 -5
  199. package/dist/x/find.es.js +1 -1
  200. package/dist/x/find.es.min.js +1 -1
  201. package/dist/x/find.js +1 -1
  202. package/dist/x/find.min.js +1 -1
  203. package/dist/x/find.mjs +1 -1
  204. package/dist/x/findIndex.es.js +1 -1
  205. package/dist/x/findIndex.es.min.js +1 -1
  206. package/dist/x/findIndex.js +1 -1
  207. package/dist/x/findIndex.min.js +1 -1
  208. package/dist/x/findIndex.mjs +1 -1
  209. package/dist/x/first.es.js +1 -1
  210. package/dist/x/first.es.min.js +1 -1
  211. package/dist/x/first.js +1 -1
  212. package/dist/x/first.min.js +1 -1
  213. package/dist/x/first.mjs +1 -1
  214. package/dist/x/flatten.es.js +1 -1
  215. package/dist/x/flatten.es.min.js +1 -1
  216. package/dist/x/flatten.js +1 -1
  217. package/dist/x/flatten.min.js +1 -1
  218. package/dist/x/flatten.mjs +1 -1
  219. package/dist/x/groupBy.es.js +1 -1
  220. package/dist/x/groupBy.es.min.js +1 -1
  221. package/dist/x/groupBy.js +1 -1
  222. package/dist/x/groupBy.min.js +1 -1
  223. package/dist/x/groupBy.mjs +1 -1
  224. package/dist/x/has.es.js +1 -1
  225. package/dist/x/has.es.min.js +1 -1
  226. package/dist/x/has.js +1 -1
  227. package/dist/x/has.min.js +1 -1
  228. package/dist/x/has.mjs +1 -1
  229. package/dist/x/identity.es.js +1 -1
  230. package/dist/x/identity.es.min.js +1 -1
  231. package/dist/x/identity.js +1 -1
  232. package/dist/x/identity.min.js +1 -1
  233. package/dist/x/identity.mjs +1 -1
  234. package/dist/x/includes.es.js +1 -1
  235. package/dist/x/includes.es.min.js +1 -1
  236. package/dist/x/includes.js +1 -1
  237. package/dist/x/includes.min.js +1 -1
  238. package/dist/x/includes.mjs +1 -1
  239. package/dist/x/isDeepEqual.es.js +1 -1
  240. package/dist/x/isDeepEqual.es.min.js +1 -1
  241. package/dist/x/isDeepEqual.js +1 -1
  242. package/dist/x/isDeepEqual.min.js +1 -1
  243. package/dist/x/isDeepEqual.mjs +1 -1
  244. package/dist/x/isEmpty.es.js +1 -1
  245. package/dist/x/isEmpty.es.min.js +1 -1
  246. package/dist/x/isEmpty.js +1 -1
  247. package/dist/x/isEmpty.min.js +1 -1
  248. package/dist/x/isEmpty.mjs +1 -1
  249. package/dist/x/isEqual.es.js +1 -1
  250. package/dist/x/isEqual.es.min.js +1 -1
  251. package/dist/x/isEqual.js +1 -1
  252. package/dist/x/isEqual.min.js +1 -1
  253. package/dist/x/isEqual.mjs +1 -1
  254. package/dist/x/isFunction.es.js +1 -1
  255. package/dist/x/isFunction.es.min.js +1 -1
  256. package/dist/x/isFunction.js +1 -1
  257. package/dist/x/isFunction.min.js +1 -1
  258. package/dist/x/isFunction.mjs +1 -1
  259. package/dist/x/isIn.es.js +1 -1
  260. package/dist/x/isIn.es.min.js +1 -1
  261. package/dist/x/isIn.js +1 -1
  262. package/dist/x/isIn.min.js +1 -1
  263. package/dist/x/isIn.mjs +1 -1
  264. package/dist/x/isObject.es.js +1 -1
  265. package/dist/x/isObject.es.min.js +1 -1
  266. package/dist/x/isObject.js +1 -1
  267. package/dist/x/isObject.min.js +1 -1
  268. package/dist/x/isObject.mjs +1 -1
  269. package/dist/x/isString.es.js +1 -1
  270. package/dist/x/isString.es.min.js +1 -1
  271. package/dist/x/isString.js +1 -1
  272. package/dist/x/isString.min.js +1 -1
  273. package/dist/x/isString.mjs +1 -1
  274. package/dist/x/keys.es.js +1 -1
  275. package/dist/x/keys.es.min.js +1 -1
  276. package/dist/x/keys.js +1 -1
  277. package/dist/x/keys.min.js +1 -1
  278. package/dist/x/keys.mjs +1 -1
  279. package/dist/x/last.es.js +1 -1
  280. package/dist/x/last.es.min.js +1 -1
  281. package/dist/x/last.js +1 -1
  282. package/dist/x/last.min.js +1 -1
  283. package/dist/x/last.mjs +1 -1
  284. package/dist/x/maxBy.es.js +1 -1
  285. package/dist/x/maxBy.es.min.js +1 -1
  286. package/dist/x/maxBy.js +1 -1
  287. package/dist/x/maxBy.min.js +1 -1
  288. package/dist/x/maxBy.mjs +1 -1
  289. package/dist/x/noop.es.js +1 -1
  290. package/dist/x/noop.es.min.js +1 -1
  291. package/dist/x/noop.js +1 -1
  292. package/dist/x/noop.min.js +1 -1
  293. package/dist/x/noop.mjs +1 -1
  294. package/dist/x/pluck.es.js +1 -1
  295. package/dist/x/pluck.es.min.js +1 -1
  296. package/dist/x/pluck.js +1 -1
  297. package/dist/x/pluck.min.js +1 -1
  298. package/dist/x/pluck.mjs +1 -1
  299. package/dist/x/prepend.es.js +1 -1
  300. package/dist/x/prepend.es.min.js +1 -1
  301. package/dist/x/prepend.js +1 -1
  302. package/dist/x/prepend.min.js +1 -1
  303. package/dist/x/prepend.mjs +1 -1
  304. package/dist/x/size.es.js +1 -1
  305. package/dist/x/size.es.min.js +1 -1
  306. package/dist/x/size.js +1 -1
  307. package/dist/x/size.min.js +1 -1
  308. package/dist/x/size.mjs +1 -1
  309. package/dist/x/trace.es.js +17 -5
  310. package/dist/x/trace.es.min.js +2 -2
  311. package/dist/x/trace.js +17 -5
  312. package/dist/x/trace.min.js +2 -2
  313. package/dist/x/trace.mjs +17 -5
  314. package/dist/x/unionWith.es.js +1 -1
  315. package/dist/x/unionWith.es.min.js +1 -1
  316. package/dist/x/unionWith.js +1 -1
  317. package/dist/x/unionWith.min.js +1 -1
  318. package/dist/x/unionWith.mjs +1 -1
  319. package/dist/x/uniq.es.js +1 -1
  320. package/dist/x/uniq.es.min.js +1 -1
  321. package/dist/x/uniq.js +1 -1
  322. package/dist/x/uniq.min.js +1 -1
  323. package/dist/x/uniq.mjs +1 -1
  324. package/dist/x/unless.es.js +1 -1
  325. package/dist/x/unless.es.min.js +1 -1
  326. package/dist/x/unless.js +1 -1
  327. package/dist/x/unless.min.js +1 -1
  328. package/dist/x/unless.mjs +1 -1
  329. package/dist/x/values.es.js +1 -1
  330. package/dist/x/values.es.min.js +1 -1
  331. package/dist/x/values.js +1 -1
  332. package/dist/x/values.min.js +1 -1
  333. package/dist/x/values.mjs +1 -1
  334. package/dist/x/when.es.js +1 -1
  335. package/dist/x/when.es.min.js +1 -1
  336. package/dist/x/when.js +1 -1
  337. package/dist/x/when.min.js +1 -1
  338. package/dist/x/when.mjs +1 -1
  339. package/es.js +107 -44
  340. package/index.js +107 -44
  341. package/package.json +1 -1
package/dist/rubico.mjs CHANGED
@@ -1,17 +1,29 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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
+ const isArray = Array.isArray
9
+
8
10
  const isPromise = value => value != null && typeof value.then == 'function'
9
11
 
10
12
  const areAnyValuesPromises = function (values) {
11
- const length = values.length
12
- let index = -1
13
- while (++index < length) {
14
- const value = values[index]
13
+ if (isArray(values)) {
14
+ const length = values.length
15
+ let index = -1
16
+ while (++index < length) {
17
+ const value = values[index]
18
+ if (isPromise(value)) {
19
+ return true
20
+ }
21
+ }
22
+ return false
23
+ }
24
+
25
+ for (const key in values) {
26
+ const value = values[key]
15
27
  if (isPromise(value)) {
16
28
  return true
17
29
  }
@@ -228,14 +240,58 @@ tap.if = function (...args) {
228
240
  return _tapIf(predicate, f, args)
229
241
  }
230
242
 
231
- const isArray = Array.isArray
243
+ const areAllValuesNonfunctions = function (values) {
244
+ if (isArray(values)) {
245
+ const length = values.length
246
+ let index = -1
247
+ while (++index < length) {
248
+ if (typeof values[index] == 'function') {
249
+ return false
250
+ }
251
+ }
252
+ return true
253
+ }
254
+
255
+ for (const key in values) {
256
+ if (typeof values[key] == 'function') {
257
+ return false
258
+ }
259
+ }
260
+ return true
261
+ }
262
+
263
+ const promiseObjectAllExecutor = object => function executor(resolve) {
264
+ const result = {}
265
+ let numPromises = 0
266
+ for (const key in object) {
267
+ const value = object[key]
268
+ if (isPromise(value)) {
269
+ numPromises += 1
270
+ value.then((key => function (res) {
271
+ result[key] = res
272
+ numPromises -= 1
273
+ if (numPromises == 0) {
274
+ resolve(result)
275
+ }
276
+ })(key))
277
+ } else {
278
+ result[key] = value
279
+ }
280
+ }
281
+ if (numPromises == 0) {
282
+ resolve(result)
283
+ }
284
+ }
285
+
286
+ const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
232
287
 
233
288
  const functionArrayAll = function (funcs, args) {
234
289
  const funcsLength = funcs.length,
235
290
  result = Array(funcsLength)
236
291
  let funcsIndex = -1, isAsync = false
237
292
  while (++funcsIndex < funcsLength) {
238
- const resultItem = funcs[funcsIndex](...args)
293
+ const f = funcs[funcsIndex]
294
+ const resultItem = typeof f == 'function' ? f(...args) : f
239
295
  if (isPromise(resultItem)) {
240
296
  isAsync = true
241
297
  }
@@ -317,7 +373,8 @@ const functionArrayAllSeries = function (funcs, args) {
317
373
  const functionObjectAll = function (funcs, args) {
318
374
  const result = {}, promises = []
319
375
  for (const key in funcs) {
320
- const resultItem = funcs[key](...args)
376
+ const f = funcs[key]
377
+ const resultItem = typeof f == 'function' ? f(...args) : f
321
378
  if (isPromise(resultItem)) {
322
379
  promises.push(resultItem.then(curry3(objectSet, result, key, __)))
323
380
  } else {
@@ -327,7 +384,48 @@ const functionObjectAll = function (funcs, args) {
327
384
  return promises.length == 0 ? result : promiseAll(promises).then(always(result))
328
385
  }
329
386
 
387
+ const _allValues = function (values) {
388
+ if (isArray(values)) {
389
+ return areAnyValuesPromises(values)
390
+ ? promiseAll(values)
391
+ : values
392
+ }
393
+ return areAnyValuesPromises(values)
394
+ ? promiseObjectAll(values)
395
+ : values
396
+ }
397
+
330
398
  const all = function (...args) {
399
+ if (args.length == 1) {
400
+ const resolversOrValues = args[0]
401
+ if (isPromise(resolversOrValues)) {
402
+ return resolversOrValues.then(_allValues)
403
+ }
404
+ if (areAllValuesNonfunctions(resolversOrValues)) {
405
+ return _allValues(resolversOrValues)
406
+ }
407
+ return isArray(resolversOrValues)
408
+ ? curryArgs2(functionArrayAll, resolversOrValues, __)
409
+ : curryArgs2(functionObjectAll, resolversOrValues, __)
410
+ }
411
+
412
+ const resolversOrValues = args[args.length - 1]
413
+ const argValues = args.slice(0, -1)
414
+
415
+ if (areAnyValuesPromises(argValues)) {
416
+ return isArray(resolversOrValues)
417
+ ? promiseAll(argValues)
418
+ .then(curry2(functionArrayAll, resolversOrValues, __))
419
+ : promiseAll(argValues)
420
+ .then(curry2(functionObjectAll, resolversOrValues, __))
421
+ }
422
+
423
+ return isArray(resolversOrValues)
424
+ ? functionArrayAll(resolversOrValues, argValues)
425
+ : functionObjectAll(resolversOrValues, argValues)
426
+
427
+ /*
428
+ ////////////////////////////////////////////////////////////////
331
429
  const funcs = args.pop()
332
430
  if (args.length == 0) {
333
431
  return isArray(funcs)
@@ -344,6 +442,7 @@ const all = function (...args) {
344
442
  return isArray(funcs)
345
443
  ? functionArrayAll(funcs, args)
346
444
  : functionObjectAll(funcs, args)
445
+ */
347
446
  }
348
447
 
349
448
  all.series = function allSeries(...args) {
@@ -454,17 +553,6 @@ const arrayConditional = function (array, args, funcsIndex) {
454
553
  : defaultResolverOrValue
455
554
  }
456
555
 
457
- const areAllValuesNonfunctions = function (values) {
458
- const length = values.length
459
- let index = -1
460
- while (++index < length) {
461
- if (typeof values[index] == 'function') {
462
- return false
463
- }
464
- }
465
- return true
466
- }
467
-
468
556
  const thunkify2 = (func, arg0, arg1) => function thunk() {
469
557
  return func(arg0, arg1)
470
558
  }
@@ -613,31 +701,6 @@ const mapMap = function (value, mapper) {
613
701
  : promiseAll(promises).then(always(result))
614
702
  }
615
703
 
616
- const promiseObjectAllExecutor = object => function executor(resolve) {
617
- const result = {}
618
- let numPromises = 0
619
- for (const key in object) {
620
- const value = object[key]
621
- if (isPromise(value)) {
622
- numPromises += 1
623
- value.then((key => function (res) {
624
- result[key] = res
625
- numPromises -= 1
626
- if (numPromises == 0) {
627
- resolve(result)
628
- }
629
- })(key))
630
- } else {
631
- result[key] = value
632
- }
633
- }
634
- if (numPromises == 0) {
635
- resolve(result)
636
- }
637
- }
638
-
639
- const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
640
-
641
704
  const objectMap = function (object, mapper) {
642
705
  const result = {}
643
706
  let isAsync = false
package/dist/set.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.6.1
2
+ * rubico v2.6.2
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/set.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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/set.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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/set.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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/some.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.6.1
2
+ * rubico v2.6.2
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/some.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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/some.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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/some.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.6.1
2
+ * rubico v2.6.2
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.
@@ -7,13 +7,25 @@
7
7
 
8
8
  const promiseAll = Promise.all.bind(Promise)
9
9
 
10
+ const isArray = Array.isArray
11
+
10
12
  const isPromise = value => value != null && typeof value.then == 'function'
11
13
 
12
14
  const areAnyValuesPromises = function (values) {
13
- const length = values.length
14
- let index = -1
15
- while (++index < length) {
16
- const value = values[index]
15
+ if (isArray(values)) {
16
+ const length = values.length
17
+ let index = -1
18
+ while (++index < length) {
19
+ const value = values[index]
20
+ if (isPromise(value)) {
21
+ return true
22
+ }
23
+ }
24
+ return false
25
+ }
26
+
27
+ for (const key in values) {
28
+ const value = values[key]
17
29
  if (isPromise(value)) {
18
30
  return true
19
31
  }
@@ -109,10 +121,19 @@ const arrayConditional = function (array, args, funcsIndex) {
109
121
  }
110
122
 
111
123
  const areAllValuesNonfunctions = function (values) {
112
- const length = values.length
113
- let index = -1
114
- while (++index < length) {
115
- if (typeof values[index] == 'function') {
124
+ if (isArray(values)) {
125
+ const length = values.length
126
+ let index = -1
127
+ while (++index < length) {
128
+ if (typeof values[index] == 'function') {
129
+ return false
130
+ }
131
+ }
132
+ return true
133
+ }
134
+
135
+ for (const key in values) {
136
+ if (typeof values[key] == 'function') {
116
137
  return false
117
138
  }
118
139
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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 promiseAll=Promise.all.bind(Promise),isPromise=n=>null!=n&&"function"==typeof n.then,areAnyValuesPromises=function(n){const r=n.length;let t=-1;for(;++t<r;){const r=n[t];if(isPromise(r))return!0}return!1},thunkConditional=(n,r,t)=>n?r():t(),thunkifyArgs=(n,r)=>function(){return n(...r)},thunkify3=(n,r,t,o)=>function(){return n(r,t,o)},__=Symbol.for("placeholder"),curry3ResolveArg0=(n,r,t)=>function(o){return n(o,r,t)},curry3ResolveArg1=(n,r,t)=>function(o){return n(r,o,t)},curry3ResolveArg2=(n,r,t)=>function(o){return n(r,t,o)},curry3=function(n,r,t,o){return r==__?curry3ResolveArg0(n,t,o):t==__?curry3ResolveArg1(n,r,o):curry3ResolveArg2(n,r,t)},always=n=>function(){return n},arrayConditional=function(n,r,t){const o=n.length-1;for(;(t+=2)<o;){const o=n[t],e=n[t+1],u="function"==typeof o?o(...r):o;if(isPromise(u))return u.then(curry3(thunkConditional,__,"function"==typeof e?thunkifyArgs(e,r):always(e),thunkify3(arrayConditional,n,r,t)));if(u)return"function"==typeof e?e(...r):e}if(t==n.length)return;const e=n[o];return"function"==typeof e?e(...r):e},areAllValuesNonfunctions=function(n){const r=n.length;let t=-1;for(;++t<r;)if("function"==typeof n[t])return!1;return!0},thunkify2=(n,r,t)=>function(){return n(r,t)},nonfunctionsConditional=function(n,r){const t=n.length,o=t-1;for(;(r+=2)<o;){const t=n[r],o=n[r+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(o),thunkify2(nonfunctionsConditional,n,r)));if(t)return o}if(r!=t)return n[r]},curryArgs3ResolveArgs0=(n,r,t)=>function(...o){return n(o,r,t)},curryArgs3ResolveArgs1=(n,r,t)=>function(...o){return n(r,o,t)},curryArgs3ResolveArgs2=(n,r,t)=>function(...o){return n(r,t,o)},curryArgs3=function(n,r,t,o){return r==__?curryArgs3ResolveArgs0(n,t,o):t==__?curryArgs3ResolveArgs1(n,r,o):curryArgs3ResolveArgs2(n,r,t)},switchCase=(...n)=>{const r=n.pop();return areAllValuesNonfunctions(r)?nonfunctionsConditional(r,-2):0==n.length?curryArgs3(arrayConditional,r,__,-2):areAnyValuesPromises(n)?promiseAll(n).then(curry3(arrayConditional,r,__,-2)):arrayConditional(r,n,-2)};export default switchCase;
7
+ const promiseAll=Promise.all.bind(Promise),isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const n=r.length;let t=-1;for(;++t<n;){const n=r[t];if(isPromise(n))return!0}return!1}for(const n in r){const t=r[n];if(isPromise(t))return!0}return!1},thunkConditional=(r,n,t)=>r?n():t(),thunkifyArgs=(r,n)=>function(){return r(...n)},thunkify3=(r,n,t,o)=>function(){return r(n,t,o)},__=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)},always=r=>function(){return r},arrayConditional=function(r,n,t){const o=r.length-1;for(;(t+=2)<o;){const o=r[t],e=r[t+1],i="function"==typeof o?o(...n):o;if(isPromise(i))return i.then(curry3(thunkConditional,__,"function"==typeof e?thunkifyArgs(e,n):always(e),thunkify3(arrayConditional,r,n,t)));if(i)return"function"==typeof e?e(...n):e}if(t==r.length)return;const e=r[o];return"function"==typeof e?e(...n):e},areAllValuesNonfunctions=function(r){if(isArray(r)){const n=r.length;let t=-1;for(;++t<n;)if("function"==typeof r[t])return!1;return!0}for(const n in r)if("function"==typeof r[n])return!1;return!0},thunkify2=(r,n,t)=>function(){return r(n,t)},nonfunctionsConditional=function(r,n){const t=r.length,o=t-1;for(;(n+=2)<o;){const t=r[n],o=r[n+1];if(isPromise(t))return t.then(curry3(thunkConditional,__,always(o),thunkify2(nonfunctionsConditional,r,n)));if(t)return o}if(n!=t)return r[n]},curryArgs3ResolveArgs0=(r,n,t)=>function(...o){return r(o,n,t)},curryArgs3ResolveArgs1=(r,n,t)=>function(...o){return r(n,o,t)},curryArgs3ResolveArgs2=(r,n,t)=>function(...o){return r(n,t,o)},curryArgs3=function(r,n,t,o){return n==__?curryArgs3ResolveArgs0(r,t,o):t==__?curryArgs3ResolveArgs1(r,n,o):curryArgs3ResolveArgs2(r,n,t)},switchCase=(...r)=>{const n=r.pop();return areAllValuesNonfunctions(n)?nonfunctionsConditional(n,-2):0==r.length?curryArgs3(arrayConditional,n,__,-2):areAnyValuesPromises(r)?promiseAll(r).then(curry3(arrayConditional,n,__,-2)):arrayConditional(n,r,-2)};export default switchCase;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.
@@ -13,13 +13,25 @@
13
13
 
14
14
  const promiseAll = Promise.all.bind(Promise)
15
15
 
16
+ const isArray = Array.isArray
17
+
16
18
  const isPromise = value => value != null && typeof value.then == 'function'
17
19
 
18
20
  const areAnyValuesPromises = function (values) {
19
- const length = values.length
20
- let index = -1
21
- while (++index < length) {
22
- const value = values[index]
21
+ if (isArray(values)) {
22
+ const length = values.length
23
+ let index = -1
24
+ while (++index < length) {
25
+ const value = values[index]
26
+ if (isPromise(value)) {
27
+ return true
28
+ }
29
+ }
30
+ return false
31
+ }
32
+
33
+ for (const key in values) {
34
+ const value = values[key]
23
35
  if (isPromise(value)) {
24
36
  return true
25
37
  }
@@ -115,10 +127,19 @@ const arrayConditional = function (array, args, funcsIndex) {
115
127
  }
116
128
 
117
129
  const areAllValuesNonfunctions = function (values) {
118
- const length = values.length
119
- let index = -1
120
- while (++index < length) {
121
- if (typeof values[index] == 'function') {
130
+ if (isArray(values)) {
131
+ const length = values.length
132
+ let index = -1
133
+ while (++index < length) {
134
+ if (typeof values[index] == 'function') {
135
+ return false
136
+ }
137
+ }
138
+ return true
139
+ }
140
+
141
+ for (const key in values) {
142
+ if (typeof values[key] == 'function') {
122
143
  return false
123
144
  }
124
145
  }
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.switchCase=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Promise.all.bind(Promise),t=n=>null!=n&&"function"==typeof n.then,e=(n,t,e)=>n?t():e(),o=(n,t)=>function(){return n(...t)},r=(n,t,e,o)=>function(){return n(t,e,o)},u=Symbol.for("placeholder"),f=function(n,t,e,o){return t==u?((n,t,e)=>function(o){return n(o,t,e)})(n,e,o):e==u?((n,t,e)=>function(o){return n(t,o,e)})(n,t,o):((n,t,e)=>function(o){return n(t,e,o)})(n,t,e)},i=n=>function(){return n},c=function(n,l,s){const h=n.length-1;for(;(s+=2)<h;){const h=n[s],p=n[s+1],y="function"==typeof h?h(...l):h;if(t(y))return y.then(f(e,u,"function"==typeof p?o(p,l):i(p),r(c,n,l,s)));if(y)return"function"==typeof p?p(...l):p}if(s==n.length)return;const p=n[h];return"function"==typeof p?p(...l):p},l=(n,t,e)=>function(){return n(t,e)},s=function(n,o){const r=n.length,c=r-1;for(;(o+=2)<c;){const r=n[o],c=n[o+1];if(t(r))return r.then(f(e,u,i(c),l(s,n,o)));if(r)return c}if(o!=r)return n[o]};return(...e)=>{const o=e.pop();return function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0}(o)?s(o,-2):0==e.length?(r=c,l=u,h=-2,(i=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,l,h):l==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,i,h):((n,t,e)=>function(...o){return n(t,e,o)})(r,i,l)):function(n){const e=n.length;let o=-1;for(;++o<e;){const e=n[o];if(t(e))return!0}return!1}(e)?n(e).then(f(c,o,u,-2)):c(o,e,-2);var r,i,l,h}}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.switchCase=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Promise.all.bind(Promise),t=Array.isArray,r=n=>null!=n&&"function"==typeof n.then,o=(n,t,r)=>n?t():r(),e=(n,t)=>function(){return n(...t)},u=(n,t,r,o)=>function(){return n(t,r,o)},f=Symbol.for("placeholder"),i=function(n,t,r,o){return t==f?((n,t,r)=>function(o){return n(o,t,r)})(n,r,o):r==f?((n,t,r)=>function(o){return n(t,o,r)})(n,t,o):((n,t,r)=>function(o){return n(t,r,o)})(n,t,r)},c=n=>function(){return n},s=function(n,t,l){const h=n.length-1;for(;(l+=2)<h;){const h=n[l],p=n[l+1],y="function"==typeof h?h(...t):h;if(r(y))return y.then(i(o,f,"function"==typeof p?e(p,t):c(p),u(s,n,t,l)));if(y)return"function"==typeof p?p(...t):p}if(l==n.length)return;const p=n[h];return"function"==typeof p?p(...t):p},l=(n,t,r)=>function(){return n(t,r)},h=function(n,t){const e=n.length,u=e-1;for(;(t+=2)<u;){const e=n[t],u=n[t+1];if(r(e))return e.then(i(o,f,c(u),l(h,n,t)));if(e)return u}if(t!=e)return n[t]};return(...o)=>{const e=o.pop();return function(n){if(t(n)){const t=n.length;let r=-1;for(;++r<t;)if("function"==typeof n[r])return!1;return!0}for(const t in n)if("function"==typeof n[t])return!1;return!0}(e)?h(e,-2):0==o.length?(u=s,l=f,p=-2,(c=e)==f?((n,t,r)=>function(...o){return n(o,t,r)})(u,l,p):l==f?((n,t,r)=>function(...o){return n(t,o,r)})(u,c,p):((n,t,r)=>function(...o){return n(t,r,o)})(u,c,l)):function(n){if(t(n)){const t=n.length;let o=-1;for(;++o<t;){const t=n[o];if(r(t))return!0}return!1}for(const t in n){const o=n[t];if(r(o))return!0}return!1}(o)?n(o).then(i(s,e,f,-2)):s(e,o,-2);var u,c,l,p}}());
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.
@@ -7,13 +7,25 @@
7
7
 
8
8
  const promiseAll = Promise.all.bind(Promise)
9
9
 
10
+ const isArray = Array.isArray
11
+
10
12
  const isPromise = value => value != null && typeof value.then == 'function'
11
13
 
12
14
  const areAnyValuesPromises = function (values) {
13
- const length = values.length
14
- let index = -1
15
- while (++index < length) {
16
- const value = values[index]
15
+ if (isArray(values)) {
16
+ const length = values.length
17
+ let index = -1
18
+ while (++index < length) {
19
+ const value = values[index]
20
+ if (isPromise(value)) {
21
+ return true
22
+ }
23
+ }
24
+ return false
25
+ }
26
+
27
+ for (const key in values) {
28
+ const value = values[key]
17
29
  if (isPromise(value)) {
18
30
  return true
19
31
  }
@@ -109,10 +121,19 @@ const arrayConditional = function (array, args, funcsIndex) {
109
121
  }
110
122
 
111
123
  const areAllValuesNonfunctions = function (values) {
112
- const length = values.length
113
- let index = -1
114
- while (++index < length) {
115
- if (typeof values[index] == 'function') {
124
+ if (isArray(values)) {
125
+ const length = values.length
126
+ let index = -1
127
+ while (++index < length) {
128
+ if (typeof values[index] == 'function') {
129
+ return false
130
+ }
131
+ }
132
+ return true
133
+ }
134
+
135
+ for (const key in values) {
136
+ if (typeof values[key] == 'function') {
116
137
  return false
117
138
  }
118
139
  }
package/dist/tap.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.
@@ -122,11 +122,23 @@ const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
122
122
  return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
123
123
  }
124
124
 
125
+ const isArray = Array.isArray
126
+
125
127
  const areAnyValuesPromises = function (values) {
126
- const length = values.length
127
- let index = -1
128
- while (++index < length) {
129
- const value = values[index]
128
+ if (isArray(values)) {
129
+ const length = values.length
130
+ let index = -1
131
+ while (++index < length) {
132
+ const value = values[index]
133
+ if (isPromise(value)) {
134
+ return true
135
+ }
136
+ }
137
+ return false
138
+ }
139
+
140
+ for (const key in values) {
141
+ const value = values[key]
130
142
  if (isPromise(value)) {
131
143
  return true
132
144
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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},thunkifyArgs=(r,e)=>function(){return r(...e)},thunkConditional=(r,e,n)=>r?e():n(),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,e)=>function(n){return r(n,e)},curry2ResolveArg1=(r,e)=>function(n){return r(e,n)},curry2=function(r,e,n){return e==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,e)},curry3ResolveArg0=(r,e,n)=>function(t){return r(t,e,n)},curry3ResolveArg1=(r,e,n)=>function(t){return r(e,t,n)},curry3ResolveArg2=(r,e,n)=>function(t){return r(e,n,t)},curry3=function(r,e,n,t){return e==__?curry3ResolveArg0(r,n,t):n==__?curry3ResolveArg1(r,e,t):curry3ResolveArg2(r,e,n)},curryArgs2ResolveArgs0=(r,e,n)=>function(...n){return r(n,e)},curryArgs2ResolveArgs1=(r,e,n)=>function(...n){return r(e,n)},curryArgs2=function(r,e,n){return e==__?curryArgs2ResolveArgs0(r,n):curryArgs2ResolveArgs1(r,e)},curryArgs3ResolveArgs0=(r,e,n)=>function(...t){return r(t,e,n)},curryArgs3ResolveArgs1=(r,e,n)=>function(...t){return r(e,t,n)},curryArgs3ResolveArgs2=(r,e,n)=>function(...t){return r(e,n,t)},curryArgs3=function(r,e,n,t){return e==__?curryArgs3ResolveArgs0(r,n,t):n==__?curryArgs3ResolveArgs1(r,e,t):curryArgs3ResolveArgs2(r,e,n)},areAnyValuesPromises=function(r){const e=r.length;let n=-1;for(;++n<e;){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),_tap=function(r,e){const n=r[0],t=e(...r);return isPromise(t)?t.then(always(n)):n},tap=function(...r){const e=r.pop();return 0==r.length?curryArgs2(_tap,__,e):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,e)):_tap(r,e)},_tapIf=function(r,e,n){const t=r(...n);if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkifyArgs(tap(e),n),always(n[0])));if(t){const r=e(...n);if(isPromise(r))return r.then(always(n[0]))}return n[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const e=r.length,n=r[e-1],t=r[e-2],u=r.slice(0,-2);return areAnyValuesPromises(u)?promiseAll(u).then(curry3(_tapIf,t,n,__)):_tapIf(t,n,r)};export default tap;
7
+ const isPromise=r=>null!=r&&"function"==typeof r.then,always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,e)=>r?n():e(),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):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)},curryArgs3ResolveArgs0=(r,n,e)=>function(...t){return r(t,n,e)},curryArgs3ResolveArgs1=(r,n,e)=>function(...t){return r(n,t,e)},curryArgs3ResolveArgs2=(r,n,e)=>function(...t){return r(n,e,t)},curryArgs3=function(r,n,e,t){return n==__?curryArgs3ResolveArgs0(r,e,t):e==__?curryArgs3ResolveArgs1(r,n,t):curryArgs3ResolveArgs2(r,n,e)},isArray=Array.isArray,areAnyValuesPromises=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1}for(const n in r){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),_tap=function(r,n){const e=r[0],t=n(...r);return isPromise(t)?t.then(always(e)):e},tap=function(...r){const n=r.pop();return 0==r.length?curryArgs2(_tap,__,n):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,n)):_tap(r,n)},_tapIf=function(r,n,e){const t=r(...e);if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkifyArgs(tap(n),e),always(e[0])));if(t){const r=n(...e);if(isPromise(r))return r.then(always(e[0]))}return e[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const n=r.length,e=r[n-1],t=r[n-2],s=r.slice(0,-2);return areAnyValuesPromises(s)?promiseAll(s).then(curry3(_tapIf,t,e,__)):_tapIf(t,e,r)};export default tap;
package/dist/tap.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.
@@ -128,11 +128,23 @@ const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
128
128
  return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
129
129
  }
130
130
 
131
+ const isArray = Array.isArray
132
+
131
133
  const areAnyValuesPromises = function (values) {
132
- const length = values.length
133
- let index = -1
134
- while (++index < length) {
135
- const value = values[index]
134
+ if (isArray(values)) {
135
+ const length = values.length
136
+ let index = -1
137
+ while (++index < length) {
138
+ const value = values[index]
139
+ if (isPromise(value)) {
140
+ return true
141
+ }
142
+ }
143
+ return false
144
+ }
145
+
146
+ for (const key in values) {
147
+ const value = values[key]
136
148
  if (isPromise(value)) {
137
149
  return true
138
150
  }
package/dist/tap.min.js CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.tap=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},r=(n,t,r)=>n?t():r(),e=Symbol.for("placeholder"),u=function(n,t,r,u){return t==e?((n,t,r)=>function(e){return n(e,t,r)})(n,r,u):r==e?((n,t,r)=>function(e){return n(t,e,r)})(n,t,u):((n,t,r)=>function(e){return n(t,r,e)})(n,t,r)},o=function(t){const r=t.length;let e=-1;for(;++e<r;){const r=t[e];if(n(r))return!0}return!1},i=Promise.all.bind(Promise),f=function(r,e){const u=r[0],o=e(...r);return n(o)?o.then(t(u)):u},c=function(...n){const t=n.pop();return 0==n.length?(r=f,c=t,(u=e)==e?((n,t)=>function(...r){return n(r,t)})(r,c):((n,t)=>function(...r){return n(t,r)})(r,u)):o(n)?i(n).then(function(n,t,r){return t==e?((n,t)=>function(r){return n(r,t)})(n,r):((n,t)=>function(r){return n(t,r)})(n,t)}(f,e,t)):f(n,t);var r,u,c},l=function(o,i,f){const l=o(...f);if(n(l))return l.then(u(r,e,((n,t)=>function(){return n(...t)})(c(i),f),t(f[0])));if(l){const r=i(...f);if(n(r))return r.then(t(f[0]))}return f[0]};return c.if=function(...n){if(2==n.length)return t=l,r=n[0],f=n[1],c=e,r==e?((n,t,r)=>function(...e){return n(e,t,r)})(t,f,c):f==e?((n,t,r)=>function(...e){return n(t,e,r)})(t,r,c):((n,t,r)=>function(...e){return n(t,r,e)})(t,r,f);var t,r,f,c;const s=n.length,h=n[s-1],p=n[s-2],a=n.slice(0,-2);return o(a)?i(a).then(u(l,p,h,e)):l(p,h,n)},c}());
8
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.tap=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},r=(n,t,r)=>n?t():r(),e=Symbol.for("placeholder"),u=function(n,t,r,u){return t==e?((n,t,r)=>function(e){return n(e,t,r)})(n,r,u):r==e?((n,t,r)=>function(e){return n(t,e,r)})(n,t,u):((n,t,r)=>function(e){return n(t,r,e)})(n,t,r)},o=Array.isArray,i=function(t){if(o(t)){const r=t.length;let e=-1;for(;++e<r;){const r=t[e];if(n(r))return!0}return!1}for(const r in t){const e=t[r];if(n(e))return!0}return!1},f=Promise.all.bind(Promise),c=function(r,e){const u=r[0],o=e(...r);return n(o)?o.then(t(u)):u},s=function(...n){const t=n.pop();return 0==n.length?(r=c,o=t,(u=e)==e?((n,t)=>function(...r){return n(r,t)})(r,o):((n,t)=>function(...r){return n(t,r)})(r,u)):i(n)?f(n).then(function(n,t,r){return t==e?((n,t)=>function(r){return n(r,t)})(n,r):((n,t)=>function(r){return n(t,r)})(n,t)}(c,e,t)):c(n,t);var r,u,o},l=function(o,i,f){const c=o(...f);if(n(c))return c.then(u(r,e,((n,t)=>function(){return n(...t)})(s(i),f),t(f[0])));if(c){const r=i(...f);if(n(r))return r.then(t(f[0]))}return f[0]};return s.if=function(...n){if(2==n.length)return t=l,r=n[0],o=n[1],c=e,r==e?((n,t,r)=>function(...e){return n(e,t,r)})(t,o,c):o==e?((n,t,r)=>function(...e){return n(t,e,r)})(t,r,c):((n,t,r)=>function(...e){return n(t,r,e)})(t,r,o);var t,r,o,c;const s=n.length,h=n[s-1],a=n[s-2],p=n.slice(0,-2);return i(p)?f(p).then(u(l,a,h,e)):l(a,h,n)},s}());
package/dist/tap.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.6.1
2
+ * rubico v2.6.2
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.
@@ -122,11 +122,23 @@ const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
122
122
  return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
123
123
  }
124
124
 
125
+ const isArray = Array.isArray
126
+
125
127
  const areAnyValuesPromises = function (values) {
126
- const length = values.length
127
- let index = -1
128
- while (++index < length) {
129
- const value = values[index]
128
+ if (isArray(values)) {
129
+ const length = values.length
130
+ let index = -1
131
+ while (++index < length) {
132
+ const value = values[index]
133
+ if (isPromise(value)) {
134
+ return true
135
+ }
136
+ }
137
+ return false
138
+ }
139
+
140
+ for (const key in values) {
141
+ const value = values[key]
130
142
  if (isPromise(value)) {
131
143
  return true
132
144
  }