Hyperlinkv0.8.0-beta.28

Option

Option.Doconsteffect/Option.ts:2484
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 }))
do notationbindlet_bindTo
Source effect/Option.ts:24841 lines
export const Do: Option<{}> = some({})