Package: effect
Module: Option
Flattens a nested Option<Option<A>> into Option<A>.
When to use
Use when you need to remove one layer of nested Option.
Details
Some(Some(value)) → Some(value)Some(None) → NoneNone → NoneExample (Flattening nested Options)
import { Option } from "effect"
console.log(Option.flatten(Option.some(Option.some("value"))))
// Output: { _id: 'Option', _tag: 'Some', value: 'value' }
console.log(Option.flatten(Option.some(Option.none())))
// Output: { _id: 'Option', _tag: 'None' }
See
flatMap which is map + flattenSignature
declare const flatten: <A>(self: Option<Option<A>>) => Option<A>
Since v2.0.0