Hyperlinkv0.8.0-beta.28

Array

Array.getFailuresconsteffect/Array.ts:3633
<T extends Iterable<Result.Result<any, any>>>(self: T): Array<
  Result.Result.Failure<ReadonlyArray.Infer<T>>
>

Extracts all failure values from an iterable of Results, discarding successes.

When to use

Use when you can drop the success channel and only need the failure payloads, not the original result wrappers.

Example (Extracting failures)

import { Array, Result } from "effect"

console.log(Array.getFailures([Result.succeed(1), Result.fail("err"), Result.succeed(2)]))
// ["err"]
Source effect/Array.ts:363312 lines
export const getFailures = <T extends Iterable<Result.Result<any, any>>>(
  self: T
): Array<Result.Result.Failure<ReadonlyArray.Infer<T>>> => {
  const out: Array<any> = []
  for (const a of self) {
    if (Result.isFailure(a)) {
      out.push(a.failure)
    }
  }

  return out
}