Package: effect
Module: Option
Checks whether the value in a Some satisfies a predicate or refinement.
When to use
Use to check a condition on an optional value without unwrapping
Details
None → falseSome where predicate(value) is true → trueSome where predicate(value) is false → falseOption type on trueExample (Testing a condition)
import { Option } from "effect"
const isEven = (n: number) => n % 2 === 0
console.log(Option.some(2).pipe(Option.exists(isEven)))
// Output: true
console.log(Option.some(1).pipe(Option.exists(isEven)))
// Output: false
console.log(Option.none().pipe(Option.exists(isEven)))
// Output: false
See
filter to keep or discard based on a predicatecontains to test for a specific valueSignature
declare const exists: { <A, B extends A>(refinement: Refinement<NoInfer<A>, B>): (self: Option<A>) => self is Option<B>; <A>(predicate: Predicate<NoInfer<A>>): (self: Option<A>) => boolean; <A, B extends A>(self: Option<A>, refinement: Refinement<A, B>): self is Option<B>; <A>(self: Option<A>, predicate: Predicate<A>): boolean; }
Since v2.0.0