rubico 2.5.0 → 2.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_internal/arrayMapPool.js +11 -19
- package/_internal/mapMapPool.js +80 -0
- package/_internal/objectMapPool.js +77 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapPool.js +79 -0
- package/_internal/stringMapPool.js +22 -0
- package/all.js +11 -1
- package/and.js +9 -0
- package/assign.js +14 -1
- package/compose.js +8 -0
- 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 +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.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.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.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.mjs +1 -1
- package/dist/compose.es.js +1 -1
- package/dist/compose.es.min.js +1 -1
- package/dist/compose.js +1 -1
- package/dist/compose.min.js +1 -1
- package/dist/compose.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.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.mjs +1 -1
- 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 +3 -2
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +3 -2
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +3 -2
- 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 +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.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.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.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.mjs +1 -1
- package/dist/map.es.js +221 -44
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +221 -44
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +221 -44
- 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.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.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.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.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.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.mjs +1 -1
- package/dist/rubico.es.js +197 -16
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +197 -16
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +197 -16
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +197 -16
- 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 +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.mjs +1 -1
- package/dist/tap.es.js +38 -1
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +38 -1
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +38 -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.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.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.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.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 +1 -1
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +1 -1
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.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.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 +221 -44
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +221 -44
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +221 -44
- 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 +38 -1
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +38 -1
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +38 -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.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/eq.js +6 -0
- package/es.js +197 -16
- package/every.js +6 -0
- package/filter.js +9 -0
- package/flatMap.js +7 -0
- package/forEach.js +20 -1
- package/get.js +6 -0
- package/gt.js +6 -0
- package/gte.js +6 -0
- package/index.js +197 -16
- package/lt.js +6 -0
- package/lte.js +6 -0
- package/map.js +118 -45
- package/not.js +8 -0
- package/omit.js +7 -0
- package/or.js +9 -0
- package/package.json +1 -1
- package/pick.js +7 -0
- package/pipe.js +8 -0
- package/reduce.js +8 -0
- package/set.js +6 -0
- package/some.js +6 -0
- package/switchCase.js +12 -0
- package/tap.js +11 -0
- package/transform.js +38 -10
- package/tryCatch.js +14 -0
package/dist/rubico.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.6.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -164,6 +164,9 @@ const tap = function (...args) {
|
|
|
164
164
|
if (args.length == 0) {
|
|
165
165
|
return curryArgs2(_tap, __, func)
|
|
166
166
|
}
|
|
167
|
+
if (areAnyValuesPromises(args)) {
|
|
168
|
+
return promiseAll(args).then(curry2(_tap, __, func))
|
|
169
|
+
}
|
|
167
170
|
return _tap(args, func)
|
|
168
171
|
}
|
|
169
172
|
|
|
@@ -707,6 +710,7 @@ const objectMapSeries = function (object, f) {
|
|
|
707
710
|
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
708
711
|
))
|
|
709
712
|
}
|
|
713
|
+
result[key] = resultItem
|
|
710
714
|
}
|
|
711
715
|
return result
|
|
712
716
|
}
|
|
@@ -801,15 +805,14 @@ const tapSync = func => function tapping(...args) {
|
|
|
801
805
|
const promiseRace = Promise.race.bind(Promise)
|
|
802
806
|
|
|
803
807
|
const arrayMapPoolAsync = async function (
|
|
804
|
-
array,
|
|
808
|
+
array, f, concurrencyLimit, result, index, promises,
|
|
805
809
|
) {
|
|
806
810
|
const arrayLength = array.length
|
|
807
811
|
while (++index < arrayLength) {
|
|
808
812
|
if (promises.size >= concurrencyLimit) {
|
|
809
813
|
await promiseRace(promises)
|
|
810
814
|
}
|
|
811
|
-
|
|
812
|
-
const resultItem = mapper(array[index])
|
|
815
|
+
const resultItem = f(array[index])
|
|
813
816
|
if (isPromise(resultItem)) {
|
|
814
817
|
const selfDeletingPromise = resultItem.then(
|
|
815
818
|
tapSync(() => promises.delete(selfDeletingPromise)))
|
|
@@ -822,13 +825,12 @@ const arrayMapPoolAsync = async function (
|
|
|
822
825
|
return promiseAll(result)
|
|
823
826
|
}
|
|
824
827
|
|
|
825
|
-
const arrayMapPool = function (array,
|
|
828
|
+
const arrayMapPool = function (array, concurrency, f) {
|
|
826
829
|
const arrayLength = array.length,
|
|
827
830
|
result = Array(arrayLength)
|
|
828
831
|
let index = -1
|
|
829
832
|
while (++index < arrayLength) {
|
|
830
|
-
|
|
831
|
-
const resultItem = mapper(array[index])
|
|
833
|
+
const resultItem = f(array[index])
|
|
832
834
|
if (isPromise(resultItem)) {
|
|
833
835
|
const promises = new Set(),
|
|
834
836
|
selfDeletingPromise = resultItem.then(
|
|
@@ -836,13 +838,167 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
|
|
|
836
838
|
promises.add(selfDeletingPromise)
|
|
837
839
|
result[index] = selfDeletingPromise
|
|
838
840
|
return arrayMapPoolAsync(
|
|
839
|
-
array,
|
|
841
|
+
array, f, concurrency, result, index, promises)
|
|
840
842
|
}
|
|
841
843
|
result[index] = resultItem
|
|
842
844
|
}
|
|
843
845
|
return result
|
|
844
846
|
}
|
|
845
847
|
|
|
848
|
+
const stringMapPool = function (s, concurrency, f) {
|
|
849
|
+
const result = arrayMapPool(s, concurrency, f)
|
|
850
|
+
return isPromise(result)
|
|
851
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
852
|
+
: result.join('')
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
const _setMapPoolAsync = async function (
|
|
856
|
+
s, iterator, concurrency, f, result, promises,
|
|
857
|
+
) {
|
|
858
|
+
let iteration = iterator.next()
|
|
859
|
+
while (!iteration.done) {
|
|
860
|
+
if (promises.size >= concurrency) {
|
|
861
|
+
await promiseRace(promises)
|
|
862
|
+
}
|
|
863
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
864
|
+
if (isPromise(resultItem)) {
|
|
865
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
866
|
+
promises.delete(selfDeletingPromise)
|
|
867
|
+
result.add(resolvedValue)
|
|
868
|
+
})
|
|
869
|
+
promises.add(selfDeletingPromise)
|
|
870
|
+
} else {
|
|
871
|
+
result.add(resultItem)
|
|
872
|
+
}
|
|
873
|
+
iteration = iterator.next()
|
|
874
|
+
}
|
|
875
|
+
if (promises.size > 0) {
|
|
876
|
+
await promiseAll(promises)
|
|
877
|
+
}
|
|
878
|
+
return result
|
|
879
|
+
}
|
|
880
|
+
|
|
881
|
+
const setMapPool = function (s, concurrency, f) {
|
|
882
|
+
const result = new Set()
|
|
883
|
+
const iterator = s[symbolIterator]()
|
|
884
|
+
let iteration = iterator.next()
|
|
885
|
+
while (!iteration.done) {
|
|
886
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
887
|
+
if (isPromise(resultItem)) {
|
|
888
|
+
const promises = new Set()
|
|
889
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
890
|
+
promises.delete(selfDeletingPromise)
|
|
891
|
+
result.add(resolvedValue)
|
|
892
|
+
})
|
|
893
|
+
promises.add(selfDeletingPromise)
|
|
894
|
+
return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
|
|
895
|
+
}
|
|
896
|
+
result.add(resultItem)
|
|
897
|
+
iteration = iterator.next()
|
|
898
|
+
}
|
|
899
|
+
return result
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
const _mapMapPoolAsync = async function (
|
|
903
|
+
m, iterator, concurrency, f, result, promises,
|
|
904
|
+
) {
|
|
905
|
+
let iteration = iterator.next()
|
|
906
|
+
while (!iteration.done) {
|
|
907
|
+
if (promises.size >= concurrency) {
|
|
908
|
+
await promiseRace(promises)
|
|
909
|
+
}
|
|
910
|
+
const key = iteration.value[0]
|
|
911
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
912
|
+
if (isPromise(resultItem)) {
|
|
913
|
+
result.set(key, resultItem)
|
|
914
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
915
|
+
promises.delete(selfDeletingPromise)
|
|
916
|
+
result.set(key, resolvedValue)
|
|
917
|
+
})
|
|
918
|
+
promises.add(selfDeletingPromise)
|
|
919
|
+
} else {
|
|
920
|
+
result.set(key, resultItem)
|
|
921
|
+
}
|
|
922
|
+
iteration = iterator.next()
|
|
923
|
+
}
|
|
924
|
+
if (promises.size > 0) {
|
|
925
|
+
await promiseAll(promises)
|
|
926
|
+
}
|
|
927
|
+
return result
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
const mapMapPool = function (m, concurrency, f) {
|
|
931
|
+
const result = new Map()
|
|
932
|
+
const iterator = m[symbolIterator]()
|
|
933
|
+
let iteration = iterator.next()
|
|
934
|
+
while (!iteration.done) {
|
|
935
|
+
const key = iteration.value[0]
|
|
936
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
937
|
+
if (isPromise(resultItem)) {
|
|
938
|
+
const promises = new Set()
|
|
939
|
+
result.set(key, resultItem)
|
|
940
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
941
|
+
promises.delete(selfDeletingPromise)
|
|
942
|
+
result.set(key, resolvedValue)
|
|
943
|
+
})
|
|
944
|
+
promises.add(selfDeletingPromise)
|
|
945
|
+
return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
|
|
946
|
+
}
|
|
947
|
+
result.set(key, resultItem)
|
|
948
|
+
iteration = iterator.next()
|
|
949
|
+
}
|
|
950
|
+
return result
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
const _objectMapPoolAsync = async function (
|
|
954
|
+
o, concurrency, f, result, doneKeys, promises,
|
|
955
|
+
) {
|
|
956
|
+
for (const key in o) {
|
|
957
|
+
if (key in doneKeys) {
|
|
958
|
+
continue
|
|
959
|
+
}
|
|
960
|
+
if (promises.size >= concurrency) {
|
|
961
|
+
await promiseRace(promises)
|
|
962
|
+
}
|
|
963
|
+
const resultItem = f(o[key], key, o)
|
|
964
|
+
if (isPromise(resultItem)) {
|
|
965
|
+
result[key] = resultItem
|
|
966
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
967
|
+
promises.delete(selfDeletingPromise)
|
|
968
|
+
result[key] = resolvedValue
|
|
969
|
+
})
|
|
970
|
+
promises.add(selfDeletingPromise)
|
|
971
|
+
} else {
|
|
972
|
+
result[key] = resultItem
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
if (promises.size > 0) {
|
|
976
|
+
await promiseAll(promises)
|
|
977
|
+
}
|
|
978
|
+
return result
|
|
979
|
+
}
|
|
980
|
+
|
|
981
|
+
const objectMapPool = function (o, concurrency, f) {
|
|
982
|
+
const result = {}
|
|
983
|
+
const doneKeys = {}
|
|
984
|
+
for (const key in o) {
|
|
985
|
+
doneKeys[key] = true
|
|
986
|
+
const resultItem = f(o[key], key, o)
|
|
987
|
+
if (isPromise(resultItem)) {
|
|
988
|
+
const promises = new Set()
|
|
989
|
+
result[key] = resultItem
|
|
990
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
991
|
+
promises.delete(selfDeletingPromise)
|
|
992
|
+
result[key] = resolvedValue
|
|
993
|
+
})
|
|
994
|
+
promises.add(selfDeletingPromise)
|
|
995
|
+
return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
|
|
996
|
+
}
|
|
997
|
+
result[key] = resultItem
|
|
998
|
+
}
|
|
999
|
+
return result
|
|
1000
|
+
}
|
|
1001
|
+
|
|
846
1002
|
const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
847
1003
|
const argsLength = args.length,
|
|
848
1004
|
curriedArgsLength = curriedArgs.length,
|
|
@@ -978,7 +1134,7 @@ const _map = function (value, mapper) {
|
|
|
978
1134
|
}
|
|
979
1135
|
|
|
980
1136
|
const map = function (arg0, arg1) {
|
|
981
|
-
if (
|
|
1137
|
+
if (arg1 == null) {
|
|
982
1138
|
return curry2(_map, __, arg0)
|
|
983
1139
|
}
|
|
984
1140
|
return isPromise(arg0)
|
|
@@ -1001,7 +1157,7 @@ const _mapEntries = (value, mapper) => {
|
|
|
1001
1157
|
}
|
|
1002
1158
|
|
|
1003
1159
|
map.entries = function mapEntries(arg0, arg1) {
|
|
1004
|
-
if (
|
|
1160
|
+
if (arg1 == null) {
|
|
1005
1161
|
return curry2(_mapEntries, __, arg0)
|
|
1006
1162
|
}
|
|
1007
1163
|
return isPromise(arg0)
|
|
@@ -1033,7 +1189,7 @@ const _mapSeries = function (collection, f) {
|
|
|
1033
1189
|
}
|
|
1034
1190
|
|
|
1035
1191
|
map.series = function mapSeries(arg0, arg1) {
|
|
1036
|
-
if (
|
|
1192
|
+
if (arg1 == null) {
|
|
1037
1193
|
return curry2(_mapSeries, __, arg0)
|
|
1038
1194
|
}
|
|
1039
1195
|
return isPromise(arg0)
|
|
@@ -1041,11 +1197,35 @@ map.series = function mapSeries(arg0, arg1) {
|
|
|
1041
1197
|
: _mapSeries(arg0, arg1)
|
|
1042
1198
|
}
|
|
1043
1199
|
|
|
1044
|
-
|
|
1045
|
-
if (isArray(
|
|
1046
|
-
return arrayMapPool(
|
|
1200
|
+
const _mapPool = function (collection, concurrency, f) {
|
|
1201
|
+
if (isArray(collection)) {
|
|
1202
|
+
return arrayMapPool(collection, concurrency, f)
|
|
1203
|
+
}
|
|
1204
|
+
if (collection == null) {
|
|
1205
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1047
1206
|
}
|
|
1048
|
-
|
|
1207
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
1208
|
+
return stringMapPool(collection, concurrency, f)
|
|
1209
|
+
}
|
|
1210
|
+
if (collection.constructor == Set) {
|
|
1211
|
+
return setMapPool(collection, concurrency, f)
|
|
1212
|
+
}
|
|
1213
|
+
if (collection.constructor == Map) {
|
|
1214
|
+
return mapMapPool(collection, concurrency, f)
|
|
1215
|
+
}
|
|
1216
|
+
if (collection.constructor == Object) {
|
|
1217
|
+
return objectMapPool(collection, concurrency, f)
|
|
1218
|
+
}
|
|
1219
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
map.pool = function mapPool(arg0, arg1, arg2) {
|
|
1223
|
+
if (arg2 == null) {
|
|
1224
|
+
return curry3(_mapPool, __, arg0, arg1)
|
|
1225
|
+
}
|
|
1226
|
+
return isPromise(arg0)
|
|
1227
|
+
? arg0.then(curry3(_mapPool, __, arg1, arg2))
|
|
1228
|
+
: _mapPool(arg0, arg1, arg2)
|
|
1049
1229
|
}
|
|
1050
1230
|
|
|
1051
1231
|
const FilteringIterator = (iterator, predicate) => ({
|
|
@@ -2152,7 +2332,8 @@ const _forEach = function (collection, callback) {
|
|
|
2152
2332
|
return collection
|
|
2153
2333
|
}
|
|
2154
2334
|
if (typeof collection.forEach == 'function') {
|
|
2155
|
-
|
|
2335
|
+
collection.forEach(callback)
|
|
2336
|
+
return collection
|
|
2156
2337
|
}
|
|
2157
2338
|
if (typeof collection[symbolIterator] == 'function') {
|
|
2158
2339
|
return iteratorForEach(collection[symbolIterator](), callback)
|
package/dist/rubico.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.6.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.rubico=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=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)},h=function(n,t,e){return t==u?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},a=function(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},p=function(...n){const t=n.pop();return 0==n.length?h(a,u,t):a(n,t)};p.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(p(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const y=Array.isArray,d=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},g=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},w=function(n,t,e){return n[t]=e,n},v=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},x=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(w,c,f,u),g(v,t,e,u,f)));c[f]=r}return c},b=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(w,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},j=function(...n){const o=n.pop();return 0==n.length?y(o)?h(d,o,u):h(b,o,u):t(n)?y(o)?e(n).then(c(d,o,u)):e(n).then(c(b,o,u)):y(o)?d(o,n):b(o,n)};j.series=function(...n){const o=n.pop();return 0==n.length?h(x,o,u):t(n)?e(n).then(c(x,o,u)):x(o,n)};const S=Object.assign,M=function(t,e){const o=b(e,[t]);return n(o)?o.then(l(S,{},t,u)):{...t,...o}},O=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(O,e,u,o)):r}catch(n){return e(n,...o)}},A=(n,t,e,o)=>function(){return n(t,e,o)},E=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),A(E,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},z=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},I=(n,t,e)=>function(){return n(t,e)},T=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),I(T,t,e)));if(o)return r}if(e!=o)return t[e]},D=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[D](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),$=Symbol.asyncIterator,k=(t,e)=>({[$](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(B):{value:r,done:!1}}}),C=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},_=(n,t,e)=>n[t](e),q=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),V=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?R(o):o},G=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r],r);o[r]=n(u)?await u:u}return o},H=function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f],f);if(n(r))return r.then(o(l(w,c,f,u),g(G,t,e,u,f)));c[f]=r}return c},J=(n,t,e,o,r)=>function(){return n(t,e,o,r)},K=async function(t,e,o,r){for(const u in t){if(u in r)continue;let c=e(t[u]);n(c)&&(c=await c),o[u]=c}return o},L=function(n,t){return n.add(t),n},N=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value);n(u)&&(u=await u),o.add(u),r=t.next()}return o},Q=function(n,t,e){return n.set(t,e)},U=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value[1]);n(u)&&(u=await u),o.set(r.value[0],u),r=t.next()}return o},W=n=>function(...t){return n(...t),t[0]},X=Promise.race.bind(Promise),Y=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await X(f);const e=o(t[c]);if(n(e)){const n=e.then(W((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},Z=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):nn(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):nn(n,t,f)}return nn(n,t,f)},nn=function(n,t,e){const o=e.length;if(o<n)return Z(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return Z(n,t,e)}return t(...e)},tn=n=>function([t,e]){return n(t,e)},en=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(tn(nn(3,Q,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},on=function(t,o){return y(t)?C(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=C(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(g(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[D]?P(t[D](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},rn=function(t,e){return"function"==typeof t?c(on,u,t):n(t)?t.then(c(on,u,e)):on(t,e)},un=(t,o)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(tn(nn(3,w,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return en(t,o);throw new TypeError("value is not an Object or Map")};rn.entries=function(t,e){return"function"==typeof t?c(un,u,t):n(t)?t.then(c(un,u,e)):un(t,e)};const cn=function(t,e){if(y(t))return H(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=H(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[D]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(L,r,u),A(N,f,e,r)));r.add(t),i=f.next()}return r}(t,e);if(t.constructor==Map)return function(t,e){const r=new Map,c=t[D]();let f=c.next();for(;!f.done;){const t=f.value[0],i=e(f.value[1]);if(n(i))return i.then(o(l(Q,r,t,u),A(U,c,e,r)));r.set(t,i),f=c.next()}return r}(t,e);if(t.constructor==Object)return function(t,e){const r={},c={};for(const f in t){c[f]=!0;const i=e(t[f],f,t);if(n(i))return i.then(o(l(w,r,f,u),J(K,t,e,r,c)))}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};rn.series=function(t,e){return"function"==typeof t?c(cn,u,t):n(t)?t.then(c(cn,u,e)):cn(t,e)},rn.pool=(t,e)=>function(o){if(y(o))return function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=e(t[c]);if(n(r)){const n=new Set,f=r.then(W((()=>n.delete(f))));return n.add(f),u[c]=f,Y(t,e,o,u,c,n)}u[c]=r}return u}(o,e,t);throw new TypeError(`${o} is not an Array`)};const fn=(n,t)=>({[D](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),sn=(t,e)=>({isAsyncIteratorDone:!1,[$](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),ln=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},hn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},an=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(ln([s],t,o,f)).then(g(hn,t,c,f-1,u));s&&(c[++i]=r)}return c},pn=(n,t)=>function(){return n(t)},yn=function(){},dn=function(n,t,e,o){o&&(n[t]=e)},gn=function(t,o){return y(t)?an(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=an(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,pn(c,e),yn))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,J(F,r,"set",e,f),yn))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[D]?fn(t[D](),o):"function"==typeof t[$]?sn(t[$](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(g(dn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},wn=Object.values,vn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),xn=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},bn=Object.keys,jn=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},Sn=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},Mn=function(t,e,o){return y(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(g(xn,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(g(Sn,t,e,u,r));return o}(t,e,o):"function"==typeof t[D]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(vn,t,e,u));r=t.next()}return o}(t[D](),e,o):"function"==typeof t[$]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[$](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=bn(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=jn,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},On=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Mn,t,e,u)):Mn(t,e,r)}return n(o)?o.then(l(Mn,t,e,u)):Mn(t,e,o)},mn=ArrayBuffer.isView,An=function(n,t){return y(t)||mn(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},En="function"==typeof Buffer,zn=En?Buffer.alloc:yn,In=function(n,t){const e=n.length,o=En&&n.constructor==Buffer?zn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},Tn=function(n,t){return y(t)||mn(t)?In(n,t):In(n,[t])},Dn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",pn(e,n)),t.on("error",o)})(n,t)),Pn=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Dn(n,t):(n.write(t),n);var e},Bn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},$n=function(n,t){return n.concat(t)},kn=function(t,e,o){const r=Mn(t,e(yn),null);return n(r)?r.then(f(o)):o},Cn=function(t,e,o){if(y(o))return Mn(t,e(An),o);if(mn(o)){const r=Mn(t,e(An),[]);return n(r)?r.then(c(Tn,o,u)):Tn(o,r)}if(null==o)return kn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=Mn(t,e(An),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?Mn(t,e($n),o):"function"==typeof o.write?Mn(t,e(Pn),o):r==Set?Mn(t,e(Bn),o):r==Object?Mn(t,e(S),o):kn(t,e,o)},_n=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Cn,t,e,u)):Cn(t,e,r)}return n(o)?o.then(l(Cn,t,e,u)):Cn(t,e,o)},qn=function(n,t){return n.push(t),n},Fn=n=>new Promise((t=>{setTimeout(t,n)})),Rn=(n,t)=>t,Vn=n=>n,Gn=(n,t)=>function(...e){return t(n(...e))},Hn=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},Jn=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(y(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(qn,i,u)));else if("function"==typeof e[D])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(Hn(e[$](),c(qn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Vn);n(t)?r.push(t.then(c(qn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Vn);n(t)?r.push(t.then(c(qn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Gn(Rn,c(qn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Kn=function(t){const o=[],r={},f=c(S,r,u),i=Gn(Rn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[D])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(Hn(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(Vn);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Vn);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else S(r,u)}return 0==o.length?r:e(o).then((()=>r))},Ln=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(y(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[D])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(Hn(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(Vn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Vn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},Nn=o(Jn,c(((n,t)=>n.join(t)),u,"")),Qn=function(t,e){if(y(t))return function(t,e){const o=C(t,e);return n(o)?o.then(Jn):Jn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return D in t?function(n,t){let e=[],o=0;return{[D](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=Mn(t(r.value),qn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[$](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(Mn,u,qn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=Mn(t,qn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await X([Fn(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=V(t,e);return n(o)?o.then(Kn):Kn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Ln):Ln(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Nn):Nn(o)}(t,e):e(t)},Un=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},Wn=async function(t,e,o){for(const r in t){if(r in o)continue;const u=e(t[r]);n(u)&&await u}return t},Xn=async function(t,e){let o=t.next();for(;!o.done;){const r=e(o.value);n(r)&&await r,o=t.next()}return t},Yn=function(t,o){return y(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[D](),o):"function"==typeof t[$]?Hn(t[$](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},Zn=function(t,e){return"function"==typeof t?c(Yn,u,t):n(t)?t.then(c(Yn,u,e)):Yn(t,e)},nt=function(t,e){if(y(t))return function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return o.then(A(Un,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[D])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(I(Xn,t,e));o=t.next()}return t}(t[D](),e);if("function"==typeof t[$])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[$](),e);if(t.constructor==Object)return function(t,e){const o={};for(const r in t){o[r]=!0;const u=e(t[r]);if(n(u))return u.then(A(Wn,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};Zn.series=function(t,e){return"function"==typeof t?c(nt,u,t):n(t)?t.then(c(nt,u,e)):nt(t,e)};const tt=function(n){const t=n.then((n=>[n,t]));return t},et=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(tt(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await X(r);if(r.delete(t),n)return!0}return!1},ot=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return et(t,e,r,new Set([tt(o)]));if(o)return!0}return!1},rt=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(tt(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),n)return!0}return!1},ut=function(t,e){return y(t)?ot(t,e):null==t?e(t):"function"==typeof t[D]?function(t,e){for(const o of t){const r=e(o);if(n(r))return rt(t,e,new Set([tt(r)]));if(r)return!0}return!1}(t[D](),e):"function"==typeof t[$]?rt(t[$](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?ot(wn(t),e):e(t)},ct=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(_,u,"every",Boolean))},ft=(n,t,e)=>!!t&&n(e),it=function(t,o){return y(t)?ct(t,o):null==t?o(t):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(_,u,"every",Boolean))}(t[D](),o):"function"==typeof t[$]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(tt(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),!n)return!1}return!0}(t[$](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(ft,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?ct(wn(t),o):o(t)},st=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,I(st,t,e),f(!1)));if(!o)return!1}return!0},lt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},ht=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,A(lt,t,e,r),f(!1)));if(!o)return!1}return!0},at=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),I(at,t,e)));if(o)return!0}return!1},pt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},yt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),A(pt,t,e,r)));if(o)return!0}return!1},dt=n=>!n,gt=function(t,e){const o=e(...t);return n(o)?o.then(dt):!o},wt=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},vt=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(tn(o)):o(c,f)},xt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(tn(o)):o(c,u)},bt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(tn(o)):o(r,c)},jt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?wt(vt,u,o,f,c):t(r)?e(r).then(g(vt,u,o,f,c)):vt(r,o,f,c):i?0==r.length?wt(xt,u,o,f,c):t(r)?e(r).then(g(xt,u,o,f,c)):xt(r,o,f,c):s?0==r.length?wt(bt,u,o,f,c):t(r)?e(r).then(g(bt,u,o,f,c)):bt(r,o,f,c):n(f)||n(c)?e([f,c]).then(tn(o)):o(f,c)},St=jt((function(n,t){return n==t})),Mt=jt(((n,t)=>n>t)),Ot=jt(((n,t)=>n<t)),mt=jt(((n,t)=>n>=t)),At=jt(((n,t)=>n<=t)),Et=/[.|[|\]]+/,zt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(Et):e?n.slice(1).split(Et):o?n.slice(0,t).split(Et):n.split(Et)}),500),It=n=>y(n)?n:"string"==typeof n?zt(n):[n],Tt=function(n,t){const e=It(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Dt=function(n,t,e){const o=null==n?void 0:Tt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},Pt=function(n,t,e){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(n))return n;const o=It(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=y(t)?t.slice():{...t};f[n]=e,f=e}}return c},Bt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Pt,t,u,e)):Pt(t,r,e)}return n(o)?o.then(l(Pt,t,u,e)):Pt(t,o,e)},$t=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=Tt(n,e);null!=u&&(o=Pt(o,u,e))}return o},kt=function(n,t){if(null==n)return;const e=It(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Ct=function(n){const t={};for(const e in n){const o=n[e];y(o)?t[e]=_t(o):null!=o&&o.constructor==Object?t[e]=Ct(o):t[e]=o}return t},_t=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];y(t)?e[o]=_t(t):null!=t&&t.constructor==Object?e[o]=Ct(t):e[o]=t}return e},qt=function(n,t){const e=t.length,o=y(r=n)?_t(r):null==r?r:r.constructor==Object?Ct(r):r;var r;let u=-1;for(;++u<e;)kt(o,t[u]);return o},Ft=(n,...t)=>nn(n.length,n,t);Ft.arity=function(n,t,...e){return nn(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:p,forEach:Zn,switchCase:(...n)=>{const o=n.pop();return z(o)?T(o,-2):0==n.length?(r=E,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(E,o,u,-2)):E(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:j,assign:function(t,e){return null==e?c(M,u,t):n(t)?t.then(c(M,u,e)):M(t,e)},get:function(t,e,o){return"string"==typeof t||"number"==typeof t||y(t)?l(Dt,u,t,e):n(t)?t.then(l(Dt,u,e,o)):Dt(t,e,o)},set:function(t,e,o){return null==o?l(Bt,u,t,e):n(t)?t.then(l(Bt,u,e,o)):Bt(t,e,o)},pick:function(t,e){return null==e?c($t,u,t):n(t)?t.then(c($t,u,e)):$t(t,e)},omit:function(t,e){return null==e?c(qt,u,t):n(t)?t.then(c(qt,u,e)):qt(t,e)},map:rn,filter:function(n,t){return"function"==typeof n?c(gn,u,n):gn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Qn,u,t):n(t)?t.then(c(Qn,u,e)):Qn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(On,u,t[0],t[1]):n(t[0])?t[0].then(l(On,u,t[1],t[2])):On(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(_n,u,t[0],t[1]):n(t[0])?t[0].then(l(_n,u,t[1],t[2])):_n(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return z(o)?st(o,-1):0==n.length?h(ht,u,o):t(n)?e(n).then(c(ht,u,o)):ht(n,o)},or:function(...n){const o=n.pop();return z(o)?at(o,-1):0==n.length?h(yt,u,o):t(n)?e(n).then(c(yt,u,o)):yt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(gt,u,o):t(n)?e(n).then(c(gt,u,o)):gt(n,o):!o},some:function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)},every:function(t,e){return"function"==typeof t?c(it,u,t):n(t)?t.then(c(it,u,e)):it(t,e)},eq:St,gt:Mt,lt:Ot,gte:mt,lte:At,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Ft,__:u}}());
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.rubico=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=function(t){const e=t.length;let o=-1;for(;++o<e;){const e=t[o];if(n(e))return!0}return!1},e=Promise.all.bind(Promise),o=(t,e)=>function(...o){const r=t(...o);return n(r)?r.then(e):e(r)},r=(n,t)=>n(...t),u=Symbol.for("placeholder"),c=function(n,t,e){return t==u?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=n=>function(){return n},i=(n,t)=>function(){return n(...t)},s=(n,t,e)=>n?t():e(),l=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)},h=function(n,t,e){return t==u?((n,t)=>function(...e){return n(e,t)})(n,e):((n,t)=>function(...e){return n(t,e)})(n,t)},a=function(t,e){const o=t[0],r=e(...t);return n(r)?r.then(f(o)):o},p=function(...n){const o=n.pop();return 0==n.length?h(a,u,o):t(n)?e(n).then(c(a,u,o)):a(n,o)};p.if=(t,e)=>function(...o){const r=t(...o);if(n(r))return r.then(l(s,u,i(p(e),o),f(o[0])));if(r){const t=e(...o);if(n(t))return t.then(f(o[0]))}return o[0]};const d=Array.isArray,y=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=t[c](...o);n(e)&&(f=!0),u[c]=e}return f?e(u):u},g=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(r){return n(t,e,o,r)})(n,t,e,o)},w=function(n,t,e){return n[t]=e,n},v=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=t[r](...e);o[r]=n(u)?await u:u}return o},x=function(t,e){const r=t.length,c=[];let f=-1;for(;++f<r;){const r=t[f](...e);if(n(r))return r.then(o(l(w,c,f,u),g(v,t,e,u,f)));c[f]=r}return c},j=function(t,o){const r={},c=[];for(const e in t){const f=t[e](...o);n(f)?c.push(f.then(l(w,r,e,u))):r[e]=f}return 0==c.length?r:e(c).then(f(r))},b=function(...n){const o=n.pop();return 0==n.length?d(o)?h(y,o,u):h(j,o,u):t(n)?d(o)?e(n).then(c(y,o,u)):e(n).then(c(j,o,u)):d(o)?y(o,n):j(o,n)};b.series=function(...n){const o=n.pop();return 0==n.length?h(x,o,u):t(n)?e(n).then(c(x,o,u)):x(o,n)};const S=Object.assign,M=function(t,e){const o=j(e,[t]);return n(o)?o.then(l(S,{},t,u)):{...t,...o}},O=function(n,t,e){return n(t,...e)},m=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(O,e,u,o)):r}catch(n){return e(n,...o)}},z=(n,t,e,o)=>function(){return n(t,e,o)},A=function(t,e,o){const r=t.length-1;for(;(o+=2)<r;){const r=t[o],c=t[o+1],h="function"==typeof r?r(...e):r;if(n(h))return h.then(l(s,u,"function"==typeof c?i(c,e):f(c),z(A,t,e,o)));if(h)return"function"==typeof c?c(...e):c}if(o==t.length)return;const c=t[r];return"function"==typeof c?c(...e):c},E=function(n){const t=n.length;let e=-1;for(;++e<t;)if("function"==typeof n[e])return!1;return!0},T=(n,t,e)=>function(){return n(t,e)},I=function(t,e){const o=t.length,r=o-1;for(;(e+=2)<r;){const o=t[e],r=t[e+1];if(n(o))return o.then(l(s,u,f(r),T(I,t,e)));if(o)return r}if(e!=o)return t[e]},D=Symbol.iterator,P=(n,t)=>({toString:()=>"[object MappingIterator]",[D](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),B=n=>({value:n,done:!1}),$=Symbol.asyncIterator,k=(t,e)=>({[$](){return this},async next(){const o=await t.next();if(o.done)return o;const r=e(o.value);return n(r)?r.then(B):{value:r,done:!1}}}),C=function(t,o){const r=t.length,u=Array(r);let c=-1,f=!1;for(;++c<r;){const e=o(t[c],c,t);n(e)&&(f=!0),u[c]=e}return f?e(u):u},_=(n,t,e)=>n[t](e),q=function(t,o){const r=new Set,c=[];for(const e of t){const f=o(e,e,t);n(f)?c.push(f.then(l(_,r,"add",u))):r.add(f)}return 0==c.length?r:e(c).then(f(r))},F=(n,t,e,o)=>n[t](e,o),R=t=>new Promise((t=>function(e){const o={};let r=0;for(const u in t){const c=t[u];n(c)?(r+=1,c.then((n=>function(t){o[n]=t,r-=1,0==r&&e(o)})(u))):o[u]=c}0==r&&e(o)})(t)),V=function(t,e){const o={};let r=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(r=!0),o[u]=c}return r?R(o):o},G=async function(t,e,o,r){const u=t.length;for(;++r<u;){const u=e(t[r],r);o[r]=n(u)?await u:u}return o},H=function(t,e){const r=t.length,c=Array(r);let f=-1;for(;++f<r;){const r=e(t[f],f);if(n(r))return r.then(o(l(w,c,f,u),g(G,t,e,u,f)));c[f]=r}return c},J=(n,t,e,o,r)=>function(){return n(t,e,o,r)},K=async function(t,e,o,r){for(const u in t){if(u in r)continue;let c=e(t[u]);n(c)&&(c=await c),o[u]=c}return o},L=function(n,t){return n.add(t),n},N=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value);n(u)&&(u=await u),o.add(u),r=t.next()}return o},Q=function(n,t,e){return n.set(t,e)},U=async function(t,e,o){let r=t.next();for(;!r.done;){let u=e(r.value[1]);n(u)&&(u=await u),o.set(r.value[0],u),r=t.next()}return o},W=n=>function(...t){return n(...t),t[0]},X=Promise.race.bind(Promise),Y=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await X(f);const e=o(t[c]);if(n(e)){const n=e.then(W((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},Z=function(t,e,o){const r=t.length,u=Array(r);let c=-1;for(;++c<r;){const r=o(t[c]);if(n(r)){const n=new Set,f=r.then(W((()=>n.delete(f))));return n.add(f),u[c]=f,Y(t,o,e,u,c,n)}u[c]=r}return u},nn=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await X(f);const e=u(i.value,i.value,t);if(n(e)){const n=e.then((t=>{f.delete(n),c.add(t)}));f.add(n)}else c.add(e);i=o.next()}return f.size>0&&await e(f),c},tn=async function(t,o,r,u,c,f){let i=o.next();for(;!i.done;){f.size>=r&&await X(f);const e=i.value[0],s=u(i.value[1],e,t);if(n(s)){c.set(e,s);const n=s.then((t=>{f.delete(n),c.set(e,t)}));f.add(n)}else c.set(e,s);i=o.next()}return f.size>0&&await e(f),c},en=async function(t,o,r,u,c,f){for(const e in t){if(e in c)continue;f.size>=o&&await X(f);const i=r(t[e],e,t);if(n(i)){u[e]=i;const n=i.then((t=>{f.delete(n),u[e]=t}));f.add(n)}else u[e]=i}return f.size>0&&await e(f),u},on=(n,t,e)=>function(...o){const r=e.length,c=o.length,f=[];let i=-1,s=-1,l=0;for(;++i<r;){const r=e[i];if(r==u&&(s+=1)<c){const n=o[s];n==u&&(l+=1),f.push(n)}else f.push(r);if(f.length==n)return 0==l?t(...f):rn(n,t,f)}for(;++s<c;){const e=o[s];if(e==u&&(l+=1),f.push(e),f.length==n)return 0==l?t(...f):rn(n,t,f)}return rn(n,t,f)},rn=function(n,t,e){const o=e.length;if(o<n)return on(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return on(n,t,e)}return t(...e)},un=n=>function([t,e]){return n(t,e)},cn=function(t,o){const r=new Map,u=[];return t.forEach(((t,e,o)=>function(r,u){const c=t([u,r]);n(c)?o.push(c.then(un(rn(3,Q,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},fn=function(t,o){return d(t)?C(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const o=C(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?q(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(g(F,r,"set",e,u))):r.set(e,i)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t[D]?P(t[D](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},sn=function(t,e){return null==e?c(fn,u,t):n(t)?t.then(c(fn,u,e)):fn(t,e)},ln=(t,o)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,o){const r={},u=[];for(const e in t){const c=o([e,t[e]]);n(c)?u.push(c.then(un(rn(3,w,[r])))):r[c[0]]=c[1]}return 0==u.length?r:e(u).then(f(r))}(t,o);if(t.constructor==Map)return cn(t,o);throw new TypeError("value is not an Object or Map")};sn.entries=function(t,e){return null==e?c(ln,u,t):n(t)?t.then(c(ln,u,e)):ln(t,e)};const hn=function(t,e){if(d(t))return H(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e){const o=H(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,e);if(t.constructor==Set)return function(t,e){const r=new Set,f=t[D]();let i=f.next();for(;!i.done;){const t=e(i.value);if(n(t))return t.then(o(c(L,r,u),z(N,f,e,r)));r.add(t),i=f.next()}return r}(t,e);if(t.constructor==Map)return function(t,e){const r=new Map,c=t[D]();let f=c.next();for(;!f.done;){const t=f.value[0],i=e(f.value[1]);if(n(i))return i.then(o(l(Q,r,t,u),z(U,c,e,r)));r.set(t,i),f=c.next()}return r}(t,e);if(t.constructor==Object)return function(t,e){const r={},c={};for(const f in t){c[f]=!0;const i=e(t[f],f,t);if(n(i))return i.then(o(l(w,r,f,u),J(K,t,e,r,c)));r[f]=i}return r}(t,e);throw new TypeError(`invalid collection ${t}`)};sn.series=function(t,e){return null==e?c(hn,u,t):n(t)?t.then(c(hn,u,e)):hn(t,e)};const an=function(t,e,o){if(d(t))return Z(t,e,o);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e,o){const r=Z(t,e,o);return n(r)?r.then(l(_,u,"join","")):r.join("")}(t,e,o);if(t.constructor==Set)return function(t,e,o){const r=new Set,u=t[D]();let c=u.next();for(;!c.done;){const f=o(c.value,c.value,t);if(n(f)){const n=new Set,c=f.then((t=>{n.delete(c),r.add(t)}));return n.add(c),nn(t,u,e,o,r,n)}r.add(f),c=u.next()}return r}(t,e,o);if(t.constructor==Map)return function(t,e,o){const r=new Map,u=t[D]();let c=u.next();for(;!c.done;){const f=c.value[0],i=o(c.value[1],f,t);if(n(i)){const n=new Set;r.set(f,i);const c=i.then((t=>{n.delete(c),r.set(f,t)}));return n.add(c),tn(t,u,e,o,r,n)}r.set(f,i),c=u.next()}return r}(t,e,o);if(t.constructor==Object)return function(t,e,o){const r={},u={};for(const c in t){u[c]=!0;const f=o(t[c],c,t);if(n(f)){const n=new Set;r[c]=f;const i=f.then((t=>{n.delete(i),r[c]=t}));return n.add(i),en(t,e,o,r,u,n)}r[c]=f}return r}(t,e,o);throw new TypeError(`invalid collection ${t}`)};sn.pool=function(t,e,o){return null==o?l(an,u,t,e):n(t)?t.then(l(an,u,e,o)):an(t,e,o)};const pn=(n,t)=>({[D](){return this},next(){let e=n.next();for(;!e.done;){const{value:o}=e;if(t(o))return{value:o,done:!1};e=n.next()}return e}}),dn=(t,e)=>({isAsyncIteratorDone:!1,[$](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:o,done:r}=await t.next();if(r)this.isAsyncIteratorDone=!0;else{const t=e(o);if(n(t)?await t:t)return{value:o,done:!1}}}return{value:void 0,done:!0}}}),yn=function(n,t,e,o){const r=t.length;let u=n.length-1;for(;++o<r;)n[++u]=e(t[o],o,n);return n},gn=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},wn=function(t,o){const r=t.length,c=[];let f=-1,i=-1;for(;++f<r;){const r=t[f],s=o(r,f,t);if(n(s))return e(yn([s],t,o,f)).then(g(gn,t,c,f-1,u));s&&(c[++i]=r)}return c},vn=(n,t)=>function(){return n(t)},xn=function(){},jn=function(n,t,e,o){o&&(n[t]=e)},bn=function(t,o){return d(t)?wn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=wn(t,e);return n(o)?o.then(l(_,u,"join","")):o.join("")}(t,o):t.constructor==Set?function(t,o){const r=new Set,c=r.add.bind(r),i=[];for(const e of t){const f=o(e,e,t);n(f)?i.push(f.then(l(s,u,vn(c,e),xn))):f&&r.add(e)}return 0==i.length?r:e(i).then(f(r))}(t,o):t.constructor==Map?function(t,o){const r=new Map,c=[];for(const[e,f]of t){const i=o(f,e,t);n(i)?c.push(i.then(l(s,u,J(F,r,"set",e,f),xn))):i&&r.set(e,f)}return 0==c.length?r:e(c).then(f(r))}(t,o):"function"==typeof t.filter?t.filter(o):"function"==typeof t[D]?pn(t[D](),o):"function"==typeof t[$]?dn(t[$](),o):t.constructor==Object?function(t,o){const r={},c=[];for(const e in t){const f=t[e],i=o(f,e,t);n(i)?c.push(i.then(g(jn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},Sn=Object.values,Mn=(Object.prototype.toString,async function(t,e,o){let r=t.next();if(r.done)return o;for(;!r.done;)o=e(o,r.value),n(o)&&(o=await o),r=t.next();return o}),On=async function(t,e,o,r){const u=t.length;for(;++r<u;)o=e(o,t[r],r,t),n(o)&&(o=await o);return o},mn=Object.keys,zn=async function(t,e,o,r,u){const c=r.length;for(;++u<c;){const c=r[u];o=e(o,t[c],c,t),n(o)&&(o=await o)}return o},An=async function(t,e,o,r){for(const[u,c]of r)o=e(o,c,u,t),n(o)&&(o=await o);return o},En=function(t,e,o){return d(t)?function(t,e,o){const r=t.length;let c=-1;for(void 0===o&&(o=t[++c]);++c<r;)if(o=e(o,t[c],c,t),n(o))return o.then(g(On,t,e,u,c));return o}(t,e,o):null==t?void 0===o?c(e,t,u):e(o,t):t.constructor==Map?function(t,e,o){const r=t.entries();if(void 0===o){const n=r.next();if(n.done)return o;o=n.value[1]}for(const[c,f]of r)if(o=e(o,f,c,t),n(o))return o.then(g(An,t,e,u,r));return o}(t,e,o):"function"==typeof t[D]?function(t,e,o){let r=t.next();if(r.done)return o;for(void 0===o&&(o=r.value,r=t.next());!r.done;){if(o=e(o,r.value),n(o))return o.then(l(Mn,t,e,u));r=t.next()}return o}(t[D](),e,o):"function"==typeof t[$]?async function(n,t,e){let o=await n.next();if(o.done)return e;for(void 0===e&&(e=o.value,o=await n.next());!o.done;)e=await t(e,o.value),o=await n.next();return e}(t[$](),e,o):"function"==typeof t.reduce?t.reduce(e,o):"function"==typeof t.chain?t.chain(c(e,o,u)):"function"==typeof t.flatMap?t.flatMap(c(e,o,u)):t.constructor==Object?function(t,e,o){const r=mn(t),c=r.length;let f=-1;for(void 0===o&&(o=t[r[++f]]);++f<c;){const c=r[f];if(o=e(o,t[c],c,t),n(o))return o.then((i=zn,l=e,h=u,a=r,p=f,(s=t)==u?((n,t,e,o,r)=>function(u){return n(u,t,e,o,r)})(i,l,h,a,p):l==u?((n,t,e,o,r)=>function(u){return n(t,u,e,o,r)})(i,s,h,a,p):h==u?((n,t,e,o,r)=>function(u){return n(t,e,u,o,r)})(i,s,l,a,p):a==u?((n,t,e,o,r)=>function(u){return n(t,e,o,u,r)})(i,s,l,h,p):((n,t,e,o,r)=>function(u){return n(t,e,o,r,u)})(i,s,l,h,a)))}var i,s,l,h,a,p;return o}(t,e,o):void 0===o?c(e,t,u):e(o,t)},Tn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(En,t,e,u)):En(t,e,r)}return n(o)?o.then(l(En,t,e,u)):En(t,e,o)},In=ArrayBuffer.isView,Dn=function(n,t){return d(t)||In(t)?function(n,t){const e=n.length,o=t.length;let r=-1;for(;++r<o;)n[e+r]=t[r];return n}(n,t):(n.push(t),n)},Pn="function"==typeof Buffer,Bn=Pn?Buffer.alloc:xn,$n=function(n,t){const e=n.length,o=Pn&&n.constructor==Buffer?Bn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},kn=function(n,t){return d(t)||In(t)?$n(n,t):$n(n,[t])},Cn=(n,t)=>new Promise(((n,t)=>function(e,o){t.on("data",(n=>function(t,e,o){return n.write(t,e,o),n})(n)),t.on("end",vn(e,n)),t.on("error",o)})(n,t)),_n=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?Cn(n,t):(n.write(t),n);var e},qn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},Fn=function(n,t){return n.concat(t)},Rn=function(t,e,o){const r=En(t,e(xn),null);return n(r)?r.then(f(o)):o},Vn=function(t,e,o){if(d(o))return En(t,e(Dn),o);if(In(o)){const r=En(t,e(Dn),[]);return n(r)?r.then(c(kn,o,u)):kn(o,r)}if(null==o)return Rn(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=En(t,e(Dn),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?En(t,e(Fn),o):"function"==typeof o.write?En(t,e(_n),o):r==Set?En(t,e(qn),o):r==Object?En(t,e(S),o):Rn(t,e,o)},Gn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Vn,t,e,u)):Vn(t,e,r)}return n(o)?o.then(l(Vn,t,e,u)):Vn(t,e,o)},Hn=function(n,t){return n.push(t),n},Jn=n=>new Promise((t=>{setTimeout(t,n)})),Kn=(n,t)=>t,Ln=n=>n,Nn=(n,t)=>function(...e){return t(n(...e))},Qn=async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))},Un=function(t){const o=t.length,r=[],i=[];let s=-1;for(;++s<o;){const e=t[s];if(d(e)){const n=e.length;let t=-1;for(;++t<n;)i.push(e[t])}else if(null==e)i.push(e);else if("function"==typeof e.then)r.push(e.then(c(Hn,i,u)));else if("function"==typeof e[D])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(Qn(e[$](),c(Hn,i,u)));else if("function"==typeof e.chain){const t=e.chain(Ln);n(t)?r.push(t.then(c(Hn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Ln);n(t)?r.push(t.then(c(Hn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Nn(Kn,c(Hn,i,u)),null);n(t)&&r.push(t)}else if(e.constructor==Object)for(const n in e)i.push(e[n]);else i.push(e)}return 0==r.length?i:e(r).then(f(i))},Wn=function(t){const o=[],r={},f=c(S,r,u),i=Nn(Kn,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[D])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(Qn(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(Ln);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(Ln);n(t)?o.push(t.then(f)):f(t)}else if("function"==typeof u.reduce){const t=u.reduce(i,null);n(t)&&o.push(t)}else S(r,u)}return 0==o.length?r:e(o).then((()=>r))},Xn=function(t){t.size;const o=[],r=new Set,c=(n,t)=>r.add(t),f=l(_,r,"add",u);for(const e of t)if(d(e)){const n=e.length;let t=-1;for(;++t<n;)r.add(e[t])}else if(null==e)r.add(e);else if("function"==typeof e[D])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(Qn(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(Ln);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(Ln);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.reduce){const t=e.reduce(c,null);n(t)&&o.push(t)}else if(e.constructor==Object)for(const n in e)r.add(e[n]);else r.add(e);return 0==o.length?r:e(o).then((()=>r))},Yn=o(Un,c(((n,t)=>n.join(t)),u,"")),Zn=function(t,e){if(d(t))return function(t,e){const o=C(t,e);return n(o)?o.then(Un):Un(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return D in t?function(n,t){let e=[],o=0;return{[D](){return this},next(){if(o<e.length){const n=e[o];return o+=1,{value:n,done:!1}}const r=n.next();if(r.done)return r;const u=En(t(r.value),Hn,[]);return u.length>1&&(e=u,o=1),{value:u[0],done:!1}}}}(t,e):function(t,e){const o=[],r=new Set;return{isAsyncIteratorDone:!1,[$](){return this},toString:()=>"[object FlatMappingAsyncIterator]",async next(){for(;!this.isAsyncIteratorDone||o.length>0||r.size>0;){if(!this.isAsyncIteratorDone){const{value:c,done:f}=await t.next();if(f)this.isAsyncIteratorDone=f;else{const t=e(c);if(n(t)){const n=t.then(l(En,u,Hn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=En(t,Hn,o);if(n(e)){const n=e.then((()=>r.delete(n)));r.add(n)}}}}if(o.length>0)return{value:o.shift(),done:!1};r.size>0&&await X([Jn(1e3),...r])}return{value:void 0,done:!0}}}}(t,e);if("function"==typeof t.chain)return t.chain(e);if("function"==typeof t.flatMap)return t.flatMap(e);const o=t.constructor;return o==Object?function(t,e){const o=V(t,e);return n(o)?o.then(Wn):Wn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Xn):Xn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Yn):Yn(o)}(t,e):e(t)},nt=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},tt=async function(t,e,o){for(const r in t){if(r in o)continue;const u=e(t[r]);n(u)&&await u}return t},et=async function(t,e){let o=t.next();for(;!o.done;){const r=e(o.value);n(r)&&await r,o=t.next()}return t},ot=function(t,o){return d(t)?function(t,o){const r=t.length,u=[];let c=-1;for(;++c<r;){const e=o(t[c]);n(e)&&u.push(e)}return 0==u.length?t:e(u).then(f(t))}(t,o):null==t?t:"function"==typeof t.forEach?(t.forEach(o),t):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(f(t))}(t[D](),o):"function"==typeof t[$]?Qn(t[$](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const u=o(t[e]);n(u)&&r.push(u)}return 0==r.length?t:e(r).then(f(t))}(t,o):t},rt=function(t,e){return"function"==typeof t?c(ot,u,t):n(t)?t.then(c(ot,u,e)):ot(t,e)},ut=function(t,e){if(d(t))return function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return o.then(z(nt,t,e,r))}return t}(t,e);if(null==t)throw new TypeError(`invalid collection ${t}`);if("function"==typeof t[D])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(T(et,t,e));o=t.next()}return t}(t[D](),e);if("function"==typeof t[$])return async function(t,e){for await(const o of t){const t=e(o);n(t)&&await t}return t}(t[$](),e);if(t.constructor==Object)return function(t,e){const o={};for(const r in t){o[r]=!0;const u=e(t[r]);if(n(u))return u.then(z(tt,t,e,o))}return t}(t,e);throw new TypeError(`invalid collection ${t}`)};rt.series=function(t,e){return"function"==typeof t?c(ut,u,t):n(t)?t.then(c(ut,u,e)):ut(t,e)};const ct=function(n){const t=n.then((n=>[n,t]));return t},ft=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(ct(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await X(r);if(r.delete(t),n)return!0}return!1},it=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return ft(t,e,r,new Set([ct(o)]));if(o)return!0}return!1},st=async function(t,e,o,r=20){let u=t.next();for(n(u)&&(u=await u);!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(ct(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),n)return!0}return!1},lt=function(t,e){return d(t)?it(t,e):null==t?e(t):"function"==typeof t[D]?function(t,e){for(const o of t){const r=e(o);if(n(r))return st(t,e,new Set([ct(r)]));if(r)return!0}return!1}(t[D](),e):"function"==typeof t[$]?st(t[$](),e,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!0===e?e:n(e)?e.then(c((n=>function(t,e){return!!t||n(e)})(t),u,o)):!!e||t(o)})(e),!1):t.constructor==Object?it(Sn(t),e):e(t)},ht=function(t,o){const r=t.length,c=[];let f=-1;for(;++f<r;){const e=o(t[f]);if(n(e))c.push(e);else if(!e)return!1}return 0==c.length||e(c).then(l(_,u,"every",Boolean))},at=(n,t,e)=>!!t&&n(e),pt=function(t,o){return d(t)?ht(t,o):null==t?o(t):"function"==typeof t[D]?function(t,o){const r=[];for(const e of t){const t=o(e);if(n(t))r.push(t);else if(!t)return!1}return 0==r.length||e(r).then(l(_,u,"every",Boolean))}(t[D](),o):"function"==typeof t[$]?async function(t,e,o,r=20){let u=await t.next();for(;!u.done;){if(o.size>=r){const[n,t]=await X(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(ct(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await X(o);if(o.delete(t),!n)return!1}return!0}(t[$](),o,new Set):"function"==typeof t.reduce?t.reduce((t=>function(e,o){return!1!==e&&(n(e)?e.then(l(at,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?ht(Sn(t),o):o(t)},dt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,T(dt,t,e),f(!1)));if(!o)return!1}return!0},yt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),!r)return!1}return!0},gt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,z(yt,t,e,r),f(!1)));if(!o)return!1}return!0},wt=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,f(!0),T(wt,t,e)));if(o)return!0}return!1},vt=async function(t,e,o){const r=e.length;for(;++o<r;){let r=e[o];if("function"==typeof r&&(r=r(...t)),n(r)&&(r=await r),r)return!0}return!1},xt=function(t,e){const o=e.length;let r=-1;for(;++r<o;){let o=e[r];if("function"==typeof o&&(o=o(...t)),n(o))return o.then(l(s,u,f(!0),z(vt,t,e,r)));if(o)return!0}return!1},jt=n=>!n,bt=function(t,e){const o=e(...t);return n(o)?o.then(jt):!o},St=function(n,t,e,o,r){return t==u?((n,t,e,o)=>function(...r){return n(r,t,e,o)})(n,e,o,r):e==u?((n,t,e,o)=>function(...r){return n(t,r,e,o)})(n,t,o,r):o==u?((n,t,e,o)=>function(...r){return n(t,e,r,o)})(n,t,e,r):((n,t,e,o)=>function(...r){return n(t,e,o,r)})(n,t,e,o)},Mt=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(un(o)):o(c,f)},Ot=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(un(o)):o(c,u)},mt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(un(o)):o(r,c)},zt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?St(Mt,u,o,f,c):t(r)?e(r).then(g(Mt,u,o,f,c)):Mt(r,o,f,c):i?0==r.length?St(Ot,u,o,f,c):t(r)?e(r).then(g(Ot,u,o,f,c)):Ot(r,o,f,c):s?0==r.length?St(mt,u,o,f,c):t(r)?e(r).then(g(mt,u,o,f,c)):mt(r,o,f,c):n(f)||n(c)?e([f,c]).then(un(o)):o(f,c)},At=zt((function(n,t){return n==t})),Et=zt(((n,t)=>n>t)),Tt=zt(((n,t)=>n<t)),It=zt(((n,t)=>n>=t)),Dt=zt(((n,t)=>n<=t)),Pt=/[.|[|\]]+/,Bt=function(n,t){const e=new Map,o=function(o){if(e.has(o))return e.get(o);const r=n(o);return e.set(o,r),e.size>t&&e.clear(),r};return o.cache=e,o}((function(n){const t=n.length-1,e="["==n[0],o="]"==n[t];return e&&o?n.slice(1,t).split(Pt):e?n.slice(1).split(Pt):o?n.slice(0,t).split(Pt):n.split(Pt)}),500),$t=n=>d(n)?n:"string"==typeof n?Bt(n):[n],kt=function(n,t){const e=$t(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Ct=function(n,t,e){const o=null==n?void 0:kt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},_t=function(n,t,e){if(!(n=>{if(null==n)return!1;const t=typeof n;return"object"==t||"function"==t})(n))return n;const o=$t(e),r=o.length,u=r-1,c={...n};let f=c,i=-1;for(;++i<r;){const n=o[i];if(i==u)f[n]=t;else{const t=f[n],e=d(t)?t.slice():{...t};f[n]=e,f=e}}return c},qt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(_t,t,u,e)):_t(t,r,e)}return n(o)?o.then(l(_t,t,u,e)):_t(t,o,e)},Ft=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=kt(n,e);null!=u&&(o=_t(o,u,e))}return o},Rt=function(n,t){if(null==n)return;const e=$t(t),o=e.length-1;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;const c=e[r];null!=u&&c in u&&delete u[c]},Vt=function(n){const t={};for(const e in n){const o=n[e];d(o)?t[e]=Gt(o):null!=o&&o.constructor==Object?t[e]=Vt(o):t[e]=o}return t},Gt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];d(t)?e[o]=Gt(t):null!=t&&t.constructor==Object?e[o]=Vt(t):e[o]=t}return e},Ht=function(n,t){const e=t.length,o=d(r=n)?Gt(r):null==r?r:r.constructor==Object?Vt(r):r;var r;let u=-1;for(;++u<e;)Rt(o,t[u]);return o},Jt=(n,...t)=>rn(n.length,n,t);Jt.arity=function(n,t,...e){return rn(n,t,e)};return{pipe:function(...n){const f=n.pop().reduce(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},compose:function(...n){const f=n.pop().reduceRight(o);return 0==n.length?f:t(n)?e(n).then(c(r,f,u)):f(...n)},tap:p,forEach:rt,switchCase:(...n)=>{const o=n.pop();return E(o)?I(o,-2):0==n.length?(r=A,f=u,i=-2,(c=o)==u?((n,t,e)=>function(...o){return n(o,t,e)})(r,f,i):f==u?((n,t,e)=>function(...o){return n(t,o,e)})(r,c,i):((n,t,e)=>function(...o){return n(t,e,o)})(r,c,f)):t(n)?e(n).then(l(A,o,u,-2)):A(o,n,-2);var r,c,f,i},tryCatch:function(...n){if(n.length>2){const o=n.pop(),r=n.pop();return t(n)?e(n).then(l(m,r,o,u)):m(r,o,n)}const o=n[0],r=n[1];return function(...n){return m(o,r,n)}},all:b,assign:function(t,e){return null==e?c(M,u,t):n(t)?t.then(c(M,u,e)):M(t,e)},get:function(t,e,o){return"string"==typeof t||"number"==typeof t||d(t)?l(Ct,u,t,e):n(t)?t.then(l(Ct,u,e,o)):Ct(t,e,o)},set:function(t,e,o){return null==o?l(qt,u,t,e):n(t)?t.then(l(qt,u,e,o)):qt(t,e,o)},pick:function(t,e){return null==e?c(Ft,u,t):n(t)?t.then(c(Ft,u,e)):Ft(t,e)},omit:function(t,e){return null==e?c(Ht,u,t):n(t)?t.then(c(Ht,u,e)):Ht(t,e)},map:sn,filter:function(n,t){return"function"==typeof n?c(bn,u,n):bn(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Zn,u,t):n(t)?t.then(c(Zn,u,e)):Zn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(Tn,u,t[0],t[1]):n(t[0])?t[0].then(l(Tn,u,t[1],t[2])):Tn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Gn,u,t[0],t[1]):n(t[0])?t[0].then(l(Gn,u,t[1],t[2])):Gn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return E(o)?dt(o,-1):0==n.length?h(gt,u,o):t(n)?e(n).then(c(gt,u,o)):gt(n,o)},or:function(...n){const o=n.pop();return E(o)?wt(o,-1):0==n.length?h(xt,u,o):t(n)?e(n).then(c(xt,u,o)):xt(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(bt,u,o):t(n)?e(n).then(c(bt,u,o)):bt(n,o):!o},some:function(t,e){return"function"==typeof t?c(lt,u,t):n(t)?t.then(c(lt,u,e)):lt(t,e)},every:function(t,e){return"function"==typeof t?c(pt,u,t):n(t)?t.then(c(pt,u,e)):pt(t,e)},eq:At,gt:Et,lt:Tt,gte:It,lte:Dt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Jt,__:u}}());
|