asyncGroup
The asyncGroup() function groups values from an async iterable into an object of arrays with asynchronous grouping logic.
Interactive example
Syntax
Classic signature
typescript
function asyncGroup<
GenericElement extends unknown,
GenericOutput extends GroupFunctionOutput,
>(
asyncIterator: AsyncIterable<GenericElement>,
theFunction: (
element: GenericElement,
params: GroupFunctionParams
) => MaybePromise<GenericOutput>,
): Promise<GroupResult<GenericOutput>>Curried signature
typescript
function asyncGroup<
GenericElement extends unknown,
GenericOutput extends GroupFunctionOutput,
>(
theFunction: (
element: GenericElement,
params: GroupFunctionParams
) => MaybePromise<GenericOutput>,
): (asyncIterator: AsyncIterable<GenericElement>) => Promise<GroupResult<GenericOutput>>Parameters
asyncIterator: The async iterable source to group.theFunction: Async grouping function that receives:element: The current element.params.index: The current index.params.output(group, value): Helper to build a typed group output.
Return value
A Promise resolving to an object where each key is a group name and each value is an array of grouped values. Keys are optional because a group can be absent in the final result.
See also
group- Synchronous version of asyncGroupasyncReduce- Reduces async iterables to a single value
