Skip to main content

Type Alias: OptionalReducer<Value, Finished>

OptionalReducer<Value, Finished> = RawOptionalReducerWithFinish<Value, Finished>

Defined in: reducers.d.ts:131

A reducer that reduces by combining pairs of values using RawOptionalReducerWithoutFinish.add and then transforming the final value using RawOptionalReducerWithFinish.finish.

It's identical to RawOptionalReducerWithFinish except its this is bound by normalizeReducer.

Type Parameters​

Value​

Value = unknown

Finished​

Finished = Value

Example​

import { or, pipe, reduce } from 'lfi'

console.log(
pipe(
[1, 2, 3, 4],
reduce(
// This will be an `OptionalReducer` once it's normalized by `reduce`
{
add: (number1, number2) => number1 + number2,
finish: sum => `The sum is ${sum}`,
},
),
or(() => `There are no numbers`),
),
)
//=> The sum is 10
Playground

Since​

v2.0.0