rubico 2.6.0 → 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.
- package/_internal/areAllValuesNonfunctions.js +16 -4
- package/_internal/areAnyValuesPromises.js +16 -4
- package/_internal/functionArrayAll.js +2 -1
- package/_internal/functionObjectAll.js +2 -1
- package/all.js +101 -22
- package/assign.js +19 -3
- package/dist/Transducer.es.js +1 -1
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +1 -1
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +1 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +107 -8
- package/dist/all.es.min.js +2 -2
- package/dist/all.js +107 -8
- package/dist/all.min.js +2 -2
- package/dist/all.mjs +107 -8
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +30 -9
- package/dist/and.es.min.js +2 -2
- package/dist/and.js +30 -9
- package/dist/and.min.js +2 -2
- package/dist/and.mjs +30 -9
- package/dist/assign.es.js +3 -2
- package/dist/assign.es.min.js +2 -2
- package/dist/assign.js +3 -2
- package/dist/assign.min.js +2 -2
- package/dist/assign.mjs +3 -2
- package/dist/compose.es.js +17 -5
- package/dist/compose.es.min.js +2 -2
- package/dist/compose.js +17 -5
- package/dist/compose.min.js +2 -2
- package/dist/compose.mjs +17 -5
- package/dist/curry.es.js +1 -1
- package/dist/curry.es.min.js +1 -1
- package/dist/curry.js +1 -1
- package/dist/curry.min.js +1 -1
- package/dist/curry.mjs +1 -1
- package/dist/eq.es.js +17 -5
- package/dist/eq.es.min.js +2 -2
- package/dist/eq.js +17 -5
- package/dist/eq.min.js +2 -2
- package/dist/eq.mjs +17 -5
- package/dist/every.es.js +1 -1
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +1 -1
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +1 -1
- package/dist/filter.es.js +1 -1
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +1 -1
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/flatMap.es.js +1 -1
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +1 -1
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +1 -1
- package/dist/forEach.es.js +1 -1
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +1 -1
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +1 -1
- package/dist/get.es.js +1 -1
- package/dist/get.es.min.js +1 -1
- package/dist/get.js +1 -1
- package/dist/get.min.js +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +17 -5
- package/dist/gt.es.min.js +2 -2
- package/dist/gt.js +17 -5
- package/dist/gt.min.js +2 -2
- package/dist/gt.mjs +17 -5
- package/dist/gte.es.js +17 -5
- package/dist/gte.es.min.js +2 -2
- package/dist/gte.js +17 -5
- package/dist/gte.min.js +2 -2
- package/dist/gte.mjs +17 -5
- package/dist/lt.es.js +17 -5
- package/dist/lt.es.min.js +2 -2
- package/dist/lt.js +17 -5
- package/dist/lt.min.js +2 -2
- package/dist/lt.mjs +17 -5
- package/dist/lte.es.js +17 -5
- package/dist/lte.es.min.js +2 -2
- package/dist/lte.js +17 -5
- package/dist/lte.min.js +2 -2
- package/dist/lte.mjs +17 -5
- package/dist/map.es.js +1 -1
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +1 -1
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +1 -1
- package/dist/not.es.js +17 -5
- package/dist/not.es.min.js +2 -2
- package/dist/not.js +17 -5
- package/dist/not.min.js +2 -2
- package/dist/not.mjs +17 -5
- package/dist/omit.es.js +1 -1
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +1 -1
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +30 -9
- package/dist/or.es.min.js +2 -2
- package/dist/or.js +30 -9
- package/dist/or.min.js +2 -2
- package/dist/or.mjs +30 -9
- package/dist/pick.es.js +1 -1
- package/dist/pick.es.min.js +1 -1
- package/dist/pick.js +1 -1
- package/dist/pick.min.js +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +17 -5
- package/dist/pipe.es.min.js +2 -2
- package/dist/pipe.js +17 -5
- package/dist/pipe.min.js +2 -2
- package/dist/pipe.mjs +17 -5
- package/dist/reduce.es.js +1 -1
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +170 -89
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +170 -89
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +170 -89
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +170 -89
- package/dist/set.es.js +1 -1
- package/dist/set.es.min.js +1 -1
- package/dist/set.js +1 -1
- package/dist/set.min.js +1 -1
- package/dist/set.mjs +1 -1
- package/dist/some.es.js +1 -1
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +1 -1
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +1 -1
- package/dist/switchCase.es.js +30 -9
- package/dist/switchCase.es.min.js +2 -2
- package/dist/switchCase.js +30 -9
- package/dist/switchCase.min.js +2 -2
- package/dist/switchCase.mjs +30 -9
- package/dist/tap.es.js +80 -19
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +80 -19
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +80 -19
- package/dist/thunkify.es.js +17 -5
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +17 -5
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +17 -5
- package/dist/transform.es.js +1 -1
- package/dist/transform.es.min.js +1 -1
- package/dist/transform.js +1 -1
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +1 -1
- package/dist/tryCatch.es.js +17 -5
- package/dist/tryCatch.es.min.js +2 -2
- package/dist/tryCatch.js +17 -5
- package/dist/tryCatch.min.js +2 -2
- package/dist/tryCatch.mjs +17 -5
- package/dist/x/append.es.js +1 -1
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +1 -1
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +1 -1
- package/dist/x/callProp.es.js +1 -1
- package/dist/x/callProp.es.min.js +1 -1
- package/dist/x/callProp.js +1 -1
- package/dist/x/callProp.min.js +1 -1
- package/dist/x/callProp.mjs +1 -1
- package/dist/x/defaultsDeep.es.js +1 -1
- package/dist/x/defaultsDeep.es.min.js +1 -1
- package/dist/x/defaultsDeep.js +1 -1
- package/dist/x/defaultsDeep.min.js +1 -1
- package/dist/x/defaultsDeep.mjs +1 -1
- package/dist/x/differenceWith.es.js +1 -1
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +1 -1
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- package/dist/x/filterOut.es.js +15 -5
- package/dist/x/filterOut.es.min.js +2 -2
- package/dist/x/filterOut.js +15 -5
- package/dist/x/filterOut.min.js +2 -2
- package/dist/x/filterOut.mjs +15 -5
- package/dist/x/find.es.js +1 -1
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -1
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -1
- package/dist/x/findIndex.es.js +1 -1
- package/dist/x/findIndex.es.min.js +1 -1
- package/dist/x/findIndex.js +1 -1
- package/dist/x/findIndex.min.js +1 -1
- package/dist/x/findIndex.mjs +1 -1
- package/dist/x/first.es.js +1 -1
- package/dist/x/first.es.min.js +1 -1
- package/dist/x/first.js +1 -1
- package/dist/x/first.min.js +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +1 -1
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +1 -1
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +1 -1
- package/dist/x/groupBy.es.js +1 -1
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +1 -1
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +1 -1
- package/dist/x/has.es.js +1 -1
- package/dist/x/has.es.min.js +1 -1
- package/dist/x/has.js +1 -1
- package/dist/x/has.min.js +1 -1
- package/dist/x/has.mjs +1 -1
- package/dist/x/identity.es.js +1 -1
- package/dist/x/identity.es.min.js +1 -1
- package/dist/x/identity.js +1 -1
- package/dist/x/identity.min.js +1 -1
- package/dist/x/identity.mjs +1 -1
- package/dist/x/includes.es.js +1 -1
- package/dist/x/includes.es.min.js +1 -1
- package/dist/x/includes.js +1 -1
- package/dist/x/includes.min.js +1 -1
- package/dist/x/includes.mjs +1 -1
- package/dist/x/isDeepEqual.es.js +1 -1
- package/dist/x/isDeepEqual.es.min.js +1 -1
- package/dist/x/isDeepEqual.js +1 -1
- package/dist/x/isDeepEqual.min.js +1 -1
- package/dist/x/isDeepEqual.mjs +1 -1
- package/dist/x/isEmpty.es.js +1 -1
- package/dist/x/isEmpty.es.min.js +1 -1
- package/dist/x/isEmpty.js +1 -1
- package/dist/x/isEmpty.min.js +1 -1
- package/dist/x/isEmpty.mjs +1 -1
- package/dist/x/isEqual.es.js +1 -1
- package/dist/x/isEqual.es.min.js +1 -1
- package/dist/x/isEqual.js +1 -1
- package/dist/x/isEqual.min.js +1 -1
- package/dist/x/isEqual.mjs +1 -1
- package/dist/x/isFunction.es.js +1 -1
- package/dist/x/isFunction.es.min.js +1 -1
- package/dist/x/isFunction.js +1 -1
- package/dist/x/isFunction.min.js +1 -1
- package/dist/x/isFunction.mjs +1 -1
- package/dist/x/isIn.es.js +1 -1
- package/dist/x/isIn.es.min.js +1 -1
- package/dist/x/isIn.js +1 -1
- package/dist/x/isIn.min.js +1 -1
- package/dist/x/isIn.mjs +1 -1
- package/dist/x/isObject.es.js +1 -1
- package/dist/x/isObject.es.min.js +1 -1
- package/dist/x/isObject.js +1 -1
- package/dist/x/isObject.min.js +1 -1
- package/dist/x/isObject.mjs +1 -1
- package/dist/x/isString.es.js +1 -1
- package/dist/x/isString.es.min.js +1 -1
- package/dist/x/isString.js +1 -1
- package/dist/x/isString.min.js +1 -1
- package/dist/x/isString.mjs +1 -1
- package/dist/x/keys.es.js +1 -1
- package/dist/x/keys.es.min.js +1 -1
- package/dist/x/keys.js +1 -1
- package/dist/x/keys.min.js +1 -1
- package/dist/x/keys.mjs +1 -1
- package/dist/x/last.es.js +1 -1
- package/dist/x/last.es.min.js +1 -1
- package/dist/x/last.js +1 -1
- package/dist/x/last.min.js +1 -1
- package/dist/x/last.mjs +1 -1
- package/dist/x/maxBy.es.js +1 -1
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +1 -1
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +1 -1
- package/dist/x/noop.es.js +1 -1
- package/dist/x/noop.es.min.js +1 -1
- package/dist/x/noop.js +1 -1
- package/dist/x/noop.min.js +1 -1
- package/dist/x/noop.mjs +1 -1
- package/dist/x/pluck.es.js +1 -1
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +1 -1
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +1 -1
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +82 -21
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +82 -21
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +82 -21
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/es.js +170 -89
- package/index.js +170 -89
- package/package.json +1 -1
- package/tap.js +66 -28
package/dist/all.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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,11 +13,23 @@
|
|
|
13
13
|
|
|
14
14
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
15
15
|
|
|
16
|
+
const isArray = Array.isArray
|
|
17
|
+
|
|
16
18
|
const areAnyValuesPromises = function (values) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
if (isArray(values)) {
|
|
20
|
+
const length = values.length
|
|
21
|
+
let index = -1
|
|
22
|
+
while (++index < length) {
|
|
23
|
+
const value = values[index]
|
|
24
|
+
if (isPromise(value)) {
|
|
25
|
+
return true
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return false
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
for (const key in values) {
|
|
32
|
+
const value = values[key]
|
|
21
33
|
if (isPromise(value)) {
|
|
22
34
|
return true
|
|
23
35
|
}
|
|
@@ -25,9 +37,52 @@ const areAnyValuesPromises = function (values) {
|
|
|
25
37
|
return false
|
|
26
38
|
}
|
|
27
39
|
|
|
40
|
+
const areAllValuesNonfunctions = function (values) {
|
|
41
|
+
if (isArray(values)) {
|
|
42
|
+
const length = values.length
|
|
43
|
+
let index = -1
|
|
44
|
+
while (++index < length) {
|
|
45
|
+
if (typeof values[index] == 'function') {
|
|
46
|
+
return false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return true
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
for (const key in values) {
|
|
53
|
+
if (typeof values[key] == 'function') {
|
|
54
|
+
return false
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return true
|
|
58
|
+
}
|
|
59
|
+
|
|
28
60
|
const promiseAll = Promise.all.bind(Promise)
|
|
29
61
|
|
|
30
|
-
const
|
|
62
|
+
const promiseObjectAllExecutor = object => function executor(resolve) {
|
|
63
|
+
const result = {}
|
|
64
|
+
let numPromises = 0
|
|
65
|
+
for (const key in object) {
|
|
66
|
+
const value = object[key]
|
|
67
|
+
if (isPromise(value)) {
|
|
68
|
+
numPromises += 1
|
|
69
|
+
value.then((key => function (res) {
|
|
70
|
+
result[key] = res
|
|
71
|
+
numPromises -= 1
|
|
72
|
+
if (numPromises == 0) {
|
|
73
|
+
resolve(result)
|
|
74
|
+
}
|
|
75
|
+
})(key))
|
|
76
|
+
} else {
|
|
77
|
+
result[key] = value
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (numPromises == 0) {
|
|
81
|
+
resolve(result)
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
|
|
31
86
|
|
|
32
87
|
const __ = Symbol.for('placeholder')
|
|
33
88
|
|
|
@@ -77,7 +132,8 @@ const functionArrayAll = function (funcs, args) {
|
|
|
77
132
|
result = Array(funcsLength)
|
|
78
133
|
let funcsIndex = -1, isAsync = false
|
|
79
134
|
while (++funcsIndex < funcsLength) {
|
|
80
|
-
const
|
|
135
|
+
const f = funcs[funcsIndex]
|
|
136
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
81
137
|
if (isPromise(resultItem)) {
|
|
82
138
|
isAsync = true
|
|
83
139
|
}
|
|
@@ -201,7 +257,8 @@ const always = value => function getter() { return value }
|
|
|
201
257
|
const functionObjectAll = function (funcs, args) {
|
|
202
258
|
const result = {}, promises = []
|
|
203
259
|
for (const key in funcs) {
|
|
204
|
-
const
|
|
260
|
+
const f = funcs[key]
|
|
261
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
205
262
|
if (isPromise(resultItem)) {
|
|
206
263
|
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
207
264
|
} else {
|
|
@@ -211,7 +268,48 @@ const functionObjectAll = function (funcs, args) {
|
|
|
211
268
|
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
212
269
|
}
|
|
213
270
|
|
|
271
|
+
const _allValues = function (values) {
|
|
272
|
+
if (isArray(values)) {
|
|
273
|
+
return areAnyValuesPromises(values)
|
|
274
|
+
? promiseAll(values)
|
|
275
|
+
: values
|
|
276
|
+
}
|
|
277
|
+
return areAnyValuesPromises(values)
|
|
278
|
+
? promiseObjectAll(values)
|
|
279
|
+
: values
|
|
280
|
+
}
|
|
281
|
+
|
|
214
282
|
const all = function (...args) {
|
|
283
|
+
if (args.length == 1) {
|
|
284
|
+
const resolversOrValues = args[0]
|
|
285
|
+
if (isPromise(resolversOrValues)) {
|
|
286
|
+
return resolversOrValues.then(_allValues)
|
|
287
|
+
}
|
|
288
|
+
if (areAllValuesNonfunctions(resolversOrValues)) {
|
|
289
|
+
return _allValues(resolversOrValues)
|
|
290
|
+
}
|
|
291
|
+
return isArray(resolversOrValues)
|
|
292
|
+
? curryArgs2(functionArrayAll, resolversOrValues, __)
|
|
293
|
+
: curryArgs2(functionObjectAll, resolversOrValues, __)
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
const resolversOrValues = args[args.length - 1]
|
|
297
|
+
const argValues = args.slice(0, -1)
|
|
298
|
+
|
|
299
|
+
if (areAnyValuesPromises(argValues)) {
|
|
300
|
+
return isArray(resolversOrValues)
|
|
301
|
+
? promiseAll(argValues)
|
|
302
|
+
.then(curry2(functionArrayAll, resolversOrValues, __))
|
|
303
|
+
: promiseAll(argValues)
|
|
304
|
+
.then(curry2(functionObjectAll, resolversOrValues, __))
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
return isArray(resolversOrValues)
|
|
308
|
+
? functionArrayAll(resolversOrValues, argValues)
|
|
309
|
+
: functionObjectAll(resolversOrValues, argValues)
|
|
310
|
+
|
|
311
|
+
/*
|
|
312
|
+
////////////////////////////////////////////////////////////////
|
|
215
313
|
const funcs = args.pop()
|
|
216
314
|
if (args.length == 0) {
|
|
217
315
|
return isArray(funcs)
|
|
@@ -228,6 +326,7 @@ const all = function (...args) {
|
|
|
228
326
|
return isArray(funcs)
|
|
229
327
|
? functionArrayAll(funcs, args)
|
|
230
328
|
: functionObjectAll(funcs, args)
|
|
329
|
+
*/
|
|
231
330
|
}
|
|
232
331
|
|
|
233
332
|
all.series = function allSeries(...args) {
|
package/dist/all.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.all=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const r
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.all=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Array.isArray,r=function(r){if(t(r)){const t=r.length;let o=-1;for(;++o<t;){const t=r[o];if(n(t))return!0}return!1}for(const t in r){const o=r[t];if(n(o))return!0}return!1},o=Promise.all.bind(Promise),e=t=>new Promise((t=>function(r){const o={};let e=0;for(const u in t){const c=t[u];n(c)?(e+=1,c.then((n=>function(t){o[n]=t,e-=1,0==e&&r(o)})(u))):o[u]=c}0==e&&r(o)})(t)),u=Symbol.for("placeholder"),c=function(n,t,r){return t==u?((n,t)=>function(r){return n(r,t)})(n,r):((n,t)=>function(r){return n(t,r)})(n,t)},f=function(n,t,r){return t==u?((n,t)=>function(...r){return n(r,t)})(n,r):((n,t)=>function(...r){return n(t,r)})(n,t)},i=function(t,r){const e=t.length,u=Array(e);let c=-1,f=!1;for(;++c<e;){const o=t[c],e="function"==typeof o?o(...r):o;n(e)&&(f=!0),u[c]=e}return f?o(u):u},s=(t,r)=>function(...o){const e=t(...o);return n(e)?e.then(r):r(e)},l=function(n,t,r,o){return t==u?((n,t,r)=>function(o){return n(o,t,r)})(n,r,o):r==u?((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)},h=function(n,t,r){return n[t]=r,n},a=async function(t,r,o,e){const u=t.length;for(;++e<u;){const u=t[e](...r);o[e]=n(u)?await u:u}return o},p=function(t,r){const o=t.length,e=[];let c=-1;for(;++c<o;){const o=t[c](...r);if(n(o))return o.then(s(l(h,e,c,u),(f=a,p=r,y=u,g=c,(i=t)==u?((n,t,r,o)=>function(e){return n(e,t,r,o)})(f,p,y,g):p==u?((n,t,r,o)=>function(e){return n(t,e,r,o)})(f,i,y,g):y==u?((n,t,r,o)=>function(e){return n(t,r,e,o)})(f,i,p,g):((n,t,r,o)=>function(e){return n(t,r,o,e)})(f,i,p,y))));e[c]=o}var f,i,p,y,g;return e},y=function(t,r){const e={},c=[];for(const o in t){const f=t[o],i="function"==typeof f?f(...r):f;n(i)?c.push(i.then(l(h,e,o,u))):e[o]=i}return 0==c.length?e:o(c).then((f=e,function(){return f}));var f},g=function(n){return t(n)?r(n)?o(n):n:r(n)?e(n):n},b=function(...e){if(1==e.length){const r=e[0];return n(r)?r.then(g):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}(r)?g(r):t(r)?f(i,r,u):f(y,r,u)}const s=e[e.length-1],l=e.slice(0,-1);return r(l)?t(s)?o(l).then(c(i,s,u)):o(l).then(c(y,s,u)):t(s)?i(s,l):y(s,l)};return b.series=function(...n){const t=n.pop();return 0==n.length?f(p,t,u):r(n)?o(n).then(c(p,t,u)):p(t,n)},b}());
|
package/dist/all.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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,11 +7,23 @@
|
|
|
7
7
|
|
|
8
8
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
9
9
|
|
|
10
|
+
const isArray = Array.isArray
|
|
11
|
+
|
|
10
12
|
const areAnyValuesPromises = function (values) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
}
|
|
@@ -19,9 +31,52 @@ const areAnyValuesPromises = function (values) {
|
|
|
19
31
|
return false
|
|
20
32
|
}
|
|
21
33
|
|
|
34
|
+
const areAllValuesNonfunctions = function (values) {
|
|
35
|
+
if (isArray(values)) {
|
|
36
|
+
const length = values.length
|
|
37
|
+
let index = -1
|
|
38
|
+
while (++index < length) {
|
|
39
|
+
if (typeof values[index] == 'function') {
|
|
40
|
+
return false
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return true
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
for (const key in values) {
|
|
47
|
+
if (typeof values[key] == 'function') {
|
|
48
|
+
return false
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return true
|
|
52
|
+
}
|
|
53
|
+
|
|
22
54
|
const promiseAll = Promise.all.bind(Promise)
|
|
23
55
|
|
|
24
|
-
const
|
|
56
|
+
const promiseObjectAllExecutor = object => function executor(resolve) {
|
|
57
|
+
const result = {}
|
|
58
|
+
let numPromises = 0
|
|
59
|
+
for (const key in object) {
|
|
60
|
+
const value = object[key]
|
|
61
|
+
if (isPromise(value)) {
|
|
62
|
+
numPromises += 1
|
|
63
|
+
value.then((key => function (res) {
|
|
64
|
+
result[key] = res
|
|
65
|
+
numPromises -= 1
|
|
66
|
+
if (numPromises == 0) {
|
|
67
|
+
resolve(result)
|
|
68
|
+
}
|
|
69
|
+
})(key))
|
|
70
|
+
} else {
|
|
71
|
+
result[key] = value
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (numPromises == 0) {
|
|
75
|
+
resolve(result)
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const promiseObjectAll = object => new Promise(promiseObjectAllExecutor(object))
|
|
25
80
|
|
|
26
81
|
const __ = Symbol.for('placeholder')
|
|
27
82
|
|
|
@@ -71,7 +126,8 @@ const functionArrayAll = function (funcs, args) {
|
|
|
71
126
|
result = Array(funcsLength)
|
|
72
127
|
let funcsIndex = -1, isAsync = false
|
|
73
128
|
while (++funcsIndex < funcsLength) {
|
|
74
|
-
const
|
|
129
|
+
const f = funcs[funcsIndex]
|
|
130
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
75
131
|
if (isPromise(resultItem)) {
|
|
76
132
|
isAsync = true
|
|
77
133
|
}
|
|
@@ -195,7 +251,8 @@ const always = value => function getter() { return value }
|
|
|
195
251
|
const functionObjectAll = function (funcs, args) {
|
|
196
252
|
const result = {}, promises = []
|
|
197
253
|
for (const key in funcs) {
|
|
198
|
-
const
|
|
254
|
+
const f = funcs[key]
|
|
255
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
199
256
|
if (isPromise(resultItem)) {
|
|
200
257
|
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
201
258
|
} else {
|
|
@@ -205,7 +262,48 @@ const functionObjectAll = function (funcs, args) {
|
|
|
205
262
|
return promises.length == 0 ? result : promiseAll(promises).then(always(result))
|
|
206
263
|
}
|
|
207
264
|
|
|
265
|
+
const _allValues = function (values) {
|
|
266
|
+
if (isArray(values)) {
|
|
267
|
+
return areAnyValuesPromises(values)
|
|
268
|
+
? promiseAll(values)
|
|
269
|
+
: values
|
|
270
|
+
}
|
|
271
|
+
return areAnyValuesPromises(values)
|
|
272
|
+
? promiseObjectAll(values)
|
|
273
|
+
: values
|
|
274
|
+
}
|
|
275
|
+
|
|
208
276
|
const all = function (...args) {
|
|
277
|
+
if (args.length == 1) {
|
|
278
|
+
const resolversOrValues = args[0]
|
|
279
|
+
if (isPromise(resolversOrValues)) {
|
|
280
|
+
return resolversOrValues.then(_allValues)
|
|
281
|
+
}
|
|
282
|
+
if (areAllValuesNonfunctions(resolversOrValues)) {
|
|
283
|
+
return _allValues(resolversOrValues)
|
|
284
|
+
}
|
|
285
|
+
return isArray(resolversOrValues)
|
|
286
|
+
? curryArgs2(functionArrayAll, resolversOrValues, __)
|
|
287
|
+
: curryArgs2(functionObjectAll, resolversOrValues, __)
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
const resolversOrValues = args[args.length - 1]
|
|
291
|
+
const argValues = args.slice(0, -1)
|
|
292
|
+
|
|
293
|
+
if (areAnyValuesPromises(argValues)) {
|
|
294
|
+
return isArray(resolversOrValues)
|
|
295
|
+
? promiseAll(argValues)
|
|
296
|
+
.then(curry2(functionArrayAll, resolversOrValues, __))
|
|
297
|
+
: promiseAll(argValues)
|
|
298
|
+
.then(curry2(functionObjectAll, resolversOrValues, __))
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
return isArray(resolversOrValues)
|
|
302
|
+
? functionArrayAll(resolversOrValues, argValues)
|
|
303
|
+
: functionObjectAll(resolversOrValues, argValues)
|
|
304
|
+
|
|
305
|
+
/*
|
|
306
|
+
////////////////////////////////////////////////////////////////
|
|
209
307
|
const funcs = args.pop()
|
|
210
308
|
if (args.length == 0) {
|
|
211
309
|
return isArray(funcs)
|
|
@@ -222,6 +320,7 @@ const all = function (...args) {
|
|
|
222
320
|
return isArray(funcs)
|
|
223
321
|
? functionArrayAll(funcs, args)
|
|
224
322
|
: functionObjectAll(funcs, args)
|
|
323
|
+
*/
|
|
225
324
|
}
|
|
226
325
|
|
|
227
326
|
all.series = function allSeries(...args) {
|
package/dist/always.es.js
CHANGED
package/dist/always.es.min.js
CHANGED
package/dist/always.js
CHANGED
package/dist/always.min.js
CHANGED
package/dist/always.mjs
CHANGED
package/dist/and.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.
|
|
@@ -9,11 +9,23 @@ const promiseAll = Promise.all.bind(Promise)
|
|
|
9
9
|
|
|
10
10
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
11
11
|
|
|
12
|
+
const isArray = Array.isArray
|
|
13
|
+
|
|
12
14
|
const areAnyValuesPromises = function (values) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
}
|
|
@@ -100,10 +112,19 @@ const thunkConditional = (
|
|
|
100
112
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
101
113
|
|
|
102
114
|
const areAllValuesNonfunctions = function (values) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
115
|
+
if (isArray(values)) {
|
|
116
|
+
const length = values.length
|
|
117
|
+
let index = -1
|
|
118
|
+
while (++index < length) {
|
|
119
|
+
if (typeof values[index] == 'function') {
|
|
120
|
+
return false
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return true
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
for (const key in values) {
|
|
127
|
+
if (typeof values[key] == 'function') {
|
|
107
128
|
return false
|
|
108
129
|
}
|
|
109
130
|
}
|
package/dist/and.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){const
|
|
7
|
+
const promiseAll=Promise.all.bind(Promise),isPromise=r=>null!=r&&"function"==typeof r.then,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},__=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)},thunkConditional=(r,n,e)=>r?n():e(),areAllValuesNonfunctions=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;)if("function"==typeof r[e])return!1;return!0}for(const n in r)if("function"==typeof r[n])return!1;return!0},thunkify2=(r,n,e)=>function(){return r(n,e)},thunkify3=(r,n,e,t)=>function(){return r(n,e,t)},always=r=>function(){return r},areAllValuesTruthy=function(r,n){const e=r.length;for(;++n<e;){const e=r[n];if(isPromise(e))return e.then(curry3(thunkConditional,__,thunkify2(areAllValuesTruthy,r,n),always(!1)));if(!e)return!1}return!0},asyncArePredicatesAllTruthy=async function(r,n,e){const t=n.length;for(;++e<t;){let t=n[e];if("function"==typeof t&&(t=t(...r)),isPromise(t)&&(t=await t),!t)return!1}return!0},areAllPredicatesTruthy=function(r,n){const e=n.length;let t=-1;for(;++t<e;){let e=n[t];if("function"==typeof e&&(e=e(...r)),isPromise(e))return e.then(curry3(thunkConditional,__,thunkify3(asyncArePredicatesAllTruthy,r,n,t),always(!1)));if(!e)return!1}return!0},and=function(...r){const n=r.pop();return areAllValuesNonfunctions(n)?areAllValuesTruthy(n,-1):0==r.length?curryArgs2(areAllPredicatesTruthy,__,n):areAnyValuesPromises(r)?promiseAll(r).then(curry2(areAllPredicatesTruthy,__,n)):areAllPredicatesTruthy(r,n)};export default and;
|
package/dist/and.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.
|
|
@@ -15,11 +15,23 @@ const promiseAll = Promise.all.bind(Promise)
|
|
|
15
15
|
|
|
16
16
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
17
17
|
|
|
18
|
+
const isArray = Array.isArray
|
|
19
|
+
|
|
18
20
|
const areAnyValuesPromises = function (values) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
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
|
}
|
|
@@ -106,10 +118,19 @@ const thunkConditional = (
|
|
|
106
118
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
107
119
|
|
|
108
120
|
const areAllValuesNonfunctions = function (values) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
121
|
+
if (isArray(values)) {
|
|
122
|
+
const length = values.length
|
|
123
|
+
let index = -1
|
|
124
|
+
while (++index < length) {
|
|
125
|
+
if (typeof values[index] == 'function') {
|
|
126
|
+
return false
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return true
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
for (const key in values) {
|
|
133
|
+
if (typeof values[key] == 'function') {
|
|
113
134
|
return false
|
|
114
135
|
}
|
|
115
136
|
}
|
package/dist/and.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.and=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Promise.all.bind(Promise),t=n=>null!=n&&"function"==typeof n.then,r=Symbol.for("placeholder"),
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.and=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Promise.all.bind(Promise),t=n=>null!=n&&"function"==typeof n.then,r=Array.isArray,e=Symbol.for("placeholder"),o=function(n,t,r,o){return t==e?((n,t,r)=>function(e){return n(e,t,r)})(n,r,o):r==e?((n,t,r)=>function(e){return n(t,e,r)})(n,t,o):((n,t,r)=>function(e){return n(t,r,e)})(n,t,r)},u=(n,t,r)=>n?t():r(),f=(n,t,r)=>function(){return n(t,r)},i=(n,t,r,e)=>function(){return n(t,r,e)},c=n=>function(){return n},l=function(n,r){const i=n.length;for(;++r<i;){const i=n[r];if(t(i))return i.then(o(u,e,f(l,n,r),c(!1)));if(!i)return!1}return!0},s=async function(n,r,e){const o=r.length;for(;++e<o;){let o=r[e];if("function"==typeof o&&(o=o(...n)),t(o)&&(o=await o),!o)return!1}return!0},h=function(n,r){const f=r.length;let l=-1;for(;++l<f;){let f=r[l];if("function"==typeof f&&(f=f(...n)),t(f))return f.then(o(u,e,i(s,n,r,l),c(!1)));if(!f)return!1}return!0};return function(...o){const u=o.pop();return function(n){if(r(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}(u)?l(u,-1):0==o.length?(f=h,c=u,(i=e)==e?((n,t)=>function(...r){return n(r,t)})(f,c):((n,t)=>function(...r){return n(t,r)})(f,i)):function(n){if(r(n)){const r=n.length;let e=-1;for(;++e<r;){const r=n[e];if(t(r))return!0}return!1}for(const r in n){const e=n[r];if(t(e))return!0}return!1}(o)?n(o).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)}(h,e,u)):h(o,u);var f,i,c}}());
|
package/dist/and.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.
|
|
@@ -9,11 +9,23 @@ const promiseAll = Promise.all.bind(Promise)
|
|
|
9
9
|
|
|
10
10
|
const isPromise = value => value != null && typeof value.then == 'function'
|
|
11
11
|
|
|
12
|
+
const isArray = Array.isArray
|
|
13
|
+
|
|
12
14
|
const areAnyValuesPromises = function (values) {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
}
|
|
@@ -100,10 +112,19 @@ const thunkConditional = (
|
|
|
100
112
|
) => conditionalExpression ? thunkOnTruthy() : thunkOnFalsy()
|
|
101
113
|
|
|
102
114
|
const areAllValuesNonfunctions = function (values) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
115
|
+
if (isArray(values)) {
|
|
116
|
+
const length = values.length
|
|
117
|
+
let index = -1
|
|
118
|
+
while (++index < length) {
|
|
119
|
+
if (typeof values[index] == 'function') {
|
|
120
|
+
return false
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return true
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
for (const key in values) {
|
|
127
|
+
if (typeof values[key] == 'function') {
|
|
107
128
|
return false
|
|
108
129
|
}
|
|
109
130
|
}
|
package/dist/assign.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.
|
|
@@ -74,7 +74,8 @@ const objectSet = function (object, property, value) {
|
|
|
74
74
|
const functionObjectAll = function (funcs, args) {
|
|
75
75
|
const result = {}, promises = []
|
|
76
76
|
for (const key in funcs) {
|
|
77
|
-
const
|
|
77
|
+
const f = funcs[key]
|
|
78
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
78
79
|
if (isPromise(resultItem)) {
|
|
79
80
|
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
80
81
|
} else {
|
package/dist/assign.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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,objectAssign=Object.assign,__=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)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},functionObjectAll=function(r,n){const e={},t=[];for(const o in r){const s=r[o](...n);isPromise(
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,objectAssign=Object.assign,__=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)},always=r=>function(){return r},promiseAll=Promise.all.bind(Promise),objectSet=function(r,n,e){return r[n]=e,r},functionObjectAll=function(r,n){const e={},t=[];for(const o in r){const s=r[o],u="function"==typeof s?s(...n):s;isPromise(u)?t.push(u.then(curry3(objectSet,e,o,__))):e[o]=u}return 0==t.length?e:promiseAll(t).then(always(e))},_assign=function(r,n){const e=functionObjectAll(n,[r]);return isPromise(e)?e.then(curry3(objectAssign,{},r,__)):{...r,...e}},assign=function(r,n){return null==n?curry2(_assign,__,r):isPromise(r)?r.then(curry2(_assign,__,n)):_assign(r,n)};export default assign;
|
package/dist/assign.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
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.
|
|
@@ -80,7 +80,8 @@ const objectSet = function (object, property, value) {
|
|
|
80
80
|
const functionObjectAll = function (funcs, args) {
|
|
81
81
|
const result = {}, promises = []
|
|
82
82
|
for (const key in funcs) {
|
|
83
|
-
const
|
|
83
|
+
const f = funcs[key]
|
|
84
|
+
const resultItem = typeof f == 'function' ? f(...args) : f
|
|
84
85
|
if (isPromise(resultItem)) {
|
|
85
86
|
promises.push(resultItem.then(curry3(objectSet, result, key, __)))
|
|
86
87
|
} else {
|