Package: effect
Module: Option
Similar to Effect.gen, Option.gen provides a more readable,
generator-based syntax for working with Option values, making code that
involves Option easier to write and understand. This approach is similar to
using async/await but tailored for Option.
Example (Using Option.gen to Create a Combined Value)
import { Option } from "effect"
const maybeName: Option.Option<string> = Option.some("John")
const maybeAge: Option.Option<number> = Option.some(25)
const person = Option.gen(function* () {
const name = (yield* maybeName).toUpperCase()
const age = yield* maybeAge
return { name, age }
})
console.log(person)
// Output:
// { _id: 'Option', _tag: 'Some', value: { name: 'JOHN', age: 25 } }
Signature
declare const gen: Gen.Gen<OptionTypeLambda, Gen.Adapter<OptionTypeLambda>>
Since v2.0.0