Object/Trait

zio

ZIO

Related Docs: trait ZIO | package zio

Permalink

object ZIO extends ZIOCompanionPlatformSpecific with ZIOCompanionVersionSpecific with Serializable

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZIO
  2. Serializable
  3. Serializable
  4. ZIOCompanionVersionSpecific
  5. ZIOCompanionPlatformSpecific
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class Acquire[-R, +E, +A] extends AnyVal

    Permalink
  2. final class AcquireExit[-R, +E, +A] extends AnyVal

    Permalink
  3. abstract class CanFilter[+E] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  4. final class EnvironmentWithPartiallyApplied[R] extends AnyVal

    Permalink
  5. final class EnvironmentWithZIOPartiallyApplied[R] extends AnyVal

    Permalink
  6. final class GetStateWithPartiallyApplied[S] extends AnyVal

    Permalink
  7. final class Grafter extends AnyVal

    Permalink
  8. final class IfZIO[R, E] extends AnyVal

    Permalink
  9. sealed trait InterruptibilityRestorer extends AnyRef

    Permalink
  10. final class LogAnnotate extends AnyRef

    Permalink
  11. final class LogSpan extends AnyVal

    Permalink
  12. final class ProvideSomeLayer[R0, -R, +E, +A] extends AnyVal

    Permalink
  13. final class Release[-R, +E, +A] extends AnyRef

    Permalink
  14. final class ReleaseExit[-R, +E, E1, +A, B] extends AnyRef

    Permalink
  15. final class ScopedPartiallyApplied[R] extends AnyVal

    Permalink
  16. final class ServiceAtPartiallyApplied[Service] extends AnyVal

    Permalink
  17. final class ServiceWithPartiallyApplied[Service] extends AnyVal

    Permalink
  18. final class ServiceWithZIOPartiallyApplied[Service] extends AnyVal

    Permalink
  19. final class StatefulPartiallyApplied[R] extends AnyVal

    Permalink
  20. final class Tagged extends AnyRef

    Permalink
  21. final class TimeoutTo[-R, +E, +A, +B] extends AnyRef

    Permalink
  22. final class UnlessZIO[R, E] extends AnyVal

    Permalink
  23. final class UpdateService[-R, +E, +A, M] extends AnyVal

    Permalink
  24. final class UpdateServiceAt[-R, +E, +A, Service] extends AnyVal

    Permalink
  25. final class UsingPartiallyApplied[R] extends AnyVal

    Permalink
  26. final class WhenZIO[R, E] extends AnyVal

    Permalink
  27. implicit final class ZIOAutoCloseableOps[R, E, A <: AutoCloseable] extends AnyVal

    Permalink
  28. implicit final class ZIOBooleanOps[R, E] extends AnyVal

    Permalink
  29. sealed trait ZIOConstructor[-Environment, +Error, In] extends AnyRef

    Permalink

    A ZIOConstructor[Input] knows how to construct a ZIO value from an input of type Input.

    A ZIOConstructor[Input] knows how to construct a ZIO value from an input of type Input. This allows the type of the ZIO value constructed to depend on Input. The constructed ZIO value is guaranteed not to require any services not included in Environment or to be able to fail in any ways not described by Error.

  30. trait ZIOConstructorLowPriority1 extends ZIOConstructorLowPriority2

    Permalink
  31. trait ZIOConstructorLowPriority2 extends ZIOConstructorLowPriority3

    Permalink
  32. trait ZIOConstructorLowPriority3 extends AnyRef

    Permalink
  33. implicit final class ZioRefineToOrDieOps[R, E <: Throwable, A] extends AnyVal

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object CanFilter

    Permalink
  5. object InterruptibilityRestorer

    Permalink
  6. final lazy val Parallelism: FiberRef[Option[Int]]

    Permalink

    The level of parallelism for parallel operators.

  7. object ZIOConstructor extends ZIOConstructorLowPriority1

    Permalink
  8. def absolve[R, E, A](v: ⇒ ZIO[R, E, Either[E, A]])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Submerges the error case of an Either into the ZIO.

    Submerges the error case of an Either into the ZIO. The inverse operation of IO.either.

  9. def acquireRelease[R, R1, E, A](acquire: ⇒ ZIO[R, E, A])(release: (A) ⇒ ZIO[R1, Nothing, Any])(implicit trace: Trace): ZIO[R with R1 with Scope, E, A]

    Permalink

    Constructs a scoped resource from an acquire and release effect.

    Constructs a scoped resource from an acquire and release effect. If acquire successfully completes execution then release will be added to the finalizers associated with the scope of this effect and is guaranteed to be run when the scope is closed.

    The acquire and release effects will be run uninterruptibly.

  10. def acquireReleaseExit[R, R1, E, A](acquire: ⇒ ZIO[R, E, A])(release: (A, Exit[Any, Any]) ⇒ ZIO[R1, Nothing, Any])(implicit trace: Trace): ZIO[R with R1 with Scope, E, A]

    Permalink

    A more powerful variant of acquireRelease that allows the release effect to depend on the Exit value specified when the scope is closed.

  11. def acquireReleaseExitWith[R, E, A](acquire: ⇒ ZIO[R, E, A]): AcquireExit[R, E, A]

    Permalink

    Acquires a resource, uses the resource, and then releases the resource.

    Acquires a resource, uses the resource, and then releases the resource. Neither the acquisition nor the release will be interrupted, and the resource is guaranteed to be released, so long as the acquire effect succeeds. If use fails, then after release, the returned effect will fail with the same error.

  12. def acquireReleaseInterruptible[R, R1, E, A](acquire: ⇒ ZIO[R, E, A])(release: ZIO[R1, Nothing, Any])(implicit trace: Trace): ZIO[R with R1 with Scope, E, A]

    Permalink

    A variant of acquireRelease that allows the acquire effect to be interruptible.

    A variant of acquireRelease that allows the acquire effect to be interruptible. Since the acquire effect could be interrupted after partially acquiring resources, the release effect is not allowed to access the resource produced by acquire and must independently determine what finalization, if any, needs to be performed (e.g. by examining in memory state).

  13. def acquireReleaseInterruptibleExit[R, R1, E, A](acquire: ⇒ ZIO[R, E, A])(release: (Exit[Any, Any]) ⇒ ZIO[R1, Nothing, Any])(implicit trace: Trace): ZIO[R with R1 with Scope, E, A]

    Permalink

    A more powerful variant of acquireReleaseInterruptible that allows the release effect to depend on the Exit value specified when the scope is closed.

  14. def acquireReleaseWith[R, E, A](acquire: ⇒ ZIO[R, E, A]): Acquire[R, E, A]

    Permalink

    Given an effect representing acquisition of a resource (for example, opening a file, launching a thread, etc.), acquireReleaseWith can be used to ensure the acquisition is not interrupted and the resource is always released.

    Given an effect representing acquisition of a resource (for example, opening a file, launching a thread, etc.), acquireReleaseWith can be used to ensure the acquisition is not interrupted and the resource is always released.

    The function does two things:

    1. Ensures this acquire effect will not be interrupted. Of course, acquisition may fail for internal reasons (an uncaught exception).
    2. Ensures the release effect will not be interrupted, and will be executed so long as this effect successfully acquires the resource.

    In between acquisition and release of the resource, the use effect is executed.

    If the release effect fails, then the entire effect will fail even if the use effect succeeds. If this fail-fast behavior is not desired, errors produced by the release effect can be caught and ignored.

    ZIO.acquireReleaseWith(openFile("data.json"))(closeFile) { file =>
      for {
        header <- readHeader(file)
        ...
      } yield result
    }
  15. def addFinalizer[R](finalizer: ⇒ URIO[R, Any])(implicit trace: Trace): ZIO[R with Scope, Nothing, Any]

    Permalink

    Adds a finalizer to the scope of this effect.

    Adds a finalizer to the scope of this effect. The finalizer is guaranteed to be run when the scope is closed.

  16. def addFinalizerExit[R](finalizer: (Exit[Any, Any]) ⇒ URIO[R, Any])(implicit trace: Trace): ZIO[R with Scope, Nothing, Any]

    Permalink

    A more powerful variant of addFinalizer that allows the finalizer to depend on the Exit value that the scope is closed with.

  17. def allowInterrupt(implicit trace: Trace): UIO[Unit]

    Permalink

    Makes an explicit check to see if the fiber has been interrupted, and if so, performs self-interruption

  18. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  19. def async[R, E, A](register: ((ZIO[R, E, A]) ⇒ Unit) ⇒ Unit, blockingOn: ⇒ FiberId = FiberId.None)(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    This method allows you to specify the fiber id that is responsible for invoking callbacks provided to the register function. This is called the "blocking fiber", because it is stopping the fiber executing the async effect from making progress (although it is not "blocking" a thread). Specifying this fiber id in cases where it is known will improve diagnostics, but not affect the behavior of the returned effect.

    Definition Classes
    ZIOCompanionVersionSpecific
  20. def asyncInterrupt[R, E, A](register: ((ZIO[R, E, A]) ⇒ Unit) ⇒ Either[URIO[R, Any], ZIO[R, E, A]], blockingOn: ⇒ FiberId = FiberId.None)(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    With this variant, you can specify either a way to cancel the asynchrounous action, or you can return the result right away if no asynchronous operation is required.

    This method allows you to specify the fiber id that is responsible for invoking callbacks provided to the register function. This is called the "blocking fiber", because it is stopping the fiber executing the async effect from making progress (although it is not "blocking" a thread). Specifying this fiber id in cases where it is known will improve diagnostics, but not affect the behavior of the returned effect.

    Definition Classes
    ZIOCompanionVersionSpecific
  21. def asyncInterruptUnsafe[R, E, A](register: (Unsafe) ⇒ ((ZIO[R, E, A]) ⇒ Unit) ⇒ Either[URIO[R, Any], ZIO[R, E, A]], blockingOn: ⇒ FiberId = FiberId.None)(implicit trace: Trace): ZIO[R, E, A]

    Permalink
  22. def asyncMaybe[R, E, A](register: ((ZIO[R, E, A]) ⇒ Unit) ⇒ Option[ZIO[R, E, A]], blockingOn: ⇒ FiberId = FiberId.None)(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    With this variant, the registration function may return the result right away, if it turns out that no asynchronous operation is required to complete the operation.

    This method allows you to specify the fiber id that is responsible for invoking callbacks provided to the register function. This is called the "blocking fiber", because it is stopping the fiber executing the async effect from making progress (although it is not "blocking" a thread). Specifying this fiber id in cases where it is known will improve diagnostics, but not affect the behavior of the returned effect.

    Definition Classes
    ZIOCompanionVersionSpecific
  23. def asyncZIO[R, E, A](register: ((ZIO[R, E, A]) ⇒ Unit) ⇒ ZIO[R, E, Any])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    Converts an asynchronous, callback-style API into a ZIO effect, which will be executed asynchronously.

    With this variant, the registration function may return a ZIO effect.

  24. def attempt[A](code: ⇒ A)(implicit trace: Trace): Task[A]

    Permalink

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    This method should be used whenever you want to take arbitrary code, which may throw exceptions or not be type safe, and convert it into a ZIO effect, which can safely execute that code whenever the effect is executed.

    def printLine(line: String): Task[Unit] = ZIO.attempt(println(line))
    Definition Classes
    ZIOCompanionVersionSpecific
  25. def attemptBlocking[A](effect: ⇒ A)(implicit trace: Trace): Task[A]

    Permalink

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    This method should be used whenever you want to take arbitrary code, which may throw exceptions or not be type safe, and convert it into a ZIO effect, which can safely execute that code whenever the effect is executed.

    This variant expects that the provided code will engage in blocking I/O, and therefore, pro-actively executes the code on a dedicated blocking thread pool, so it won't interfere with the main thread pool that ZIO uses.

    Definition Classes
    ZIOCompanionVersionSpecific
  26. def attemptBlockingCancelable[R, A](effect: ⇒ A)(cancel: ⇒ URIO[R, Any])(implicit trace: Trace): RIO[R, A]

    Permalink

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    Returns an effect that, when executed, will cautiously run the provided code, catching any exception and translated it into a failed ZIO effect.

    This method should be used whenever you want to take arbitrary code, which may throw exceptions or not be type safe, and convert it into a ZIO effect, which can safely execute that code whenever the effect is executed.

    This variant expects that the provided code will engage in blocking I/O, and therefore, pro-actively executes the code on a dedicated blocking thread pool, so it won't interfere with the main thread pool that ZIO uses.

    Additionally, this variant allows you to specify an effect that will cancel the blocking operation. This effect will be executed if the fiber that is executing the blocking effect is interrupted for any reason.

    Definition Classes
    ZIOCompanionVersionSpecific
  27. def attemptBlockingIO[A](effect: ⇒ A)(implicit trace: Trace): IO[IOException, A]

    Permalink

    This function is the same as attempt, except that it only exposes IOException, treating any other exception as fatal.

    This function is the same as attempt, except that it only exposes IOException, treating any other exception as fatal.

    Definition Classes
    ZIOCompanionVersionSpecific
  28. def attemptBlockingIOUnsafe[A](effect: (Unsafe) ⇒ A)(implicit trace: Trace): IO[IOException, A]

    Permalink
  29. def attemptBlockingInterrupt[A](effect: ⇒ A)(implicit trace: Trace): Task[A]

    Permalink

    Imports a synchronous effect that does blocking IO into a pure value.

    Imports a synchronous effect that does blocking IO into a pure value.

    If the returned ZIO is interrupted, the blocked thread running the synchronous effect will be interrupted via Thread.interrupt.

    Note that this adds significant overhead. For performance sensitive applications consider using attemptBlocking or attemptBlockingCancelable.

    Definition Classes
    ZIOCompanionPlatformSpecific
  30. def attemptUnsafe[A](a: (Unsafe) ⇒ A)(implicit trace: Trace): Task[A]

    Permalink
  31. def blocking[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Returns a new effect that, when executed, will execute the original effect on the blocking thread pool.

  32. def blockingExecutor(implicit trace: Trace): UIO[Executor]

    Permalink

    Retrieves the executor for all blocking tasks.

  33. def checkInterruptible[R, E, A](f: (InterruptStatus) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Checks the interrupt status, and produces the effect returned by the specified callback.

  34. def clock(implicit trace: Trace): UIO[Clock]

    Permalink

    Retrieves the Clock service for this workflow.

  35. def clockWith[R, E, A](f: (Clock) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the Clock service for this workflow and uses it to run the specified workflow.

  36. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. def collect[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) ⇒ ZIO[R, Option[E], (Key2, Value2)])(implicit trace: Trace): ZIO[R, E, Map[Key2, Value2]]

    Permalink

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases.

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases. For a parallel version, see collectPar.

  38. def collect[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, Option[E], B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases.

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases. For a parallel version, see collectPar.

  39. def collectAll[R, E, A](in: NonEmptyChunk[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, NonEmptyChunk[A]]

    Permalink

    Evaluate each effect in the structure from left to right, and collect the results.

    Evaluate each effect in the structure from left to right, and collect the results. For a parallel version, see collectAllPar.

  40. def collectAll[R, E, A](in: Option[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Option[A]]

    Permalink

    Evaluate effect if present, and return its result as Option[A].

  41. def collectAll[R, E, A](in: Array[ZIO[R, E, A]])(implicit arg0: ClassTag[A], trace: Trace): ZIO[R, E, Array[A]]

    Permalink

    Evaluate each effect in the structure from left to right, and collect the results.

    Evaluate each effect in the structure from left to right, and collect the results. For a parallel version, see collectAllPar.

  42. def collectAll[R, E, A](in: Set[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Evaluate each effect in the structure from left to right, and collect the results.

    Evaluate each effect in the structure from left to right, and collect the results. For a parallel version, see collectAllPar.

  43. def collectAll[R, E, A, Collection[+Element] <: Iterable[Element]](in: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Evaluate each effect in the structure from left to right, and collect the results.

    Evaluate each effect in the structure from left to right, and collect the results. For a parallel version, see collectAllPar.

  44. def collectAllDiscard[R, E, A](in: ⇒ Iterable[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Evaluate each effect in the structure from left to right, and discard the results.

    Evaluate each effect in the structure from left to right, and discard the results. For a parallel version, see collectAllParDiscard.

  45. def collectAllPar[R, E, A](as: NonEmptyChunk[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, NonEmptyChunk[A]]

    Permalink

    Evaluate each effect in the structure in parallel, and collect the results.

    Evaluate each effect in the structure in parallel, and collect the results. For a sequential version, see collectAll.

  46. def collectAllPar[R, E, A](as: Array[ZIO[R, E, A]])(implicit arg0: ClassTag[A], trace: Trace): ZIO[R, E, Array[A]]

    Permalink

    Evaluate each effect in the structure in parallel, and collect the results.

    Evaluate each effect in the structure in parallel, and collect the results. For a sequential version, see collectAll.

  47. def collectAllPar[R, E, A](as: Set[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Evaluate each effect in the structure in parallel, and collect the results.

    Evaluate each effect in the structure in parallel, and collect the results. For a sequential version, see collectAll.

  48. def collectAllPar[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Evaluate each effect in the structure in parallel, and collect the results.

    Evaluate each effect in the structure in parallel, and collect the results. For a sequential version, see collectAll.

  49. def collectAllParDiscard[R, E, A](as: ⇒ Iterable[ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Evaluate each effect in the structure in parallel, and discard the results.

    Evaluate each effect in the structure in parallel, and discard the results. For a sequential version, see collectAllDiscard.

  50. def collectAllSuccesses[R, E, A, Collection[+Element] <: Iterable[Element]](in: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]], trace: Trace): URIO[R, Collection[A]]

    Permalink

    Evaluate and run each effect in the structure and collect discarding failed ones.

  51. def collectAllSuccessesPar[R, E, A, Collection[+Element] <: Iterable[Element]](in: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]], trace: Trace): URIO[R, Collection[A]]

    Permalink

    Evaluate and run each effect in the structure in parallel, and collect discarding failed ones.

  52. def collectAllWith[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[ZIO[R, E, A]])(f: PartialFunction[A, B])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Evaluate each effect in the structure with collectAll, and collect the results with given partial function.

  53. def collectAllWithPar[R, E, A, U, Collection[+Element] <: Iterable[Element]](in: Collection[ZIO[R, E, A]])(f: PartialFunction[A, U])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], U, Collection[U]], trace: Trace): ZIO[R, E, Collection[U]]

    Permalink

    Evaluate each effect in the structure with collectAllPar, and collect the results with given partial function.

  54. def collectFirst[R, E, A, B](as: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Option[B]])(implicit trace: Trace): ZIO[R, E, Option[B]]

    Permalink

    Collects the first element of the Iterable[A] for which the effectual function f returns Some.

  55. def collectPar[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) ⇒ ZIO[R, Option[E], (Key2, Value2)])(implicit trace: Trace): ZIO[R, E, Map[Key2, Value2]]

    Permalink

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases.

    Evaluate each effect in the structure from left to right, collecting the the successful values and discarding the empty cases. For a parallel version, see collectPar.

  56. def collectPar[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, Option[E], B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Evaluate each effect in the structure in parallel, collecting the the successful values and discarding the empty cases.

  57. def cond[E, A](predicate: ⇒ Boolean, result: ⇒ A, error: ⇒ E)(implicit trace: Trace): IO[E, A]

    Permalink

    Similar to Either.cond, evaluate the predicate, return the given A as success if predicate returns true, and the given E as error otherwise

    Similar to Either.cond, evaluate the predicate, return the given A as success if predicate returns true, and the given E as error otherwise

    For effectful conditionals, see ZIO.ifZIO

  58. def config[A](config: Config[A])(implicit trace: Trace): ZIO[Any, Error, A]

    Permalink

    Uses the default config provider to load the specified config, or fail with an error of type Config.Error.

  59. def configProviderWith[R, E, A](f: (ConfigProvider) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the default config provider, and passes it to the specified function, which may return an effect that uses the provider to perform some work or compute some value.

  60. def console(implicit trace: Trace): UIO[Console]

    Permalink

    Retrieves the Console service for this workflow.

  61. def consoleWith[R, E, A](f: (Console) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the Console service for this workflow and uses it to run the specified workflow.

  62. def debug(value: ⇒ Any)(implicit trace: Trace): UIO[Unit]

    Permalink

    Prints the specified message to the console for debugging purposes.

  63. def descriptor(implicit trace: Trace): UIO[Descriptor]

    Permalink

    Returns information about the current fiber, such as its identity.

  64. def descriptorWith[R, E, A](f: (Descriptor) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Constructs an effect based on information about the current fiber, such as its identity.

  65. def die(t: ⇒ Throwable)(implicit trace: Trace): UIO[Nothing]

    Permalink

    Returns an effect that dies with the specified Throwable.

    Returns an effect that dies with the specified Throwable. This method can be used for terminating a fiber because a defect has been detected in the code.

  66. def dieMessage(message: ⇒ String)(implicit trace: Trace): UIO[Nothing]

    Permalink

    Returns an effect that dies with a java.lang.RuntimeException having the specified text message.

    Returns an effect that dies with a java.lang.RuntimeException having the specified text message. This method can be used for terminating a fiber because a defect has been detected in the code.

  67. def done[E, A](r: ⇒ Exit[E, A])(implicit trace: Trace): IO[E, A]

    Permalink

    Returns an effect from a zio.Exit value.

  68. def environment[R](implicit trace: Trace): URIO[R, ZEnvironment[R]]

    Permalink

    Accesses the whole environment of the effect.

  69. def environmentWith[R]: EnvironmentWithPartiallyApplied[R]

    Permalink

    Accesses the environment of the effect.

  70. def environmentWithZIO[R]: EnvironmentWithZIOPartiallyApplied[R]

    Permalink

    Effectually accesses the environment of the effect.

  71. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  72. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  73. def executor(implicit trace: Trace): UIO[Executor]

    Permalink

    Retrieves the executor for this effect.

  74. def executorWith[R, E, A](f: (Executor) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Constructs an effect based on the current executor.

  75. def exists[R, E, A](as: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Boolean]

    Permalink

    Determines whether any element of the Iterable[A] satisfies the effectual predicate f.

  76. def fail[E](error: ⇒ E)(implicit trace: Trace): IO[E, Nothing]

    Permalink

    Returns an effect that models failure with the specified error.

    Returns an effect that models failure with the specified error. The moral equivalent of throw for pure code.

  77. def failCause[E](cause: ⇒ Cause[E])(implicit trace0: Trace): IO[E, Nothing]

    Permalink

    Returns an effect that models failure with the specified Cause.

  78. def fiberId(implicit trace: Trace): UIO[FiberId.Runtime]

    Permalink

    Returns the FiberId of the fiber executing the effect that calls this method.

  79. def fiberIdWith[R, E, A](f: (FiberId.Runtime) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Constructs an effect based on the FiberId of the fiber executing the effect that calls this method.

  80. def filter[R, E, A](as: Set[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Filters the Set[A] using the specified effectual predicate.

  81. def filter[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit bf: zio.BuildFrom[Collection[A], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Filters the collection using the specified effectual predicate.

  82. def filterNot[R, E, A](as: Set[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Filters the Set[A] using the specified effectual predicate, removing all elements that satisfy the predicate.

  83. def filterNot[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit bf: zio.BuildFrom[Collection[A], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Filters the collection using the specified effectual predicate, removing all elements that satisfy the predicate.

  84. def filterNotPar[R, E, A](as: Set[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Filters the Set[A] in parallel using the specified effectual predicate, removing all elements that satisfy the predicate.

    Filters the Set[A] in parallel using the specified effectual predicate, removing all elements that satisfy the predicate.

    See zio.ZIO.filterNot[R,E,A](as:Set* for a sequential version.

  85. def filterNotPar[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit bf: zio.BuildFrom[Collection[A], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Filters the collection in parallel using the specified effectual predicate, emoving all elements that satisfy the predicate.

    Filters the collection in parallel using the specified effectual predicate, emoving all elements that satisfy the predicate.

    See zio.ZIO.filterNot[R,E,A,Collection* for a sequential version.

  86. def filterPar[R, E, A](as: Set[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Set[A]]

    Permalink

    Filters the Set[A] in parallel using the specified effectual predicate.

    Filters the Set[A] in parallel using the specified effectual predicate.

    See zio.ZIO.filter[R,E,A,Collection* for a sequential version.

  87. def filterPar[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit bf: zio.BuildFrom[Collection[A], A, Collection[A]], trace: Trace): ZIO[R, E, Collection[A]]

    Permalink

    Filters the collection in parallel using the specified effectual predicate.

    Filters the collection in parallel using the specified effectual predicate.

    See zio.ZIO.filter[R,E,A,Collection* for a sequential version.

  88. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  89. def firstSuccessOf[R, R1 <: R, E, A](zio: ⇒ ZIO[R, E, A], rest: ⇒ Iterable[ZIO[R1, E, A]])(implicit trace: Trace): ZIO[R1, E, A]

    Permalink

    Returns an effect that runs the first effect and in case of failure, runs each of the specified effects in order until one of them succeeds.

  90. def flatten[R, E, A](zio: ⇒ ZIO[R, E, ZIO[R, E, A]])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Returns an effect that first executes the outer effect, and then executes the inner effect, returning the value from the inner effect, and effectively flattening a nested effect.

  91. def foldLeft[R, E, S, A](in: ⇒ Iterable[A])(zero: ⇒ S)(f: (S, A) ⇒ ZIO[R, E, S])(implicit trace: Trace): ZIO[R, E, S]

    Permalink

    Folds an Iterable[A] using an effectual function f, working sequentially from left to right.

  92. def foldRight[R, E, S, A](in: ⇒ Iterable[A])(zero: ⇒ S)(f: (A, S) ⇒ ZIO[R, E, S])(implicit trace: Trace): ZIO[R, E, S]

    Permalink

    Folds an Iterable[A] using an effectual function f, working sequentially from right to left.

  93. def forall[R, E, A](as: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Boolean]

    Permalink

    Determines whether all elements of the Iterable[A] satisfy the effectual predicate f.

  94. final def foreach[R, E, A, B](in: NonEmptyChunk[A])(f: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): ZIO[R, E, NonEmptyChunk[B]]

    Permalink

    Applies the function f to each element of the NonEmptyChunk[A] and returns the results in a new NonEmptyChunk[B].

    Applies the function f to each element of the NonEmptyChunk[A] and returns the results in a new NonEmptyChunk[B].

    For a parallel version of this method, see foreachPar. If you do not need the results, see foreachDiscard for a more efficient implementation.

  95. final def foreach[R, E, A, B](in: Option[A])(f: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): ZIO[R, E, Option[B]]

    Permalink

    Applies the function f if the argument is non-empty and returns the results in a new Option[B].

  96. def foreach[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) ⇒ ZIO[R, E, (Key2, Value2)])(implicit trace: Trace): ZIO[R, E, Map[Key2, Value2]]

    Permalink

    Applies the function f to each element of the Map[Key, Value] and returns the results in a new Map[Key2, Value2].

    Applies the function f to each element of the Map[Key, Value] and returns the results in a new Map[Key2, Value2].

    For a parallel version of this method, see foreachPar. If you do not need the results, see foreachDiscard for a more efficient implementation.

  97. final def foreach[R, E, A, B](in: Array[A])(f: (A) ⇒ ZIO[R, E, B])(implicit arg0: ClassTag[B], trace: Trace): ZIO[R, E, Array[B]]

    Permalink

    Applies the function f to each element of the Array[A] and returns the results in a new Array[B].

    Applies the function f to each element of the Array[A] and returns the results in a new Array[B].

    For a parallel version of this method, see foreachPar. If you do not need the results, see foreachDiscard for a more efficient implementation.

  98. final def foreach[R, E, A, B](in: Set[A])(f: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): ZIO[R, E, Set[B]]

    Permalink

    Applies the function f to each element of the Set[A] and returns the results in a new Set[B].

    Applies the function f to each element of the Set[A] and returns the results in a new Set[B].

    For a parallel version of this method, see foreachPar. If you do not need the results, see foreachDiscard for a more efficient implementation.

  99. def foreach[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Applies the function f to each element of the Collection[A] and returns the results in a new Collection[B].

    Applies the function f to each element of the Collection[A] and returns the results in a new Collection[B].

    For a parallel version of this method, see foreachPar. If you do not need the results, see foreachDiscard for a more efficient implementation.

  100. def foreachDiscard[R, E, A](as: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Any])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Applies the function f to each element of the Iterable[A] and runs produced effects sequentially.

    Applies the function f to each element of the Iterable[A] and runs produced effects sequentially.

    Equivalent to foreach(as)(f).unit, but without the cost of building the list of results.

  101. final def foreachExec[R, E, A, B, Collection[+Element] <: Iterable[Element]](as: Collection[A])(exec: ⇒ ExecutionStrategy)(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Applies the function f to each element of the Collection[A] and returns the result in a new Collection[B] using the specified execution strategy.

  102. final def foreachPar[R, E, A, B](as: NonEmptyChunk[A])(fn: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): ZIO[R, E, NonEmptyChunk[B]]

    Permalink

    Applies the function f to each element of the NonEmptyChunk[A] in parallel, and returns the results in a new NonEmptyChunk[B].

    Applies the function f to each element of the NonEmptyChunk[A] in parallel, and returns the results in a new NonEmptyChunk[B].

    For a sequential version of this method, see foreach.

  103. def foreachPar[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) ⇒ ZIO[R, E, (Key2, Value2)])(implicit trace: Trace): ZIO[R, E, Map[Key2, Value2]]

    Permalink

    Applies the function f to each element of the Map[Key, Value] in parallel and returns the results in a new Map[Key2, Value2].

    Applies the function f to each element of the Map[Key, Value] in parallel and returns the results in a new Map[Key2, Value2].

    For a sequential version of this method, see foreach.

  104. final def foreachPar[R, E, A, B](as: Array[A])(f: (A) ⇒ ZIO[R, E, B])(implicit arg0: ClassTag[B], trace: Trace): ZIO[R, E, Array[B]]

    Permalink

    Applies the function f to each element of the Array[A] in parallel, and returns the results in a new Array[B].

    Applies the function f to each element of the Array[A] in parallel, and returns the results in a new Array[B].

    For a sequential version of this method, see foreach.

  105. final def foreachPar[R, E, A, B](as: Set[A])(fn: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): ZIO[R, E, Set[B]]

    Permalink

    Applies the function f to each element of the Set[A] in parallel, and returns the results in a new Set[B].

    Applies the function f to each element of the Set[A] in parallel, and returns the results in a new Set[B].

    For a sequential version of this method, see foreach.

  106. def foreachPar[R, E, A, B, Collection[+Element] <: Iterable[Element]](as: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], trace: Trace): ZIO[R, E, Collection[B]]

    Permalink

    Applies the function f to each element of the Collection[A] in parallel, and returns the results in a new Collection[B].

    Applies the function f to each element of the Collection[A] in parallel, and returns the results in a new Collection[B].

    For a sequential version of this method, see foreach.

  107. def foreachParDiscard[R, E, A](as: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Any])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Applies the function f to each element of the Iterable[A] and runs produced effects in parallel, discarding the results.

    Applies the function f to each element of the Iterable[A] and runs produced effects in parallel, discarding the results.

    For a sequential version of this method, see foreachDiscard.

    Optimized to avoid keeping full tree of effects, so that method could be able to handle large input sequences. Behaves almost like this code:

    as.foldLeft(ZIO.unit) { (acc, a) => acc.zipParLeft(f(a)) }

    Additionally, interrupts all effects on any failure.

  108. def forkAll[R, E, A, Collection[+Element] <: Iterable[Element]](as: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]], trace: Trace): URIO[R, Fiber[E, Collection[A]]]

    Permalink

    Returns an effect that forks all of the specified values, and returns a composite fiber that produces a list of their results, in order.

  109. def forkAllDiscard[R, E, A](as: ⇒ Iterable[ZIO[R, E, A]])(implicit trace: Trace): URIO[R, Fiber[E, Unit]]

    Permalink

    Returns an effect that forks all of the specified values, and returns a composite fiber that produces unit.

    Returns an effect that forks all of the specified values, and returns a composite fiber that produces unit. This version is faster than forkAll in cases where the results of the forked fibers are not needed.

  110. def from[Input](input: ⇒ Input)(implicit constructor: ZIOConstructor[Nothing, Any, Input], trace: Trace): ZIO[OutEnvironment, OutError, OutSuccess]

    Permalink

    Constructs a ZIO value of the appropriate type for the specified input.

  111. def fromAutoCloseable[R, E, A <: AutoCloseable](fa: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R with Scope, E, A]

    Permalink
  112. def fromEither[E, A](v: ⇒ Either[E, A])(implicit trace: Trace): IO[E, A]

    Permalink

    Lifts an Either into a ZIO value.

  113. def fromEitherCause[E, A](v: ⇒ Either[Cause[E], A])(implicit trace: Trace): IO[E, A]

    Permalink

    Lifts an Either into a ZIO value.

  114. def fromFiber[E, A](fiber: ⇒ Fiber[E, A])(implicit trace: Trace): IO[E, A]

    Permalink

    Creates a ZIO value that represents the exit value of the specified fiber.

  115. def fromFiberZIO[R, E, A](fiber: ⇒ ZIO[R, E, Fiber[E, A]])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Creates a ZIO value that represents the exit value of the specified fiber.

  116. def fromFuture[A](make: (ExecutionContext) ⇒ Future[A])(implicit trace: Trace): Task[A]

    Permalink

    Returns an effect that, when executed, will both create and launch a scala.concurrent.Future, feeding it an scala.concurrent.ExecutionContext that is backed by ZIO's own executor.

  117. def fromFutureInterrupt[A](make: (ExecutionContext) ⇒ Future[A])(implicit trace: Trace): Task[A]

    Permalink

    Imports a function that creates a scala.concurrent.Future from an scala.concurrent.ExecutionContext into a ZIO.

    Imports a function that creates a scala.concurrent.Future from an scala.concurrent.ExecutionContext into a ZIO. The provided ExecutionContext will interrupt the Future between asynchronous operations such as map and flatMap if this effect is interrupted. Note that no attempt will be made to interrupt a Future blocking on a synchronous operation and that the Future must be created using the provided ExecutionContext.

  118. def fromOption[A](v: ⇒ Option[A])(implicit trace: Trace): IO[Option[Nothing], A]

    Permalink

    Lifts an Option into a ZIO but preserves the error as an option in the error channel, making it easier to compose in some scenarios.

  119. def fromPromiseJS[A](promise: ⇒ scala.scalajs.js.Promise[A])(implicit trace: Trace): Task[A]

    Permalink

    Imports a Scala.js promise into a ZIO.

    Imports a Scala.js promise into a ZIO.

    Definition Classes
    ZIOCompanionPlatformSpecific
  120. def fromPromiseScala[A](promise: ⇒ scala.concurrent.Promise[A])(implicit trace: Trace): Task[A]

    Permalink

    Imports a scala.concurrent.Promise we generate a future from promise, and we pass to [fromFuture] to transform into Task[A]

  121. def fromTry[A](value: ⇒ Try[A])(implicit trace: Trace): Task[A]

    Permalink

    Lifts a Try into a ZIO.

  122. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  123. def getFiberRefs(implicit trace: Trace): UIO[FiberRefs]

    Permalink

    Returns a collection of all FiberRef values for the fiber running this effect.

  124. final def getOrFail[A](v: ⇒ Option[A])(implicit trace: Trace): Task[A]

    Permalink

    Lifts an Option into a ZIO, if the option is not defined it fails with NoSuchElementException.

  125. final def getOrFailUnit[A](v: ⇒ Option[A])(implicit trace: Trace): IO[Unit, A]

    Permalink

    Lifts an Option into a IO, if the option is not defined it fails with Unit.

  126. final def getOrFailWith[E, A](e: ⇒ E)(v: ⇒ Option[A])(implicit trace: Trace): IO[E, A]

    Permalink

    Lifts an Option into a ZIO.

    Lifts an Option into a ZIO. If the option is not defined, fail with the e value.

  127. def getState[S](implicit arg0: zio.EnvironmentTag[S], trace: Trace): ZIO[ZState[S], Nothing, S]

    Permalink

    Gets a state from the environment.

  128. def getStateWith[S]: GetStateWithPartiallyApplied[S]

    Permalink

    Gets a state from the environment and uses it to run the specified function.

  129. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  130. def ifZIO[R, E](b: ⇒ ZIO[R, E, Boolean]): IfZIO[R, E]

    Permalink

    Runs onTrue if the result of b is true and onFalse otherwise.

  131. def infinity(implicit trace: Trace): UIO[Nothing]

    Permalink

    Like never, but fibers that running this effect won't be garbage collected unless interrupted.

  132. def inheritFiberRefs(childFiberRefs: FiberRefs)(implicit trace: Trace): UIO[Unit]

    Permalink

    Inherits values from all FiberRef instances into current fiber.

  133. def interrupt(implicit trace: Trace): UIO[Nothing]

    Permalink

    Returns an effect that is interrupted as if by the fiber calling this method.

  134. def interruptAs(fiberId: ⇒ FiberId)(implicit trace: Trace): UIO[Nothing]

    Permalink

    Returns an effect that is interrupted as if by the specified fiber.

  135. def interruptible[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Prefix form of ZIO#interruptible.

  136. def interruptibleMask[R, E, A](k: (InterruptibilityRestorer) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Makes the effect interruptible, but passes it a restore function that can be used to restore the inherited interruptibility from whatever region the effect is composed into.

  137. def isFatal(implicit trace: Trace): UIO[(Throwable) ⇒ Boolean]

    Permalink

    Retrieves the definition of a fatal error.

  138. def isFatalWith[R, E, A](f: ((Throwable) ⇒ Boolean) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Constructs an effect based on the definition of a fatal error.

  139. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  140. def iterate[R, E, S](initial: ⇒ S)(cont: (S) ⇒ Boolean)(body: (S) ⇒ ZIO[R, E, S])(implicit trace: Trace): ZIO[R, E, S]

    Permalink

    Iterates with the specified effectual function.

    Iterates with the specified effectual function. The moral equivalent of:

    var s = initial
    
    while (cont(s)) {
      s = body(s)
    }
    
    s
  141. def left[A](a: ⇒ A)(implicit trace: Trace): UIO[Either[A, Nothing]]

    Permalink

    Returns an effect with the value on the left part.

  142. def log(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the current log level.

  143. def logAnnotate(logAnnotations: ⇒ Set[LogAnnotation]): LogAnnotate

    Permalink

    Annotates each log in this effect with the specified log annotation.

  144. def logAnnotate(logAnnotation: ⇒ LogAnnotation, logAnnotations: LogAnnotation*): LogAnnotate

    Permalink

    Annotates each log in this effect with the specified log annotation.

  145. def logAnnotate(key: ⇒ String, value: ⇒ String): LogAnnotate

    Permalink

    Annotates each log in this effect with the specified log annotation.

  146. def logAnnotateScoped(logAnnotations: ⇒ Set[LogAnnotation])(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  147. def logAnnotateScoped(logAnnotation: ⇒ LogAnnotation, logAnnotations: LogAnnotation*)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  148. def logAnnotateScoped(key: ⇒ String, value: ⇒ String)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  149. def logAnnotations(implicit trace: Trace): UIO[Map[String, String]]

    Permalink

    Retrieves the log annotations associated with the current scope.

  150. def logCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message and cause at the current log level.

  151. def logCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the current log level.

  152. def logDebug(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the debug log level.

  153. def logDebugCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the debug log level..

  154. def logDebugCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the debug log level.

  155. def logError(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the error log level.

  156. def logErrorCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause as an error.

  157. def logErrorCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause as an error.

  158. def logFatal(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the fatal log level.

  159. def logFatalCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the fatal log level.

  160. def logFatalCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the fatal log level.

  161. def logInfo(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the informational log level.

  162. def logInfoCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the informational log level..

  163. def logInfoCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the informational log level.

  164. def logLevel(level: LogLevel): LogLevel

    Permalink

    Sets the log level for this effect.

    Sets the log level for this effect.

    ZIO.logLevel(LogLevel.Warning) {
      ZIO.log("The response time exceeded its threshold!")
    }
  165. def logLevelScoped(level: LogLevel)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  166. def logSpan(label: ⇒ String): LogSpan

    Permalink

    Adjusts the label for the current logging span.

    Adjusts the label for the current logging span.

    ZIO.logSpan("parsing") { parseRequest(req) }
  167. def logSpanScoped(label: ⇒ String)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  168. def logTrace(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the trace log level.

  169. def logTraceCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the trace log level..

  170. def logTraceCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the trace log level.

  171. def logWarning(message: ⇒ String)(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified message at the warning log level.

  172. def logWarningCause(cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the warning log level..

  173. def logWarningCause(message: ⇒ String, cause: ⇒ Cause[Any])(implicit trace: Trace): UIO[Unit]

    Permalink

    Logs the specified cause at the warning log level.

  174. def loggers(implicit trace: Trace): UIO[Set[ZLogger[String, Any]]]

    Permalink

    Retrieves the current loggers for this effect.

  175. def loggersWith[R, E, A](f: (Set[ZLogger[String, Any]]) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Constructs an effect based on the current loggers.

  176. def loop[R, E, A, S](initial: ⇒ S)(cont: (S) ⇒ Boolean, inc: (S) ⇒ S)(body: (S) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, List[A]]

    Permalink

    Loops with the specified effectual function, collecting the results into a list.

    Loops with the specified effectual function, collecting the results into a list. The moral equivalent of:

    var s  = initial
    var as = List.empty[A]
    
    while (cont(s)) {
      as = body(s) :: as
      s  = inc(s)
    }
    
    as.reverse
  177. def loopDiscard[R, E, S](initial: ⇒ S)(cont: (S) ⇒ Boolean, inc: (S) ⇒ S)(body: (S) ⇒ ZIO[R, E, Any])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Loops with the specified effectual function purely for its effects.

    Loops with the specified effectual function purely for its effects. The moral equivalent of:

    var s = initial
    
    while (cont(s)) {
      body(s)
      s = inc(s)
    }
  178. def memoize[R, E, A, B](f: (A) ⇒ ZIO[R, E, B])(implicit trace: Trace): UIO[(A) ⇒ ZIO[R, E, B]]

    Permalink

    Returns a memoized version of the specified effectual function.

  179. def mergeAll[R, E, A, B](in: ⇒ Iterable[ZIO[R, E, A]])(zero: ⇒ B)(f: (B, A) ⇒ B)(implicit trace: Trace): ZIO[R, E, B]

    Permalink

    Merges an Iterable[IO] to a single IO, working sequentially.

  180. def mergeAllPar[R, E, A, B](in: ⇒ Iterable[ZIO[R, E, A]])(zero: ⇒ B)(f: (B, A) ⇒ B)(implicit trace: Trace): ZIO[R, E, B]

    Permalink

    Merges an Iterable[IO] to a single IO, working in parallel.

    Merges an Iterable[IO] to a single IO, working in parallel.

    Due to the parallel nature of this combinator, f must be both:

    • commutative: f(a, b) == f(b, a)
    • associative: f(a, f(b, c)) == f(f(a, b), c)

    It's unsafe to execute side effects inside f, as f may be executed more than once for some of in elements during effect execution.

  181. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  182. def never(implicit trace: Trace): UIO[Nothing]

    Permalink

    Returns a effect that will never produce anything.

    Returns a effect that will never produce anything. The moral equivalent of while(true) {}, only without the wasted CPU cycles. Fibers that execute this effect will be automatically garbage collected on the JVM when no explicit references to them are held, because they cannot be reactivated.

  183. lazy val none: UIO[Option[Nothing]]

    Permalink

    Returns an effect that succeeds with the None value.

  184. def noneOrFail[E](o: ⇒ Option[E])(implicit trace: Trace): IO[E, Unit]

    Permalink

    Lifts an Option into a ZIO.

    Lifts an Option into a ZIO. If the option is empty it succeeds with Unit. If the option is defined it fails with the content.

  185. def noneOrFailWith[E, O](o: ⇒ Option[O])(f: (O) ⇒ E)(implicit trace: Trace): IO[E, Unit]

    Permalink

    Lifts an Option into a ZIO.

    Lifts an Option into a ZIO. If the option is empty it succeeds with Unit. If the option is defined it fails with an error adapted with f.

  186. def not[R, E](effect: ⇒ ZIO[R, E, Boolean])(implicit trace: Trace): ZIO[R, E, Boolean]

    Permalink

    Returns a new effect where boolean value of this effect is negated.

  187. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  188. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  189. def onExecutor[R, E, A](newExecutor: ⇒ Executor)(zio: ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Returns an effect that will execute the specified effect fully on the provided executor, before potentially returning to the previous executor.

    Returns an effect that will execute the specified effect fully on the provided executor, before potentially returning to the previous executor. See ZIO!.onExecutor.

  190. def parallelFinalizers[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R with Scope, E, A]

    Permalink

    Returns a new scoped workflow that runs finalizers added to the scope of this workflow in parallel.

  191. def parallelism(implicit trace: Trace): UIO[Option[Int]]

    Permalink

    Retrieves the maximum number of fibers for parallel operators or None if it is unbounded.

  192. def parallelismWith[R, E, A](f: (Option[Int]) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the current maximum number of fibers for parallel operators and uses it to run the specified effect.

  193. def partition[R, E, A, B](in: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, B])(implicit ev: CanFail[E], trace: Trace): ZIO[R, Nothing, (Iterable[E], Iterable[B])]

    Permalink

    Feeds elements of type A to a function f that returns an effect.

    Feeds elements of type A to a function f that returns an effect. Collects all successes and failures in a tupled fashion.

  194. def partitionPar[R, E, A, B](in: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, B])(implicit ev: CanFail[E], trace: Trace): ZIO[R, Nothing, (Iterable[E], Iterable[B])]

    Permalink

    Feeds elements of type A to a function f that returns an effect.

    Feeds elements of type A to a function f that returns an effect. Collects all successes and failures in parallel and returns the result as a tuple.

  195. def patchFiberRefs(patch: Patch)(implicit trace: Trace): ZIO[Any, Nothing, Unit]

    Permalink

    Applies the specified changes to the FiberRef values for the fiber running this workflow.

  196. def provideEnvironment[R, E, A](r: ⇒ ZEnvironment[R])(implicit trace: Trace): (ZIO[R, E, A]) ⇒ IO[E, A]

    Permalink

    Given an environment R, returns a function that can supply the environment to programs that require it, removing their need for any specific environment.

    Given an environment R, returns a function that can supply the environment to programs that require it, removing their need for any specific environment.

    This is similar to dependency injection, and the provide function can be thought of as inject.

  197. def provideLayer[RIn, E, ROut, RIn2, ROut2](layer: ZLayer[RIn, E, ROut])(zio: ZIO[ROut with RIn2, E, ROut2])(implicit ev: zio.EnvironmentTag[RIn2], tag: zio.EnvironmentTag[ROut], trace: Trace): ZIO[RIn with RIn2, E, ROut2]

    Permalink
  198. def raceAll[R, R1 <: R, E, A](zio: ⇒ ZIO[R, E, A], ios: ⇒ Iterable[ZIO[R1, E, A]])(implicit trace: Trace): ZIO[R1, E, A]

    Permalink

    Races an IO[E, A] against zero or more other effects.

    Races an IO[E, A] against zero or more other effects. Yields either the first success or the last failure.

  199. def raceFirst[R, R1 <: R, E, A](zio: ZIO[R, E, A], ios: Iterable[ZIO[R1, E, A]])(implicit trace: Trace): ZIO[R1, E, A]

    Permalink

    Returns an effect that races this effect with all the specified effects, yielding the first result to complete, whether by success or failure.

    Returns an effect that races this effect with all the specified effects, yielding the first result to complete, whether by success or failure. If neither effect completes, then the composed effect will not complete.

    WARNING: The raced effect will safely interrupt the "losers", but will not resume until the losers have been cleanly terminated. If early return is desired, then instead of performing ZIO.raceFirst(l, rs), perform ZIO.raceFirst(l.disconnect, rs.map(_.disconnect)), which disconnects left and rights interrupt signal, allowing a fast return, with interruption performed in the background.

  200. def random(implicit trace: Trace): UIO[Random]

    Permalink

    Reduces an Iterable[IO] to a single IO, working sequentially.

  201. def randomWith[R, E, A](f: (Random) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the Random service for this workflow and uses it to run the specified workflow.

  202. def reduceAll[R, R1 <: R, E, A](a: ⇒ ZIO[R, E, A], as: ⇒ Iterable[ZIO[R1, E, A]])(f: (A, A) ⇒ A)(implicit trace: Trace): ZIO[R1, E, A]

    Permalink

    Reduces an Iterable[IO] to a single IO, working sequentially.

  203. def reduceAllPar[R, R1 <: R, E, A](a0: ⇒ ZIO[R, E, A], as0: ⇒ Iterable[ZIO[R1, E, A]])(f: (A, A) ⇒ A)(implicit trace: Trace): ZIO[R1, E, A]

    Permalink

    Reduces an Iterable[IO] to a single IO, working in parallel.

  204. def refailCause[E](cause: Cause[E])(implicit trace: Trace): ZIO[Any, E, Nothing]

    Permalink
  205. def replicate[R, E, A](n: Int)(effect: ZIO[R, E, A])(implicit trace: Trace): Iterable[ZIO[R, E, A]]

    Permalink

    Replicates the given effect n times.

    Replicates the given effect n times. If 0 or negative numbers are given, an empty Iterable will be returned. This method is more efficient than using List.fill or similar methods, because the returned Iterable consumes only a small amount of heap regardless of n.

  206. def replicateZIO[R, E, A](n: ⇒ Int)(effect: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, Iterable[A]]

    Permalink

    Performs this effect the specified number of times and collects the results.

  207. def replicateZIODiscard[R, E, A](n: ⇒ Int)(effect: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    Performs this effect the specified number of times, discarding the results.

  208. def right[B](b: ⇒ B)(implicit trace: Trace): UIO[Either[Nothing, B]]

    Permalink

    Returns an effect with the value on the right part.

  209. def runtime[R](implicit trace: Trace): URIO[R, Runtime[R]]

    Permalink

    Returns an effect that accesses the runtime, which can be used to (unsafely) execute tasks.

    Returns an effect that accesses the runtime, which can be used to (unsafely) execute tasks. This is useful for integration with legacy code that must call back into ZIO code.

  210. def runtimeFlags(implicit trace: Trace): ZIO[Any, Nothing, RuntimeFlags]

    Permalink

    Retrieves an effect that succeeds with the current runtime flags, which govern behavior and features of the runtime system.

  211. def scope(implicit trace: Trace): ZIO[Scope, Nothing, Scope]

    Permalink

    Returns the current scope.

  212. def scopeWith[R, E, A](f: (Scope) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R with Scope, E, A]

    Permalink

    Accesses the current scope and uses it to perform the specified effect.

  213. def scoped[R]: ScopedPartiallyApplied[R]

    Permalink

    Scopes all resources used in this effect to the lifetime of the effect, ensuring that their finalizers are run as soon as this effect completes execution, whether by success, failure, or interruption.

    Scopes all resources used in this effect to the lifetime of the effect, ensuring that their finalizers are run as soon as this effect completes execution, whether by success, failure, or interruption.

    ZIO.scoped {
      openFile(name).flatMap(useFile)
    }
  214. def sequentialFinalizers[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R with Scope, E, A]

    Permalink

    Returns a new scoped workflow that runs finalizers added to the scope of this workflow sequentially in the reverse of the order in which they were added.

    Returns a new scoped workflow that runs finalizers added to the scope of this workflow sequentially in the reverse of the order in which they were added. Note that finalizers are run sequentially by default so this only has meaning if used within a scope where finalizers are being run in parallel.

  215. def service[A](implicit arg0: Tag[A], trace: Trace): URIO[A, A]

    Permalink

    Accesses the specified service in the environment of the effect.

  216. def serviceAt[Service]: ServiceAtPartiallyApplied[Service]

    Permalink

    Accesses the service corresponding to the specified key in the environment.

  217. def serviceWith[Service]: ServiceWithPartiallyApplied[Service]

    Permalink

    Accesses the specified service in the environment of the effect.

    Accesses the specified service in the environment of the effect.

    Especially useful for creating "accessor" methods on Services' companion objects.

    def foo(int: Int) = ZIO.serviceWith[Foo](_.foo(int))
  218. def serviceWithZIO[Service]: ServiceWithZIOPartiallyApplied[Service]

    Permalink

    Effectfully accesses the specified service in the environment of the effect.

    Effectfully accesses the specified service in the environment of the effect.

    Especially useful for creating "accessor" methods on Services' companion objects.

    def foo(int: Int) = ZIO.serviceWithZIO[Foo](_.foo(int))
  219. def setFiberRefs(fiberRefs: ⇒ FiberRefs)(implicit trace: Trace): UIO[Unit]

    Permalink

    Sets the FiberRef values for the fiber running this effect to the values in the specified collection of FiberRef values.

  220. def setState[S](s: ⇒ S)(implicit arg0: zio.EnvironmentTag[S], trace: Trace): ZIO[ZState[S], Nothing, Unit]

    Permalink

    Sets a state in the environment to the specified value.

  221. def shift(executor: ⇒ Executor)(implicit trace: Trace): UIO[Unit]

    Permalink

    Returns an effect that shifts execution to the specified executor.

    Returns an effect that shifts execution to the specified executor. This is useful to specify a default executor that effects sequenced after this one will be run on if they are not shifted somewhere else. It can also be used to implement higher level operators to manage where an effect is run such as ZIO!.onExecutor and ZIO!.onExecutionContext.

  222. def sleep(duration: ⇒ zio.Duration)(implicit trace: Trace): UIO[Unit]

    Permalink

    Returns an effect that suspends for the specified duration.

    Returns an effect that suspends for the specified duration. This method is asynchronous, and does not actually block the fiber executing the effect.

  223. def some[A](a: ⇒ A)(implicit trace: Trace): UIO[Option[A]]

    Permalink

    Returns an effect with the optional value.

  224. def stackTrace(implicit trace: Trace): UIO[StackTrace]

    Permalink

    Capture ZIO stack trace at the current point.

  225. def stateful[R]: StatefulPartiallyApplied[R]

    Permalink

    Provides a stateful ZIO workflow with its initial state, resulting in a workflow that is ready to be run.

    Provides a stateful ZIO workflow with its initial state, resulting in a workflow that is ready to be run.

    ZIO.stateful(0) {
      for {
          _     <- ZIO.updateState[Int](_ + 1)
          state <- ZIO.getState[Int]
        } yield assertTrue(state == 1)
      }
  226. def succeed[A](a: ⇒ A)(implicit trace: Trace): ZIO[Any, Nothing, A]

    Permalink

    Returns an effect that models success with the specified value.

    Returns an effect that models success with the specified value.

    Definition Classes
    ZIOCompanionVersionSpecific
  227. def succeedBlocking[A](a: ⇒ A)(implicit trace: Trace): UIO[A]

    Permalink

    Returns a synchronous effect that does blocking and succeeds with the specified value.

    Returns a synchronous effect that does blocking and succeeds with the specified value.

    Definition Classes
    ZIOCompanionVersionSpecific
  228. def succeedBlockingUnsafe[A](a: (Unsafe) ⇒ A)(implicit trace: Trace): UIO[A]

    Permalink
  229. def succeedUnsafe[A](a: (Unsafe) ⇒ A)(implicit trace: Trace): UIO[A]

    Permalink
  230. def suspend[R, A](rio: ⇒ RIO[R, A])(implicit trace: Trace): RIO[R, A]

    Permalink

    Returns a lazily constructed effect, whose construction may itself require effects.

    Returns a lazily constructed effect, whose construction may itself require effects. When no environment is required (i.e., when R == Any) it is conceptually equivalent to flatten(effect(io)).

  231. def suspendSucceed[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Returns a lazily constructed effect, whose construction may itself require effects.

    Returns a lazily constructed effect, whose construction may itself require effects. The effect must not throw any exceptions. When no environment is required (i.e., when R == Any) it is conceptually equivalent to flatten(succeed(zio)). If you wonder if the effect throws exceptions, do not use this method, use ZIO.suspend.

  232. def suspendSucceedUnsafe[R, E, A](zio: (Unsafe) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink
  233. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  234. def system(implicit trace: Trace): UIO[System]

    Permalink

    Retrieves the System service for this workflow.

  235. def systemWith[R, E, A](f: (System) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Retrieves the System service for this workflow and uses it to run the specified workflow.

  236. def tagged(tags: ⇒ Set[MetricLabel]): Tagged

    Permalink

    Tags each metric in this effect with the specific tag.

  237. def tagged(tag: ⇒ MetricLabel, tags: MetricLabel*): Tagged

    Permalink

    Tags each metric in this effect with the specific tag.

  238. def tagged(key: ⇒ String, value: ⇒ String): Tagged

    Permalink

    Tags each metric in this effect with the specific tag.

  239. def taggedScoped(tags: ⇒ Set[MetricLabel])(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  240. def taggedScoped(tag: ⇒ MetricLabel, tags: MetricLabel*)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  241. def taggedScoped(key: ⇒ String, value: ⇒ String)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  242. def tags(implicit trace: Trace): ZIO[Any, Nothing, Set[MetricLabel]]

    Permalink

    Retrieves the metric tags associated with the current scope.

  243. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  244. def transplant[R, E, A](f: (Grafter) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Transplants specified effects so that when those effects fork other effects, the forked effects will be governed by the scope of the fiber that executes this effect.

    Transplants specified effects so that when those effects fork other effects, the forked effects will be governed by the scope of the fiber that executes this effect.

    This can be used to "graft" deep grandchildren onto a higher-level scope, effectively extending their lifespans into the parent scope.

  245. def uninterruptible[R, E, A](zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Prefix form of ZIO#uninterruptible.

  246. def uninterruptibleMask[R, E, A](f: (InterruptibilityRestorer) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Makes the effect uninterruptible, but passes it a restore function that can be used to restore the inherited interruptibility from whatever region the effect is composed into.

  247. lazy val unit: UIO[Unit]

    Permalink

    An effect that succeeds with a unit value.

  248. def unless[R, E, A](p: ⇒ Boolean)(zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, Option[A]]

    Permalink

    The moral equivalent of if (!p) exp

  249. def unlessZIO[R, E](p: ⇒ ZIO[R, E, Boolean]): UnlessZIO[R, E]

    Permalink

    The moral equivalent of if (!p) exp when p has side-effects

  250. def unsandbox[R, E, A](v: ⇒ ZIO[R, Cause[E], A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    The inverse operation IO.sandboxed

    The inverse operation IO.sandboxed

    Terminates with exceptions on the Left side of the Either error, if it exists. Otherwise extracts the contained IO[E, A]

  251. def unshift(implicit trace: Trace): UIO[Unit]

    Permalink

    Returns an effect indicating that execution is no longer required to be performed on the current executor.

    Returns an effect indicating that execution is no longer required to be performed on the current executor. The runtime may continue executing on this executor for efficiency but will not automatically shift back to it after completing an effect on another executor.

  252. def updateFiberRefs(f: (FiberId.Runtime, FiberRefs) ⇒ FiberRefs)(implicit trace: Trace): UIO[Unit]

    Permalink

    Updates the FiberRef values for the fiber running this effect using the specified function.

  253. def updateRuntimeFlags(patch: Patch)(implicit trace: Trace): ZIO[Any, Nothing, Unit]

    Permalink

    Updates the runtime flags.

    Updates the runtime flags. This may have a performance impact. For a higher-performance variant, see ZIO#withRuntimeFlags.

  254. def updateState[S](f: (S) ⇒ S)(implicit arg0: zio.EnvironmentTag[S], trace: Trace): ZIO[ZState[S], Nothing, Unit]

    Permalink

    Updates a state in the environment with the specified function.

  255. def using[R]: UsingPartiallyApplied[R]

    Permalink

    Scopes all resources acquired by resource to the lifetime of use without effecting the scope of any resources acquired by use.

  256. def validate[R, E, A, B](in: NonEmptyChunk[A])(f: (A) ⇒ ZIO[R, E, B])(implicit ev: CanFail[E], trace: Trace): ZIO[R, ::[E], NonEmptyChunk[B]]

    Permalink

    Feeds elements of type A to f and accumulates all errors in error channel or successes in success channel.

    Feeds elements of type A to f and accumulates all errors in error channel or successes in success channel.

    This combinator is lossy meaning that if there are errors all successes will be lost. To retain all information please use partition.

  257. def validate[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], ev: CanFail[E], trace: Trace): ZIO[R, ::[E], Collection[B]]

    Permalink

    Feeds elements of type A to f and accumulates all errors in error channel or successes in success channel.

    Feeds elements of type A to f and accumulates all errors in error channel or successes in success channel.

    This combinator is lossy meaning that if there are errors all successes will be lost. To retain all information please use partition.

  258. def validateDiscard[R, E, A](in: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Any])(implicit ev: CanFail[E], trace: Trace): ZIO[R, ::[E], Unit]

    Permalink

    Feeds elements of type A to f and accumulates all errors, discarding the successes.

  259. def validateFirst[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], E, Collection[E]], ev: CanFail[E], trace: Trace): ZIO[R, Collection[E], B]

    Permalink

    Feeds elements of type A to f until it succeeds.

    Feeds elements of type A to f until it succeeds. Returns first success or the accumulation of all errors.

  260. def validateFirstPar[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], E, Collection[E]], ev: CanFail[E], trace: Trace): ZIO[R, Collection[E], B]

    Permalink

    Feeds elements of type A to f, in parallel, until it succeeds.

    Feeds elements of type A to f, in parallel, until it succeeds. Returns first success or the accumulation of all errors.

    In case of success all other running fibers are terminated.

  261. def validatePar[R, E, A, B](in: NonEmptyChunk[A])(f: (A) ⇒ ZIO[R, E, B])(implicit ev: CanFail[E], trace: Trace): ZIO[R, ::[E], NonEmptyChunk[B]]

    Permalink

    Feeds elements of type A to f and accumulates, in parallel, all errors in error channel or successes in success channel.

    Feeds elements of type A to f and accumulates, in parallel, all errors in error channel or successes in success channel.

    This combinator is lossy meaning that if there are errors all successes will be lost. To retain all information please use partitionPar.

  262. def validatePar[R, E, A, B, Collection[+Element] <: Iterable[Element]](in: Collection[A])(f: (A) ⇒ ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]], ev: CanFail[E], trace: Trace): ZIO[R, ::[E], Collection[B]]

    Permalink

    Feeds elements of type A to f and accumulates, in parallel, all errors in error channel or successes in success channel.

    Feeds elements of type A to f and accumulates, in parallel, all errors in error channel or successes in success channel.

    This combinator is lossy meaning that if there are errors all successes will be lost. To retain all information please use partitionPar.

  263. def validateParDiscard[R, E, A](in: ⇒ Iterable[A])(f: (A) ⇒ ZIO[R, E, Any])(implicit ev: CanFail[E], trace: Trace): ZIO[R, ::[E], Unit]

    Permalink

    Feeds elements of type A to f in parallel and accumulates all errors, discarding the successes.

  264. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  265. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  266. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  267. def when[R, E, A](p: ⇒ Boolean)(zio: ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, Option[A]]

    Permalink

    The moral equivalent of if (p) exp

  268. def whenCase[R, E, A, B](a: ⇒ A)(pf: PartialFunction[A, ZIO[R, E, B]])(implicit trace: Trace): ZIO[R, E, Option[B]]

    Permalink

    Runs an effect when the supplied PartialFunction matches for the given value, otherwise does nothing.

  269. def whenCaseZIO[R, E, A, B](a: ⇒ ZIO[R, E, A])(pf: PartialFunction[A, ZIO[R, E, B]])(implicit trace: Trace): ZIO[R, E, Option[B]]

    Permalink

    Runs an effect when the supplied PartialFunction matches for the given effectful value, otherwise does nothing.

  270. def whenZIO[R, E](p: ⇒ ZIO[R, E, Boolean]): WhenZIO[R, E]

    Permalink

    The moral equivalent of if (p) exp when p has side-effects

  271. def whileLoop[R, E, A](check: ⇒ Boolean)(body: ⇒ ZIO[R, E, A])(process: (A) ⇒ Any)(implicit trace: Trace): ZIO[R, E, Unit]

    Permalink

    A low-level while-loop with direct support in the ZIO runtime.

    A low-level while-loop with direct support in the ZIO runtime. The only reason to use this constructor is performance.

    See ZIO.iterate for a user-friendly version of this operator that is compatible with purely functional code.

  272. def withChildren[R, E, A](get: (UIO[Chunk[Fiber.Runtime[Any, Any]]]) ⇒ ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Locally installs a supervisor and an effect that succeeds with all the children that have been forked in the returned effect.

  273. def withClock[R, E, A <: Clock, B](clock: ⇒ A)(zio: ⇒ ZIO[R, E, B])(implicit tag: Tag[A], trace: Trace): ZIO[R, E, B]

    Permalink

    Executes the specified workflow with the specified implementation of the clock service.

  274. def withClockScoped[A <: Clock](clock: ⇒ A)(implicit tag: Tag[A], trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink

    Sets the implementation of the clock service to the specified value and restores it to its original value when the scope is closed.

  275. def withConfigProvider[R, E, A <: ConfigProvider, B](configProvider: ⇒ A)(zio: ⇒ ZIO[R, E, B])(implicit tag: Tag[A], trace: Trace): ZIO[R, E, B]

    Permalink

    Executes the specified workflow with the specified configuration provider.

  276. def withConfigProviderScoped[A <: ConfigProvider](configProvider: ⇒ A)(implicit tag: Tag[A], trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink

    Sets the configuration provider to the specified value and restores it to its original value when the scope is closed.

  277. def withConsole[R, E, A <: Console, B](console: ⇒ A)(zio: ⇒ ZIO[R, E, B])(implicit tag: Tag[A], trace: Trace): ZIO[R, E, B]

    Permalink

    Executes the specified workflow with the specified implementation of the console service.

  278. def withConsoleScoped[A <: Console](console: ⇒ A)(implicit tag: Tag[A], trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink

    Sets the implementation of the console service to the specified value and restores it to its original value when the scope is closed.

  279. def withParallelism[R, E, A](n: ⇒ Int)(zio: ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Runs the specified effect with the specified maximum number of fibers for parallel operators.

  280. def withParallelismUnbounded[R, E, A](zio: ZIO[R, E, A])(implicit trace: Trace): ZIO[R, E, A]

    Permalink

    Runs the specified effect with an unbounded maximum number of fibers for parallel operators.

  281. def withRandom[R, E, A <: Random, B](random: ⇒ A)(zio: ⇒ ZIO[R, E, B])(implicit tag: Tag[A], trace: Trace): ZIO[R, E, B]

    Permalink

    Executes the specified workflow with the specified implementation of the random service.

  282. def withRandomScoped[A <: Random](random: ⇒ A)(implicit tag: Tag[A], trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink

    Sets the implementation of the random service to the specified value and restores it to its original value when the scope is closed.

  283. def withRuntimeFlagsScoped(update: Patch)(implicit trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink
  284. def withSystem[R, E, A <: System, B](system: ⇒ A)(zio: ⇒ ZIO[R, E, B])(implicit tag: Tag[A], trace: Trace): ZIO[R, E, B]

    Permalink

    Executes the specified workflow with the specified implementation of the system service.

  285. def withSystemScoped[A <: System](system: ⇒ A)(implicit tag: Tag[A], trace: Trace): ZIO[Scope, Nothing, Unit]

    Permalink

    Sets the implementation of the system service to the specified value and restores it to its original value when the scope is closed.

  286. def yieldNow(implicit trace: Trace): UIO[Unit]

    Permalink

    Returns an effect that yields to the runtime system, starting on a fresh stack.

    Returns an effect that yields to the runtime system, starting on a fresh stack. Manual use of this method can improve fairness, at the cost of overhead.

Inherited from Serializable

Inherited from Serializable

Inherited from ZIOCompanionPlatformSpecific

Inherited from AnyRef

Inherited from Any

Ungrouped