MonadError

public protocol MonadError : ApplicativeError, Monad

A MonadError has the same capabilities as a Monad and an ApplicativeError.

  • ensure(_:_:_:) Extension method

    Checks if the value of a computation matches a predicate, raising an error if not.

    Declaration

    Swift

    static func ensure<A>(_ fa: Kind<Self, A>, _ error: @escaping () -> E, _ predicate: @escaping (A) -> Bool) -> Kind<Self, A>

    Parameters

    fa

    A computation in the context implementing this instance.

    error

    A function that produces an error of the type this instance is able to handle.

    predicate

    A boolean predicate to test the value of the computation.

    Return Value

    A value or an error in the context implementing this instance.