effect-io-ai

Package: effect
Module: Optic

Optic.some

Prism that focuses on the value inside Option.Some.

When to use

Use when you have an Option<A> and want to read/update the inner value only when it is Some.

Details

Example (Accessing Some value)

import { Optic, Option, Result } from "effect"

const _some = Optic.id<Option.Option<number>>().compose(Optic.some())

console.log(Result.isSuccess(_some.getResult(Option.some(42))))
// Output: true

console.log(Result.isFailure(_some.getResult(Option.none())))
// Output: true

console.log(_some.set(10))
// Output: { _tag: "Some", value: 10 }

See

Signature

declare const some: <A>() => Prism<Option.Option<A>, A>

Source

Since v4.0.0