| Server IP : 217.160.0.212 / Your IP : 216.73.216.141 Web Server : Apache System : Linux www 6.18.51-i1-ampere #1196 SMP Fri Sep 11 20:43:55 CEST 2026 aarch64 User : sws1073854427 ( 1073854427) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /usr/share/nodejs/p-reduce/ |
Upload File : |
declare namespace pReduce {
type ReducerFunction<ValueType, ReducedValueType = ValueType> = (
previousValue: ReducedValueType,
currentValue: ValueType,
index: number
) => PromiseLike<ReducedValueType> | ReducedValueType;
}
declare const pReduce: {
/**
Reduce a list of values using promises into a promise for a value.
@param input - Iterated over serially in the `reducer` function.
@param reducer - Expected to return a value. If a `Promise` is returned, it's awaited before continuing with the next iteration.
@param initialValue - Value to use as `previousValue` in the first `reducer` invocation.
@returns A `Promise` that is fulfilled when all promises in `input` and ones returned from `reducer` are fulfilled, or rejects if any of the promises reject. The resolved value is the result of the reduction.
@example
```
import pReduce = require('p-reduce');
import humanInfo from 'human-info'; // Not a real module
(async () => {
const names = [
getUser('sindresorhus').then(info => info.name),
'Addy Osmani',
'Pascal Hartig',
'Stephen Sawchuk'
];
const totalAge = await pReduce(names, async (total, name) => {
const info = await humanInfo(name);
return total + info.age;
}, 0);
console.log(totalAge);
//=> 125
})();
```
*/
<ValueType, ReducedValueType = ValueType>(
input: Iterable<PromiseLike<ValueType> | ValueType>,
reducer: pReduce.ReducerFunction<ValueType, ReducedValueType>,
initialValue?: ReducedValueType
): Promise<ReducedValueType>;
// TODO: Remove this for the next major release, refactor the whole definition to:
// declare function pReduce<ValueType, ReducedValueType = ValueType>(
// input: Iterable<PromiseLike<ValueType> | ValueType>,
// reducer: pReduce.ReducerFunction<ValueType, ReducedValueType>,
// initialValue?: ReducedValueType
// ): Promise<ReducedValueType>;
// export = pReduce;
default: typeof pReduce;
};
export = pReduce;