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