rubico 2.4.2 → 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/README.md +3 -0
- package/_internal/arrayMapPool.js +11 -19
- package/_internal/mapMapPool.js +80 -0
- package/_internal/mapMapSeries.js +62 -0
- package/_internal/objectForEachSeries.js +6 -4
- package/_internal/objectMapPool.js +77 -0
- package/_internal/objectMapSeries.js +62 -0
- package/_internal/setAdd.js +14 -0
- package/_internal/setMapPool.js +79 -0
- package/_internal/setMapSeries.js +61 -0
- package/_internal/stringMap.js +1 -1
- package/_internal/stringMapPool.js +22 -0
- package/_internal/stringMapSeries.js +31 -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 +11 -8
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +11 -8
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +11 -8
- 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 +382 -51
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +382 -51
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +382 -51
- 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 +362 -33
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +362 -33
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +362 -33
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +362 -33
- 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 +382 -51
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +382 -51
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +382 -51
- 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 +362 -33
- package/every.js +6 -0
- package/filter.js +9 -0
- package/flatMap.js +7 -0
- package/forEach.js +22 -3
- package/get.js +6 -0
- package/gt.js +6 -0
- package/gte.js +6 -0
- package/index.js +362 -33
- package/lt.js +6 -0
- package/lte.js +6 -0
- package/map.js +172 -44
- 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/es.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.
|
|
@@ -158,6 +158,9 @@ const tap = function (...args) {
|
|
|
158
158
|
if (args.length == 0) {
|
|
159
159
|
return curryArgs2(_tap, __, func)
|
|
160
160
|
}
|
|
161
|
+
if (areAnyValuesPromises(args)) {
|
|
162
|
+
return promiseAll(args).then(curry2(_tap, __, func))
|
|
163
|
+
}
|
|
161
164
|
return _tap(args, func)
|
|
162
165
|
}
|
|
163
166
|
|
|
@@ -658,6 +661,136 @@ const arrayMapSeries = function (array, mapper) {
|
|
|
658
661
|
return result
|
|
659
662
|
}
|
|
660
663
|
|
|
664
|
+
const stringMapSeries = function (string, mapper) {
|
|
665
|
+
const result = arrayMapSeries(string, mapper)
|
|
666
|
+
return isPromise(result)
|
|
667
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
668
|
+
: result.join('')
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
672
|
+
return func(arg0, arg1, arg2, arg3)
|
|
673
|
+
}
|
|
674
|
+
|
|
675
|
+
// _objectMapSeriesAsync(
|
|
676
|
+
// object Object,
|
|
677
|
+
// f function,
|
|
678
|
+
// result Object,
|
|
679
|
+
// doneKeys Object
|
|
680
|
+
// ) -> Promise<object>
|
|
681
|
+
const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
|
|
682
|
+
for (const key in object) {
|
|
683
|
+
if (key in doneKeys) {
|
|
684
|
+
continue
|
|
685
|
+
}
|
|
686
|
+
let resultItem = f(object[key])
|
|
687
|
+
if (isPromise(resultItem)) {
|
|
688
|
+
resultItem = await resultItem
|
|
689
|
+
}
|
|
690
|
+
result[key] = resultItem
|
|
691
|
+
}
|
|
692
|
+
return result
|
|
693
|
+
}
|
|
694
|
+
|
|
695
|
+
const objectMapSeries = function (object, f) {
|
|
696
|
+
const result = {}
|
|
697
|
+
const doneKeys = {}
|
|
698
|
+
for (const key in object) {
|
|
699
|
+
doneKeys[key] = true
|
|
700
|
+
const resultItem = f(object[key], key, object)
|
|
701
|
+
if (isPromise(resultItem)) {
|
|
702
|
+
return resultItem.then(funcConcat(
|
|
703
|
+
curry3(objectSet, result, key, __),
|
|
704
|
+
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
705
|
+
))
|
|
706
|
+
}
|
|
707
|
+
result[key] = resultItem
|
|
708
|
+
}
|
|
709
|
+
return result
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
const setAdd = function (set, value) {
|
|
713
|
+
set.add(value)
|
|
714
|
+
return set
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
// _setMapSeriesAsync(
|
|
718
|
+
// iterator Iterator,
|
|
719
|
+
// f function,
|
|
720
|
+
// result Set,
|
|
721
|
+
// ) -> Promise<Set>
|
|
722
|
+
const _setMapSeriesAsync = async function (iterator, f, result) {
|
|
723
|
+
let iteration = iterator.next()
|
|
724
|
+
while (!iteration.done) {
|
|
725
|
+
let resultItem = f(iteration.value)
|
|
726
|
+
if (isPromise(resultItem)) {
|
|
727
|
+
resultItem = await resultItem
|
|
728
|
+
}
|
|
729
|
+
result.add(resultItem)
|
|
730
|
+
iteration = iterator.next()
|
|
731
|
+
}
|
|
732
|
+
return result
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
const setMapSeries = function (set, f) {
|
|
736
|
+
const result = new Set()
|
|
737
|
+
const iterator = set[symbolIterator]()
|
|
738
|
+
let iteration = iterator.next()
|
|
739
|
+
while (!iteration.done) {
|
|
740
|
+
const resultItem = f(iteration.value)
|
|
741
|
+
if (isPromise(resultItem)) {
|
|
742
|
+
return resultItem.then(funcConcat(
|
|
743
|
+
curry2(setAdd, result, __),
|
|
744
|
+
thunkify3(_setMapSeriesAsync, iterator, f, result),
|
|
745
|
+
))
|
|
746
|
+
}
|
|
747
|
+
result.add(resultItem)
|
|
748
|
+
iteration = iterator.next()
|
|
749
|
+
}
|
|
750
|
+
return result
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
const mapSet = function setting(source, key, value) {
|
|
754
|
+
return source.set(key, value)
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
// _mapMapSeriesAsync(
|
|
758
|
+
// iterator Iterator,
|
|
759
|
+
// f function,
|
|
760
|
+
// result Map,
|
|
761
|
+
// ) -> Promise<Map>
|
|
762
|
+
const _mapMapSeriesAsync = async function (iterator, f, result) {
|
|
763
|
+
let iteration = iterator.next()
|
|
764
|
+
while (!iteration.done) {
|
|
765
|
+
let resultItem = f(iteration.value[1])
|
|
766
|
+
if (isPromise(resultItem)) {
|
|
767
|
+
resultItem = await resultItem
|
|
768
|
+
}
|
|
769
|
+
result.set(iteration.value[0], resultItem)
|
|
770
|
+
iteration = iterator.next()
|
|
771
|
+
}
|
|
772
|
+
return result
|
|
773
|
+
}
|
|
774
|
+
|
|
775
|
+
const mapMapSeries = function (map, f) {
|
|
776
|
+
const result = new Map()
|
|
777
|
+
const iterator = map[symbolIterator]()
|
|
778
|
+
let iteration = iterator.next()
|
|
779
|
+
while (!iteration.done) {
|
|
780
|
+
const key = iteration.value[0]
|
|
781
|
+
const resultItem = f(iteration.value[1])
|
|
782
|
+
if (isPromise(resultItem)) {
|
|
783
|
+
return resultItem.then(funcConcat(
|
|
784
|
+
curry3(mapSet, result, key, __),
|
|
785
|
+
thunkify3(_mapMapSeriesAsync, iterator, f, result),
|
|
786
|
+
))
|
|
787
|
+
}
|
|
788
|
+
result.set(key, resultItem)
|
|
789
|
+
iteration = iterator.next()
|
|
790
|
+
}
|
|
791
|
+
return result
|
|
792
|
+
}
|
|
793
|
+
|
|
661
794
|
const tapSync = func => function tapping(...args) {
|
|
662
795
|
func(...args)
|
|
663
796
|
return args[0]
|
|
@@ -666,15 +799,14 @@ const tapSync = func => function tapping(...args) {
|
|
|
666
799
|
const promiseRace = Promise.race.bind(Promise)
|
|
667
800
|
|
|
668
801
|
const arrayMapPoolAsync = async function (
|
|
669
|
-
array,
|
|
802
|
+
array, f, concurrencyLimit, result, index, promises,
|
|
670
803
|
) {
|
|
671
804
|
const arrayLength = array.length
|
|
672
805
|
while (++index < arrayLength) {
|
|
673
806
|
if (promises.size >= concurrencyLimit) {
|
|
674
807
|
await promiseRace(promises)
|
|
675
808
|
}
|
|
676
|
-
|
|
677
|
-
const resultItem = mapper(array[index])
|
|
809
|
+
const resultItem = f(array[index])
|
|
678
810
|
if (isPromise(resultItem)) {
|
|
679
811
|
const selfDeletingPromise = resultItem.then(
|
|
680
812
|
tapSync(() => promises.delete(selfDeletingPromise)))
|
|
@@ -687,13 +819,12 @@ const arrayMapPoolAsync = async function (
|
|
|
687
819
|
return promiseAll(result)
|
|
688
820
|
}
|
|
689
821
|
|
|
690
|
-
const arrayMapPool = function (array,
|
|
822
|
+
const arrayMapPool = function (array, concurrency, f) {
|
|
691
823
|
const arrayLength = array.length,
|
|
692
824
|
result = Array(arrayLength)
|
|
693
825
|
let index = -1
|
|
694
826
|
while (++index < arrayLength) {
|
|
695
|
-
|
|
696
|
-
const resultItem = mapper(array[index])
|
|
827
|
+
const resultItem = f(array[index])
|
|
697
828
|
if (isPromise(resultItem)) {
|
|
698
829
|
const promises = new Set(),
|
|
699
830
|
selfDeletingPromise = resultItem.then(
|
|
@@ -701,13 +832,167 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
|
|
|
701
832
|
promises.add(selfDeletingPromise)
|
|
702
833
|
result[index] = selfDeletingPromise
|
|
703
834
|
return arrayMapPoolAsync(
|
|
704
|
-
array,
|
|
835
|
+
array, f, concurrency, result, index, promises)
|
|
705
836
|
}
|
|
706
837
|
result[index] = resultItem
|
|
707
838
|
}
|
|
708
839
|
return result
|
|
709
840
|
}
|
|
710
841
|
|
|
842
|
+
const stringMapPool = function (s, concurrency, f) {
|
|
843
|
+
const result = arrayMapPool(s, concurrency, f)
|
|
844
|
+
return isPromise(result)
|
|
845
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
846
|
+
: result.join('')
|
|
847
|
+
}
|
|
848
|
+
|
|
849
|
+
const _setMapPoolAsync = async function (
|
|
850
|
+
s, iterator, concurrency, f, result, promises,
|
|
851
|
+
) {
|
|
852
|
+
let iteration = iterator.next()
|
|
853
|
+
while (!iteration.done) {
|
|
854
|
+
if (promises.size >= concurrency) {
|
|
855
|
+
await promiseRace(promises)
|
|
856
|
+
}
|
|
857
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
858
|
+
if (isPromise(resultItem)) {
|
|
859
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
860
|
+
promises.delete(selfDeletingPromise)
|
|
861
|
+
result.add(resolvedValue)
|
|
862
|
+
})
|
|
863
|
+
promises.add(selfDeletingPromise)
|
|
864
|
+
} else {
|
|
865
|
+
result.add(resultItem)
|
|
866
|
+
}
|
|
867
|
+
iteration = iterator.next()
|
|
868
|
+
}
|
|
869
|
+
if (promises.size > 0) {
|
|
870
|
+
await promiseAll(promises)
|
|
871
|
+
}
|
|
872
|
+
return result
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
const setMapPool = function (s, concurrency, f) {
|
|
876
|
+
const result = new Set()
|
|
877
|
+
const iterator = s[symbolIterator]()
|
|
878
|
+
let iteration = iterator.next()
|
|
879
|
+
while (!iteration.done) {
|
|
880
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
881
|
+
if (isPromise(resultItem)) {
|
|
882
|
+
const promises = new Set()
|
|
883
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
884
|
+
promises.delete(selfDeletingPromise)
|
|
885
|
+
result.add(resolvedValue)
|
|
886
|
+
})
|
|
887
|
+
promises.add(selfDeletingPromise)
|
|
888
|
+
return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
|
|
889
|
+
}
|
|
890
|
+
result.add(resultItem)
|
|
891
|
+
iteration = iterator.next()
|
|
892
|
+
}
|
|
893
|
+
return result
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
const _mapMapPoolAsync = async function (
|
|
897
|
+
m, iterator, concurrency, f, result, promises,
|
|
898
|
+
) {
|
|
899
|
+
let iteration = iterator.next()
|
|
900
|
+
while (!iteration.done) {
|
|
901
|
+
if (promises.size >= concurrency) {
|
|
902
|
+
await promiseRace(promises)
|
|
903
|
+
}
|
|
904
|
+
const key = iteration.value[0]
|
|
905
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
906
|
+
if (isPromise(resultItem)) {
|
|
907
|
+
result.set(key, resultItem)
|
|
908
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
909
|
+
promises.delete(selfDeletingPromise)
|
|
910
|
+
result.set(key, resolvedValue)
|
|
911
|
+
})
|
|
912
|
+
promises.add(selfDeletingPromise)
|
|
913
|
+
} else {
|
|
914
|
+
result.set(key, resultItem)
|
|
915
|
+
}
|
|
916
|
+
iteration = iterator.next()
|
|
917
|
+
}
|
|
918
|
+
if (promises.size > 0) {
|
|
919
|
+
await promiseAll(promises)
|
|
920
|
+
}
|
|
921
|
+
return result
|
|
922
|
+
}
|
|
923
|
+
|
|
924
|
+
const mapMapPool = function (m, concurrency, f) {
|
|
925
|
+
const result = new Map()
|
|
926
|
+
const iterator = m[symbolIterator]()
|
|
927
|
+
let iteration = iterator.next()
|
|
928
|
+
while (!iteration.done) {
|
|
929
|
+
const key = iteration.value[0]
|
|
930
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
931
|
+
if (isPromise(resultItem)) {
|
|
932
|
+
const promises = new Set()
|
|
933
|
+
result.set(key, resultItem)
|
|
934
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
935
|
+
promises.delete(selfDeletingPromise)
|
|
936
|
+
result.set(key, resolvedValue)
|
|
937
|
+
})
|
|
938
|
+
promises.add(selfDeletingPromise)
|
|
939
|
+
return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
|
|
940
|
+
}
|
|
941
|
+
result.set(key, resultItem)
|
|
942
|
+
iteration = iterator.next()
|
|
943
|
+
}
|
|
944
|
+
return result
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
const _objectMapPoolAsync = async function (
|
|
948
|
+
o, concurrency, f, result, doneKeys, promises,
|
|
949
|
+
) {
|
|
950
|
+
for (const key in o) {
|
|
951
|
+
if (key in doneKeys) {
|
|
952
|
+
continue
|
|
953
|
+
}
|
|
954
|
+
if (promises.size >= concurrency) {
|
|
955
|
+
await promiseRace(promises)
|
|
956
|
+
}
|
|
957
|
+
const resultItem = f(o[key], key, o)
|
|
958
|
+
if (isPromise(resultItem)) {
|
|
959
|
+
result[key] = resultItem
|
|
960
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
961
|
+
promises.delete(selfDeletingPromise)
|
|
962
|
+
result[key] = resolvedValue
|
|
963
|
+
})
|
|
964
|
+
promises.add(selfDeletingPromise)
|
|
965
|
+
} else {
|
|
966
|
+
result[key] = resultItem
|
|
967
|
+
}
|
|
968
|
+
}
|
|
969
|
+
if (promises.size > 0) {
|
|
970
|
+
await promiseAll(promises)
|
|
971
|
+
}
|
|
972
|
+
return result
|
|
973
|
+
}
|
|
974
|
+
|
|
975
|
+
const objectMapPool = function (o, concurrency, f) {
|
|
976
|
+
const result = {}
|
|
977
|
+
const doneKeys = {}
|
|
978
|
+
for (const key in o) {
|
|
979
|
+
doneKeys[key] = true
|
|
980
|
+
const resultItem = f(o[key], key, o)
|
|
981
|
+
if (isPromise(resultItem)) {
|
|
982
|
+
const promises = new Set()
|
|
983
|
+
result[key] = resultItem
|
|
984
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
985
|
+
promises.delete(selfDeletingPromise)
|
|
986
|
+
result[key] = resolvedValue
|
|
987
|
+
})
|
|
988
|
+
promises.add(selfDeletingPromise)
|
|
989
|
+
return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
|
|
990
|
+
}
|
|
991
|
+
result[key] = resultItem
|
|
992
|
+
}
|
|
993
|
+
return result
|
|
994
|
+
}
|
|
995
|
+
|
|
711
996
|
const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
712
997
|
const argsLength = args.length,
|
|
713
998
|
curriedArgsLength = curriedArgs.length,
|
|
@@ -786,10 +1071,6 @@ const objectMapEntries = function (object, mapper) {
|
|
|
786
1071
|
: promiseAll(promises).then(always(result))
|
|
787
1072
|
}
|
|
788
1073
|
|
|
789
|
-
const mapSet = function setting(source, key, value) {
|
|
790
|
-
return source.set(key, value)
|
|
791
|
-
}
|
|
792
|
-
|
|
793
1074
|
// (mapper function, result Map, promises Array<Promise>) => (key any, value any) => ()
|
|
794
1075
|
const mapMapEntriesForEachCallback = (
|
|
795
1076
|
mapper, result, promises,
|
|
@@ -847,7 +1128,7 @@ const _map = function (value, mapper) {
|
|
|
847
1128
|
}
|
|
848
1129
|
|
|
849
1130
|
const map = function (arg0, arg1) {
|
|
850
|
-
if (
|
|
1131
|
+
if (arg1 == null) {
|
|
851
1132
|
return curry2(_map, __, arg0)
|
|
852
1133
|
}
|
|
853
1134
|
return isPromise(arg0)
|
|
@@ -870,7 +1151,7 @@ const _mapEntries = (value, mapper) => {
|
|
|
870
1151
|
}
|
|
871
1152
|
|
|
872
1153
|
map.entries = function mapEntries(arg0, arg1) {
|
|
873
|
-
if (
|
|
1154
|
+
if (arg1 == null) {
|
|
874
1155
|
return curry2(_mapEntries, __, arg0)
|
|
875
1156
|
}
|
|
876
1157
|
return isPromise(arg0)
|
|
@@ -878,18 +1159,67 @@ map.entries = function mapEntries(arg0, arg1) {
|
|
|
878
1159
|
: _mapEntries(arg0, arg1)
|
|
879
1160
|
}
|
|
880
1161
|
|
|
881
|
-
|
|
882
|
-
if (isArray(
|
|
883
|
-
return arrayMapSeries(
|
|
1162
|
+
const _mapSeries = function (collection, f) {
|
|
1163
|
+
if (isArray(collection)) {
|
|
1164
|
+
return arrayMapSeries(collection, f)
|
|
1165
|
+
}
|
|
1166
|
+
if (collection == null) {
|
|
1167
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
884
1168
|
}
|
|
885
|
-
|
|
1169
|
+
|
|
1170
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
1171
|
+
return stringMapSeries(collection, f)
|
|
1172
|
+
}
|
|
1173
|
+
if (collection.constructor == Set) {
|
|
1174
|
+
return setMapSeries(collection, f)
|
|
1175
|
+
}
|
|
1176
|
+
if (collection.constructor == Map) {
|
|
1177
|
+
return mapMapSeries(collection, f)
|
|
1178
|
+
}
|
|
1179
|
+
if (collection.constructor == Object) {
|
|
1180
|
+
return objectMapSeries(collection, f)
|
|
1181
|
+
}
|
|
1182
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
886
1183
|
}
|
|
887
1184
|
|
|
888
|
-
map.
|
|
889
|
-
if (
|
|
890
|
-
return
|
|
1185
|
+
map.series = function mapSeries(arg0, arg1) {
|
|
1186
|
+
if (arg1 == null) {
|
|
1187
|
+
return curry2(_mapSeries, __, arg0)
|
|
1188
|
+
}
|
|
1189
|
+
return isPromise(arg0)
|
|
1190
|
+
? arg0.then(curry2(_mapSeries, __, arg1))
|
|
1191
|
+
: _mapSeries(arg0, arg1)
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1194
|
+
const _mapPool = function (collection, concurrency, f) {
|
|
1195
|
+
if (isArray(collection)) {
|
|
1196
|
+
return arrayMapPool(collection, concurrency, f)
|
|
1197
|
+
}
|
|
1198
|
+
if (collection == null) {
|
|
1199
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1200
|
+
}
|
|
1201
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
1202
|
+
return stringMapPool(collection, concurrency, f)
|
|
1203
|
+
}
|
|
1204
|
+
if (collection.constructor == Set) {
|
|
1205
|
+
return setMapPool(collection, concurrency, f)
|
|
1206
|
+
}
|
|
1207
|
+
if (collection.constructor == Map) {
|
|
1208
|
+
return mapMapPool(collection, concurrency, f)
|
|
1209
|
+
}
|
|
1210
|
+
if (collection.constructor == Object) {
|
|
1211
|
+
return objectMapPool(collection, concurrency, f)
|
|
891
1212
|
}
|
|
892
|
-
throw new TypeError(
|
|
1213
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
map.pool = function mapPool(arg0, arg1, arg2) {
|
|
1217
|
+
if (arg2 == null) {
|
|
1218
|
+
return curry3(_mapPool, __, arg0, arg1)
|
|
1219
|
+
}
|
|
1220
|
+
return isPromise(arg0)
|
|
1221
|
+
? arg0.then(curry3(_mapPool, __, arg1, arg2))
|
|
1222
|
+
: _mapPool(arg0, arg1, arg2)
|
|
893
1223
|
}
|
|
894
1224
|
|
|
895
1225
|
const FilteringIterator = (iterator, predicate) => ({
|
|
@@ -1005,10 +1335,6 @@ const setFilter = function (value, predicate) {
|
|
|
1005
1335
|
: promiseAll(promises).then(always(result))
|
|
1006
1336
|
}
|
|
1007
1337
|
|
|
1008
|
-
const thunkify4 = (func, arg0, arg1, arg2, arg3) => function thunk() {
|
|
1009
|
-
return func(arg0, arg1, arg2, arg3)
|
|
1010
|
-
}
|
|
1011
|
-
|
|
1012
1338
|
const mapFilter = function (map, predicate) {
|
|
1013
1339
|
const result = new Map(),
|
|
1014
1340
|
promises = []
|
|
@@ -1923,11 +2249,11 @@ const arrayForEachSeries = function (array, callback) {
|
|
|
1923
2249
|
// _objectForEachSeriesAsync(
|
|
1924
2250
|
// object Object,
|
|
1925
2251
|
// callback function,
|
|
1926
|
-
//
|
|
2252
|
+
// doneKeys Object,
|
|
1927
2253
|
// ) -> Promise<object>
|
|
1928
|
-
const _objectForEachSeriesAsync = async function (object, callback,
|
|
2254
|
+
const _objectForEachSeriesAsync = async function (object, callback, doneKeys) {
|
|
1929
2255
|
for (const key in object) {
|
|
1930
|
-
if (key
|
|
2256
|
+
if (key in doneKeys) {
|
|
1931
2257
|
continue
|
|
1932
2258
|
}
|
|
1933
2259
|
const operation = callback(object[key])
|
|
@@ -1939,11 +2265,13 @@ const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
|
1939
2265
|
}
|
|
1940
2266
|
|
|
1941
2267
|
const objectForEachSeries = function (object, callback) {
|
|
2268
|
+
const doneKeys = {}
|
|
1942
2269
|
for (const key in object) {
|
|
2270
|
+
doneKeys[key] = true
|
|
1943
2271
|
const operation = callback(object[key])
|
|
1944
2272
|
if (isPromise(operation)) {
|
|
1945
2273
|
return operation
|
|
1946
|
-
.then(thunkify3(_objectForEachSeriesAsync, object, callback,
|
|
2274
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, doneKeys))
|
|
1947
2275
|
}
|
|
1948
2276
|
}
|
|
1949
2277
|
return object
|
|
@@ -1998,7 +2326,8 @@ const _forEach = function (collection, callback) {
|
|
|
1998
2326
|
return collection
|
|
1999
2327
|
}
|
|
2000
2328
|
if (typeof collection.forEach == 'function') {
|
|
2001
|
-
|
|
2329
|
+
collection.forEach(callback)
|
|
2330
|
+
return collection
|
|
2002
2331
|
}
|
|
2003
2332
|
if (typeof collection[symbolIterator] == 'function') {
|
|
2004
2333
|
return iteratorForEach(collection[symbolIterator](), callback)
|
|
@@ -2026,7 +2355,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2026
2355
|
return arrayForEachSeries(collection, callback)
|
|
2027
2356
|
}
|
|
2028
2357
|
if (collection == null) {
|
|
2029
|
-
throw new
|
|
2358
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2030
2359
|
}
|
|
2031
2360
|
if (typeof collection[symbolIterator] == 'function') {
|
|
2032
2361
|
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
@@ -2037,7 +2366,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
2037
2366
|
if (collection.constructor == Object) {
|
|
2038
2367
|
return objectForEachSeries(collection, callback)
|
|
2039
2368
|
}
|
|
2040
|
-
throw new
|
|
2369
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
2041
2370
|
}
|
|
2042
2371
|
|
|
2043
2372
|
forEach.series = function forEachSeries(arg0, arg1) {
|
package/every.js
CHANGED
|
@@ -82,6 +82,12 @@ const _every = function (collection, predicate) {
|
|
|
82
82
|
* ])
|
|
83
83
|
* ```
|
|
84
84
|
*
|
|
85
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
86
|
+
*
|
|
87
|
+
* ```javascript [playground]
|
|
88
|
+
* every(Promise.resolve([1, 2, 3, 4, 5]), n => n < 6).then(console.log) // true
|
|
89
|
+
* ```
|
|
90
|
+
*
|
|
85
91
|
* @execution concurrent
|
|
86
92
|
*
|
|
87
93
|
* @muxing
|
package/filter.js
CHANGED
|
@@ -226,6 +226,15 @@ const _filter = function (value, predicate) {
|
|
|
226
226
|
* }
|
|
227
227
|
* ```
|
|
228
228
|
*
|
|
229
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
230
|
+
*
|
|
231
|
+
* ```javascript [playground]
|
|
232
|
+
* const isOdd = number => number % 2 == 1
|
|
233
|
+
*
|
|
234
|
+
* filter(Promise.resolve([1, 2, 3, 4, 5]), isOdd).then(console.log)
|
|
235
|
+
* // [1, 3, 5]
|
|
236
|
+
* ```
|
|
237
|
+
*
|
|
229
238
|
* @execution concurrent
|
|
230
239
|
*
|
|
231
240
|
* @transducing
|
package/flatMap.js
CHANGED
|
@@ -157,6 +157,13 @@ const _flatMap = function (value, flatMapper) {
|
|
|
157
157
|
* ) // Set(10) { 1, 101, 2, 102, 3, 103, 4, 104, 5, 105 }
|
|
158
158
|
* ```
|
|
159
159
|
*
|
|
160
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
161
|
+
*
|
|
162
|
+
* ```javascript [playground]
|
|
163
|
+
* flatMap(Promise.resolve([1, 2, 3, 4, 5]), n => [n, n]).then(console.log)
|
|
164
|
+
* // [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
160
167
|
* @execution concurrent
|
|
161
168
|
*
|
|
162
169
|
* @transducing
|
package/forEach.js
CHANGED
|
@@ -25,7 +25,8 @@ const _forEach = function (collection, callback) {
|
|
|
25
25
|
return collection
|
|
26
26
|
}
|
|
27
27
|
if (typeof collection.forEach == 'function') {
|
|
28
|
-
|
|
28
|
+
collection.forEach(callback)
|
|
29
|
+
return collection
|
|
29
30
|
}
|
|
30
31
|
if (typeof collection[symbolIterator] == 'function') {
|
|
31
32
|
return iteratorForEach(collection[symbolIterator](), callback)
|
|
@@ -71,6 +72,15 @@ const _forEach = function (collection, callback) {
|
|
|
71
72
|
* // 25
|
|
72
73
|
* ])
|
|
73
74
|
* ```
|
|
75
|
+
*
|
|
76
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
77
|
+
*
|
|
78
|
+
* ```javascript [playground]
|
|
79
|
+
* forEach(Promise.resolve([1, 2, 3]), console.log)
|
|
80
|
+
* // 1
|
|
81
|
+
* // 2
|
|
82
|
+
* // 3
|
|
83
|
+
* ```
|
|
74
84
|
*/
|
|
75
85
|
const forEach = function (arg0, arg1) {
|
|
76
86
|
if (typeof arg0 == 'function') {
|
|
@@ -96,7 +106,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
96
106
|
return arrayForEachSeries(collection, callback)
|
|
97
107
|
}
|
|
98
108
|
if (collection == null) {
|
|
99
|
-
throw new
|
|
109
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
100
110
|
}
|
|
101
111
|
if (typeof collection[symbolIterator] == 'function') {
|
|
102
112
|
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
@@ -107,7 +117,7 @@ const _forEachSeries = function (collection, callback) {
|
|
|
107
117
|
if (collection.constructor == Object) {
|
|
108
118
|
return objectForEachSeries(collection, callback)
|
|
109
119
|
}
|
|
110
|
-
throw new
|
|
120
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
111
121
|
}
|
|
112
122
|
|
|
113
123
|
/**
|
|
@@ -130,6 +140,15 @@ const _forEachSeries = function (collection, callback) {
|
|
|
130
140
|
*
|
|
131
141
|
* forEach.series({ a: 1, b: 2, c: 3 }, console.log) // 1 2 3
|
|
132
142
|
* ```
|
|
143
|
+
*
|
|
144
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
145
|
+
*
|
|
146
|
+
* ```javascript [playground]
|
|
147
|
+
* forEach.series(Promise.resolve([1, 2, 3]), console.log)
|
|
148
|
+
* // 1
|
|
149
|
+
* // 2
|
|
150
|
+
* // 3
|
|
151
|
+
* ```
|
|
133
152
|
*/
|
|
134
153
|
forEach.series = function forEachSeries(arg0, arg1) {
|
|
135
154
|
if (typeof arg0 == 'function') {
|
package/get.js
CHANGED
|
@@ -80,6 +80,12 @@ const _get = function (object, path, defaultValue) {
|
|
|
80
80
|
* console.log(get00000BracketNotation([[[[['foo']]]]])) // foo
|
|
81
81
|
* console.log(get00000ArrayNotation([[[[['foo']]]]])) // foo
|
|
82
82
|
* ```
|
|
83
|
+
*
|
|
84
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
85
|
+
*
|
|
86
|
+
* ```javascript [playground]
|
|
87
|
+
* get(Promise.resolve({ a: 1 }), 'a').then(console.log) // 1
|
|
88
|
+
* ```
|
|
83
89
|
*/
|
|
84
90
|
|
|
85
91
|
const get = function (arg0, arg1, arg2) {
|
package/gt.js
CHANGED
|
@@ -47,6 +47,12 @@ const greaterThan = require('./_internal/greaterThan')
|
|
|
47
47
|
* console.log, // true
|
|
48
48
|
* ])
|
|
49
49
|
* ```
|
|
50
|
+
*
|
|
51
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
52
|
+
*
|
|
53
|
+
* ```javascript [playground]
|
|
54
|
+
* gt(Promise.resolve({ a: 2, b: 1 }), get('a'), get('b')).then(console.log) // true
|
|
55
|
+
* ```
|
|
50
56
|
*/
|
|
51
57
|
const gt = ComparisonOperator(greaterThan)
|
|
52
58
|
|
package/gte.js
CHANGED
|
@@ -49,6 +49,12 @@ const greaterThanOrEqual = require('./_internal/greaterThanOrEqual')
|
|
|
49
49
|
* console.log, // true
|
|
50
50
|
* ])
|
|
51
51
|
* ```
|
|
52
|
+
*
|
|
53
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
54
|
+
*
|
|
55
|
+
* ```javascript [playground]
|
|
56
|
+
* gte(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log) // true
|
|
57
|
+
* ```
|
|
52
58
|
*/
|
|
53
59
|
const gte = ComparisonOperator(greaterThanOrEqual)
|
|
54
60
|
|