Skip to main content

Function: flatten()

Call Signature

flatten<T, E, F>(result): Result<T, E | F>

Defined in: result/flatten/index.ts:29

Flattens a nested Result one level.

Converts Result<Result<T, E>, E> to Result<T, E>.

Type Parameters

T

T

E

E

F

F

Parameters

result

Result<Result<T, E>, F>

A Result containing another Result

Returns

Result<T, E | F>

The inner Result

Example

// Data-first
flatten(ok(ok(42))) // => Ok(42)
flatten(ok(err('inner'))) // => Err('inner')
flatten(err('outer')) // => Err('outer')

// Data-last (in pipe)
pipe(
ok(ok(42)),
flatten
) // => Ok(42)

See

flatMap - for chaining Result-returning functions

Call Signature

flatten<T, E>(): <F>(result) => Result<T, E | F>

Defined in: result/flatten/index.ts:30

Flattens a nested Result one level.

Converts Result<Result<T, E>, E> to Result<T, E>.

Type Parameters

T

T

E

E

Returns

The inner Result

<F>(result): Result<T, E | F>

Type Parameters

F

F

Parameters

result

Result<Result<T, E>, F>

Returns

Result<T, E | F>

Example

// Data-first
flatten(ok(ok(42))) // => Ok(42)
flatten(ok(err('inner'))) // => Err('inner')
flatten(err('outer')) // => Err('outer')

// Data-last (in pipe)
pipe(
ok(ok(42)),
flatten
) // => Ok(42)

See

flatMap - for chaining Result-returning functions