rubico 1.8.7 → 1.8.8
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/CHANGELOG.md +4 -1
- package/_internal/FlatMappingAsyncIterator.js +14 -12
- 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/__.min.mjs +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.min.mjs +1 -1
- package/dist/all.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.min.mjs +1 -1
- package/dist/and.mjs +1 -1
- package/dist/any.es.js +1 -1
- package/dist/any.es.min.js +1 -1
- package/dist/any.js +1 -1
- package/dist/any.min.js +1 -1
- package/dist/any.min.mjs +1 -1
- package/dist/any.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.min.mjs +1 -1
- package/dist/assign.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/curry.mjs +1 -1
- package/dist/eq.es.js +1 -1
- package/dist/eq.es.min.js +1 -1
- package/dist/eq.js +1 -1
- package/dist/eq.min.js +1 -1
- package/dist/eq.min.mjs +1 -1
- package/dist/eq.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.min.mjs +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/flatMap.es.js +15 -13
- package/dist/flatMap.es.min.js +2 -2
- package/dist/flatMap.js +15 -13
- package/dist/flatMap.min.js +2 -2
- package/dist/flatMap.min.mjs +2 -2
- package/dist/flatMap.mjs +15 -13
- package/dist/fork.es.js +1 -1
- package/dist/fork.es.min.js +1 -1
- package/dist/fork.js +1 -1
- package/dist/fork.min.js +1 -1
- package/dist/fork.min.mjs +1 -1
- package/dist/fork.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.min.mjs +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +1 -1
- package/dist/gt.es.min.js +1 -1
- package/dist/gt.js +1 -1
- package/dist/gt.min.js +1 -1
- package/dist/gt.min.mjs +1 -1
- package/dist/gt.mjs +1 -1
- package/dist/gte.es.js +1 -1
- package/dist/gte.es.min.js +1 -1
- package/dist/gte.js +1 -1
- package/dist/gte.min.js +1 -1
- package/dist/gte.min.mjs +1 -1
- package/dist/gte.mjs +1 -1
- package/dist/lt.es.js +1 -1
- package/dist/lt.es.min.js +1 -1
- package/dist/lt.js +1 -1
- package/dist/lt.min.js +1 -1
- package/dist/lt.min.mjs +1 -1
- package/dist/lt.mjs +1 -1
- package/dist/lte.es.js +1 -1
- package/dist/lte.es.min.js +1 -1
- package/dist/lte.js +1 -1
- package/dist/lte.min.js +1 -1
- package/dist/lte.min.mjs +1 -1
- package/dist/lte.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/map.mjs +1 -1
- package/dist/not.es.js +1 -1
- package/dist/not.es.min.js +1 -1
- package/dist/not.js +1 -1
- package/dist/not.min.js +1 -1
- package/dist/not.min.mjs +1 -1
- package/dist/not.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +1 -1
- package/dist/or.es.min.js +1 -1
- package/dist/or.js +1 -1
- package/dist/or.min.js +1 -1
- package/dist/or.min.mjs +1 -1
- package/dist/or.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +1 -1
- package/dist/pipe.es.min.js +1 -1
- package/dist/pipe.js +1 -1
- package/dist/pipe.min.js +1 -1
- package/dist/pipe.min.mjs +1 -1
- package/dist/pipe.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +15 -13
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.js +15 -13
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.min.mjs +2 -2
- package/dist/rubico.mjs +15 -13
- 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.min.mjs +1 -1
- package/dist/set.mjs +1 -1
- package/dist/switchCase.es.js +1 -1
- package/dist/switchCase.es.min.js +1 -1
- package/dist/switchCase.js +1 -1
- package/dist/switchCase.min.js +1 -1
- package/dist/switchCase.min.mjs +1 -1
- package/dist/switchCase.mjs +1 -1
- package/dist/tap.es.js +1 -1
- package/dist/tap.es.min.js +1 -1
- package/dist/tap.js +1 -1
- package/dist/tap.min.js +1 -1
- package/dist/tap.min.mjs +1 -1
- package/dist/tap.mjs +1 -1
- package/dist/thunkify.es.js +1 -1
- package/dist/thunkify.es.min.js +1 -1
- package/dist/thunkify.js +1 -1
- package/dist/thunkify.min.js +1 -1
- package/dist/thunkify.min.mjs +1 -1
- package/dist/thunkify.mjs +1 -1
- 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.min.mjs +1 -1
- package/dist/transform.mjs +1 -1
- package/dist/tryCatch.es.js +1 -1
- package/dist/tryCatch.es.min.js +1 -1
- package/dist/tryCatch.js +1 -1
- package/dist/tryCatch.min.js +1 -1
- package/dist/tryCatch.min.mjs +1 -1
- package/dist/tryCatch.mjs +1 -1
- 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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- 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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +15 -13
- package/dist/x/flatten.es.min.js +2 -2
- package/dist/x/flatten.js +15 -13
- package/dist/x/flatten.min.js +2 -2
- package/dist/x/flatten.min.mjs +2 -2
- package/dist/x/flatten.mjs +15 -13
- package/dist/x/forEach.es.js +1 -1
- package/dist/x/forEach.es.min.js +1 -1
- package/dist/x/forEach.js +1 -1
- package/dist/x/forEach.min.js +1 -1
- package/dist/x/forEach.min.mjs +1 -1
- package/dist/x/forEach.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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/isFunction.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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/last.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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +1 -1
- package/dist/x/trace.es.min.js +1 -1
- package/dist/x/trace.js +1 -1
- package/dist/x/trace.min.js +1 -1
- package/dist/x/trace.min.mjs +1 -1
- package/dist/x/trace.mjs +1 -1
- 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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +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.min.mjs +1 -1
- package/dist/x/when.mjs +1 -1
- package/es.js +15 -13
- package/index.js +15 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -47,21 +47,23 @@ const FlatMappingAsyncIterator = function (asyncIterator, flatMapper) {
|
|
|
47
47
|
while (
|
|
48
48
|
!this.isAsyncIteratorDone || buffer.length > 0 || promises.size > 0
|
|
49
49
|
) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const monad = flatMapper(value)
|
|
55
|
-
if (isPromise(monad)) {
|
|
56
|
-
const bufferLoading = monad.then(
|
|
57
|
-
curryArgs3(genericReduce, __, arrayPush, buffer))
|
|
58
|
-
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
59
|
-
promises.add(promise)
|
|
50
|
+
if (!this.isAsyncIteratorDone) {
|
|
51
|
+
const { value, done } = await asyncIterator.next()
|
|
52
|
+
if (done) {
|
|
53
|
+
this.isAsyncIteratorDone = done
|
|
60
54
|
} else {
|
|
61
|
-
const
|
|
62
|
-
if (isPromise(
|
|
55
|
+
const monad = flatMapper(value)
|
|
56
|
+
if (isPromise(monad)) {
|
|
57
|
+
const bufferLoading = monad.then(
|
|
58
|
+
curryArgs3(genericReduce, __, arrayPush, buffer))
|
|
63
59
|
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
64
60
|
promises.add(promise)
|
|
61
|
+
} else {
|
|
62
|
+
const bufferLoading = genericReduce([monad], arrayPush, buffer)
|
|
63
|
+
if (isPromise(bufferLoading)) {
|
|
64
|
+
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
65
|
+
promises.add(promise)
|
|
66
|
+
}
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
}
|
package/dist/__.es.js
CHANGED
package/dist/__.es.min.js
CHANGED
package/dist/__.js
CHANGED
package/dist/__.min.js
CHANGED
package/dist/__.min.mjs
CHANGED
package/dist/__.mjs
CHANGED
package/dist/all.es.js
CHANGED
package/dist/all.es.min.js
CHANGED
package/dist/all.js
CHANGED
package/dist/all.min.js
CHANGED
package/dist/all.min.mjs
CHANGED
package/dist/all.mjs
CHANGED
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.min.mjs
CHANGED
package/dist/always.mjs
CHANGED
package/dist/and.es.js
CHANGED
package/dist/and.es.min.js
CHANGED
package/dist/and.js
CHANGED
package/dist/and.min.js
CHANGED
package/dist/and.min.mjs
CHANGED
package/dist/and.mjs
CHANGED
package/dist/any.es.js
CHANGED
package/dist/any.es.min.js
CHANGED
package/dist/any.js
CHANGED
package/dist/any.min.js
CHANGED
package/dist/any.min.mjs
CHANGED
package/dist/any.mjs
CHANGED
package/dist/assign.es.js
CHANGED
package/dist/assign.es.min.js
CHANGED
package/dist/assign.js
CHANGED
package/dist/assign.min.js
CHANGED
package/dist/assign.min.mjs
CHANGED
package/dist/assign.mjs
CHANGED
package/dist/curry.es.js
CHANGED
package/dist/curry.es.min.js
CHANGED
package/dist/curry.js
CHANGED
package/dist/curry.min.js
CHANGED
package/dist/curry.min.mjs
CHANGED
package/dist/curry.mjs
CHANGED
package/dist/eq.es.js
CHANGED
package/dist/eq.es.min.js
CHANGED
package/dist/eq.js
CHANGED
package/dist/eq.min.js
CHANGED
package/dist/eq.min.mjs
CHANGED
package/dist/eq.mjs
CHANGED
package/dist/filter.es.js
CHANGED
package/dist/filter.es.min.js
CHANGED
package/dist/filter.js
CHANGED
package/dist/filter.min.js
CHANGED
package/dist/filter.min.mjs
CHANGED
package/dist/filter.mjs
CHANGED
package/dist/flatMap.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v1.8.
|
|
2
|
+
* rubico v1.8.8
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2021 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -496,21 +496,23 @@ const FlatMappingAsyncIterator = function (asyncIterator, flatMapper) {
|
|
|
496
496
|
while (
|
|
497
497
|
!this.isAsyncIteratorDone || buffer.length > 0 || promises.size > 0
|
|
498
498
|
) {
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
const monad = flatMapper(value)
|
|
504
|
-
if (isPromise(monad)) {
|
|
505
|
-
const bufferLoading = monad.then(
|
|
506
|
-
curryArgs3(genericReduce, __, arrayPush, buffer))
|
|
507
|
-
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
508
|
-
promises.add(promise)
|
|
499
|
+
if (!this.isAsyncIteratorDone) {
|
|
500
|
+
const { value, done } = await asyncIterator.next()
|
|
501
|
+
if (done) {
|
|
502
|
+
this.isAsyncIteratorDone = done
|
|
509
503
|
} else {
|
|
510
|
-
const
|
|
511
|
-
if (isPromise(
|
|
504
|
+
const monad = flatMapper(value)
|
|
505
|
+
if (isPromise(monad)) {
|
|
506
|
+
const bufferLoading = monad.then(
|
|
507
|
+
curryArgs3(genericReduce, __, arrayPush, buffer))
|
|
512
508
|
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
513
509
|
promises.add(promise)
|
|
510
|
+
} else {
|
|
511
|
+
const bufferLoading = genericReduce([monad], arrayPush, buffer)
|
|
512
|
+
if (isPromise(bufferLoading)) {
|
|
513
|
+
const promise = bufferLoading.then(() => promises.delete(promise))
|
|
514
|
+
promises.add(promise)
|
|
515
|
+
}
|
|
514
516
|
}
|
|
515
517
|
}
|
|
516
518
|
}
|
package/dist/flatMap.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v1.8.
|
|
2
|
+
* rubico v1.8.8
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2021 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isArray=Array.isArray,objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=e=>nativeObjectToString.call(e),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=e=>objectToString(e)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=e=>objectToString(e)==asyncGeneratorFunctionTag,__=Symbol.for("placeholder"),curry3ResolveArg0=(e,r,t)=>function(n){return e(n,r,t)},curry3ResolveArg1=(e,r,t)=>function(n){return e(r,n,t)},curry3ResolveArg2=(e,r,t)=>function(n){return e(r,t,n)},curry3=function(e,r,t,n){return r==__?curry3ResolveArg0(e,t,n):t==__?curry3ResolveArg1(e,r,n):curry3ResolveArg2(e,r,t)},isPromise=e=>null!=e&&"function"==typeof e.then,iteratorReduceAsync=async function(e,r,t){let n=e.next();if(n.done)return t;for(;!n.done;)t=r(t,n.value),isPromise(t)&&(t=await t),n=e.next();return t},iteratorReduce=function(e,r,t){let n=e.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=e.next());!n.done;){if(t=r(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,e,r,__));n=e.next()}return t},asyncIteratorReduce=async function(e,r,t){let n=await e.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await e.next());!n.done;)t=await r(t,n.value),n=await e.next();return t},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,curry2ResolveArg0=(e,r)=>function(t){return e(t,r)},curry2ResolveArg1=(e,r)=>function(t){return e(r,t)},curry2=function(e,r,t){return r==__?curry2ResolveArg0(e,t):curry2ResolveArg1(e,r)},curryArgs3ResolveArgs0=(e,r,t)=>function(...n){return e(n,r,t)},curryArgs3ResolveArgs1=(e,r,t)=>function(...n){return e(r,n,t)},curryArgs3ResolveArgs2=(e,r,t)=>function(...n){return e(r,t,n)},curryArgs3=function(e,r,t,n){return r==__?curryArgs3ResolveArgs0(e,t,n):t==__?curryArgs3ResolveArgs1(e,r,n):curryArgs3ResolveArgs2(e,r,t)},curry4ResolveArg0=(e,r,t,n)=>function(o){return e(o,r,t,n)},curry4ResolveArg1=(e,r,t,n)=>function(o){return e(r,o,t,n)},curry4ResolveArg2=(e,r,t,n)=>function(o){return e(r,t,o,n)},curry4ResolveArg3=(e,r,t,n)=>function(o){return e(r,t,n,o)},curry4=function(e,r,t,n,o){return r==__?curry4ResolveArg0(e,t,n,o):t==__?curry4ResolveArg1(e,r,n,o):n==__?curry4ResolveArg2(e,r,t,o):curry4ResolveArg3(e,r,t,n)},arrayReduceAsync=async function(e,r,t,n){const o=e.length;for(;++n<o;)t=r(t,e[n],n,e),isPromise(t)&&(t=await t);return t},arrayReduce=function(e,r,t){const n=e.length;let o=-1;for(void 0===t&&(t=e[++o]);++o<n;)if(t=r(t,e[o],o,e),isPromise(t))return t.then(curry4(arrayReduceAsync,e,r,__,o));return t},curry5ResolveArg0=(e,r,t,n,o)=>function(c){return e(c,r,t,n,o)},curry5ResolveArg1=(e,r,t,n,o)=>function(c){return e(r,c,t,n,o)},curry5ResolveArg2=(e,r,t,n,o)=>function(c){return e(r,t,c,n,o)},curry5ResolveArg3=(e,r,t,n,o)=>function(c){return e(r,t,n,c,o)},curry5ResolveArg4=(e,r,t,n,o)=>function(c){return e(r,t,n,o,c)},curry5=function(e,r,t,n,o,c){return r==__?curry5ResolveArg0(e,t,n,o,c):t==__?curry5ResolveArg1(e,r,n,o,c):n==__?curry5ResolveArg2(e,r,t,o,c):o==__?curry5ResolveArg3(e,r,t,n,c):curry5ResolveArg4(e,r,t,n,o)},objectKeys=Object.keys,objectGetFirstKey=function(e){for(const r in e)return r},objectReduceAsync=async function(e,r,t,n,o){const c=n.length;for(;++o<c;){const c=n[o];t=r(t,e[c],c,e),isPromise(t)&&(t=await t)}return t},objectReduce=function(e,r,t){const n=objectKeys(e),o=n.length;let c=-1;for(void 0===t&&(t=e[n[++c]]);++c<o;){const o=n[c];if(t=r(t,e[o],o,e),isPromise(t))return t.then((s=objectReduceAsync,a=r,u=__,l=n,f=c,(i=e)==__?curry5ResolveArg0(s,a,u,l,f):a==__?curry5ResolveArg1(s,i,u,l,f):u==__?curry5ResolveArg2(s,i,a,l,f):l==__?curry5ResolveArg3(s,i,a,u,f):curry5ResolveArg4(s,i,a,u,l)))}var s,i,a,u,l,f;return t},mapReduceAsync=async function(e,r,t,n){for(const[o,c]of n)t=r(t,c,o,e),isPromise(t)&&(t=await t);return t},mapReduce=function(e,r,t){const n=e.entries();if(void 0===t){const e=n.next();if(e.done)return t;t=e.value[1]}for(const[o,c]of n)if(t=r(t,c,o,e),isPromise(t))return t.then(curry4(mapReduceAsync,e,r,__,n));return t},funcConcatSync=(e,r)=>function(...t){return r(e(...t))},generatorFunctionReduce=(e,r,t)=>funcConcatSync(e,curry3(iteratorReduce,__,r,t)),asyncGeneratorFunctionReduce=(e,r,t)=>funcConcatSync(e,curry3(asyncIteratorReduce,__,r,t)),reducerConcat=(e,r)=>function(t,n){const o=e(t,n);return isPromise(o)?o.then(curry2(r,__,n)):r(o,n)},genericReduce=function(e,r,t){const n=e[0];return isArray(n)?arrayReduce(n,r,t):"function"==typeof n?isGeneratorFunction(n)?generatorFunctionReduce(n,r,t):isAsyncGeneratorFunction(n)?asyncGeneratorFunctionReduce(n,r,t):curryArgs3(genericReduce,__,1==e.length?reducerConcat(r,n):e.reduce(reducerConcat,r),t):null==n?void 0===t?curry2(r,n,__):r(t,n):n.constructor==Map?mapReduce(n,r,t):"function"==typeof n[symbolIterator]?iteratorReduce(n[symbolIterator](),r,t):"function"==typeof n[symbolAsyncIterator]?asyncIteratorReduce(n[symbolAsyncIterator](),r,t):"function"==typeof n.reduce?n.reduce(r,t):"function"==typeof n.chain?n.chain(curry2(r,t,__)):"function"==typeof n.flatMap?n.flatMap(curry2(r,t,__)):n.constructor==Object?objectReduce(n,r,t):void 0===t?curry2(r,n,__):r(t,n)},arrayPush=function(e,r){return e.push(r),e},FlatMappingIterator=function(e,r){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const e=t[n];return n+=1,{value:e,done:!1}}const o=e.next();if(o.done)return o;const c=genericReduce([r(o.value)],arrayPush,[]);return c.length>1&&(t=c,n=1),{value:c[0],done:!1}}}},promiseRace=Promise.race.bind(Promise),FlatMappingAsyncIterator=function(e,r){const t=[],n=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||t.length>0||n.size>0;){const{value:o,done:c}=await e.next();if(c)this.isAsyncIteratorDone=c;else{const e=r(o);if(isPromise(e)){const r=e.then(curryArgs3(genericReduce,__,arrayPush,t)).then((()=>n.delete(r)));n.add(r)}else{const r=genericReduce([e],arrayPush,t);if(isPromise(r)){const e=r.then((()=>n.delete(e)));n.add(e)}}}if(t.length>0)return{value:t.shift(),done:!1};n.size>0&&await promiseRace(n)}return{value:void 0,done:!0}}}},isBinary=ArrayBuffer.isView,always=e=>function(){return e},getArg1=(e,r)=>r,identity=e=>e,promiseAll=Promise.all.bind(Promise),asyncIteratorForEach=async function(e,r){const t=[];for await(const n of e){const e=r(n);isPromise(e)&&t.push(e)}return 0==t.length?e:promiseAll(t).then(always(e))},arrayFlatten=function(e){const r=e.length,t=[],n=[];let o=-1;for(;++o<r;){const r=e[o];if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;)n.push(r[t])}else if(null==r)n.push(r);else if("function"==typeof r.then)t.push(r.then(curry2(arrayPush,n,__)));else if("function"==typeof r[symbolIterator])for(const e of r)n.push(e);else if("function"==typeof r[symbolAsyncIterator])t.push(asyncIteratorForEach(r[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof r.chain){const e=r.chain(identity);isPromise(e)?t.push(e.then(curry2(arrayPush,n,__))):n.push(e)}else if("function"==typeof r.flatMap){const e=r.flatMap(identity);isPromise(e)?t.push(e.then(curry2(arrayPush,n,__))):n.push(e)}else if("function"==typeof r.reduce){const e=r.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(e)&&t.push(e)}else if(r.constructor==Object)for(const e in r)n.push(r[e]);else n.push(r)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayMap=function(e,r){const t=e.length,n=Array(t);let o=-1,c=!1;for(;++o<t;){const t=r(e[o],o,e);isPromise(t)&&(c=!0),n[o]=t}return c?promiseAll(n):n},arrayFlatMap=function(e,r){const t=arrayMap(e,r);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},promiseObjectAllExecutor=e=>function(r){const t={};let n=0;for(const o in e){const c=e[o];isPromise(c)?(n+=1,c.then((e=>function(o){t[e]=o,n-=1,0==n&&r(t)})(o))):t[o]=c}0==n&&r(t)},promiseObjectAll=e=>new Promise(promiseObjectAllExecutor(e)),objectMap=function(e,r){const t={};let n=!1;for(const o in e){const c=r(e[o],o,e);isPromise(c)&&(n=!0),t[o]=c}return n?promiseObjectAll(t):t},objectAssign=Object.assign,objectFlatten=function(e){const r=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const c in e){const s=e[c];if(null!=s)if("function"==typeof s[symbolIterator])for(const e of s)objectAssign(t,e);else if("function"==typeof s[symbolAsyncIterator])r.push(asyncIteratorForEach(s[symbolAsyncIterator](),n));else if("function"==typeof s.chain){const e=s.chain(identity);isPromise(e)?r.push(e.then(n)):objectAssign(t,e)}else if("function"==typeof s.flatMap){const e=s.flatMap(identity);isPromise(e)?r.push(e.then(n)):n(e)}else if("function"==typeof s.reduce){const e=s.reduce(o,null);isPromise(e)&&r.push(e)}else objectAssign(t,s)}return 0==r.length?t:promiseAll(r).then((()=>t))},objectFlatMap=function(e,r){const t=objectMap(e,r);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},callPropUnary=(e,r,t)=>e[r](t),setMap=function(e,r){const t=new Set,n=[];for(const o of e){const c=r(o,o,e);isPromise(c)?n.push(c.then(curry3(callPropUnary,t,"add",__))):t.add(c)}return 0==n.length?t:promiseAll(n).then(always(t))},setFlatten=function(e){e.size;const r=[],t=new Set,n=(e,r)=>t.add(r),o=curry3(callPropUnary,t,"add",__);for(const c of e)if(isArray(c)){const e=c.length;let r=-1;for(;++r<e;)t.add(c[r])}else if(null==c)t.add(c);else if("function"==typeof c[symbolIterator])for(const e of c)t.add(e);else if("function"==typeof c[symbolAsyncIterator])r.push(asyncIteratorForEach(c[symbolAsyncIterator](),o));else if("function"==typeof c.chain){const e=c.chain(identity);isPromise(e)?r.push(e.then(o)):t.add(e)}else if("function"==typeof c.flatMap){const e=c.flatMap(identity);isPromise(e)?r.push(e.then(o)):t.add(e)}else if("function"==typeof c.reduce){const e=c.reduce(n,null);isPromise(e)&&r.push(e)}else if(c.constructor==Object)for(const e in c)t.add(c[e]);else t.add(c);return 0==r.length?t:promiseAll(r).then((()=>t))},setFlatMap=function(e,r){const t=setMap(e,r);return isPromise(t)?t.then(setFlatten):setFlatten(t)},funcConcat=(e,r)=>function(...t){const n=e(...t);return isPromise(n)?n.then(r):r(n)},arrayJoin=(e,r)=>e.join(r),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(e,r){const t=arrayMap(e,r);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},streamWrite=function(e,r,t,n){return e.write(r,t,n),e},streamFlatExtend=async function(e,r){const t=curry2(streamWrite,e,__),n=funcConcatSync(getArg1,t),o=[];if(isArray(r)){const t=r.length;let n=-1;for(;++n<t;)e.write(r[n])}else if(null==r)e.write(r);else if("function"==typeof r[symbolIterator])for(const t of r)e.write(t);else if("function"==typeof r[symbolAsyncIterator])o.push(asyncIteratorForEach(r[symbolAsyncIterator](),t));else if("function"==typeof r.chain){const n=r.chain(identity);isPromise(n)?o.push(n.then(t)):e.write(n)}else if("function"==typeof r.flatMap){const n=r.flatMap(identity);isPromise(n)?o.push(n.then(t)):e.write(n)}else if("function"==typeof r.reduce){const e=r.reduce(n,null);isPromise(e)&&o.push(e)}else if(r.constructor==Object)for(const t in r)e.write(r[t]);else e.write(r);return 0==o.length?e:promiseAll(o).then(always(e))},streamFlatMap=async function(e,r){const t=new Set;for await(const n of e){const o=r(n);if(isPromise(o)){const r=o.then(curry2(streamFlatExtend,e,__)).then((()=>t.delete(r)));t.add(r)}else{const r=streamFlatExtend(e,o);if(isPromise(r)){const e=r.then((()=>t.delete(e)));t.add(e)}}}return await promiseAll(t),e},globalThisHasBuffer="function"==typeof Buffer,noop=function(){},bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(e,r){const t=e.length,n=globalThisHasBuffer&&e.constructor==Buffer?bufferAlloc(t+r.length):new e.constructor(t+r.length);return n.set(e),n.set(r,t),n},binaryExtend=function(e,r){return isArray(r)||isBinary(r)?_binaryExtend(e,r):_binaryExtend(e,[r])},arrayJoinToBinary=function(e,r){const t=e.length;let n=-1,o=r;for(;++n<t;)o=binaryExtend(o,e[n]);return o},arrayFlattenToBinary=function(e,r){const t=arrayFlatten(e);return isPromise(t)?t.then(curry2(arrayJoinToBinary,__,r)):arrayJoinToBinary(t,r)},binaryFlatMap=function(e,r){const t=arrayMap(e,r),n=globalThisHasBuffer&&e.constructor==Buffer?bufferAlloc(0):new e.constructor(0);return isPromise(t)?t.then(curry2(arrayFlattenToBinary,__,n)):arrayFlattenToBinary(t,n)},reducerFlatMap=(e,r)=>function(t,n){const o=r(n);return isPromise(o)?o.then(curryArgs3(genericReduce,__,e,t)):genericReduce([o],e,t)},generatorFunctionFlatMap=(e,r)=>function*(...t){yield*FlatMappingIterator(e(...t),r)},asyncGeneratorFunctionFlatMap=(e,r)=>async function*(...t){yield*FlatMappingAsyncIterator(e(...t),r)},flatMap=e=>function(r){if(isArray(r))return arrayFlatMap(r,e);if("function"==typeof r)return isGeneratorFunction(r)?generatorFunctionFlatMap(r,e):isAsyncGeneratorFunction(r)?asyncGeneratorFunctionFlatMap(r,e):reducerFlatMap(r,e);if(isBinary(r))return binaryFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);if("function"==typeof r[symbolAsyncIterator]&&"function"==typeof r.write)return streamFlatMap(r,e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)};export default flatMap;
|
|
7
|
+
const isArray=Array.isArray,objectValues=Object.values,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=e=>nativeObjectToString.call(e),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=e=>objectToString(e)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=e=>objectToString(e)==asyncGeneratorFunctionTag,__=Symbol.for("placeholder"),curry3ResolveArg0=(e,r,t)=>function(n){return e(n,r,t)},curry3ResolveArg1=(e,r,t)=>function(n){return e(r,n,t)},curry3ResolveArg2=(e,r,t)=>function(n){return e(r,t,n)},curry3=function(e,r,t,n){return r==__?curry3ResolveArg0(e,t,n):t==__?curry3ResolveArg1(e,r,n):curry3ResolveArg2(e,r,t)},isPromise=e=>null!=e&&"function"==typeof e.then,iteratorReduceAsync=async function(e,r,t){let n=e.next();if(n.done)return t;for(;!n.done;)t=r(t,n.value),isPromise(t)&&(t=await t),n=e.next();return t},iteratorReduce=function(e,r,t){let n=e.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=e.next());!n.done;){if(t=r(t,n.value),isPromise(t))return t.then(curry3(iteratorReduceAsync,e,r,__));n=e.next()}return t},asyncIteratorReduce=async function(e,r,t){let n=await e.next();if(n.done)return t;for(void 0===t&&(t=n.value,n=await e.next());!n.done;)t=await r(t,n.value),n=await e.next();return t},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,curry2ResolveArg0=(e,r)=>function(t){return e(t,r)},curry2ResolveArg1=(e,r)=>function(t){return e(r,t)},curry2=function(e,r,t){return r==__?curry2ResolveArg0(e,t):curry2ResolveArg1(e,r)},curryArgs3ResolveArgs0=(e,r,t)=>function(...n){return e(n,r,t)},curryArgs3ResolveArgs1=(e,r,t)=>function(...n){return e(r,n,t)},curryArgs3ResolveArgs2=(e,r,t)=>function(...n){return e(r,t,n)},curryArgs3=function(e,r,t,n){return r==__?curryArgs3ResolveArgs0(e,t,n):t==__?curryArgs3ResolveArgs1(e,r,n):curryArgs3ResolveArgs2(e,r,t)},curry4ResolveArg0=(e,r,t,n)=>function(o){return e(o,r,t,n)},curry4ResolveArg1=(e,r,t,n)=>function(o){return e(r,o,t,n)},curry4ResolveArg2=(e,r,t,n)=>function(o){return e(r,t,o,n)},curry4ResolveArg3=(e,r,t,n)=>function(o){return e(r,t,n,o)},curry4=function(e,r,t,n,o){return r==__?curry4ResolveArg0(e,t,n,o):t==__?curry4ResolveArg1(e,r,n,o):n==__?curry4ResolveArg2(e,r,t,o):curry4ResolveArg3(e,r,t,n)},arrayReduceAsync=async function(e,r,t,n){const o=e.length;for(;++n<o;)t=r(t,e[n],n,e),isPromise(t)&&(t=await t);return t},arrayReduce=function(e,r,t){const n=e.length;let o=-1;for(void 0===t&&(t=e[++o]);++o<n;)if(t=r(t,e[o],o,e),isPromise(t))return t.then(curry4(arrayReduceAsync,e,r,__,o));return t},curry5ResolveArg0=(e,r,t,n,o)=>function(c){return e(c,r,t,n,o)},curry5ResolveArg1=(e,r,t,n,o)=>function(c){return e(r,c,t,n,o)},curry5ResolveArg2=(e,r,t,n,o)=>function(c){return e(r,t,c,n,o)},curry5ResolveArg3=(e,r,t,n,o)=>function(c){return e(r,t,n,c,o)},curry5ResolveArg4=(e,r,t,n,o)=>function(c){return e(r,t,n,o,c)},curry5=function(e,r,t,n,o,c){return r==__?curry5ResolveArg0(e,t,n,o,c):t==__?curry5ResolveArg1(e,r,n,o,c):n==__?curry5ResolveArg2(e,r,t,o,c):o==__?curry5ResolveArg3(e,r,t,n,c):curry5ResolveArg4(e,r,t,n,o)},objectKeys=Object.keys,objectGetFirstKey=function(e){for(const r in e)return r},objectReduceAsync=async function(e,r,t,n,o){const c=n.length;for(;++o<c;){const c=n[o];t=r(t,e[c],c,e),isPromise(t)&&(t=await t)}return t},objectReduce=function(e,r,t){const n=objectKeys(e),o=n.length;let c=-1;for(void 0===t&&(t=e[n[++c]]);++c<o;){const o=n[c];if(t=r(t,e[o],o,e),isPromise(t))return t.then((s=objectReduceAsync,a=r,u=__,l=n,f=c,(i=e)==__?curry5ResolveArg0(s,a,u,l,f):a==__?curry5ResolveArg1(s,i,u,l,f):u==__?curry5ResolveArg2(s,i,a,l,f):l==__?curry5ResolveArg3(s,i,a,u,f):curry5ResolveArg4(s,i,a,u,l)))}var s,i,a,u,l,f;return t},mapReduceAsync=async function(e,r,t,n){for(const[o,c]of n)t=r(t,c,o,e),isPromise(t)&&(t=await t);return t},mapReduce=function(e,r,t){const n=e.entries();if(void 0===t){const e=n.next();if(e.done)return t;t=e.value[1]}for(const[o,c]of n)if(t=r(t,c,o,e),isPromise(t))return t.then(curry4(mapReduceAsync,e,r,__,n));return t},funcConcatSync=(e,r)=>function(...t){return r(e(...t))},generatorFunctionReduce=(e,r,t)=>funcConcatSync(e,curry3(iteratorReduce,__,r,t)),asyncGeneratorFunctionReduce=(e,r,t)=>funcConcatSync(e,curry3(asyncIteratorReduce,__,r,t)),reducerConcat=(e,r)=>function(t,n){const o=e(t,n);return isPromise(o)?o.then(curry2(r,__,n)):r(o,n)},genericReduce=function(e,r,t){const n=e[0];return isArray(n)?arrayReduce(n,r,t):"function"==typeof n?isGeneratorFunction(n)?generatorFunctionReduce(n,r,t):isAsyncGeneratorFunction(n)?asyncGeneratorFunctionReduce(n,r,t):curryArgs3(genericReduce,__,1==e.length?reducerConcat(r,n):e.reduce(reducerConcat,r),t):null==n?void 0===t?curry2(r,n,__):r(t,n):n.constructor==Map?mapReduce(n,r,t):"function"==typeof n[symbolIterator]?iteratorReduce(n[symbolIterator](),r,t):"function"==typeof n[symbolAsyncIterator]?asyncIteratorReduce(n[symbolAsyncIterator](),r,t):"function"==typeof n.reduce?n.reduce(r,t):"function"==typeof n.chain?n.chain(curry2(r,t,__)):"function"==typeof n.flatMap?n.flatMap(curry2(r,t,__)):n.constructor==Object?objectReduce(n,r,t):void 0===t?curry2(r,n,__):r(t,n)},arrayPush=function(e,r){return e.push(r),e},FlatMappingIterator=function(e,r){let t=[],n=0;return{[symbolIterator](){return this},next(){if(n<t.length){const e=t[n];return n+=1,{value:e,done:!1}}const o=e.next();if(o.done)return o;const c=genericReduce([r(o.value)],arrayPush,[]);return c.length>1&&(t=c,n=1),{value:c[0],done:!1}}}},promiseRace=Promise.race.bind(Promise),FlatMappingAsyncIterator=function(e,r){const t=[],n=new Set;return{isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||t.length>0||n.size>0;){if(!this.isAsyncIteratorDone){const{value:o,done:c}=await e.next();if(c)this.isAsyncIteratorDone=c;else{const e=r(o);if(isPromise(e)){const r=e.then(curryArgs3(genericReduce,__,arrayPush,t)).then((()=>n.delete(r)));n.add(r)}else{const r=genericReduce([e],arrayPush,t);if(isPromise(r)){const e=r.then((()=>n.delete(e)));n.add(e)}}}}if(t.length>0)return{value:t.shift(),done:!1};n.size>0&&await promiseRace(n)}return{value:void 0,done:!0}}}},isBinary=ArrayBuffer.isView,always=e=>function(){return e},getArg1=(e,r)=>r,identity=e=>e,promiseAll=Promise.all.bind(Promise),asyncIteratorForEach=async function(e,r){const t=[];for await(const n of e){const e=r(n);isPromise(e)&&t.push(e)}return 0==t.length?e:promiseAll(t).then(always(e))},arrayFlatten=function(e){const r=e.length,t=[],n=[];let o=-1;for(;++o<r;){const r=e[o];if(isArray(r)){const e=r.length;let t=-1;for(;++t<e;)n.push(r[t])}else if(null==r)n.push(r);else if("function"==typeof r.then)t.push(r.then(curry2(arrayPush,n,__)));else if("function"==typeof r[symbolIterator])for(const e of r)n.push(e);else if("function"==typeof r[symbolAsyncIterator])t.push(asyncIteratorForEach(r[symbolAsyncIterator](),curry2(arrayPush,n,__)));else if("function"==typeof r.chain){const e=r.chain(identity);isPromise(e)?t.push(e.then(curry2(arrayPush,n,__))):n.push(e)}else if("function"==typeof r.flatMap){const e=r.flatMap(identity);isPromise(e)?t.push(e.then(curry2(arrayPush,n,__))):n.push(e)}else if("function"==typeof r.reduce){const e=r.reduce(funcConcatSync(getArg1,curry2(arrayPush,n,__)),null);isPromise(e)&&t.push(e)}else if(r.constructor==Object)for(const e in r)n.push(r[e]);else n.push(r)}return 0==t.length?n:promiseAll(t).then(always(n))},arrayMap=function(e,r){const t=e.length,n=Array(t);let o=-1,c=!1;for(;++o<t;){const t=r(e[o],o,e);isPromise(t)&&(c=!0),n[o]=t}return c?promiseAll(n):n},arrayFlatMap=function(e,r){const t=arrayMap(e,r);return isPromise(t)?t.then(arrayFlatten):arrayFlatten(t)},promiseObjectAllExecutor=e=>function(r){const t={};let n=0;for(const o in e){const c=e[o];isPromise(c)?(n+=1,c.then((e=>function(o){t[e]=o,n-=1,0==n&&r(t)})(o))):t[o]=c}0==n&&r(t)},promiseObjectAll=e=>new Promise(promiseObjectAllExecutor(e)),objectMap=function(e,r){const t={};let n=!1;for(const o in e){const c=r(e[o],o,e);isPromise(c)&&(n=!0),t[o]=c}return n?promiseObjectAll(t):t},objectAssign=Object.assign,objectFlatten=function(e){const r=[],t={},n=curry2(objectAssign,t,__),o=funcConcatSync(getArg1,n);for(const c in e){const s=e[c];if(null!=s)if("function"==typeof s[symbolIterator])for(const e of s)objectAssign(t,e);else if("function"==typeof s[symbolAsyncIterator])r.push(asyncIteratorForEach(s[symbolAsyncIterator](),n));else if("function"==typeof s.chain){const e=s.chain(identity);isPromise(e)?r.push(e.then(n)):objectAssign(t,e)}else if("function"==typeof s.flatMap){const e=s.flatMap(identity);isPromise(e)?r.push(e.then(n)):n(e)}else if("function"==typeof s.reduce){const e=s.reduce(o,null);isPromise(e)&&r.push(e)}else objectAssign(t,s)}return 0==r.length?t:promiseAll(r).then((()=>t))},objectFlatMap=function(e,r){const t=objectMap(e,r);return isPromise(t)?t.then(objectFlatten):objectFlatten(t)},callPropUnary=(e,r,t)=>e[r](t),setMap=function(e,r){const t=new Set,n=[];for(const o of e){const c=r(o,o,e);isPromise(c)?n.push(c.then(curry3(callPropUnary,t,"add",__))):t.add(c)}return 0==n.length?t:promiseAll(n).then(always(t))},setFlatten=function(e){e.size;const r=[],t=new Set,n=(e,r)=>t.add(r),o=curry3(callPropUnary,t,"add",__);for(const c of e)if(isArray(c)){const e=c.length;let r=-1;for(;++r<e;)t.add(c[r])}else if(null==c)t.add(c);else if("function"==typeof c[symbolIterator])for(const e of c)t.add(e);else if("function"==typeof c[symbolAsyncIterator])r.push(asyncIteratorForEach(c[symbolAsyncIterator](),o));else if("function"==typeof c.chain){const e=c.chain(identity);isPromise(e)?r.push(e.then(o)):t.add(e)}else if("function"==typeof c.flatMap){const e=c.flatMap(identity);isPromise(e)?r.push(e.then(o)):t.add(e)}else if("function"==typeof c.reduce){const e=c.reduce(n,null);isPromise(e)&&r.push(e)}else if(c.constructor==Object)for(const e in c)t.add(c[e]);else t.add(c);return 0==r.length?t:promiseAll(r).then((()=>t))},setFlatMap=function(e,r){const t=setMap(e,r);return isPromise(t)?t.then(setFlatten):setFlatten(t)},funcConcat=(e,r)=>function(...t){const n=e(...t);return isPromise(n)?n.then(r):r(n)},arrayJoin=(e,r)=>e.join(r),arrayFlattenToString=funcConcat(arrayFlatten,curry2(arrayJoin,__,"")),stringFlatMap=function(e,r){const t=arrayMap(e,r);return isPromise(t)?t.then(arrayFlattenToString):arrayFlattenToString(t)},streamWrite=function(e,r,t,n){return e.write(r,t,n),e},streamFlatExtend=async function(e,r){const t=curry2(streamWrite,e,__),n=funcConcatSync(getArg1,t),o=[];if(isArray(r)){const t=r.length;let n=-1;for(;++n<t;)e.write(r[n])}else if(null==r)e.write(r);else if("function"==typeof r[symbolIterator])for(const t of r)e.write(t);else if("function"==typeof r[symbolAsyncIterator])o.push(asyncIteratorForEach(r[symbolAsyncIterator](),t));else if("function"==typeof r.chain){const n=r.chain(identity);isPromise(n)?o.push(n.then(t)):e.write(n)}else if("function"==typeof r.flatMap){const n=r.flatMap(identity);isPromise(n)?o.push(n.then(t)):e.write(n)}else if("function"==typeof r.reduce){const e=r.reduce(n,null);isPromise(e)&&o.push(e)}else if(r.constructor==Object)for(const t in r)e.write(r[t]);else e.write(r);return 0==o.length?e:promiseAll(o).then(always(e))},streamFlatMap=async function(e,r){const t=new Set;for await(const n of e){const o=r(n);if(isPromise(o)){const r=o.then(curry2(streamFlatExtend,e,__)).then((()=>t.delete(r)));t.add(r)}else{const r=streamFlatExtend(e,o);if(isPromise(r)){const e=r.then((()=>t.delete(e)));t.add(e)}}}return await promiseAll(t),e},globalThisHasBuffer="function"==typeof Buffer,noop=function(){},bufferAlloc=globalThisHasBuffer?Buffer.alloc:noop,_binaryExtend=function(e,r){const t=e.length,n=globalThisHasBuffer&&e.constructor==Buffer?bufferAlloc(t+r.length):new e.constructor(t+r.length);return n.set(e),n.set(r,t),n},binaryExtend=function(e,r){return isArray(r)||isBinary(r)?_binaryExtend(e,r):_binaryExtend(e,[r])},arrayJoinToBinary=function(e,r){const t=e.length;let n=-1,o=r;for(;++n<t;)o=binaryExtend(o,e[n]);return o},arrayFlattenToBinary=function(e,r){const t=arrayFlatten(e);return isPromise(t)?t.then(curry2(arrayJoinToBinary,__,r)):arrayJoinToBinary(t,r)},binaryFlatMap=function(e,r){const t=arrayMap(e,r),n=globalThisHasBuffer&&e.constructor==Buffer?bufferAlloc(0):new e.constructor(0);return isPromise(t)?t.then(curry2(arrayFlattenToBinary,__,n)):arrayFlattenToBinary(t,n)},reducerFlatMap=(e,r)=>function(t,n){const o=r(n);return isPromise(o)?o.then(curryArgs3(genericReduce,__,e,t)):genericReduce([o],e,t)},generatorFunctionFlatMap=(e,r)=>function*(...t){yield*FlatMappingIterator(e(...t),r)},asyncGeneratorFunctionFlatMap=(e,r)=>async function*(...t){yield*FlatMappingAsyncIterator(e(...t),r)},flatMap=e=>function(r){if(isArray(r))return arrayFlatMap(r,e);if("function"==typeof r)return isGeneratorFunction(r)?generatorFunctionFlatMap(r,e):isAsyncGeneratorFunction(r)?asyncGeneratorFunctionFlatMap(r,e):reducerFlatMap(r,e);if(isBinary(r))return binaryFlatMap(r,e);if(null==r)return e(r);if("function"==typeof r.then)return r.then(e);if("function"==typeof r.next)return symbolIterator in r?FlatMappingIterator(r,e):FlatMappingAsyncIterator(r,e);if("function"==typeof r.chain)return r.chain(e);if("function"==typeof r.flatMap)return r.flatMap(e);if("function"==typeof r[symbolAsyncIterator]&&"function"==typeof r.write)return streamFlatMap(r,e);const t=r.constructor;return t==Object?objectFlatMap(r,e):t==Set?setFlatMap(r,e):"string"==typeof r||t==String?stringFlatMap(r,e):e(r)};export default flatMap;
|