Package: effect
Module: Option
Provides an Option containing an empty record {}, used as the starting point for
do notation chains.
When to use
Use when you need to start an Option do notation pipeline before adding
bindings.
Example (Building Option pipelines with do notation)
import { Option, pipe } from "effect"
import * as assert from "node:assert"
const result = pipe(
Option.Do,
Option.bind("x", () => Option.some(2)),
Option.bind("y", () => Option.some(3)),
Option.let("sum", ({ x, y }) => x + y),
Option.filter(({ x, y }) => x * y > 5)
)
assert.deepStrictEqual(result, Option.some({ x: 2, y: 3, sum: 5 }))
See
bind to add Option valueslet to add plain valuesbindTo to start by naming an existing OptionSignature
declare const Do: Option<{}>
Since v2.0.0