Hyperlinkv0.8.0-beta.28

Array

Array.getSuccessesconsteffect/Array.ts:3670
<T extends Iterable<Result.Result<any, any>>>(self: T): Array<
  Result.Result.Success<ReadonlyArray.Infer<T>>
>

Extracts all success values from an iterable of Results, discarding failures.

When to use

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

Example (Extracting successes)

import { Array, Result } from "effect"

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

  return out
}