Skip to main content

Variable: toGrouped()

const toGrouped: {<Key, Value, InnerAcc, InnerFinished, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>; <Value, InnerAcc, InnerFinished, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>; <Key, Value, InnerAcc, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>; <Value, InnerAcc, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>; <Key, Value, InnerFinished, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>; <Value, InnerFinished, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>; <Key, Value, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>; <Value, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>; <Key, Value, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>; <Value>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>; }

Defined in: collections.d.ts:203

Returns a Reducer that reduces key-value pairs using outerReducer and reduces values with the same key using innerReducer.

Call Signature

<Key, Value, InnerAcc, InnerFinished, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

Value

Value

InnerAcc

InnerAcc

InnerFinished

InnerFinished

InnerThis

InnerThis

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

innerReducer

Readonly<RawReducerWithFinish<Value, InnerAcc, InnerFinished, InnerThis>>

outerReducer

Readonly<RawKeyedReducer<Key, InnerAcc | InnerFinished, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Value, InnerAcc, InnerFinished, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Value

Value

InnerAcc

InnerAcc

InnerFinished

InnerFinished

InnerThis

InnerThis

Parameters

innerReducer

Readonly<RawReducerWithFinish<Value, InnerAcc, InnerFinished, InnerThis>>

Returns

<Key, OuterAcc, OuterThis>(outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

outerReducer

Readonly<RawKeyedReducer<Key, InnerAcc | InnerFinished, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Key, Value, InnerAcc, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

Value

Value

InnerAcc

InnerAcc

InnerThis

InnerThis

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

innerReducer

Readonly<RawReducerWithoutFinish<Value, InnerAcc, InnerThis>>

outerReducer

Readonly<RawKeyedReducer<Key, InnerAcc, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Value, InnerAcc, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Value

Value

InnerAcc

InnerAcc

InnerThis

InnerThis

Parameters

innerReducer

Readonly<RawReducerWithoutFinish<Value, InnerAcc, InnerThis>>

Returns

<Key, OuterAcc, OuterThis>(outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

outerReducer

Readonly<RawKeyedReducer<Key, InnerAcc, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Key, Value, InnerFinished, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

Value

Value

InnerFinished

InnerFinished

InnerThis

InnerThis

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

innerReducer

Readonly<RawOptionalReducerWithFinish<Value, InnerFinished, InnerThis>>

outerReducer

Readonly<RawKeyedReducer<Key, Value | InnerFinished, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Value, InnerFinished, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Value

Value

InnerFinished

InnerFinished

InnerThis

InnerThis

Parameters

innerReducer

Readonly<RawOptionalReducerWithFinish<Value, InnerFinished, InnerThis>>

Returns

<Key, OuterAcc, OuterThis>(outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

outerReducer

Readonly<RawKeyedReducer<Key, Value | InnerFinished, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Key, Value, InnerThis, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

Value

Value

InnerThis

InnerThis

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

innerReducer

Readonly<RawOptionalReducerWithoutFinish<Value, InnerThis>>

outerReducer

Readonly<RawKeyedReducer<Key, Value, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Value, InnerThis>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Value

Value

InnerThis

InnerThis

Parameters

innerReducer

Readonly<RawOptionalReducerWithoutFinish<Value, InnerThis>>

Returns

<Key, OuterAcc, OuterThis>(outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

outerReducer

Readonly<RawKeyedReducer<Key, Value, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Key, Value, OuterAcc, OuterThis>(innerReducer, outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

Value

Value

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

innerReducer

FunctionReducer<Value>

outerReducer

Readonly<RawKeyedReducer<Key, Value, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Call Signature

<Value>(innerReducer): <Key, OuterAcc, OuterThis>(outerReducer) => Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Value

Value

Parameters

innerReducer

FunctionReducer<Value>

Returns

<Key, OuterAcc, OuterThis>(outerReducer): Reducer<readonly [Key, Value], never, OuterAcc>

Type Parameters

Key

Key

OuterAcc

OuterAcc

OuterThis

OuterThis

Parameters

outerReducer

Readonly<RawKeyedReducer<Key, Value, OuterAcc, OuterThis>>

Returns

Reducer<readonly [Key, Value], never, OuterAcc>

Example

import { map, pipe, reduce, toArray, toGrouped, toMap } from 'lfi'

console.log(
pipe(
[`sloth`, `lazy`, `sleep`],
map(word => [word.length, word]),
reduce(toGrouped(toArray(), toMap())),
),
)
//=> Map(2) {
//=> 5 => [ 'sloth', 'sleep' ],
//=> 4 => [ 'lazy' ]
//=> }
Playground

Since

v2.0.0