Packages

trait Bracket3[F[-_, +_, +_]] extends Error3[F]

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Bracket3
  2. Error3
  3. ErrorAccumulatingOps3
  4. Monad3
  5. ApplicativeError3
  6. Bifunctor3
  7. Guarantee3
  8. Applicative3
  9. Functor3
  10. RootBifunctor
  11. Root
  12. PredefinedHelper
  13. DivergenceHelper
  14. AnyRef
  15. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Divergence = Nondivergent
    Definition Classes
    DivergenceHelper
  2. type IsPredefined = NotPredefined
    Definition Classes
    PredefinedHelper

Abstract Value Members

  1. abstract def bracketCase[R, E, A, B](acquire: F[R, E, A])(release: (A, Exit[E, B]) => F[R, Nothing, Unit])(use: (A) => F[R, E, B]): F[R, E, B]
  2. abstract def catchAll[R, E, A, E2](r: F[R, E, A])(f: (E) => F[R, E2, A]): F[R, E2, A]
    Definition Classes
    Error3
  3. abstract def fail[E](v: => E): F[Any, E, Nothing]
    Definition Classes
    ApplicativeError3
  4. abstract def flatMap[R, E, A, B](r: F[R, E, A])(f: (A) => F[R, E, B]): F[R, E, B]
    Definition Classes
    Monad3
  5. abstract def fromEither[E, V](effect: => Either[E, V]): F[Any, E, V]
    Definition Classes
    ApplicativeError3
  6. abstract def fromOption[E, A](errorOnNone: => E)(effect: => Option[A]): F[Any, E, A]
    Definition Classes
    ApplicativeError3
  7. abstract def fromTry[A](effect: => Try[A]): F[Any, Throwable, A]
    Definition Classes
    ApplicativeError3
  8. abstract def pure[A](a: A): F[Any, Nothing, A]
    Definition Classes
    Applicative3

Concrete Value Members

  1. def *>[R, E, A, B](f: F[R, E, A], next: => F[R, E, B]): F[R, E, B]

    execute two operations in order, return result of second operation

    execute two operations in order, return result of second operation

    Definition Classes
    Monad3Applicative3
  2. def <*[R, E, A, B](f: F[R, E, A], next: => F[R, E, B]): F[R, E, A]

    execute two operations in order, same as *>, but return result of first operation

    execute two operations in order, same as *>, but return result of first operation

    Definition Classes
    Monad3Applicative3
  3. def InnerF: Functor3[F]
    Definition Classes
    ApplicativeError3Bifunctor3
  4. def as[R, E, A, B](r: F[R, E, A])(v: => B): F[R, E, B]
    Definition Classes
    Functor3
  5. def attempt[R, E, A](r: F[R, E, A]): F[R, Nothing, Either[E, A]]
    Definition Classes
    Error3
  6. def bimap[R, E, A, E2, B](r: F[R, E, A])(f: (E) => E2, g: (A) => B): F[R, E2, B]
    Definition Classes
    Error3Bifunctor3
  7. def bracket[R, E, A, B](acquire: F[R, E, A])(release: (A) => F[R, Nothing, Unit])(use: (A) => F[R, E, B]): F[R, E, B]
  8. final def bracketOnFailure[R, E, A, B](acquire: F[R, E, A])(cleanupOnFailure: (A, Failure[E]) => F[R, Nothing, Unit])(use: (A) => F[R, E, B]): F[R, E, B]

    Run release action only on a failure – _any failure_, INCLUDING interruption.

    Run release action only on a failure – _any failure_, INCLUDING interruption. Do not run release action if use finished successfully.

  9. def catchSome[R, E, A, E1 >: E](r: F[R, E, A])(f: PartialFunction[E, F[R, E1, A]]): F[R, E1, A]
    Definition Classes
    Error3
  10. def collect[R, E, A, B](l: Iterable[A])(f: (A) => F[R, E, Option[B]]): F[R, E, List[B]]
    Definition Classes
    Applicative3
  11. def collectFirst[R, E, A, B](l: Iterable[A])(f: (A) => F[R, E, Option[B]]): F[R, E, Option[B]]
    Definition Classes
    Monad3
  12. def filter[R, E, A](l: Iterable[A])(f: (A) => F[R, E, Boolean]): F[R, E, List[A]]
    Definition Classes
    Applicative3
  13. def find[R, E, A](l: Iterable[A])(f: (A) => F[R, E, Boolean]): F[R, E, Option[A]]
    Definition Classes
    Monad3
  14. def flatSequence[R, E, A](l: Iterable[F[R, E, Iterable[A]]]): F[R, E, List[A]]
    Definition Classes
    Applicative3
  15. def flatSequenceAccumErrors[ColR[x] <: IterableOnce[x], ColIn[x] <: IterableOnce[x], ColL[_], R, E, A](col: ColR[F[R, ColL[E], ColIn[A]]])(implicit buildR: Factory[A, ColR[A]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], ColR[A]]

    flatSequence with error accumulation

    flatSequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  16. def flatTraverse[R, E, A, B](l: Iterable[A])(f: (A) => F[R, E, Iterable[B]]): F[R, E, List[B]]
    Definition Classes
    Applicative3
  17. def flatTraverseAccumErrors[ColR[x] <: IterableOnce[x], ColIn[x] <: IterableOnce[x], ColL[_], R, E, A, B](col: ColR[A])(f: (A) => F[R, ColL[E], ColIn[B]])(implicit buildR: Factory[B, ColR[B]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], ColR[B]]

    flatTraverse with error accumulation

    flatTraverse with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  18. def flatten[R, E, A](r: F[R, E, F[R, E, A]]): F[R, E, A]
    Definition Classes
    Monad3
  19. def flip[R, E, A](r: F[R, E, A]): F[R, A, E]
    Definition Classes
    Error3
  20. def foldLeft[R, E, A, AC](l: Iterable[A])(z: AC)(f: (AC, A) => F[R, E, AC]): F[R, E, AC]
    Definition Classes
    Monad3
  21. final def forever[R, E, A](r: F[R, E, A]): F[R, E, Nothing]
    Definition Classes
    Applicative3
    Annotations
    @inline()
  22. def fromOption[R, E, A](errorOnNone: => E, r: F[R, E, Option[A]]): F[R, E, A]

    Extracts the optional value or fails with the errorOnNone error

    Extracts the optional value or fails with the errorOnNone error

    Definition Classes
    Error3
  23. def fromOptionF[R, E, A](fallbackOnNone: => F[R, E, A], r: F[R, E, Option[A]]): F[R, E, A]

    Extracts the optional value, or executes the fallbackOnNone effect

    Extracts the optional value, or executes the fallbackOnNone effect

    Definition Classes
    Monad3
  24. def fromOptionOr[R, E, A](valueOnNone: => A, r: F[R, E, Option[A]]): F[R, E, A]

    Extracts the optional value, or returns the given valueOnNone value

    Extracts the optional value, or returns the given valueOnNone value

    Definition Classes
    Functor3
  25. def guarantee[R, E, A](f: F[R, E, A], cleanup: F[R, Nothing, Unit]): F[R, E, A]
    Definition Classes
    Bracket3Guarantee3
  26. def guaranteeCase[R, E, A](f: F[R, E, A], cleanup: (Exit[E, A]) => F[R, Nothing, Unit]): F[R, E, A]
  27. final def guaranteeExceptOnInterrupt[R, E, A](f: F[R, E, A], cleanupOnNonInterruption: (Either[Termination, Either[Error[E], Success[A]]]) => F[R, Nothing, Unit]): F[R, E, A]

    Run cleanup on both _success_ and _failure_, if the failure IS NOT an interruption.

  28. final def guaranteeOnFailure[R, E, A](f: F[R, E, A], cleanupOnFailure: (Failure[E]) => F[R, Nothing, Unit]): F[R, E, A]

    Run cleanup only on a failure – _any failure_, INCLUDING interruption.

    Run cleanup only on a failure – _any failure_, INCLUDING interruption. Do not run cleanup if use finished successfully.

  29. final def guaranteeOnInterrupt[R, E, A](f: F[R, E, A], cleanupOnInterruption: (Interruption) => F[R, Nothing, Unit]): F[R, E, A]

    Run cleanup only on interruption.

    Run cleanup only on interruption. Do not run cleanup if use finished successfully.

  30. final def ifThenElse[R, E, E1, A](cond: F[R, E, Boolean])(ifTrue: => F[R, E1, A], ifFalse: => F[R, E1, A])(implicit ev: <:<[E, E1]): F[R, E1, A]
    Definition Classes
    Monad3
    Annotations
    @inline()
  31. final def ifThenElse[R, E, A](cond: Boolean)(ifTrue: => F[R, E, A], ifFalse: => F[R, E, A]): F[R, E, A]
    Definition Classes
    Applicative3
    Annotations
    @inline()
  32. def iterateUntil[R, E, A](r: F[R, E, A])(p: (A) => Boolean): F[R, E, A]

    Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

    Execute an action repeatedly until its result satisfies the given predicate and return that result, discarding all others.

    Definition Classes
    Monad3
  33. def iterateUntilF[R, E, A](init: A)(f: (A) => F[R, E, A])(p: (A) => Boolean): F[R, E, A]

    Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

    Apply an effectful function iteratively until its result satisfies the given predicate and return that result.

    Definition Classes
    Monad3
  34. def iterateWhile[R, E, A](r: F[R, E, A])(p: (A) => Boolean): F[R, E, A]

    Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.

    Execute an action repeatedly until its result fails to satisfy the given predicate and return that result, discarding all others.

    Definition Classes
    Monad3
  35. def iterateWhileF[R, E, A](init: A)(f: (A) => F[R, E, A])(p: (A) => Boolean): F[R, E, A]

    Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

    Apply an effectful function iteratively until its result fails to satisfy the given predicate and return that result.

    Definition Classes
    Monad3
  36. def leftFlatMap[R, E, A, E2](r: F[R, E, A])(f: (E) => F[R, Nothing, E2]): F[R, E2, A]
    Definition Classes
    Error3
  37. def leftMap[R, E, A, E2](r: F[R, E, A])(f: (E) => E2): F[R, E2, A]
    Definition Classes
    Bifunctor3
  38. def leftMap2[R, E, A, E2, E3](firstOp: F[R, E, A], secondOp: => F[R, E2, A])(f: (E, E2) => E3): F[R, E3, A]

    map errors from two operations into a new error if both fail

    map errors from two operations into a new error if both fail

    Definition Classes
    Error3ApplicativeError3
  39. def map[R, E, A, B](r: F[R, E, A])(f: (A) => B): F[R, E, B]
    Definition Classes
    Monad3Functor3
  40. def map2[R, E, A, B, C](r1: F[R, E, A], r2: => F[R, E, B])(f: (A, B) => C): F[R, E, C]

    execute two operations in order, map their results

    execute two operations in order, map their results

    Definition Classes
    Monad3Applicative3
  41. def orElse[R, E, A, E2](r: F[R, E, A], f: => F[R, E2, A]): F[R, E2, A]

    execute second operation only if the first one fails

    execute second operation only if the first one fails

    Definition Classes
    Error3ApplicativeError3
  42. def partition[R, E, A](l: Iterable[F[R, E, A]]): F[R, Nothing, (List[E], List[A])]
    Definition Classes
    Error3
    Annotations
    @nowarn()
  43. def redeem[R, E, A, E2, B](r: F[R, E, A])(err: (E) => F[R, E2, B], succ: (A) => F[R, E2, B]): F[R, E2, B]
    Definition Classes
    Error3
  44. def redeemPure[R, E, A, B](r: F[R, E, A])(err: (E) => B, succ: (A) => B): F[R, Nothing, B]
    Definition Classes
    Error3
  45. def retryUntil[R, E, A](r: F[R, E, A])(f: (E) => Boolean): F[R, E, A]

    Retries this effect until its error satisfies the specified predicate.

    Retries this effect until its error satisfies the specified predicate.

    Definition Classes
    Error3
  46. def retryUntilF[R, R1 <: R, E, A](r: F[R, E, A])(f: (E) => F[R1, Nothing, Boolean]): F[R1, E, A]

    Retries this effect until its error satisfies the specified effectful predicate.

    Retries this effect until its error satisfies the specified effectful predicate.

    Definition Classes
    Error3
  47. def retryWhile[R, E, A](r: F[R, E, A])(f: (E) => Boolean): F[R, E, A]

    Retries this effect while its error satisfies the specified predicate.

    Retries this effect while its error satisfies the specified predicate.

    Definition Classes
    Error3
  48. def retryWhileF[R, R1 <: R, E, A](r: F[R, E, A])(f: (E) => F[R1, Nothing, Boolean]): F[R1, E, A]

    Retries this effect while its error satisfies the specified effectful predicate.

    Retries this effect while its error satisfies the specified effectful predicate.

    Definition Classes
    Error3
  49. def sequence[R, E, A](l: Iterable[F[R, E, A]]): F[R, E, List[A]]
    Definition Classes
    Applicative3
  50. def sequenceAccumErrors[ColR[x] <: IterableOnce[x], ColL[_], R, E, A](col: ColR[F[R, ColL[E], A]])(implicit buildR: Factory[A, ColR[A]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], ColR[A]]

    sequence with error accumulation

    sequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  51. def sequenceAccumErrorsNEList[ColR[x] <: IterableOnce[x], R, E, A](col: ColR[F[R, E, A]])(implicit buildR: Factory[A, ColR[A]]): F[R, NEList[E], ColR[A]]

    sequence with error accumulation

    sequence with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  52. def sequenceAccumErrors_[ColR[x] <: IterableOnce[x], ColL[_], R, E, A](col: ColR[F[R, ColL[E], A]])(implicit buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], Unit]

    sequence_ with error accumulation

    sequence_ with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  53. def sequence_[R, E](l: Iterable[F[R, E, Unit]]): F[R, E, Unit]
    Definition Classes
    Applicative3
  54. def tailRecM[R, E, A, B](a: A)(f: (A) => F[R, E, Either[A, B]]): F[R, E, B]
    Definition Classes
    Monad3
  55. def tap[R, E, A](r: F[R, E, A], f: (A) => F[R, E, Unit]): F[R, E, A]
    Definition Classes
    Monad3
  56. def tapBoth[R, E, A, E1 >: E](r: F[R, E, A])(err: (E) => F[R, E1, Unit], succ: (A) => F[R, E1, Unit]): F[R, E1, A]
    Definition Classes
    Error3
  57. def tapError[R, E, A, E1 >: E](r: F[R, E, A])(f: (E) => F[R, E1, Unit]): F[R, E1, A]
    Definition Classes
    Error3
  58. final def traverse[R, E, A, B](o: Option[A])(f: (A) => F[R, E, B]): F[R, E, Option[B]]
    Definition Classes
    Applicative3
    Annotations
    @inline()
  59. def traverse[R, E, A, B](l: Iterable[A])(f: (A) => F[R, E, B]): F[R, E, List[B]]
    Definition Classes
    Applicative3
  60. def traverseAccumErrors[ColR[x] <: IterableOnce[x], ColL[_], R, E, A, B](col: ColR[A])(f: (A) => F[R, ColL[E], B])(implicit buildR: Factory[B, ColR[B]], buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], ColR[B]]

    traverse with error accumulation

    traverse with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  61. def traverseAccumErrors_[ColR[x] <: IterableOnce[x], ColL[_], R, E, A](col: ColR[A])(f: (A) => F[R, ColL[E], Unit])(implicit buildL: Factory[E, ColL[E]], iterL: (ColL[E]) => IterableOnce[E]): F[R, ColL[E], Unit]

    traverse_ with error accumulation

    traverse_ with error accumulation

    Definition Classes
    ErrorAccumulatingOps3
  62. def traverse_[R, E, A](l: Iterable[A])(f: (A) => F[R, E, Unit]): F[R, E, Unit]
    Definition Classes
    Applicative3
  63. def unit: F[Any, Nothing, Unit]
    Definition Classes
    Applicative3
  64. final def unless[R, E, E1](cond: F[R, E, Boolean])(ifFalse: => F[R, E1, Unit])(implicit ev: <:<[E, E1]): F[R, E1, Unit]
    Definition Classes
    Monad3
    Annotations
    @inline()
  65. final def unless[R, E](cond: Boolean)(ifFalse: => F[R, E, Unit]): F[R, E, Unit]
    Definition Classes
    Applicative3
    Annotations
    @inline()
  66. def void[R, E, A](r: F[R, E, A]): F[R, E, Unit]
    Definition Classes
    Functor3
  67. final def when[R, E, E1](cond: F[R, E, Boolean])(ifTrue: => F[R, E1, Unit])(implicit ev: <:<[E, E1]): F[R, E1, Unit]
    Definition Classes
    Monad3
    Annotations
    @inline()
  68. final def when[R, E](cond: Boolean)(ifTrue: => F[R, E, Unit]): F[R, E, Unit]
    Definition Classes
    Applicative3
    Annotations
    @inline()
  69. final def widen[R, E, A, A1](r: F[R, E, A])(implicit ev: <:<[A, A1]): F[R, E, A1]
    Definition Classes
    Functor3
    Annotations
    @inline()
  70. final def widenBoth[R, E, A, E1, A1](r: F[R, E, A])(implicit ev: <:<[E, E1], ev2: <:<[A, A1]): F[R, E1, A1]
    Definition Classes
    Bifunctor3
    Annotations
    @inline()
  71. final def widenError[R, E, A, E1](r: F[R, E, A])(implicit ev: <:<[E, E1]): F[R, E1, A]
    Definition Classes
    Bifunctor3
    Annotations
    @inline()
  72. final def withFilter[R, E, A](r: F[R, E, A])(predicate: (A) => Boolean)(implicit filter: WithFilter[E], pos: SourceFilePositionMaterializer): F[R, E, A]

    for-comprehensions sugar:

    for-comprehensions sugar:

    for {
      (1, 2) <- F.pure((2, 1))
    } yield ()

    Use widenError to for pattern matching with non-Throwable errors:

    val f = for {
      (1, 2) <- F.pure((2, 1)).widenError[Option[Unit]]
    } yield ()
    // f: F[Option[Unit], Unit] = F.fail(Some(())
    Definition Classes
    Error3
    Annotations
    @inline()