rubico 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/_internal/mapMapSeries.js +62 -0
- package/_internal/objectForEachSeries.js +6 -4
- package/_internal/objectMapSeries.js +61 -0
- package/_internal/setAdd.js +14 -0
- package/_internal/setMapSeries.js +61 -0
- package/_internal/stringMap.js +1 -1
- package/_internal/stringMapSeries.js +31 -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 +9 -7
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +9 -7
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +9 -7
- 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 +163 -9
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +163 -9
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +163 -9
- 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 +167 -19
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +167 -19
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +167 -19
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +167 -19
- 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 +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.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.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 +163 -9
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +163 -9
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +163 -9
- 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 +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.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.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/es.js +167 -19
- package/forEach.js +2 -2
- package/index.js +167 -19
- package/map.js +62 -7
- package/package.json +1 -1
package/dist/rubico.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.5.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -664,6 +664,135 @@ const arrayMapSeries = function (array, mapper) {
|
|
|
664
664
|
return result
|
|
665
665
|
}
|
|
666
666
|
|
|
667
|
+
const stringMapSeries = function (string, mapper) {
|
|
668
|
+
const result = arrayMapSeries(string, mapper)
|
|
669
|
+
return isPromise(result)
|
|
670
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
671
|
+
: result.join('')
|
|
672
|
+
}
|
|
673
|
+
|
|
674
|
+
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
675
|
+
return func(arg0, arg1, arg2, arg3)
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
// _objectMapSeriesAsync(
|
|
679
|
+
// object Object,
|
|
680
|
+
// f function,
|
|
681
|
+
// result Object,
|
|
682
|
+
// doneKeys Object
|
|
683
|
+
// ) -> Promise<object>
|
|
684
|
+
const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
|
|
685
|
+
for (const key in object) {
|
|
686
|
+
if (key in doneKeys) {
|
|
687
|
+
continue
|
|
688
|
+
}
|
|
689
|
+
let resultItem = f(object[key])
|
|
690
|
+
if (isPromise(resultItem)) {
|
|
691
|
+
resultItem = await resultItem
|
|
692
|
+
}
|
|
693
|
+
result[key] = resultItem
|
|
694
|
+
}
|
|
695
|
+
return result
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
const objectMapSeries = function (object, f) {
|
|
699
|
+
const result = {}
|
|
700
|
+
const doneKeys = {}
|
|
701
|
+
for (const key in object) {
|
|
702
|
+
doneKeys[key] = true
|
|
703
|
+
const resultItem = f(object[key], key, object)
|
|
704
|
+
if (isPromise(resultItem)) {
|
|
705
|
+
return resultItem.then(funcConcat(
|
|
706
|
+
curry3(objectSet, result, key, __),
|
|
707
|
+
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
708
|
+
))
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
return result
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
const setAdd = function (set, value) {
|
|
715
|
+
set.add(value)
|
|
716
|
+
return set
|
|
717
|
+
}
|
|
718
|
+
|
|
719
|
+
// _setMapSeriesAsync(
|
|
720
|
+
// iterator Iterator,
|
|
721
|
+
// f function,
|
|
722
|
+
// result Set,
|
|
723
|
+
// ) -> Promise<Set>
|
|
724
|
+
const _setMapSeriesAsync = async function (iterator, f, result) {
|
|
725
|
+
let iteration = iterator.next()
|
|
726
|
+
while (!iteration.done) {
|
|
727
|
+
let resultItem = f(iteration.value)
|
|
728
|
+
if (isPromise(resultItem)) {
|
|
729
|
+
resultItem = await resultItem
|
|
730
|
+
}
|
|
731
|
+
result.add(resultItem)
|
|
732
|
+
iteration = iterator.next()
|
|
733
|
+
}
|
|
734
|
+
return result
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
const setMapSeries = function (set, f) {
|
|
738
|
+
const result = new Set()
|
|
739
|
+
const iterator = set[symbolIterator]()
|
|
740
|
+
let iteration = iterator.next()
|
|
741
|
+
while (!iteration.done) {
|
|
742
|
+
const resultItem = f(iteration.value)
|
|
743
|
+
if (isPromise(resultItem)) {
|
|
744
|
+
return resultItem.then(funcConcat(
|
|
745
|
+
curry2(setAdd, result, __),
|
|
746
|
+
thunkify3(_setMapSeriesAsync, iterator, f, result),
|
|
747
|
+
))
|
|
748
|
+
}
|
|
749
|
+
result.add(resultItem)
|
|
750
|
+
iteration = iterator.next()
|
|
751
|
+
}
|
|
752
|
+
return result
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
const mapSet = function setting(source, key, value) {
|
|
756
|
+
return source.set(key, value)
|
|
757
|
+
}
|
|
758
|
+
|
|
759
|
+
// _mapMapSeriesAsync(
|
|
760
|
+
// iterator Iterator,
|
|
761
|
+
// f function,
|
|
762
|
+
// result Map,
|
|
763
|
+
// ) -> Promise<Map>
|
|
764
|
+
const _mapMapSeriesAsync = async function (iterator, f, result) {
|
|
765
|
+
let iteration = iterator.next()
|
|
766
|
+
while (!iteration.done) {
|
|
767
|
+
let resultItem = f(iteration.value[1])
|
|
768
|
+
if (isPromise(resultItem)) {
|
|
769
|
+
resultItem = await resultItem
|
|
770
|
+
}
|
|
771
|
+
result.set(iteration.value[0], resultItem)
|
|
772
|
+
iteration = iterator.next()
|
|
773
|
+
}
|
|
774
|
+
return result
|
|
775
|
+
}
|
|
776
|
+
|
|
777
|
+
const mapMapSeries = function (map, f) {
|
|
778
|
+
const result = new Map()
|
|
779
|
+
const iterator = map[symbolIterator]()
|
|
780
|
+
let iteration = iterator.next()
|
|
781
|
+
while (!iteration.done) {
|
|
782
|
+
const key = iteration.value[0]
|
|
783
|
+
const resultItem = f(iteration.value[1])
|
|
784
|
+
if (isPromise(resultItem)) {
|
|
785
|
+
return resultItem.then(funcConcat(
|
|
786
|
+
curry3(mapSet, result, key, __),
|
|
787
|
+
thunkify3(_mapMapSeriesAsync, iterator, f, result),
|
|
788
|
+
))
|
|
789
|
+
}
|
|
790
|
+
result.set(key, resultItem)
|
|
791
|
+
iteration = iterator.next()
|
|
792
|
+
}
|
|
793
|
+
return result
|
|
794
|
+
}
|
|
795
|
+
|
|
667
796
|
const tapSync = func => function tapping(...args) {
|
|
668
797
|
func(...args)
|
|
669
798
|
return args[0]
|
|
@@ -792,10 +921,6 @@ const objectMapEntries = function (object, mapper) {
|
|
|
792
921
|
: promiseAll(promises).then(always(result))
|
|
793
922
|
}
|
|
794
923
|
|
|
795
|
-
const mapSet = function setting(source, key, value) {
|
|
796
|
-
return source.set(key, value)
|
|
797
|
-
}
|
|
798
|
-
|
|
799
924
|
// (mapper function, result Map, promises Array<Promise>) => (key any, value any) => ()
|
|
800
925
|
const mapMapEntriesForEachCallback = (
|
|
801
926
|
mapper, result, promises,
|
|
@@ -884,11 +1009,36 @@ map.entries = function mapEntries(arg0, arg1) {
|
|
|
884
1009
|
: _mapEntries(arg0, arg1)
|
|
885
1010
|
}
|
|
886
1011
|
|
|
887
|
-
|
|
888
|
-
if (isArray(
|
|
889
|
-
return arrayMapSeries(
|
|
1012
|
+
const _mapSeries = function (collection, f) {
|
|
1013
|
+
if (isArray(collection)) {
|
|
1014
|
+
return arrayMapSeries(collection, f)
|
|
890
1015
|
}
|
|
891
|
-
|
|
1016
|
+
if (collection == null) {
|
|
1017
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
1021
|
+
return stringMapSeries(collection, f)
|
|
1022
|
+
}
|
|
1023
|
+
if (collection.constructor == Set) {
|
|
1024
|
+
return setMapSeries(collection, f)
|
|
1025
|
+
}
|
|
1026
|
+
if (collection.constructor == Map) {
|
|
1027
|
+
return mapMapSeries(collection, f)
|
|
1028
|
+
}
|
|
1029
|
+
if (collection.constructor == Object) {
|
|
1030
|
+
return objectMapSeries(collection, f)
|
|
1031
|
+
}
|
|
1032
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1033
|
+
}
|
|
1034
|
+
|
|
1035
|
+
map.series = function mapSeries(arg0, arg1) {
|
|
1036
|
+
if (typeof arg0 == 'function') {
|
|
1037
|
+
return curry2(_mapSeries, __, arg0)
|
|
1038
|
+
}
|
|
1039
|
+
return isPromise(arg0)
|
|
1040
|
+
? arg0.then(curry2(_mapSeries, __, arg1))
|
|
1041
|
+
: _mapSeries(arg0, arg1)
|
|
892
1042
|
}
|
|
893
1043
|
|
|
894
1044
|
map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
|
|
@@ -1011,10 +1161,6 @@ const setFilter = function (value, predicate) {
|
|
|
1011
1161
|
: promiseAll(promises).then(always(result))
|
|
1012
1162
|
}
|
|
1013
1163
|
|
|
1014
|
-
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
1015
|
-
return func(arg0, arg1, arg2, arg3)
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
1164
|
const mapFilter = function (map, predicate) {
|
|
1019
1165
|
const result = new Map(),
|
|
1020
1166
|
promises = []
|
|
@@ -1929,11 +2075,11 @@ const arrayForEachSeries = function (array, callback) {
|
|
|
1929
2075
|
// _objectForEachSeriesAsync(
|
|
1930
2076
|
// object Object,
|
|
1931
2077
|
// callback function,
|
|
1932
|
-
//
|
|
2078
|
+
// doneKeys Object,
|
|
1933
2079
|
// ) -> Promise<object>
|
|
1934
|
-
const _objectForEachSeriesAsync = async function (object, callback,
|
|
2080
|
+
const _objectForEachSeriesAsync = async function (object, callback, doneKeys) {
|
|
1935
2081
|
for (const key in object) {
|
|
1936
|
-
if (key
|
|
2082
|
+
if (key in doneKeys) {
|
|
1937
2083
|
continue
|
|
1938
2084
|
}
|
|
1939
2085
|
const operation = callback(object[key])
|
|
@@ -1945,11 +2091,13 @@ const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
|
1945
2091
|
}
|
|
1946
2092
|
|
|
1947
2093
|
const objectForEachSeries = function (object, callback) {
|
|
2094
|
+
const doneKeys = {}
|
|
1948
2095
|
for (const key in object) {
|
|
2096
|
+
doneKeys[key] = true
|
|
1949
2097
|
const operation = callback(object[key])
|
|
1950
2098
|
if (isPromise(operation)) {
|
|
1951
2099
|
return operation
|
|
1952
|
-
.then(thunkify3(_objectForEachSeriesAsync, object, callback,
|
|
2100
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, doneKeys))
|
|
1953
2101
|
}
|
|
1954
2102
|
}
|
|
1955
2103
|
return object
|
|
@@ -2032,7 +2180,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2032
2180
|
return arrayForEachSeries(collection, callback)
|
|
2033
2181
|
}
|
|
2034
2182
|
if (collection == null) {
|
|
2035
|
-
throw new
|
|
2183
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2036
2184
|
}
|
|
2037
2185
|
if (typeof collection[symbolIterator] == 'function') {
|
|
2038
2186
|
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
@@ -2043,7 +2191,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2043
2191
|
if (collection.constructor == Object) {
|
|
2044
2192
|
return objectForEachSeries(collection, callback)
|
|
2045
2193
|
}
|
|
2046
|
-
throw new
|
|
2194
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2047
2195
|
}
|
|
2048
2196
|
|
|
2049
2197
|
forEach.series = function forEachSeries(arg0, arg1) {
|
package/dist/rubico.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.5.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.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},b=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))},x=function(...n){const o=n.pop();return 0==n.length?y(o)?h(d,o,u):h(j,o,u):t(n)?y(o)?e(n).then(c(d,o,u)):e(n).then(c(j,o,u)):y(o)?d(o,n):j(o,n)};x.series=function(...n){const o=n.pop();return 0==n.length?h(b,o,u):t(n)?e(n).then(c(b,o,u)):b(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}},m=function(n,t,e){return n(t,...e)},O=function(t,e,o){try{const r=t(...o);return n(r)?r.catch(l(m,e,u,o)):r}catch(n){return e(n,...o)}},A=(n,t,e,o)=>function(){return n(t,e,o)},z=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(z,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},I=(n,t,e)=>function(){return n(t,e)},D=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(D,t,e)));if(o)return r}if(e!=o)return t[e]},P=Symbol.iterator,T=(n,t)=>({toString:()=>"[object MappingIterator]",[P](){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=n=>function(...t){return n(...t),t[0]},J=Promise.race.bind(Promise),K=async function(t,o,r,u,c,f){const i=t.length;for(;++c<i;){f.size>=r&&await J(f);const e=o(t[c]);if(n(e)){const n=e.then(H((()=>f.delete(n))));f.add(n),u[c]=n}else u[c]=e}return e(u)},L=(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):N(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):N(n,t,f)}return N(n,t,f)},N=function(n,t,e){const o=e.length;if(o<n)return L(n,t,e);let r=-1;for(;++r<o;){if(e[r]==u)return L(n,t,e)}return t(...e)},Q=n=>function([t,e]){return n(t,e)},U=function(n,t,e){return n.set(t,e)},W=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(Q(N(3,U,[e])))):e.set(c[0],c[1])})(o,r,u)),0==u.length?r:e(u).then(f(r))},X=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[P]?T(t[P](),o):"function"==typeof t[$]?k(t[$](),o):t.constructor==Object?V(t,o):o(t)},Y=function(t,e){return"function"==typeof t?c(X,u,t):n(t)?t.then(c(X,u,e)):X(t,e)},Z=(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(Q(N(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 W(t,o);throw new TypeError("value is not an Object or Map")};Y.entries=function(t,e){return"function"==typeof t?c(Z,u,t):n(t)?t.then(c(Z,u,e)):Z(t,e)},Y.series=t=>function(e){if(y(e))return 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}(e,t);throw new TypeError(`${e} is not an Array`)},Y.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(H((()=>n.delete(f))));return n.add(f),u[c]=f,K(t,e,o,u,c,n)}u[c]=r}return u}(o,e,t);throw new TypeError(`${o} is not an Array`)};const nn=(n,t)=>({[P](){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}}),tn=(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}}}),en=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},on=function(n,t,e,o){const r=n.length;let u=-1;for(;++e<r;)o[++u]&&t.push(n[e]);return t},rn=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(en([s],t,o,f)).then(g(on,t,c,f-1,u));s&&(c[++i]=r)}return c},un=(n,t)=>function(){return n(t)},cn=function(){},fn=(n,t,e,o,r)=>function(){return n(t,e,o,r)},sn=function(n,t,e,o){o&&(n[t]=e)},ln=function(t,o){return y(t)?rn(t,o):null==t?t:"string"==typeof t||t.constructor==String?function(t,e){const o=rn(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,un(c,e),cn))):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,fn(F,r,"set",e,f),cn))):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[P]?nn(t[P](),o):"function"==typeof t[$]?tn(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(sn,r,e,t[e],u))):i&&(r[e]=f)}return 0==c.length?r:e(c).then(f(r))}(t,o):t},hn=Object.values,an=(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}),pn=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},yn=Object.keys,dn=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},gn=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},wn=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(pn,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(gn,t,e,u,r));return o}(t,e,o):"function"==typeof t[P]?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(an,t,e,u));r=t.next()}return o}(t[P](),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=yn(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=dn,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)},vn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(wn,t,e,u)):wn(t,e,r)}return n(o)?o.then(l(wn,t,e,u)):wn(t,e,o)},bn=ArrayBuffer.isView,jn=function(n,t){return y(t)||bn(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)},xn="function"==typeof Buffer,Sn=xn?Buffer.alloc:cn,Mn=function(n,t){const e=n.length,o=xn&&n.constructor==Buffer?Sn(e+t.length):new n.constructor(e+t.length);return o.set(n),o.set(t,e),o},mn=function(n,t){return y(t)||bn(t)?Mn(n,t):Mn(n,[t])},On=(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",un(e,n)),t.on("error",o)})(n,t)),An=function(n,t){return null!=(e=t)&&"function"==typeof e.pipe?On(n,t):(n.write(t),n);var e},zn=function(n,t){if(null!=t&&t.constructor==Set){for(const e of t)n.add(e);return n}return n.add(t)},En=function(n,t){return n.concat(t)},In=function(t,e,o){const r=wn(t,e(cn),null);return n(r)?r.then(f(o)):o},Dn=function(t,e,o){if(y(o))return wn(t,e(jn),o);if(bn(o)){const r=wn(t,e(jn),[]);return n(r)?r.then(c(mn,o,u)):mn(o,r)}if(null==o)return In(t,e,o);const r=o.constructor;if("string"==typeof o||r==String){const r=wn(t,e(jn),[o]);return n(r)?r.then(l(_,u,"join","")):r.join("")}return"function"==typeof o.concat?wn(t,e(En),o):"function"==typeof o.write?wn(t,e(An),o):r==Set?wn(t,e(zn),o):r==Object?wn(t,e(S),o):In(t,e,o)},Pn=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(Dn,t,e,u)):Dn(t,e,r)}return n(o)?o.then(l(Dn,t,e,u)):Dn(t,e,o)},Tn=function(n,t){return n.push(t),n},Bn=n=>new Promise((t=>{setTimeout(t,n)})),$n=(n,t)=>t,kn=n=>n,Cn=(n,t)=>function(...e){return t(n(...e))},_n=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))},qn=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(Tn,i,u)));else if("function"==typeof e[P])for(const n of e)i.push(n);else if("function"==typeof e[$])r.push(_n(e[$](),c(Tn,i,u)));else if("function"==typeof e.chain){const t=e.chain(kn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(kn);n(t)?r.push(t.then(c(Tn,i,u))):i.push(t)}else if("function"==typeof e.reduce){const t=e.reduce(Cn($n,c(Tn,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))},Fn=function(t){const o=[],r={},f=c(S,r,u),i=Cn($n,f);for(const e in t){const u=t[e];if(null!=u)if("function"==typeof u[P])for(const n of u)S(r,n);else if("function"==typeof u[$])o.push(_n(u[$](),f));else if("function"==typeof u.chain){const t=u.chain(kn);n(t)?o.push(t.then(f)):S(r,t)}else if("function"==typeof u.flatMap){const t=u.flatMap(kn);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))},Rn=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[P])for(const n of e)r.add(n);else if("function"==typeof e[$])o.push(_n(e[$](),f));else if("function"==typeof e.chain){const t=e.chain(kn);n(t)?o.push(t.then(f)):r.add(t)}else if("function"==typeof e.flatMap){const t=e.flatMap(kn);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))},Vn=o(qn,c(((n,t)=>n.join(t)),u,"")),Gn=function(t,e){if(y(t))return function(t,e){const o=C(t,e);return n(o)?o.then(qn):qn(o)}(t,e);if(null==t)return e(t);if("function"==typeof t.then)return t.then(e);if("function"==typeof t.next)return P in t?function(n,t){let e=[],o=0;return{[P](){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=wn(t(r.value),Tn,[]);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(wn,u,Tn,o)).then((()=>r.delete(n)));r.add(n)}else{const e=wn(t,Tn,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 J([Bn(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(Fn):Fn(o)}(t,e):o==Set?function(t,e){const o=q(t,e);return n(o)?o.then(Rn):Rn(o)}(t,e):"string"==typeof t||o==String?function(t,e){const o=C(t,e);return n(o)?o.then(Vn):Vn(o)}(t,e):e(t)},Hn=async function(t,e,o){const r=t.length;for(;++o<r;){const r=e(t[o]);n(r)&&await r}return t},Jn=async function(t,e,o){for(const r in t){if(r==o)continue;const u=e(t[r]);n(u)&&await u}return t},Kn=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},Ln=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[P]?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[P](),o):"function"==typeof t[$]?_n(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},Nn=function(t,e){return"function"==typeof t?c(Ln,u,t):n(t)?t.then(c(Ln,u,e)):Ln(t,e)},Qn=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(Hn,t,e,r))}return t}(t,e);if(null==t)throw new Error(`invalid collection ${t}`);if("function"==typeof t[P])return function(t,e){let o=t.next();for(;!t.done;){const r=e(o.value);if(n(r))return r.then(I(Kn,t,e));o=t.next()}return t}(t[P](),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){for(const o in t){const r=e(t[o]);if(n(r))return r.then(A(Jn,t,e,o))}return t}(t,e);throw new Error(`invalid collection ${t}`)};Nn.series=function(t,e){return"function"==typeof t?c(Qn,u,t):n(t)?t.then(c(Qn,u,e)):Qn(t,e)};const Un=function(n){const t=n.then((n=>[n,t]));return t},Wn=async function(t,e,o,r){const u=t.length;for(;++o<u;){const u=e(t[o]);if(n(u))r.add(Un(u));else if(u)return!0}for(;r.size>0;){const[n,t]=await J(r);if(r.delete(t),n)return!0}return!1},Xn=function(t,e){const o=t.length;let r=-1;for(;++r<o;){const o=e(t[r]);if(n(o))return Wn(t,e,r,new Set([Un(o)]));if(o)return!0}return!1},Yn=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 J(o);if(o.delete(t),n)return!0}const c=e(u.value);if(n(c))o.add(Un(c));else if(c)return!0;u=t.next(),n(u)&&(u=await u)}for(;o.size>0;){const[n,t]=await J(o);if(o.delete(t),n)return!0}return!1},Zn=function(t,e){return y(t)?Xn(t,e):null==t?e(t):"function"==typeof t[P]?function(t,e){for(const o of t){const r=e(o);if(n(r))return Yn(t,e,new Set([Un(r)]));if(r)return!0}return!1}(t[P](),e):"function"==typeof t[$]?Yn(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?Xn(hn(t),e):e(t)},nt=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))},tt=(n,t,e)=>!!t&&n(e),et=function(t,o){return y(t)?nt(t,o):null==t?o(t):"function"==typeof t[P]?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[P](),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 J(o);if(o.delete(t),!n)return!1}const c=e(u.value);if(n(c))o.add(Un(c));else if(!c)return!1;u=await t.next()}for(;o.size>0;){const[n,t]=await J(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(tt,t,u,o)):!!e&&t(o))})(o),!0):t.constructor==Object?nt(hn(t),o):o(t)},ot=function(t,e){const o=t.length;for(;++e<o;){const o=t[e];if(n(o))return o.then(l(s,u,I(ot,t,e),f(!1)));if(!o)return!1}return!0},rt=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},ut=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(rt,t,e,r),f(!1)));if(!o)return!1}return!0},ct=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(ct,t,e)));if(o)return!0}return!1},ft=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},it=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(ft,t,e,r)));if(o)return!0}return!1},st=n=>!n,lt=function(t,e){const o=e(...t);return n(o)?o.then(st):!o},ht=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)},at=function(t,o,r,u){const c=r(...t),f=u(...t);return n(c)||n(f)?e([c,f]).then(Q(o)):o(c,f)},pt=function(t,o,r,u){const c=r(...t);return n(c)||n(u)?e([c,u]).then(Q(o)):o(c,u)},yt=function(t,o,r,u){const c=u(...t);return n(r)||n(c)?e([r,c]).then(Q(o)):o(r,c)},dt=o=>function(...r){const c=r.pop(),f=r.pop(),i="function"==typeof f,s="function"==typeof c;return i&&s?0==r.length?ht(at,u,o,f,c):t(r)?e(r).then(g(at,u,o,f,c)):at(r,o,f,c):i?0==r.length?ht(pt,u,o,f,c):t(r)?e(r).then(g(pt,u,o,f,c)):pt(r,o,f,c):s?0==r.length?ht(yt,u,o,f,c):t(r)?e(r).then(g(yt,u,o,f,c)):yt(r,o,f,c):n(f)||n(c)?e([f,c]).then(Q(o)):o(f,c)},gt=dt((function(n,t){return n==t})),wt=dt(((n,t)=>n>t)),vt=dt(((n,t)=>n<t)),bt=dt(((n,t)=>n>=t)),jt=dt(((n,t)=>n<=t)),xt=/[.|[|\]]+/,St=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(xt):e?n.slice(1).split(xt):o?n.slice(0,t).split(xt):n.split(xt)}),500),Mt=n=>y(n)?n:"string"==typeof n?St(n):[n],mt=function(n,t){const e=Mt(t),o=e.length;let r=-1,u=n;for(;++r<o;)if(u=u[e[r]],null==u)return;return u},Ot=function(n,t,e){const o=null==n?void 0:mt(n,t);return void 0===o?"function"==typeof e?e(n):e:o},At=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=Mt(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},zt=function(t,e,o){if("function"==typeof o){const r=o(t);return n(r)?r.then(l(At,t,u,e)):At(t,r,e)}return n(o)?o.then(l(At,t,u,e)):At(t,o,e)},Et=function(n,t){if(null==n)return n;const e=t.length;let o={},r=-1;for(;++r<e;){const e=t[r],u=mt(n,e);null!=u&&(o=At(o,u,e))}return o},It=function(n,t){if(null==n)return;const e=Mt(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]},Dt=function(n){const t={};for(const e in n){const o=n[e];y(o)?t[e]=Pt(o):null!=o&&o.constructor==Object?t[e]=Dt(o):t[e]=o}return t},Pt=function(n){const t=n.length,e=[];let o=-1;for(;++o<t;){const t=n[o];y(t)?e[o]=Pt(t):null!=t&&t.constructor==Object?e[o]=Dt(t):e[o]=t}return e},Tt=function(n,t){const e=t.length,o=y(r=n)?Pt(r):null==r?r:r.constructor==Object?Dt(r):r;var r;let u=-1;for(;++u<e;)It(o,t[u]);return o},Bt=(n,...t)=>N(n.length,n,t);Bt.arity=function(n,t,...e){return N(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:Nn,switchCase:(...n)=>{const o=n.pop();return E(o)?D(o,-2):0==n.length?(r=z,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(z,o,u,-2)):z(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(O,r,o,u)):O(r,o,n)}const o=n[0],r=n[1];return function(...n){return O(o,r,n)}},all:x,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(Ot,u,t,e):n(t)?t.then(l(Ot,u,e,o)):Ot(t,e,o)},set:function(t,e,o){return null==o?l(zt,u,t,e):n(t)?t.then(l(zt,u,e,o)):zt(t,e,o)},pick:function(t,e){return null==e?c(Et,u,t):n(t)?t.then(c(Et,u,e)):Et(t,e)},omit:function(t,e){return null==e?c(Tt,u,t):n(t)?t.then(c(Tt,u,e)):Tt(t,e)},map:Y,filter:function(n,t){return"function"==typeof n?c(ln,u,n):ln(n,t)},flatMap:(t,e)=>"function"==typeof t?c(Gn,u,t):n(t)?t.then(c(Gn,u,e)):Gn(t,e),reduce:function(...t){return"function"==typeof t[0]?l(vn,u,t[0],t[1]):n(t[0])?t[0].then(l(vn,u,t[1],t[2])):vn(t[0],t[1],t[2])},transform:function(...t){return"function"==typeof t[0]?l(Pn,u,t[0],t[1]):n(t[0])?t[0].then(l(Pn,u,t[1],t[2])):Pn(t[0],t[1],t[2])},and:function(...n){const o=n.pop();return E(o)?ot(o,-1):0==n.length?h(ut,u,o):t(n)?e(n).then(c(ut,u,o)):ut(n,o)},or:function(...n){const o=n.pop();return E(o)?ct(o,-1):0==n.length?h(it,u,o):t(n)?e(n).then(c(it,u,o)):it(n,o)},not:function(...n){const o=n.pop();return"function"==typeof o?0==n.length?h(lt,u,o):t(n)?e(n).then(c(lt,u,o)):lt(n,o):!o},some:function(t,e){return"function"==typeof t?c(Zn,u,t):n(t)?t.then(c(Zn,u,e)):Zn(t,e)},every:function(t,e){return"function"==typeof t?c(et,u,t):n(t)?t.then(c(et,u,e)):et(t,e)},eq:gt,gt:wt,lt:vt,gte:bt,lte:jt,thunkify:(n,...o)=>function(){return t(o)?e(o).then(c(r,n,u)):n(...o)},always:f,curry:Bt,__: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 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}}());
|
package/dist/rubico.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.5.0
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -658,6 +658,135 @@ const arrayMapSeries = function (array, mapper) {
|
|
|
658
658
|
return result
|
|
659
659
|
}
|
|
660
660
|
|
|
661
|
+
const stringMapSeries = function (string, mapper) {
|
|
662
|
+
const result = arrayMapSeries(string, mapper)
|
|
663
|
+
return isPromise(result)
|
|
664
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
665
|
+
: result.join('')
|
|
666
|
+
}
|
|
667
|
+
|
|
668
|
+
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
669
|
+
return func(arg0, arg1, arg2, arg3)
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
// _objectMapSeriesAsync(
|
|
673
|
+
// object Object,
|
|
674
|
+
// f function,
|
|
675
|
+
// result Object,
|
|
676
|
+
// doneKeys Object
|
|
677
|
+
// ) -> Promise<object>
|
|
678
|
+
const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
|
|
679
|
+
for (const key in object) {
|
|
680
|
+
if (key in doneKeys) {
|
|
681
|
+
continue
|
|
682
|
+
}
|
|
683
|
+
let resultItem = f(object[key])
|
|
684
|
+
if (isPromise(resultItem)) {
|
|
685
|
+
resultItem = await resultItem
|
|
686
|
+
}
|
|
687
|
+
result[key] = resultItem
|
|
688
|
+
}
|
|
689
|
+
return result
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
const objectMapSeries = function (object, f) {
|
|
693
|
+
const result = {}
|
|
694
|
+
const doneKeys = {}
|
|
695
|
+
for (const key in object) {
|
|
696
|
+
doneKeys[key] = true
|
|
697
|
+
const resultItem = f(object[key], key, object)
|
|
698
|
+
if (isPromise(resultItem)) {
|
|
699
|
+
return resultItem.then(funcConcat(
|
|
700
|
+
curry3(objectSet, result, key, __),
|
|
701
|
+
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
702
|
+
))
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
return result
|
|
706
|
+
}
|
|
707
|
+
|
|
708
|
+
const setAdd = function (set, value) {
|
|
709
|
+
set.add(value)
|
|
710
|
+
return set
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
// _setMapSeriesAsync(
|
|
714
|
+
// iterator Iterator,
|
|
715
|
+
// f function,
|
|
716
|
+
// result Set,
|
|
717
|
+
// ) -> Promise<Set>
|
|
718
|
+
const _setMapSeriesAsync = async function (iterator, f, result) {
|
|
719
|
+
let iteration = iterator.next()
|
|
720
|
+
while (!iteration.done) {
|
|
721
|
+
let resultItem = f(iteration.value)
|
|
722
|
+
if (isPromise(resultItem)) {
|
|
723
|
+
resultItem = await resultItem
|
|
724
|
+
}
|
|
725
|
+
result.add(resultItem)
|
|
726
|
+
iteration = iterator.next()
|
|
727
|
+
}
|
|
728
|
+
return result
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
const setMapSeries = function (set, f) {
|
|
732
|
+
const result = new Set()
|
|
733
|
+
const iterator = set[symbolIterator]()
|
|
734
|
+
let iteration = iterator.next()
|
|
735
|
+
while (!iteration.done) {
|
|
736
|
+
const resultItem = f(iteration.value)
|
|
737
|
+
if (isPromise(resultItem)) {
|
|
738
|
+
return resultItem.then(funcConcat(
|
|
739
|
+
curry2(setAdd, result, __),
|
|
740
|
+
thunkify3(_setMapSeriesAsync, iterator, f, result),
|
|
741
|
+
))
|
|
742
|
+
}
|
|
743
|
+
result.add(resultItem)
|
|
744
|
+
iteration = iterator.next()
|
|
745
|
+
}
|
|
746
|
+
return result
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
const mapSet = function setting(source, key, value) {
|
|
750
|
+
return source.set(key, value)
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
// _mapMapSeriesAsync(
|
|
754
|
+
// iterator Iterator,
|
|
755
|
+
// f function,
|
|
756
|
+
// result Map,
|
|
757
|
+
// ) -> Promise<Map>
|
|
758
|
+
const _mapMapSeriesAsync = async function (iterator, f, result) {
|
|
759
|
+
let iteration = iterator.next()
|
|
760
|
+
while (!iteration.done) {
|
|
761
|
+
let resultItem = f(iteration.value[1])
|
|
762
|
+
if (isPromise(resultItem)) {
|
|
763
|
+
resultItem = await resultItem
|
|
764
|
+
}
|
|
765
|
+
result.set(iteration.value[0], resultItem)
|
|
766
|
+
iteration = iterator.next()
|
|
767
|
+
}
|
|
768
|
+
return result
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
const mapMapSeries = function (map, f) {
|
|
772
|
+
const result = new Map()
|
|
773
|
+
const iterator = map[symbolIterator]()
|
|
774
|
+
let iteration = iterator.next()
|
|
775
|
+
while (!iteration.done) {
|
|
776
|
+
const key = iteration.value[0]
|
|
777
|
+
const resultItem = f(iteration.value[1])
|
|
778
|
+
if (isPromise(resultItem)) {
|
|
779
|
+
return resultItem.then(funcConcat(
|
|
780
|
+
curry3(mapSet, result, key, __),
|
|
781
|
+
thunkify3(_mapMapSeriesAsync, iterator, f, result),
|
|
782
|
+
))
|
|
783
|
+
}
|
|
784
|
+
result.set(key, resultItem)
|
|
785
|
+
iteration = iterator.next()
|
|
786
|
+
}
|
|
787
|
+
return result
|
|
788
|
+
}
|
|
789
|
+
|
|
661
790
|
const tapSync = func => function tapping(...args) {
|
|
662
791
|
func(...args)
|
|
663
792
|
return args[0]
|
|
@@ -786,10 +915,6 @@ const objectMapEntries = function (object, mapper) {
|
|
|
786
915
|
: promiseAll(promises).then(always(result))
|
|
787
916
|
}
|
|
788
917
|
|
|
789
|
-
const mapSet = function setting(source, key, value) {
|
|
790
|
-
return source.set(key, value)
|
|
791
|
-
}
|
|
792
|
-
|
|
793
918
|
// (mapper function, result Map, promises Array<Promise>) => (key any, value any) => ()
|
|
794
919
|
const mapMapEntriesForEachCallback = (
|
|
795
920
|
mapper, result, promises,
|
|
@@ -878,11 +1003,36 @@ map.entries = function mapEntries(arg0, arg1) {
|
|
|
878
1003
|
: _mapEntries(arg0, arg1)
|
|
879
1004
|
}
|
|
880
1005
|
|
|
881
|
-
|
|
882
|
-
if (isArray(
|
|
883
|
-
return arrayMapSeries(
|
|
1006
|
+
const _mapSeries = function (collection, f) {
|
|
1007
|
+
if (isArray(collection)) {
|
|
1008
|
+
return arrayMapSeries(collection, f)
|
|
884
1009
|
}
|
|
885
|
-
|
|
1010
|
+
if (collection == null) {
|
|
1011
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1012
|
+
}
|
|
1013
|
+
|
|
1014
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
1015
|
+
return stringMapSeries(collection, f)
|
|
1016
|
+
}
|
|
1017
|
+
if (collection.constructor == Set) {
|
|
1018
|
+
return setMapSeries(collection, f)
|
|
1019
|
+
}
|
|
1020
|
+
if (collection.constructor == Map) {
|
|
1021
|
+
return mapMapSeries(collection, f)
|
|
1022
|
+
}
|
|
1023
|
+
if (collection.constructor == Object) {
|
|
1024
|
+
return objectMapSeries(collection, f)
|
|
1025
|
+
}
|
|
1026
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
map.series = function mapSeries(arg0, arg1) {
|
|
1030
|
+
if (typeof arg0 == 'function') {
|
|
1031
|
+
return curry2(_mapSeries, __, arg0)
|
|
1032
|
+
}
|
|
1033
|
+
return isPromise(arg0)
|
|
1034
|
+
? arg0.then(curry2(_mapSeries, __, arg1))
|
|
1035
|
+
: _mapSeries(arg0, arg1)
|
|
886
1036
|
}
|
|
887
1037
|
|
|
888
1038
|
map.pool = (concurrencyLimit, mapper) => function concurrentPoolMapping(value) {
|
|
@@ -1005,10 +1155,6 @@ const setFilter = function (value, predicate) {
|
|
|
1005
1155
|
: promiseAll(promises).then(always(result))
|
|
1006
1156
|
}
|
|
1007
1157
|
|
|
1008
|
-
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
1009
|
-
return func(arg0, arg1, arg2, arg3)
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
1158
|
const mapFilter = function (map, predicate) {
|
|
1013
1159
|
const result = new Map(),
|
|
1014
1160
|
promises = []
|
|
@@ -1923,11 +2069,11 @@ const arrayForEachSeries = function (array, callback) {
|
|
|
1923
2069
|
// _objectForEachSeriesAsync(
|
|
1924
2070
|
// object Object,
|
|
1925
2071
|
// callback function,
|
|
1926
|
-
//
|
|
2072
|
+
// doneKeys Object,
|
|
1927
2073
|
// ) -> Promise<object>
|
|
1928
|
-
const _objectForEachSeriesAsync = async function (object, callback,
|
|
2074
|
+
const _objectForEachSeriesAsync = async function (object, callback, doneKeys) {
|
|
1929
2075
|
for (const key in object) {
|
|
1930
|
-
if (key
|
|
2076
|
+
if (key in doneKeys) {
|
|
1931
2077
|
continue
|
|
1932
2078
|
}
|
|
1933
2079
|
const operation = callback(object[key])
|
|
@@ -1939,11 +2085,13 @@ const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
|
1939
2085
|
}
|
|
1940
2086
|
|
|
1941
2087
|
const objectForEachSeries = function (object, callback) {
|
|
2088
|
+
const doneKeys = {}
|
|
1942
2089
|
for (const key in object) {
|
|
2090
|
+
doneKeys[key] = true
|
|
1943
2091
|
const operation = callback(object[key])
|
|
1944
2092
|
if (isPromise(operation)) {
|
|
1945
2093
|
return operation
|
|
1946
|
-
.then(thunkify3(_objectForEachSeriesAsync, object, callback,
|
|
2094
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, doneKeys))
|
|
1947
2095
|
}
|
|
1948
2096
|
}
|
|
1949
2097
|
return object
|
|
@@ -2026,7 +2174,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2026
2174
|
return arrayForEachSeries(collection, callback)
|
|
2027
2175
|
}
|
|
2028
2176
|
if (collection == null) {
|
|
2029
|
-
throw new
|
|
2177
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2030
2178
|
}
|
|
2031
2179
|
if (typeof collection[symbolIterator] == 'function') {
|
|
2032
2180
|
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
@@ -2037,7 +2185,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2037
2185
|
if (collection.constructor == Object) {
|
|
2038
2186
|
return objectForEachSeries(collection, callback)
|
|
2039
2187
|
}
|
|
2040
|
-
throw new
|
|
2188
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2041
2189
|
}
|
|
2042
2190
|
|
|
2043
2191
|
forEach.series = function forEachSeries(arg0, arg1) {
|
package/dist/set.es.js
CHANGED
package/dist/set.es.min.js
CHANGED
package/dist/set.js
CHANGED
package/dist/set.min.js
CHANGED
package/dist/set.mjs
CHANGED