Hyperlinkv0.8.0-beta.28

Array

Array.getSomesconsteffect/Array.ts:3597
<T extends Iterable<Option.Option<X>>, X = any>(self: T): Array<
  Option.Option.Value<ReadonlyArray.Infer<T>>
>

Extracts all Some values from an iterable of Options, discarding Nones.

When to use

Use to collect only present values from an iterable of Option values while discarding None values.

Example (Extracting Some values)

import { Array, Option } from "effect"

console.log(Array.getSomes([Option.some(1), Option.none(), Option.some(2)])) // [1, 2]
Source effect/Array.ts:359711 lines
export const getSomes: <T extends Iterable<Option.Option<X>>, X = any>(
  self: T
) => Array<Option.Option.Value<ReadonlyArray.Infer<T>>> = (self: any) => {
  const out: Array<any> = []
  for (const a of self) {
    if (Option.isSome(a)) {
      out.push(a.value)
    }
  }
  return out
}