rubico 2.7.3 → 2.7.5
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/LICENSE +1 -1
- package/README.md +27 -30
- package/Transducer.d.ts +10 -10
- package/Transducer.js +65 -69
- package/__.js +1 -1
- package/_internal/FlatMappingIterator.js +1 -1
- package/_internal/MappingIterator.d.ts +1 -1
- package/_internal/MappingIterator.js +1 -1
- package/_internal/arrayFilter.js +6 -6
- package/_internal/arrayFilterIndexes.js +7 -7
- package/_internal/arrayFilterWithIndex.js +6 -6
- package/_internal/arrayFind.js +7 -7
- package/_internal/arrayFlatten.js +25 -25
- package/_internal/arrayForEach.d.ts +1 -1
- package/_internal/arrayForEach.js +1 -1
- package/_internal/arrayForEachSeries.js +1 -1
- package/_internal/arrayMap.d.ts +2 -2
- package/_internal/arrayMap.js +5 -5
- package/_internal/arrayMapPool.d.ts +1 -1
- package/_internal/arrayMapPool.js +10 -10
- package/_internal/arrayMapRate.js +4 -4
- package/_internal/arrayMapSeries.d.ts +1 -1
- package/_internal/arrayMapSeries.js +8 -8
- package/_internal/arrayMapWithIndex.js +4 -4
- package/_internal/arrayReduce.js +1 -1
- package/_internal/asyncGeneratorFunctionForEach.js +3 -3
- package/_internal/asyncGeneratorFunctionMap.js +3 -3
- package/_internal/asyncIteratorFind.js +3 -3
- package/_internal/asyncIteratorForEach.d.ts +1 -1
- package/_internal/asyncIteratorForEach.js +3 -3
- package/_internal/asyncIteratorForEachSeries.js +3 -3
- package/_internal/asyncIteratorToArray.js +2 -2
- package/_internal/copyDeep.js +12 -12
- package/_internal/funcAll.js +3 -3
- package/_internal/funcAllSeries.js +6 -6
- package/_internal/funcObjectAll.js +4 -4
- package/_internal/functionArrayAll.js +3 -3
- package/_internal/functionArrayAllSeries.js +6 -6
- package/_internal/functionObjectAll.js +4 -4
- package/_internal/generatorFunctionForEach.js +3 -3
- package/_internal/generatorFunctionMap.js +3 -3
- package/_internal/generatorFunctionReduce.js +1 -1
- package/_internal/iteratorEvery.js +2 -2
- package/_internal/iteratorFind.js +7 -7
- package/_internal/iteratorForEach.d.ts +1 -1
- package/_internal/iteratorForEach.js +3 -3
- package/_internal/iteratorForEachSeries.js +1 -1
- package/_internal/iteratorReduce.d.ts +1 -1
- package/_internal/iteratorReduce.js +2 -2
- package/_internal/iteratorSome.js +2 -2
- package/_internal/mapFilter.js +4 -4
- package/_internal/mapMap.d.ts +1 -1
- package/_internal/mapMap.js +6 -6
- package/_internal/mapMapPool.js +10 -10
- package/_internal/mapMapSeries.js +10 -10
- package/_internal/objectFilter.js +6 -6
- package/_internal/objectFlatMap.d.ts +1 -1
- package/_internal/objectFlatMap.js +1 -1
- package/_internal/objectFlatten.js +14 -14
- package/_internal/objectMap.js +3 -3
- package/_internal/objectMapOwn.js +3 -3
- package/_internal/objectMapPool.js +10 -10
- package/_internal/objectMapSeries.js +9 -9
- package/_internal/objectReduce.d.ts +1 -1
- package/_internal/objectReduce.js +2 -2
- package/_internal/reducerAllSync.d.ts +2 -2
- package/_internal/reducerAllSync.js +2 -2
- package/_internal/reducerAnySync.d.ts +1 -1
- package/_internal/reducerAnySync.js +2 -2
- package/_internal/reducerConcat.d.ts +1 -1
- package/_internal/reducerConcat.js +4 -4
- package/_internal/reducerConcatSync.js +2 -2
- package/_internal/reducerEvery.d.ts +2 -2
- package/_internal/reducerEvery.js +4 -4
- package/_internal/reducerFilter.d.ts +2 -2
- package/_internal/reducerFilter.js +5 -5
- package/_internal/reducerFlatten.js +3 -3
- package/_internal/reducerForEach.d.ts +2 -2
- package/_internal/reducerForEach.js +5 -5
- package/_internal/reducerMap.d.ts +1 -1
- package/_internal/reducerMap.js +5 -5
- package/_internal/reducerSome.d.ts +2 -2
- package/_internal/reducerSome.js +4 -4
- package/_internal/reducerTryCatch.d.ts +2 -2
- package/_internal/reducerTryCatch.js +8 -8
- package/_internal/setFilter.d.ts +1 -1
- package/_internal/setFilter.js +5 -5
- package/_internal/setFlatten.js +24 -24
- package/_internal/setMap.d.ts +1 -1
- package/_internal/setMap.js +6 -6
- package/_internal/setMapPool.js +9 -9
- package/_internal/setMapSeries.js +10 -10
- package/_internal/streamFlatExtend.js +25 -25
- package/_internal/streamFlatMap.js +2 -2
- package/all.js +3 -3
- package/and.js +5 -2
- package/assign.js +2 -2
- package/compose.js +6 -2
- package/curry.js +5 -12
- package/dist/Transducer.es.js +24 -24
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +24 -24
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +24 -24
- 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 +14 -14
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +14 -14
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +14 -14
- 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 +5 -5
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +5 -5
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +5 -5
- 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 +7 -7
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +7 -7
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +7 -7
- package/dist/filter.es.js +21 -21
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +21 -21
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +21 -21
- package/dist/flatMap.es.js +82 -82
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +82 -82
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +82 -82
- package/dist/forEach.es.js +7 -7
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +7 -7
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +7 -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 +83 -83
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +83 -83
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +83 -83
- 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 +13 -13
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +13 -13
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +13 -13
- 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 +5 -5
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +5 -5
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +5 -5
- package/dist/rubico.es.js +215 -215
- package/dist/rubico.es.min.js +1 -1
- package/dist/rubico.global.js +215 -215
- package/dist/rubico.global.min.js +1 -1
- package/dist/rubico.js +215 -215
- package/dist/rubico.min.js +1 -1
- package/dist/rubico.mjs +215 -215
- 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 +8 -8
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +8 -8
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +8 -8
- 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 +5 -5
- package/dist/transform.es.min.js +1 -1
- package/dist/transform.js +5 -5
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +5 -5
- 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 +8 -8
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +8 -8
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +8 -8
- 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 +69 -37
- package/dist/x/defaultsDeep.es.min.js +2 -2
- package/dist/x/defaultsDeep.js +69 -37
- package/dist/x/defaultsDeep.min.js +2 -2
- package/dist/x/defaultsDeep.mjs +69 -37
- package/dist/x/differenceWith.es.js +14 -14
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +14 -14
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +14 -14
- package/dist/x/filterOut.es.js +21 -21
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +21 -21
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.mjs +21 -21
- package/dist/x/find.es.js +18 -18
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +18 -18
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +18 -18
- 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 +82 -82
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +82 -82
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +82 -82
- package/dist/x/groupBy.es.js +17 -17
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +17 -17
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +17 -17
- 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 +6 -6
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +6 -6
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +6 -6
- 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 +83 -83
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +83 -83
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +83 -83
- package/dist/x/prepend.es.js +8 -8
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +8 -8
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +8 -8
- 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 +39 -39
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +39 -39
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +39 -39
- 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 +32 -10
- package/es.js +215 -215
- package/every.d.ts +1 -1
- package/every.js +6 -3
- package/filter.d.ts +3 -3
- package/filter.js +14 -14
- package/flatMap.d.ts +9 -9
- package/flatMap.js +9 -9
- package/forEach.d.ts +1 -1
- package/forEach.js +19 -15
- package/global.js +1 -0
- package/gt.js +30 -13
- package/gte.js +31 -12
- package/index.js +215 -215
- package/lt.js +28 -9
- package/lte.js +34 -15
- package/map.d.ts +3 -3
- package/map.js +31 -31
- package/monad/Mux.benchmark.js +1 -1
- package/monad/Mux.js +6 -6
- package/monad/Struct.js +2 -2
- package/not.js +15 -7
- package/or.js +5 -2
- package/package.json +1 -1
- package/pipe.js +7 -13
- package/reduce.d.ts +7 -7
- package/reduce.js +16 -16
- package/some.d.ts +1 -1
- package/some.js +6 -3
- package/switchCase.d.ts +1 -1
- package/switchCase.js +7 -4
- package/tap.js +14 -4
- package/thunkify.js +2 -0
- package/transform.d.ts +1 -1
- package/transform.js +6 -15
- package/tryCatch.js +8 -2
- package/x/README.md +8 -8
- package/x/append.d.ts +2 -2
- package/x/append.js +8 -8
- package/x/defaultsDeep.js +94 -57
- package/x/defaultsDeep.test.js +24 -1
- package/x/differenceWith.js +13 -13
- package/x/find.d.ts +1 -1
- package/x/find.js +1 -1
- package/x/find.test.js +2 -2
- package/x/findIndex.test.js +1 -1
- package/x/first.d.ts +1 -1
- package/x/first.js +1 -1
- package/x/first.test.js +1 -1
- package/x/groupBy.d.ts +1 -1
- package/x/groupBy.js +13 -13
- package/x/last.d.ts +1 -1
- package/x/last.js +1 -1
- package/x/last.test.js +1 -1
- package/x/maxBy.d.ts +7 -7
- package/x/maxBy.js +13 -13
- package/x/maxBy.test.js +5 -5
- package/x/pluck.test.js +1 -1
- package/x/prepend.d.ts +2 -2
- package/x/prepend.js +8 -8
- package/x/size.d.ts +1 -1
- package/x/size.js +1 -1
- package/x/unionWith.js +11 -11
- package/x/unionWith.test.js +5 -5
- package/global.d.ts +0 -1
|
@@ -19,7 +19,7 @@ const iteratorReduce = require('./iteratorReduce')
|
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
21
|
* @description
|
|
22
|
-
* Execute a reducer for each
|
|
22
|
+
* Execute a reducer for each element of a generator function, returning a single value.
|
|
23
23
|
*/
|
|
24
24
|
const generatorFunctionReduce = (
|
|
25
25
|
generatorFunction, reducer, result,
|
|
@@ -16,8 +16,8 @@ const callPropUnary = require('./callPropUnary')
|
|
|
16
16
|
*/
|
|
17
17
|
const iteratorEvery = function (iterator, predicate) {
|
|
18
18
|
const promises = []
|
|
19
|
-
for (const
|
|
20
|
-
const predication = predicate(
|
|
19
|
+
for (const element of iterator) {
|
|
20
|
+
const predication = predicate(element)
|
|
21
21
|
if (isPromise(predication)) {
|
|
22
22
|
promises.push(predication)
|
|
23
23
|
} else if (!predication) {
|
|
@@ -18,13 +18,13 @@ const always = require('./always')
|
|
|
18
18
|
const iteratorFindAsync = async function (iterator, predicate) {
|
|
19
19
|
let iteration = iterator.next()
|
|
20
20
|
while (!iteration.done) {
|
|
21
|
-
const
|
|
22
|
-
let predication = predicate(
|
|
21
|
+
const element = iteration.value
|
|
22
|
+
let predication = predicate(element)
|
|
23
23
|
if (isPromise(predication)) {
|
|
24
24
|
predication = await predication
|
|
25
25
|
}
|
|
26
26
|
if (predication) {
|
|
27
|
-
return
|
|
27
|
+
return element
|
|
28
28
|
}
|
|
29
29
|
iteration = iterator.next()
|
|
30
30
|
}
|
|
@@ -44,16 +44,16 @@ const iteratorFindAsync = async function (iterator, predicate) {
|
|
|
44
44
|
const iteratorFind = function (iterator, predicate) {
|
|
45
45
|
let iteration = iterator.next()
|
|
46
46
|
while (!iteration.done) {
|
|
47
|
-
const
|
|
48
|
-
predication = predicate(
|
|
47
|
+
const element = iteration.value,
|
|
48
|
+
predication = predicate(element)
|
|
49
49
|
if (isPromise(predication)) {
|
|
50
50
|
return predication.then(curry3(
|
|
51
51
|
thunkConditional,
|
|
52
52
|
__,
|
|
53
|
-
always(
|
|
53
|
+
always(element),
|
|
54
54
|
thunkify2(iteratorFindAsync, iterator, predicate)))
|
|
55
55
|
} else if (predication) {
|
|
56
|
-
return
|
|
56
|
+
return element
|
|
57
57
|
}
|
|
58
58
|
iteration = iterator.next()
|
|
59
59
|
}
|
|
@@ -12,7 +12,7 @@ export = iteratorForEach;
|
|
|
12
12
|
* ```
|
|
13
13
|
*
|
|
14
14
|
* @description
|
|
15
|
-
* Call a callback for each
|
|
15
|
+
* Call a callback for each element of an iterator. Return a promise if any executions are asynchronous.
|
|
16
16
|
*
|
|
17
17
|
* Note: iterator is consumed
|
|
18
18
|
*/
|
|
@@ -15,14 +15,14 @@ const always = require('./always')
|
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
17
|
* @description
|
|
18
|
-
* Call a callback for each
|
|
18
|
+
* Call a callback for each element of an iterator. Return a promise if any executions are asynchronous.
|
|
19
19
|
*
|
|
20
20
|
* Note: iterator is consumed
|
|
21
21
|
*/
|
|
22
22
|
const iteratorForEach = function (iterator, callback) {
|
|
23
23
|
const promises = []
|
|
24
|
-
for (const
|
|
25
|
-
const operation = callback(
|
|
24
|
+
for (const element of iterator) {
|
|
25
|
+
const operation = callback(element)
|
|
26
26
|
if (isPromise(operation)) {
|
|
27
27
|
promises.push(operation)
|
|
28
28
|
}
|
|
@@ -26,7 +26,7 @@ const _iteratorForEachSeriesAsync = async function (iterator, callback) {
|
|
|
26
26
|
* ```
|
|
27
27
|
*
|
|
28
28
|
* @description
|
|
29
|
-
* Call a callback for each
|
|
29
|
+
* Call a callback for each element of an iterator. Return a promise if any executions are asynchronous.
|
|
30
30
|
*
|
|
31
31
|
* Note: iterator is consumed
|
|
32
32
|
*/
|
|
@@ -13,6 +13,6 @@ export = iteratorReduce;
|
|
|
13
13
|
* ```
|
|
14
14
|
*
|
|
15
15
|
* @description
|
|
16
|
-
* Execute a reducer for each
|
|
16
|
+
* Execute a reducer for each element of an iterator, returning a single value.
|
|
17
17
|
*/
|
|
18
18
|
declare function iteratorReduce(iterator: any, reducer: any, result: any): any;
|
|
@@ -16,7 +16,7 @@ const isPromise = require('./isPromise')
|
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
18
|
* @description
|
|
19
|
-
* Execute a reducer for each
|
|
19
|
+
* Execute a reducer for each element of an iterator or async iterator, returning a promise of a single value.
|
|
20
20
|
*/
|
|
21
21
|
const iteratorReduceAsync = async function (
|
|
22
22
|
iterator, reducer, result,
|
|
@@ -50,7 +50,7 @@ const iteratorReduceAsync = async function (
|
|
|
50
50
|
* ```
|
|
51
51
|
*
|
|
52
52
|
* @description
|
|
53
|
-
* Execute a reducer for each
|
|
53
|
+
* Execute a reducer for each element of an iterator, returning a single value.
|
|
54
54
|
*/
|
|
55
55
|
const iteratorReduce = function (iterator, reducer, result) {
|
|
56
56
|
let iteration = iterator.next()
|
|
@@ -14,8 +14,8 @@ const isPromise = require('./isPromise')
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
const iteratorSome = function (iterator, predicate) {
|
|
17
|
-
for (const
|
|
18
|
-
const predication = predicate(
|
|
17
|
+
for (const element of iterator) {
|
|
18
|
+
const predication = predicate(element)
|
|
19
19
|
if (isPromise(predication)) {
|
|
20
20
|
return asyncIteratorSome(
|
|
21
21
|
iterator, predicate, new Set([SelfReferencingPromise(predication)]))
|
package/_internal/mapFilter.js
CHANGED
|
@@ -30,15 +30,15 @@ const promiseAll = require('./promiseAll')
|
|
|
30
30
|
const mapFilter = function (map, predicate) {
|
|
31
31
|
const result = new Map(),
|
|
32
32
|
promises = []
|
|
33
|
-
for (const [key,
|
|
34
|
-
const predication = predicate(
|
|
33
|
+
for (const [key, element] of map) {
|
|
34
|
+
const predication = predicate(element, key, map)
|
|
35
35
|
if (isPromise(predication)) {
|
|
36
36
|
promises.push(predication.then(curry3(thunkConditional,
|
|
37
37
|
__,
|
|
38
|
-
thunkify4(callPropBinary, result, 'set', key,
|
|
38
|
+
thunkify4(callPropBinary, result, 'set', key, element),
|
|
39
39
|
noop)))
|
|
40
40
|
} else if (predication) {
|
|
41
|
-
result.set(key,
|
|
41
|
+
result.set(key, element)
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
return promises.length == 0 ? result
|
package/_internal/mapMap.d.ts
CHANGED
package/_internal/mapMap.js
CHANGED
|
@@ -12,7 +12,7 @@ const callPropBinary = require('./callPropBinary')
|
|
|
12
12
|
* ```coffeescript [specscript]
|
|
13
13
|
* mapMap(
|
|
14
14
|
* value Map,
|
|
15
|
-
* mapper (
|
|
15
|
+
* mapper (element any, key any, value)=>Promise|any
|
|
16
16
|
* ) -> Promise|Map<any=>any>
|
|
17
17
|
* ```
|
|
18
18
|
*
|
|
@@ -22,13 +22,13 @@ const callPropBinary = require('./callPropBinary')
|
|
|
22
22
|
const mapMap = function (value, mapper) {
|
|
23
23
|
const result = new Map(),
|
|
24
24
|
promises = []
|
|
25
|
-
for (const [key,
|
|
26
|
-
const
|
|
27
|
-
if (isPromise(
|
|
28
|
-
promises.push(
|
|
25
|
+
for (const [key, element] of value) {
|
|
26
|
+
const resultElement = mapper(element, key, value)
|
|
27
|
+
if (isPromise(resultElement)) {
|
|
28
|
+
promises.push(resultElement.then(
|
|
29
29
|
curry4(callPropBinary, result, 'set', key, __)))
|
|
30
30
|
} else {
|
|
31
|
-
result.set(key,
|
|
31
|
+
result.set(key, resultElement)
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
return promises.length == 0
|
package/_internal/mapMapPool.js
CHANGED
|
@@ -27,16 +27,16 @@ const _mapMapPoolAsync = async function (
|
|
|
27
27
|
await promiseRace(promises)
|
|
28
28
|
}
|
|
29
29
|
const key = iteration.value[0]
|
|
30
|
-
const
|
|
31
|
-
if (isPromise(
|
|
32
|
-
result.set(key,
|
|
33
|
-
const selfDeletingPromise =
|
|
30
|
+
const resultElement = f(iteration.value[1], key, m)
|
|
31
|
+
if (isPromise(resultElement)) {
|
|
32
|
+
result.set(key, resultElement)
|
|
33
|
+
const selfDeletingPromise = resultElement.then(resolvedValue => {
|
|
34
34
|
promises.delete(selfDeletingPromise)
|
|
35
35
|
result.set(key, resolvedValue)
|
|
36
36
|
})
|
|
37
37
|
promises.add(selfDeletingPromise)
|
|
38
38
|
} else {
|
|
39
|
-
result.set(key,
|
|
39
|
+
result.set(key, resultElement)
|
|
40
40
|
}
|
|
41
41
|
iteration = iterator.next()
|
|
42
42
|
}
|
|
@@ -60,18 +60,18 @@ const mapMapPool = function (m, concurrency, f) {
|
|
|
60
60
|
let iteration = iterator.next()
|
|
61
61
|
while (!iteration.done) {
|
|
62
62
|
const key = iteration.value[0]
|
|
63
|
-
const
|
|
64
|
-
if (isPromise(
|
|
63
|
+
const resultElement = f(iteration.value[1], key, m)
|
|
64
|
+
if (isPromise(resultElement)) {
|
|
65
65
|
const promises = new Set()
|
|
66
|
-
result.set(key,
|
|
67
|
-
const selfDeletingPromise =
|
|
66
|
+
result.set(key, resultElement)
|
|
67
|
+
const selfDeletingPromise = resultElement.then(resolvedValue => {
|
|
68
68
|
promises.delete(selfDeletingPromise)
|
|
69
69
|
result.set(key, resolvedValue)
|
|
70
70
|
})
|
|
71
71
|
promises.add(selfDeletingPromise)
|
|
72
72
|
return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
|
|
73
73
|
}
|
|
74
|
-
result.set(key,
|
|
74
|
+
result.set(key, resultElement)
|
|
75
75
|
iteration = iterator.next()
|
|
76
76
|
}
|
|
77
77
|
return result
|
|
@@ -14,11 +14,11 @@ const symbolIterator = require('./symbolIterator')
|
|
|
14
14
|
const _mapMapSeriesAsync = async function (iterator, f, result) {
|
|
15
15
|
let iteration = iterator.next()
|
|
16
16
|
while (!iteration.done) {
|
|
17
|
-
let
|
|
18
|
-
if (isPromise(
|
|
19
|
-
|
|
17
|
+
let resultElement = f(iteration.value[1])
|
|
18
|
+
if (isPromise(resultElement)) {
|
|
19
|
+
resultElement = await resultElement
|
|
20
20
|
}
|
|
21
|
-
result.set(iteration.value[0],
|
|
21
|
+
result.set(iteration.value[0], resultElement)
|
|
22
22
|
iteration = iterator.next()
|
|
23
23
|
}
|
|
24
24
|
return result
|
|
@@ -33,13 +33,13 @@ const _mapMapSeriesAsync = async function (iterator, f, result) {
|
|
|
33
33
|
* value any,
|
|
34
34
|
* key any,
|
|
35
35
|
* map Map
|
|
36
|
-
* )=>(
|
|
36
|
+
* )=>(resultElement Promise|any)
|
|
37
37
|
*
|
|
38
38
|
* mapMapSeries(map Map, f MapMapper) -> Promise|Map
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
41
|
* @description
|
|
42
|
-
* Apply a mapper in series to each value of a Map, returning a new Map of mapped
|
|
42
|
+
* Apply a mapper in series to each value of a Map, returning a new Map of mapped elements. Mapper may be asynchronous.
|
|
43
43
|
*/
|
|
44
44
|
const mapMapSeries = function (map, f) {
|
|
45
45
|
const result = new Map()
|
|
@@ -47,14 +47,14 @@ const mapMapSeries = function (map, f) {
|
|
|
47
47
|
let iteration = iterator.next()
|
|
48
48
|
while (!iteration.done) {
|
|
49
49
|
const key = iteration.value[0]
|
|
50
|
-
const
|
|
51
|
-
if (isPromise(
|
|
52
|
-
return
|
|
50
|
+
const resultElement = f(iteration.value[1])
|
|
51
|
+
if (isPromise(resultElement)) {
|
|
52
|
+
return resultElement.then(funcConcat(
|
|
53
53
|
curry3(mapSet, result, key, __),
|
|
54
54
|
thunkify3(_mapMapSeriesAsync, iterator, f, result),
|
|
55
55
|
))
|
|
56
56
|
}
|
|
57
|
-
result.set(key,
|
|
57
|
+
result.set(key, resultElement)
|
|
58
58
|
iteration = iterator.next()
|
|
59
59
|
}
|
|
60
60
|
return result
|
|
@@ -20,13 +20,13 @@ const objectFilter = function (object, predicate) {
|
|
|
20
20
|
const result = {},
|
|
21
21
|
promises = []
|
|
22
22
|
for (const key in object) {
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
if (isPromise(
|
|
26
|
-
promises.push(
|
|
23
|
+
const element = object[key],
|
|
24
|
+
shouldIncludeElement = predicate(element, key, object)
|
|
25
|
+
if (isPromise(shouldIncludeElement)) {
|
|
26
|
+
promises.push(shouldIncludeElement.then(
|
|
27
27
|
curry4(objectSetIf, result, key, object[key], __)))
|
|
28
|
-
} else if (
|
|
29
|
-
result[key] =
|
|
28
|
+
} else if (shouldIncludeElement) {
|
|
29
|
+
result[key] = element
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
return promises.length == 0
|
|
@@ -19,7 +19,7 @@ export = objectFlatMap;
|
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
21
|
* @description
|
|
22
|
-
* Apply a flatMapper to each value of an object, assigning all
|
|
22
|
+
* Apply a flatMapper to each value of an object, assigning all elements of all results into a new object.
|
|
23
23
|
*
|
|
24
24
|
* @TODO "deeply copies" after objectFlatten changes to deep assignment
|
|
25
25
|
*/
|
|
@@ -22,7 +22,7 @@ const objectFlatten = require('./objectFlatten')
|
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
24
|
* @description
|
|
25
|
-
* Apply a flatMapper to each value of an object, assigning all
|
|
25
|
+
* Apply a flatMapper to each value of an object, assigning all elements of all results into a new object.
|
|
26
26
|
*
|
|
27
27
|
* @TODO "deeply copies" after objectFlatten changes to deep assignment
|
|
28
28
|
*/
|
|
@@ -37,31 +37,31 @@ const objectFlatten = function (object) {
|
|
|
37
37
|
getResult = () => result
|
|
38
38
|
|
|
39
39
|
for (const key in object) {
|
|
40
|
-
const
|
|
41
|
-
if (
|
|
40
|
+
const element = object[key]
|
|
41
|
+
if (element == null) {
|
|
42
42
|
continue
|
|
43
|
-
} else if (typeof
|
|
44
|
-
for (const
|
|
45
|
-
objectAssign(result,
|
|
43
|
+
} else if (typeof element[symbolIterator] == 'function') {
|
|
44
|
+
for (const monadElement of element) {
|
|
45
|
+
objectAssign(result, monadElement)
|
|
46
46
|
}
|
|
47
|
-
} else if (typeof
|
|
47
|
+
} else if (typeof element[symbolAsyncIterator] == 'function') {
|
|
48
48
|
promises.push(
|
|
49
|
-
asyncIteratorForEach(
|
|
50
|
-
} else if (typeof
|
|
51
|
-
const monadValue =
|
|
49
|
+
asyncIteratorForEach(element[symbolAsyncIterator](), resultAssign))
|
|
50
|
+
} else if (typeof element.chain == 'function') {
|
|
51
|
+
const monadValue = element.chain(identity)
|
|
52
52
|
isPromise(monadValue)
|
|
53
53
|
? promises.push(monadValue.then(resultAssign))
|
|
54
54
|
: objectAssign(result, monadValue)
|
|
55
|
-
} else if (typeof
|
|
56
|
-
const monadValue =
|
|
55
|
+
} else if (typeof element.flatMap == 'function') {
|
|
56
|
+
const monadValue = element.flatMap(identity)
|
|
57
57
|
isPromise(monadValue)
|
|
58
58
|
? promises.push(monadValue.then(resultAssign))
|
|
59
59
|
: resultAssign(monadValue)
|
|
60
|
-
} else if (typeof
|
|
61
|
-
const folded =
|
|
60
|
+
} else if (typeof element.reduce == 'function') {
|
|
61
|
+
const folded = element.reduce(resultAssignReducer, null)
|
|
62
62
|
isPromise(folded) && promises.push(folded)
|
|
63
63
|
} else {
|
|
64
|
-
objectAssign(result,
|
|
64
|
+
objectAssign(result, element)
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
return promises.length == 0
|
package/_internal/objectMap.js
CHANGED
|
@@ -20,11 +20,11 @@ const objectMap = function (object, mapper) {
|
|
|
20
20
|
const result = {}
|
|
21
21
|
let isAsync = false
|
|
22
22
|
for (const key in object) {
|
|
23
|
-
const
|
|
24
|
-
if (isPromise(
|
|
23
|
+
const resultElement = mapper(object[key], key, object)
|
|
24
|
+
if (isPromise(resultElement)) {
|
|
25
25
|
isAsync = true
|
|
26
26
|
}
|
|
27
|
-
result[key] =
|
|
27
|
+
result[key] = resultElement
|
|
28
28
|
}
|
|
29
29
|
return isAsync ? promiseObjectAll(result) : result
|
|
30
30
|
}
|
|
@@ -23,11 +23,11 @@ const objectMapOwn = function (object, mapper) {
|
|
|
23
23
|
let isAsync = false
|
|
24
24
|
for (const key in object) {
|
|
25
25
|
if (hasOwn(object, key)) {
|
|
26
|
-
const
|
|
27
|
-
if (isPromise(
|
|
26
|
+
const resultElement = mapper(object[key])
|
|
27
|
+
if (isPromise(resultElement)) {
|
|
28
28
|
isAsync = true
|
|
29
29
|
}
|
|
30
|
-
result[key] =
|
|
30
|
+
result[key] = resultElement
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
return isAsync ? promiseObjectAll(result) : result
|
|
@@ -27,16 +27,16 @@ const _objectMapPoolAsync = async function (
|
|
|
27
27
|
if (promises.size >= concurrency) {
|
|
28
28
|
await promiseRace(promises)
|
|
29
29
|
}
|
|
30
|
-
const
|
|
31
|
-
if (isPromise(
|
|
32
|
-
result[key] =
|
|
33
|
-
const selfDeletingPromise =
|
|
30
|
+
const resultElement = f(o[key], key, o)
|
|
31
|
+
if (isPromise(resultElement)) {
|
|
32
|
+
result[key] = resultElement
|
|
33
|
+
const selfDeletingPromise = resultElement.then(resolvedValue => {
|
|
34
34
|
promises.delete(selfDeletingPromise)
|
|
35
35
|
result[key] = resolvedValue
|
|
36
36
|
})
|
|
37
37
|
promises.add(selfDeletingPromise)
|
|
38
38
|
} else {
|
|
39
|
-
result[key] =
|
|
39
|
+
result[key] = resultElement
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
if (promises.size > 0) {
|
|
@@ -58,18 +58,18 @@ const objectMapPool = function (o, concurrency, f) {
|
|
|
58
58
|
const doneKeys = {}
|
|
59
59
|
for (const key in o) {
|
|
60
60
|
doneKeys[key] = true
|
|
61
|
-
const
|
|
62
|
-
if (isPromise(
|
|
61
|
+
const resultElement = f(o[key], key, o)
|
|
62
|
+
if (isPromise(resultElement)) {
|
|
63
63
|
const promises = new Set()
|
|
64
|
-
result[key] =
|
|
65
|
-
const selfDeletingPromise =
|
|
64
|
+
result[key] = resultElement
|
|
65
|
+
const selfDeletingPromise = resultElement.then(resolvedValue => {
|
|
66
66
|
promises.delete(selfDeletingPromise)
|
|
67
67
|
result[key] = resolvedValue
|
|
68
68
|
})
|
|
69
69
|
promises.add(selfDeletingPromise)
|
|
70
70
|
return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
|
|
71
71
|
}
|
|
72
|
-
result[key] =
|
|
72
|
+
result[key] = resultElement
|
|
73
73
|
}
|
|
74
74
|
return result
|
|
75
75
|
}
|
|
@@ -17,11 +17,11 @@ const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
|
|
|
17
17
|
if (key in doneKeys) {
|
|
18
18
|
continue
|
|
19
19
|
}
|
|
20
|
-
let
|
|
21
|
-
if (isPromise(
|
|
22
|
-
|
|
20
|
+
let resultElement = f(object[key])
|
|
21
|
+
if (isPromise(resultElement)) {
|
|
22
|
+
resultElement = await resultElement
|
|
23
23
|
}
|
|
24
|
-
result[key] =
|
|
24
|
+
result[key] = resultElement
|
|
25
25
|
}
|
|
26
26
|
return result
|
|
27
27
|
}
|
|
@@ -35,7 +35,7 @@ const _objectMapSeriesAsync = async function (object, f, result, doneKeys) {
|
|
|
35
35
|
* value any,
|
|
36
36
|
* key string,
|
|
37
37
|
* collection Object
|
|
38
|
-
* )=>(
|
|
38
|
+
* )=>(resultElement Promise|any)
|
|
39
39
|
*
|
|
40
40
|
* objectMapSeries(object Object, f ObjectMapper) -> Promise|Object
|
|
41
41
|
* ```
|
|
@@ -48,14 +48,14 @@ const objectMapSeries = function (object, f) {
|
|
|
48
48
|
const doneKeys = {}
|
|
49
49
|
for (const key in object) {
|
|
50
50
|
doneKeys[key] = true
|
|
51
|
-
const
|
|
52
|
-
if (isPromise(
|
|
53
|
-
return
|
|
51
|
+
const resultElement = f(object[key], key, object)
|
|
52
|
+
if (isPromise(resultElement)) {
|
|
53
|
+
return resultElement.then(funcConcat(
|
|
54
54
|
curry3(objectSet, result, key, __),
|
|
55
55
|
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
56
56
|
))
|
|
57
57
|
}
|
|
58
|
-
result[key] =
|
|
58
|
+
result[key] = resultElement
|
|
59
59
|
}
|
|
60
60
|
return result
|
|
61
61
|
}
|
|
@@ -6,7 +6,7 @@ export = objectReduce;
|
|
|
6
6
|
* ```coffeescript [specscript]
|
|
7
7
|
* objectReduce(
|
|
8
8
|
* object Object,
|
|
9
|
-
* reducer (any,
|
|
9
|
+
* reducer (any, element any, key string, object)=>Promise|any,
|
|
10
10
|
* result any,
|
|
11
11
|
* ) -> Promise|result
|
|
12
12
|
* ```
|
|
@@ -10,7 +10,7 @@ const objectKeys = require('./objectKeys')
|
|
|
10
10
|
* ```coffeescript [specscript]
|
|
11
11
|
* objectReduceAsync(
|
|
12
12
|
* object Object,
|
|
13
|
-
* reducer (any,
|
|
13
|
+
* reducer (any, element any, key string, object)=>Promise|any,
|
|
14
14
|
* result any,
|
|
15
15
|
* ) -> Promise<result>
|
|
16
16
|
* ```
|
|
@@ -34,7 +34,7 @@ const objectReduceAsync = async function (object, reducer, result, keys, index)
|
|
|
34
34
|
* ```coffeescript [specscript]
|
|
35
35
|
* objectReduce(
|
|
36
36
|
* object Object,
|
|
37
|
-
* reducer (any,
|
|
37
|
+
* reducer (any, element any, key string, object)=>Promise|any,
|
|
38
38
|
* result any,
|
|
39
39
|
* ) -> Promise|result
|
|
40
40
|
* ```
|
|
@@ -4,7 +4,7 @@ export = reducerAllSync;
|
|
|
4
4
|
*
|
|
5
5
|
* @synopsis
|
|
6
6
|
* ```coffeescript [specscript]
|
|
7
|
-
* reducerAllSync(predicate any=> boolean, result boolean,
|
|
7
|
+
* reducerAllSync(predicate any=> boolean, result boolean, element any) -> boolean
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
declare function reducerAllSync(predicate: any, result: any,
|
|
10
|
+
declare function reducerAllSync(predicate: any, result: any, element: any): any;
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @synopsis
|
|
5
5
|
* ```coffeescript [specscript]
|
|
6
|
-
* reducerAllSync(predicate any=> boolean, result boolean,
|
|
6
|
+
* reducerAllSync(predicate any=> boolean, result boolean, element any) -> boolean
|
|
7
7
|
* ```
|
|
8
8
|
*/
|
|
9
|
-
const reducerAllSync = (predicate, result,
|
|
9
|
+
const reducerAllSync = (predicate, result, element) => result ? predicate(element) : false
|
|
10
10
|
|
|
11
11
|
module.exports = reducerAllSync
|
|
@@ -7,4 +7,4 @@ export = reducerAnySync;
|
|
|
7
7
|
* reducerAnySync(predicate T=>boolean) -> anyReducer (any, any)=>any
|
|
8
8
|
* ```
|
|
9
9
|
*/
|
|
10
|
-
declare function reducerAnySync(predicate: any): (result: any,
|
|
10
|
+
declare function reducerAnySync(predicate: any): (result: any, element: any) => any;
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
* reducerAnySync(predicate T=>boolean) -> anyReducer (any, any)=>any
|
|
7
7
|
* ```
|
|
8
8
|
*/
|
|
9
|
-
const reducerAnySync = predicate => function anyReducer(result,
|
|
10
|
-
return result ? true : predicate(
|
|
9
|
+
const reducerAnySync = predicate => function anyReducer(result, element) {
|
|
10
|
+
return result ? true : predicate(element)
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
module.exports = reducerAnySync
|
|
@@ -12,4 +12,4 @@ export = reducerConcat;
|
|
|
12
12
|
* >(reducerA, reducerB) -> pipedReducer (any, T)=>Promise|any
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
|
-
declare function reducerConcat(reducerA: any, reducerB: any): (result: any,
|
|
15
|
+
declare function reducerConcat(reducerA: any, reducerB: any): (result: any, element: any) => any;
|
|
@@ -17,11 +17,11 @@ const curry2 = require('./curry2')
|
|
|
17
17
|
*/
|
|
18
18
|
const reducerConcat = (
|
|
19
19
|
reducerA, reducerB,
|
|
20
|
-
) => function pipedReducer(result,
|
|
21
|
-
const intermediate = reducerA(result,
|
|
20
|
+
) => function pipedReducer(result, element) {
|
|
21
|
+
const intermediate = reducerA(result, element)
|
|
22
22
|
return isPromise(intermediate)
|
|
23
|
-
? intermediate.then(curry2(reducerB, __,
|
|
24
|
-
: reducerB(intermediate,
|
|
23
|
+
? intermediate.then(curry2(reducerB, __, element))
|
|
24
|
+
: reducerB(intermediate, element)
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
module.exports = reducerConcat
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
const reducerConcatSync = (
|
|
11
11
|
reducerA, reducerB,
|
|
12
|
-
) => function pipedReducer(result,
|
|
13
|
-
return reducerB(reducerA(result,
|
|
12
|
+
) => function pipedReducer(result, element) {
|
|
13
|
+
return reducerB(reducerA(result, element), element)
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
module.exports = reducerConcatSync
|
|
@@ -6,7 +6,7 @@ export = reducerEvery;
|
|
|
6
6
|
* ```coffeescript [specscript]
|
|
7
7
|
* reducerEvery(
|
|
8
8
|
* predicate any=>boolean,
|
|
9
|
-
* ) -> reducer(result boolean,
|
|
9
|
+
* ) -> reducer(result boolean, element any)=>boolean
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
|
-
declare function reducerEvery(predicate: any): (result: any,
|
|
12
|
+
declare function reducerEvery(predicate: any): (result: any, element: any) => any;
|
|
@@ -10,14 +10,14 @@ const reducerAllSync = require('./reducerAllSync')
|
|
|
10
10
|
* ```coffeescript [specscript]
|
|
11
11
|
* reducerEvery(
|
|
12
12
|
* predicate any=>boolean,
|
|
13
|
-
* ) -> reducer(result boolean,
|
|
13
|
+
* ) -> reducer(result boolean, element any)=>boolean
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
|
-
const reducerEvery = predicate => function allReducer(result,
|
|
16
|
+
const reducerEvery = predicate => function allReducer(result, element) {
|
|
17
17
|
return result === false ? false
|
|
18
18
|
: isPromise(result) ? result.then(
|
|
19
|
-
curry3(reducerAllSync, predicate, __,
|
|
20
|
-
: result ? predicate(
|
|
19
|
+
curry3(reducerAllSync, predicate, __, element))
|
|
20
|
+
: result ? predicate(element) : false
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
module.exports = reducerEvery
|