object ZIO extends ZIOCompanionPlatformSpecific with Serializable
- Alphabetic
- By Inheritance
- ZIO
- Serializable
- ZIOCompanionPlatformSpecific
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final class AccessPartiallyApplied[R] extends AnyVal
- final class AccessZIOPartiallyApplied[R] extends AnyVal
- final class BracketAcquire[-R, +E, +A] extends AnyVal
- final class BracketAcquire_[-R, +E] extends AnyVal
- final class BracketExitAcquire[-R, +E, +A] extends AnyVal
- final class BracketExitRelease[-R, +E, E1, +A, B] extends AnyRef
- final class BracketRelease[-R, +E, +A] extends AnyRef
- final class BracketReleaseFn[R, E, A, B] extends ZIOFn2[A, Exit[E, B], URIO[R, Any]]
- final class BracketRelease_[-R, +E] extends AnyRef
- abstract class CanFilter[+E] extends AnyRef
- Annotations
- @implicitNotFound()
- final class ConstFn[A, B] extends ZIOFn1[A, B]
- final class ConstZIOFn[R, E, A, B] extends ZIOFn1[A, ZIO[R, E, B]]
- final class FoldCauseZIOFailureFn[R, E, E2, A] extends ZIOFn1[Cause[E], ZIO[R, E2, A]]
- final class FoldCauseZIOFailureTraceFn[R, E, E2, A] extends ZIOFn1[Cause[E], ZIO[R, E2, A]]
- final class ForkScopeRestore extends AnyVal
- final class GetStateWithPartiallyApplied[S] extends AnyVal
- final class Grafter extends AnyVal
- final class IfZIO[R, E] extends AnyVal
- final class InterruptStatusRestore extends AnyVal
- final class LogSpan extends AnyVal
- final class MapErrorCauseFn[R, E, E2, A] extends ZIOFn1[Cause[E], ZIO[R, E2, Nothing]]
- final class MapErrorFn[R, E, E2, A] extends ZIOFn1[Cause[E], ZIO[R, E2, Nothing]]
- final class MapFn[R, E, A, B] extends ZIOFn1[A, ZIO[R, E, B]]
- final class ProvideSomeLayer[R0, -R, +E, +A] extends AnyVal
- final class ServiceAtPartiallyApplied[Service] extends AnyVal
- final class ServiceWithPartiallyApplied[Service] extends AnyVal
- final class SucceedFn[R, E, A] extends ZIOFn1[A, ZIO[R, E, A]]
- final class TapDefectRefailFn[R, E, E1 >: E] extends ZIOFn1[Cause[E], ZIO[R, E1, Nothing]]
- final class TapErrorCauseRefailFn[R, E, E1 >: E, A] extends ZIOFn1[Cause[E], ZIO[R, E1, Nothing]]
- final class TapErrorRefailFn[R, E, E1 >: E, A] extends ZIOFn1[Cause[E], ZIO[R, E1, Nothing]]
- final class TapErrorTraceRefailFn[R, E, E1 >: E, A] extends ZIOFn1[Cause[E], ZIO[R, E1, Nothing]]
- final class TapFn[R, E, A] extends ZIOFn1[A, ZIO[R, E, A]]
- final class TimeoutTo[-R, +E, +A, +B] extends AnyRef
- final class UnlessZIO[R, E] extends AnyVal
- final class UpdateService[-R, +E, +A, M] extends AnyVal
- final class UpdateServiceAt[-R, +E, +A, Service] extends AnyVal
- final class WhenZIO[R, E] extends AnyVal
- implicit final class ZIOAutoCloseableOps[R, E, A <: AutoCloseable] extends AnyVal
- sealed trait ZIOConstructor[-Environment, +Error, In] extends AnyRef
A
ZIOConstructor[Input]knows how to construct aZIOvalue from an input of typeInput.A
ZIOConstructor[Input]knows how to construct aZIOvalue from an input of typeInput. This allows the type of theZIOvalue constructed to depend onInput. The constructedZIOvalue is guaranteed not to require any services not included inEnvironmentor to be able to fail in any ways not described byError. - trait ZIOConstructorLowPriority1 extends ZIOConstructorLowPriority2
- trait ZIOConstructorLowPriority2 extends ZIOConstructorLowPriority3
- trait ZIOConstructorLowPriority3 extends AnyRef
- implicit final class ZIOWithFilterOps[R, E, A] extends AnyVal
- implicit final class ZioRefineToOrDieOps[R, E <: Throwable, A] extends AnyVal
- final class ZipLeftFn[R, E, A, B] extends ZIOFn1[B, ZIO[R, E, B]]
- final class ZipRightFn[R, E, A, B] extends ZIOFn1[A, ZIO[R, E, B]]
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def absolve[R, E, A](v: => ZIO[R, E, Either[E, A]]): ZIO[R, E, A]
Submerges the error case of an
Eitherinto theZIO.Submerges the error case of an
Eitherinto theZIO. The inverse operation ofIO.either. - def access[R]: AccessPartiallyApplied[R]
Accesses the environment of the effect.
Accesses the environment of the effect.
val portNumber = effect.access(_.config.portNumber) - def accessZIO[R]: AccessZIOPartiallyApplied[R]
Effectfully accesses the environment of the effect.
- def acquireReleaseExitWith[R, E, A, B](acquire: => ZIO[R, E, A], release: (A, Exit[E, B]) => URIO[R, Any], use: (A) => ZIO[R, E, B]): ZIO[R, E, B]
Uncurried version.
Uncurried version. Doesn't offer curried syntax and has worse type-inference characteristics, but guarantees no extra allocations of intermediate zio.ZIO.BracketExitAcquire and zio.ZIO.BracketExitRelease objects.
- def acquireReleaseExitWith[R, E, A](acquire: => ZIO[R, E, A]): BracketExitAcquire[R, E, A]
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
acquireeffect succeeds. Ifusefails, then after release, the returned effect will fail with the same error. - def acquireReleaseWith[R, E, A, B](acquire: => ZIO[R, E, A], release: (A) => URIO[R, Any], use: (A) => ZIO[R, E, B]): ZIO[R, E, B]
Uncurried version.
Uncurried version. Doesn't offer curried syntax and have worse type-inference characteristics, but guarantees no extra allocations of intermediate zio.ZIO.BracketAcquire and zio.ZIO.BracketRelease objects.
- def acquireReleaseWith[R, E, A](acquire: => ZIO[R, E, A]): BracketAcquire[R, E, A]
When this effect represents acquisition of a resource (for example, opening a file, launching a thread, etc.),
acquireReleaseWithcan be used to ensure the acquisition is not interrupted and the resource is always released.When this effect represents acquisition of a resource (for example, opening a file, launching a thread, etc.),
acquireReleaseWithcan be used to ensure the acquisition is not interrupted and the resource is always released.The function does two things:
1. Ensures this effect, which acquires the resource, will not be interrupted. Of course, acquisition may fail for internal reasons (an uncaught exception). 2. Ensures the
releaseeffect 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
useeffect is executed.If the
releaseeffect fails, then the entire effect will fail even if theuseeffect succeeds. If this fail-fast behavior is not desired, errors produced by thereleaseeffect can be caught and ignored.openFile("data.json").acquireReleaseWith(closeFile) { file => for { header <- readHeader(file) ... } yield result }
- def allowInterrupt: UIO[Unit]
Makes an explicit check to see if the fiber has been interrupted, and if so, performs self-interruption
- def apply[A](a: => A): Task[A]
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def async[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Any, blockingOn: => FiberId = FiberId.None): ZIO[R, E, A]
Imports an asynchronous side-effect into a pure
ZIOvalue.Imports an asynchronous side-effect into a pure
ZIOvalue. SeeasyncMaybefor the more expressive variant of this function that can return a value synchronously.The callback function
ZIO[R, E, A] => Anymust be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- def asyncInterrupt[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Either[Canceler[R], ZIO[R, E, A]], blockingOn: => FiberId = FiberId.None): ZIO[R, E, A]
Imports an asynchronous side-effect into a ZIO effect.
Imports an asynchronous side-effect into a ZIO effect. The side-effect has the option of returning the value synchronously, which is useful in cases where it cannot be determined if the effect is synchronous or asynchronous until the side-effect is actually executed. The effect also has the option of returning a canceler, which will be used by the runtime to cancel the asynchronous effect if the fiber executing the effect is interrupted.
If the register function returns a value synchronously, then the callback function
ZIO[R, E, A] => Anymust not be called. Otherwise the callback function must be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- def asyncMaybe[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Option[ZIO[R, E, A]], blockingOn: => FiberId = FiberId.None): ZIO[R, E, A]
Imports an asynchronous effect into a pure
ZIOvalue, possibly returning the value synchronously.Imports an asynchronous effect into a pure
ZIOvalue, possibly returning the value synchronously.If the register function returns a value synchronously, then the callback function
ZIO[R, E, A] => Anymust not be called. Otherwise the callback function must be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- def asyncZIO[R, E, A](register: ((ZIO[R, E, A]) => Unit) => ZIO[R, E, Any]): ZIO[R, E, A]
Imports an asynchronous effect into a pure
ZIOvalue.Imports an asynchronous effect into a pure
ZIOvalue. This formulation is necessary when the effect is itself expressed in terms ofZIO. - def attempt[A](effect: => A): Task[A]
Imports a synchronous side-effect into a pure
ZIOvalue, translating any thrown exceptions into typed failed effects creating withZIO.fail.Imports a synchronous side-effect into a pure
ZIOvalue, translating any thrown exceptions into typed failed effects creating withZIO.fail.def printLine(line: String): Task[Unit] = Task.attempt(println(line))
- def attemptBlocking[A](effect: => A): Task[A]
Imports a synchronous effect that does blocking IO into a pure value.
- def attemptBlockingCancelable[A](effect: => A)(cancel: => UIO[Any]): Task[A]
Imports a synchronous effect that does blocking IO into a pure value, with a custom cancel effect.
Imports a synchronous effect that does blocking IO into a pure value, with a custom cancel effect.
If the returned
ZIOis interrupted, the blocked thread running the synchronous effect will be interrupted via the cancel effect. - def attemptBlockingIO[A](effect: => A): IO[IOException, A]
Imports a synchronous effect that does blocking IO into a pure value, refining the error type to
java.io.IOException. - def attemptBlockingInterrupt[A](effect: => A): Task[A]
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
ZIOis interrupted, the blocked thread running the synchronous effect will be interrupted viaThread.interrupt.Note that this adds significant overhead. For performance sensitive applications consider using
attemptBlockingorattemptBlockingCancelable. - def blocking[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
Locks the specified effect to the blocking thread pool.
- def blockingExecutor: UIO[Executor]
Retrieves the executor for all blocking tasks.
- def checkInterruptible[R, E, A](f: (zio.InterruptStatus) => ZIO[R, E, A]): ZIO[R, E, A]
Checks the interrupt status, and produces the effect returned by the specified callback.
- def checkTraced[R, E, A](f: (zio.TracingStatus) => ZIO[R, E, A]): ZIO[R, E, A]
Checks the ZIO Tracing status, and produces the effect returned by the specified callback.
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def collect[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) => ZIO[R, Option[E], (Key2, Value2)]): ZIO[R, E, Map[Key2, Value2]]
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. - 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]]): ZIO[R, E, Collection[B]]
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. - def collectAll[R, E, A](in: NonEmptyChunk[ZIO[R, E, A]]): ZIO[R, E, NonEmptyChunk[A]]
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. - def collectAll[R, E, A](in: Option[ZIO[R, E, A]]): ZIO[R, E, Option[A]]
Evaluate effect if present, and return its result as
Option[A]. - def collectAll[R, E, A](in: Array[ZIO[R, E, A]])(implicit arg0: ClassTag[A]): ZIO[R, E, Array[A]]
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. - def collectAll[R, E, A](in: Set[ZIO[R, E, A]]): ZIO[R, E, Set[A]]
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. - 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]]): ZIO[R, E, Collection[A]]
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. - def collectAllDiscard[R, E, A](in: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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. - def collectAllPar[R, E, A](as: NonEmptyChunk[ZIO[R, E, A]]): ZIO[R, E, NonEmptyChunk[A]]
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. - def collectAllPar[R, E, A](as: Array[ZIO[R, E, A]])(implicit arg0: ClassTag[A]): ZIO[R, E, Array[A]]
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. - def collectAllPar[R, E, A](as: Set[ZIO[R, E, A]]): ZIO[R, E, Set[A]]
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. - 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]]): ZIO[R, E, Collection[A]]
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. - def collectAllParDiscard[R, E, A](as: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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. - def collectAllParN[R, E, A, Collection[+Element] <: Iterable[Element]](n: => Int)(as: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]]): ZIO[R, E, Collection[A]]
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.Unlike
collectAllPar, this method will use at mostnfibers. - def collectAllParNDiscard[R, E, A](n: => Int)(as: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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.Unlike
collectAllParDiscard, this method will use at mostnfibers. - 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]]): URIO[R, Collection[A]]
Evaluate and run each effect in the structure and collect discarding failed ones.
- 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]]): URIO[R, Collection[A]]
Evaluate and run each effect in the structure in parallel, and collect discarding failed ones.
- def collectAllSuccessesParN[R, E, A, Collection[+Element] <: Iterable[Element]](n: => Int)(in: Collection[ZIO[R, E, A]])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], A, Collection[A]]): URIO[R, Collection[A]]
Evaluate and run each effect in the structure in parallel, and collect discarding failed ones.
Evaluate and run each effect in the structure in parallel, and collect discarding failed ones.
Unlike
collectAllSuccessesPar, this method will use at most up tonfibers. - 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]]): ZIO[R, E, Collection[B]]
Evaluate each effect in the structure with
collectAll, and collect the results with given partial function. - 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]]): ZIO[R, E, Collection[U]]
Evaluate each effect in the structure with
collectAllPar, and collect the results with given partial function. - def collectAllWithParN[R, E, A, B, Collection[+Element] <: Iterable[Element]](n: => Int)(in: Collection[ZIO[R, E, A]])(f: PartialFunction[A, B])(implicit bf: zio.BuildFrom[Collection[ZIO[R, E, A]], B, Collection[B]]): ZIO[R, E, Collection[B]]
Evaluate each effect in the structure with
collectAllPar, and collect the results with given partial function.Evaluate each effect in the structure with
collectAllPar, and collect the results with given partial function.Unlike
collectAllWithPar, this method will use at most up tonfibers. - def collectFirst[R, E, A, B](as: => Iterable[A])(f: (A) => ZIO[R, E, Option[B]]): ZIO[R, E, Option[B]]
Collects the first element of the
Iterable[A]for which the effectual functionfreturnsSome. - def collectPar[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) => ZIO[R, Option[E], (Key2, Value2)]): ZIO[R, E, Map[Key2, Value2]]
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. - 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]]): ZIO[R, E, Collection[B]]
Evaluate each effect in the structure in parallel, collecting the the successful values and discarding the empty cases.
- def collectParN[R, E, A, B, Collection[+Element] <: Iterable[Element]](n: => Int)(in: Collection[A])(f: (A) => ZIO[R, Option[E], B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]]): ZIO[R, E, Collection[B]]
Evaluate each effect in the structure in parallel, collecting the the successful values and discarding the empty cases.
Evaluate each effect in the structure in parallel, collecting the the successful values and discarding the empty cases.
Unlike
collectPar, this method will use at most up tonfibers. - def cond[E, A](predicate: => Boolean, result: => A, error: => E): IO[E, A]
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
- def debug(value: => Any): UIO[Unit]
Prints the specified message to the console for debugging purposes.
- def descriptor: UIO[Fiber.Descriptor]
Returns information about the current fiber, such as its identity.
- def descriptorWith[R, E, A](f: (Fiber.Descriptor) => ZIO[R, E, A]): ZIO[R, E, A]
Constructs an effect based on information about the current fiber, such as its identity.
- def die(t: => Throwable): UIO[Nothing]
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. - def dieMessage(message: => String): UIO[Nothing]
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.
- def done[E, A](r: => Exit[E, A]): IO[E, A]
Returns an effect from a zio.Exit value.
- def environment[R]: URIO[R, R]
Accesses the whole environment of the effect.
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def executor: UIO[Executor]
Retrieves the executor for this effect.
- def exists[R, E, A](as: => Iterable[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Boolean]
Determines whether any element of the
Iterable[A]satisfies the effectual predicatef. - def fail[E](error: => E): IO[E, Nothing]
Returns an effect that models failure with the specified error.
Returns an effect that models failure with the specified error. The moral equivalent of
throwfor pure code. - def failCause[E](cause: => Cause[E]): IO[E, Nothing]
Returns an effect that models failure with the specified
Cause. - def failCauseWith[E](function: (() => ZTrace) => Cause[E]): IO[E, Nothing]
Returns an effect that models failure with the specified
Cause.Returns an effect that models failure with the specified
Cause.This version takes in a lazily-evaluated trace that can be attached to the
CauseviaCause.Traced. - val fiberId: UIO[FiberId]
Returns the
FiberIdof the fiber executing the effect that calls this method. - def filter[R, E, A](as: Set[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Set[A]]
Filters the Set[A] using the specified effectual predicate.
- 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]]): ZIO[R, E, Collection[A]]
Filters the collection using the specified effectual predicate.
- def filterNot[R, E, A](as: Set[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Set[A]]
Filters the Set[A] using the specified effectual predicate, removing all elements that satisfy the predicate.
- 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]]): ZIO[R, E, Collection[A]]
Filters the collection using the specified effectual predicate, removing all elements that satisfy the predicate.
- def filterNotPar[R, E, A](as: Set[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Set[A]]
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.
- 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]]): ZIO[R, E, Collection[A]]
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.
- def filterPar[R, E, A](as: Set[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Set[A]]
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.
- 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]]): ZIO[R, E, Collection[A]]
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.
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def firstSuccessOf[R, R1 <: R, E, A](zio: => ZIO[R, E, A], rest: => Iterable[ZIO[R1, E, A]]): ZIO[R1, E, A]
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.
- def flatten[R, E, A](zio: => ZIO[R, E, ZIO[R, E, A]]): ZIO[R, E, A]
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.
- def foldLeft[R, E, S, A](in: => Iterable[A])(zero: => S)(f: (S, A) => ZIO[R, E, S]): ZIO[R, E, S]
Folds an Iterable[A] using an effectual function f, working sequentially from left to right.
- def foldRight[R, E, S, A](in: => Iterable[A])(zero: => S)(f: (A, S) => ZIO[R, E, S]): ZIO[R, E, S]
Folds an Iterable[A] using an effectual function f, working sequentially from right to left.
- def forall[R, E, A](as: => Iterable[A])(f: (A) => ZIO[R, E, Boolean]): ZIO[R, E, Boolean]
Determines whether all elements of the
Iterable[A]satisfy the effectual predicatef. - final def foreach[R, E, A, B](in: NonEmptyChunk[A])(f: (A) => ZIO[R, E, B]): ZIO[R, E, NonEmptyChunk[B]]
Applies the function
fto each element of theNonEmptyChunk[A]and returns the results in a newNonEmptyChunk[B].Applies the function
fto each element of theNonEmptyChunk[A]and returns the results in a newNonEmptyChunk[B].For a parallel version of this method, see
foreachPar. If you do not need the results, seeforeachDiscardfor a more efficient implementation. - final def foreach[R, E, A, B](in: Option[A])(f: (A) => ZIO[R, E, B]): ZIO[R, E, Option[B]]
Applies the function
fif the argument is non-empty and returns the results in a newOption[B]. - def foreach[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) => ZIO[R, E, (Key2, Value2)]): ZIO[R, E, Map[Key2, Value2]]
Applies the function
fto each element of theMap[Key, Value]and returns the results in a newMap[Key2, Value2].Applies the function
fto each element of theMap[Key, Value]and returns the results in a newMap[Key2, Value2].For a parallel version of this method, see
foreachPar. If you do not need the results, seeforeachDiscardfor a more efficient implementation. - final def foreach[R, E, A, B](in: Array[A])(f: (A) => ZIO[R, E, B])(implicit arg0: ClassTag[B]): ZIO[R, E, Array[B]]
Applies the function
fto each element of theArray[A]and returns the results in a newArray[B].Applies the function
fto each element of theArray[A]and returns the results in a newArray[B].For a parallel version of this method, see
foreachPar. If you do not need the results, seeforeachDiscardfor a more efficient implementation. - final def foreach[R, E, A, B](in: Set[A])(f: (A) => ZIO[R, E, B]): ZIO[R, E, Set[B]]
Applies the function
fto each element of theSet[A]and returns the results in a newSet[B].Applies the function
fto each element of theSet[A]and returns the results in a newSet[B].For a parallel version of this method, see
foreachPar. If you do not need the results, seeforeachDiscardfor a more efficient implementation. - 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]]): ZIO[R, E, Collection[B]]
Applies the function
fto each element of theCollection[A]and returns the results in a newCollection[B].Applies the function
fto each element of theCollection[A]and returns the results in a newCollection[B].For a parallel version of this method, see
foreachPar. If you do not need the results, seeforeach_for a more efficient implementation. - def foreachDiscard[R, E, A](as: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects sequentially.Applies the function
fto each element of theIterable[A]and runs produced effects sequentially.Equivalent to
foreach(as)(f).unit, but without the cost of building the list of results. - 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]]): ZIO[R, E, Collection[B]]
Applies the function
fto each element of theCollection[A]and returns the result in a newCollection[B]using the specified execution strategy. - final def foreachPar[R, E, A, B](as: NonEmptyChunk[A])(fn: (A) => ZIO[R, E, B]): ZIO[R, E, NonEmptyChunk[B]]
Applies the function
fto each element of theNonEmptyChunk[A]in parallel, and returns the results in a newNonEmptyChunk[B].Applies the function
fto each element of theNonEmptyChunk[A]in parallel, and returns the results in a newNonEmptyChunk[B].For a sequential version of this method, see
foreach. - def foreachPar[R, E, Key, Key2, Value, Value2](map: Map[Key, Value])(f: (Key, Value) => ZIO[R, E, (Key2, Value2)]): ZIO[R, E, Map[Key2, Value2]]
Applies the function
fto each element of theMap[Key, Value]in parallel and returns the results in a newMap[Key2, Value2].Applies the function
fto each element of theMap[Key, Value]in parallel and returns the results in a newMap[Key2, Value2].For a sequential version of this method, see
foreach. - final def foreachPar[R, E, A, B](as: Array[A])(f: (A) => ZIO[R, E, B])(implicit arg0: ClassTag[B]): ZIO[R, E, Array[B]]
Applies the function
fto each element of theArray[A]in parallel, and returns the results in a newArray[B].Applies the function
fto each element of theArray[A]in parallel, and returns the results in a newArray[B].For a sequential version of this method, see
foreach. - final def foreachPar[R, E, A, B](as: Set[A])(fn: (A) => ZIO[R, E, B]): ZIO[R, E, Set[B]]
Applies the function
fto each element of theSet[A]in parallel, and returns the results in a newSet[B].Applies the function
fto each element of theSet[A]in parallel, and returns the results in a newSet[B].For a sequential version of this method, see
foreach. - 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]]): ZIO[R, E, Collection[B]]
Applies the function
fto each element of theCollection[A]in parallel, and returns the results in a newCollection[B].Applies the function
fto each element of theCollection[A]in parallel, and returns the results in a newCollection[B].For a sequential version of this method, see
foreach. - def foreachParDiscard[R, E, A](as0: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Applies the function
fto each element of theIterable[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.
- def foreachParN[R, E, A, B, Collection[+Element] <: Iterable[Element]](n0: => Int)(as: Collection[A])(fn: (A) => ZIO[R, E, B])(implicit bf: zio.BuildFrom[Collection[A], B, Collection[B]]): ZIO[R, E, Collection[B]]
Applies the function
fto each element of theCollection[A]in parallel, and returns the results in a newCollection[B].Applies the function
fto each element of theCollection[A]in parallel, and returns the results in a newCollection[B].Unlike
foreachPar, this method will use at most up tonfibers. - def foreachParNDiscard[R, E, A](n: => Int)(as0: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Unlike
foreachParDiscard, this method will use at most up tonfibers. - 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]]): URIO[R, Fiber[E, Collection[A]]]
Returns an effect that forks all of the specified values, and returns a composite fiber that produces a list of their results, in order.
- def forkAllDiscard[R, E, A](as: => Iterable[ZIO[R, E, A]]): URIO[R, Unit]
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.
- def forkScope: UIO[ZScope[Exit[Any, Any]]]
Retrieves the scope that will be used to supervise forked effects.
- def forkScopeMask[R, E, A](newScope: => ZScope[Exit[Any, Any]])(f: (ForkScopeRestore) => ZIO[R, E, A]): ZIO[R, E, A]
Captures the fork scope, before overriding it with the specified new scope, passing a function that allows restoring the fork scope to what it was originally.
- def forkScopeWith[R, E, A](f: (ZScope[Exit[Any, Any]]) => ZIO[R, E, A]): ZIO[R, E, A]
Retrieves the scope that will be used to supervise forked effects.
- def from[Input](input: => Input)(implicit constructor: ZIOConstructor[Nothing, Any, Input]): ZIO[OutEnvironment, OutError, OutSuccess]
Constructs a
ZIOvalue of the appropriate type for the specified input. - def fromEither[E, A](v: => Either[E, A]): IO[E, A]
Lifts an
Eitherinto aZIOvalue. - def fromEitherCause[E, A](v: => Either[Cause[E], A]): IO[E, A]
Lifts an
Eitherinto aZIOvalue. - def fromFiber[E, A](fiber: => Fiber[E, A]): IO[E, A]
Creates a
ZIOvalue that represents the exit value of the specified fiber. - def fromFiberZIO[R, E, A](fiber: => ZIO[R, E, Fiber[E, A]]): ZIO[R, E, A]
Creates a
ZIOvalue that represents the exit value of the specified fiber. - def fromFuture[A](make: (ExecutionContext) => Future[A]): Task[A]
Imports a function that creates a scala.concurrent.Future from an scala.concurrent.ExecutionContext into a
ZIO. - def fromFutureInterrupt[A](make: (ExecutionContext) => Future[A]): Task[A]
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 providedExecutionContextwill interrupt theFuturebetween asynchronous operations such asmapandflatMapif this effect is interrupted. Note that no attempt will be made to interrupt aFutureblocking on a synchronous operation and that theFuturemust be created using the providedExecutionContext. - def fromOption[A](v: => Option[A]): IO[Option[Nothing], A]
Lifts an
Optioninto aZIObut preserves the error as an option in the error channel, making it easier to compose in some scenarios. - def fromPromiseJS[A](promise: => scala.scalajs.js.Promise[A]): Task[A]
Imports a Scala.js promise into a
ZIO.Imports a Scala.js promise into a
ZIO.- Definition Classes
- ZIOCompanionPlatformSpecific
- def fromPromiseScala[A](promise: => scala.concurrent.Promise[A]): Task[A]
Imports a scala.concurrent.Promise we generate a future from promise, and we pass to [fromFuture] to transform into Task[A]
- def fromTry[A](value: => Try[A]): Task[A]
Lifts a
Tryinto aZIO. - final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def getOrFail[A](v: => Option[A]): Task[A]
Lifts an Option into a ZIO, if the option is not defined it fails with NoSuchElementException.
- final def getOrFailUnit[A](v: => Option[A]): IO[Unit, A]
Lifts an Option into a IO, if the option is not defined it fails with Unit.
- final def getOrFailWith[E, A](e: => E)(v: => Option[A]): IO[E, A]
Lifts an Option into a ZIO.
Lifts an Option into a ZIO. If the option is not defined, fail with the
evalue. - def getState[S](implicit arg0: zio.Tag[S]): ZIO[Has[ZState[S]], Nothing, S]
Gets a state from the environment.
- def getStateWith[S]: GetStateWithPartiallyApplied[S]
Gets a state from the environment and uses it to run the specified function.
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def ifZIO[R, E](b: => ZIO[R, E, Boolean]): IfZIO[R, E]
Runs
onTrueif the result ofbistrueandonFalseotherwise. - val infinity: URIO[Has[Clock], Nothing]
Like never, but fibers that running this effect won't be garbage collected unless interrupted.
- lazy val interrupt: UIO[Nothing]
Returns an effect that is interrupted as if by the fiber calling this method.
- def interruptAs(fiberId: => FiberId): UIO[Nothing]
Returns an effect that is interrupted as if by the specified fiber.
- def interruptible[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
Prefix form of
ZIO#interruptible. - def interruptibleMask[R, E, A](k: (InterruptStatusRestore) => ZIO[R, E, A]): ZIO[R, E, A]
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.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def iterate[R, E, S](initial: => S)(cont: (S) => Boolean)(body: (S) => ZIO[R, E, S]): ZIO[R, E, S]
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
- def left[A](a: => A): UIO[Either[A, Nothing]]
Returns an effect with the value on the left part.
- def log(message: => String): UIO[Unit]
Logs the specified message at the current log level.
- def logDebug(message: => String): UIO[Unit]
Logs the specified message at the debug log level.
- def logError(message: => String): UIO[Unit]
Logs the specified message at the error log level.
- def logErrorCause(cause: => Cause[Any]): UIO[Unit]
Logs the specified cause as an error.
- def logFatal(message: => String): UIO[Unit]
Logs the specified message at the fatal log level.
- def logInfo(message: => String): UIO[Unit]
Logs the specified message at the informational log level.
- def logLevel(level: LogLevel): LogLevel
- def logSpan(label: => String): LogSpan
Adjusts the label for the current logging span.
Adjusts the label for the current logging span.
ZIO.logSpan("parsing") { parseRequest(req) } - def logWarning(message: => String): UIO[Unit]
Logs the specified message at the warning log level.
- def loop[R, E, A, S](initial: => S)(cont: (S) => Boolean, inc: (S) => S)(body: (S) => ZIO[R, E, A]): ZIO[R, E, List[A]]
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
- def loopDiscard[R, E, S](initial: => S)(cont: (S) => Boolean, inc: (S) => S)(body: (S) => ZIO[R, E, Any]): ZIO[R, E, Unit]
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) }
- def memoize[R, E, A, B](f: (A) => ZIO[R, E, B]): UIO[(A) => ZIO[R, E, B]]
Returns a memoized version of the specified effectual function.
- def mergeAll[R, E, A, B](in: => Iterable[ZIO[R, E, A]])(zero: => B)(f: (B, A) => B): ZIO[R, E, B]
Merges an
Iterable[IO]to a single IO, working sequentially. - def mergeAllPar[R, E, A, B](in: => Iterable[ZIO[R, E, A]])(zero: => B)(f: (B, A) => B): ZIO[R, E, B]
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,
fmust 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, asfmay be executed more than once for some ofinelements during effect execution. - def mergeAllParN[R, E, A, B](n: => Int)(in: => Iterable[ZIO[R, E, A]])(zero: => B)(f: (B, A) => B): ZIO[R, E, B]
Merges an
Iterable[IO]to a single IO, working in with up tonfibers in parallel.Merges an
Iterable[IO]to a single IO, working in with up tonfibers in parallel.Due to the parallel nature of this combinator,
fmust 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, asfmay be executed more than once for some ofinelements during effect execution. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- lazy val never: UIO[Nothing]
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 suspended running this effect are automatically garbage collected on the JVM, because they cannot be reactivated. - lazy val none: UIO[Option[Nothing]]
Returns an effect with the empty value.
- def noneOrFail[E](o: => Option[E]): IO[E, Unit]
Lifts an Option into a IO.
Lifts an Option into a IO. If the option is empty it succeeds with Unit. If the option is defined it fails with the content.
- def noneOrFailWith[E, O](o: => Option[O])(f: (O) => E): IO[E, Unit]
Lifts an Option into a IO.
Lifts an Option into a IO. If the option is empty it succeeds with Unit. If the option is defined it fails with an error adapted with f.
- def not[R, E](effect: => ZIO[R, E, Boolean]): ZIO[R, E, Boolean]
Returns a new effect where boolean value of this effect is negated.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def onExecutor[R, E, A](executor: => Executor)(zio: ZIO[R, E, A]): ZIO[R, E, A]
Returns an effect that will execute the specified effect fully on the provided executor, before returning to the default executor.
Returns an effect that will execute the specified effect fully on the provided executor, before returning to the default executor. See ZIO!.onExecutor.
- def partition[R, E, A, B](in: => Iterable[A])(f: (A) => ZIO[R, E, B])(implicit ev: CanFail[E]): ZIO[R, Nothing, (Iterable[E], Iterable[B])]
Feeds elements of type
Ato a functionfthat returns an effect.Feeds elements of type
Ato a functionfthat returns an effect. Collects all successes and failures in a tupled fashion. - def partitionPar[R, E, A, B](in: => Iterable[A])(f: (A) => ZIO[R, E, B])(implicit ev: CanFail[E]): ZIO[R, Nothing, (Iterable[E], Iterable[B])]
Feeds elements of type
Ato a functionfthat returns an effect.Feeds elements of type
Ato a functionfthat returns an effect. Collects all successes and failures in parallel and returns the result as a tuple. - def partitionParN[R, E, A, B](n: => Int)(in: => Iterable[A])(f: (A) => ZIO[R, E, B])(implicit ev: CanFail[E]): ZIO[R, Nothing, (Iterable[E], Iterable[B])]
Feeds elements of type
Ato a functionfthat returns an effect.Feeds elements of type
Ato a functionfthat returns an effect. Collects all successes and failures in parallel and returns the result as a tuple.Unlike partitionPar, this method will use at most up to
nfibers. - def provide[R, E, A](r: => R): (ZIO[R, E, A]) => IO[E, A]
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
providefunction can be thought of asinject. - def raceAll[R, R1 <: R, E, A](zio: => ZIO[R, E, A], ios: => Iterable[ZIO[R1, E, A]]): ZIO[R1, E, A]
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. - def reduceAll[R, R1 <: R, E, A](a: => ZIO[R, E, A], as: => Iterable[ZIO[R1, E, A]])(f: (A, A) => A): ZIO[R1, E, A]
Reduces an
Iterable[IO]to a singleIO, working sequentially. - def reduceAllPar[R, R1 <: R, E, A](a0: => ZIO[R, E, A], as0: => Iterable[ZIO[R1, E, A]])(f: (A, A) => A): ZIO[R1, E, A]
Reduces an
Iterable[IO]to a singleIO, working in parallel. - def reduceAllParN[R, R1 <: R, E, A](n: => Int)(a0: => ZIO[R, E, A], as0: => Iterable[ZIO[R1, E, A]])(f: (A, A) => A): ZIO[R1, E, A]
Reduces an
Iterable[IO]to a singleIO, working in up tonfibers in parallel. - def replicate[R, E, A](n: Int)(effect: ZIO[R, E, A]): Iterable[ZIO[R, E, A]]
Replicates the given effect
ntimes.Replicates the given effect
ntimes. If 0 or negative numbers are given, an emptyIterablewill be returned. This method is more efficient than usingList.fillor similar methods, because the returnedIterableconsumes only a small amount of heap regardless ofn. - def replicateZIO[R, E, A](n: => Int)(effect: => ZIO[R, E, A]): ZIO[R, E, Iterable[A]]
Performs this effect the specified number of times and collects the results.
- def replicateZIODiscard[R, E, A](n: => Int)(effect: => ZIO[R, E, A]): ZIO[R, E, Unit]
Performs this effect the specified number of times, discarding the results.
- def reserve[R, E, A, B](reservation: => ZIO[R, E, Reservation[R, E, A]])(use: (A) => ZIO[R, E, B]): ZIO[R, E, B]
Acquires a resource, uses the resource, and then releases the resource.
Acquires a resource, uses the resource, and then releases the resource. However, unlike
acquireReleaseWith, the separation of these phases allows the acquisition to be interruptible.Useful for concurrent data structures and other cases where the 'deallocator' can tell if the allocation succeeded or not just by inspecting internal / external state.
- def right[B](b: => B): UIO[Either[Nothing, B]]
Returns an effect with the value on the right part.
- def runtime[R]: URIO[R, Runtime[R]]
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.
- val runtimeConfig: UIO[RuntimeConfig]
Retrieves the runtimeConfig that this effect is running on.
- def scopeWith[R, E, A](f: (ZScope[Exit[Any, Any]]) => ZIO[R, E, A]): ZIO[R, E, A]
Passes the fiber's scope to the specified function, which creates an effect that will be returned from this method.
- def service[A](implicit arg0: zio.Tag[A]): URIO[Has[A], A]
Accesses the specified service in the environment of the effect.
- def serviceAt[Service]: ServiceAtPartiallyApplied[Service]
Accesses the service corresponding to the specified key in the environment.
- def serviceWith[Service]: ServiceWithPartiallyApplied[Service]
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.serviceWith[Foo](_.foo(int))
- def setRuntimeConfig(runtimeConfig: => RuntimeConfig): UIO[Unit]
Sets the runtime configuration to the specified value.
- def setState[S](s: => S)(implicit arg0: zio.Tag[S]): ZIO[Has[ZState[S]], Nothing, Unit]
Sets a state in the environment to the specified value.
- def shift(executor: => Executor): UIO[Unit]
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.
- def sleep(duration: => zio.Duration): URIO[Has[Clock], Unit]
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.
- def some[A](a: => A): UIO[Option[A]]
Returns an effect with the optional value.
- def succeed[A](a: => A): UIO[A]
Returns an effect that models success with the specified value.
- def succeedBlocking[A](a: => A): UIO[A]
Returns a synchronous effect that does blocking and succeeds with the specified value.
- def succeedWith[A](f: (RuntimeConfig, FiberId) => A): UIO[A]
The same as ZIO.succeed, but also provides access to the underlying RuntimeConfig and fiber id.
- def suspend[R, A](rio: => RIO[R, A]): RIO[R, A]
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)). - def suspendSucceed[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
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 Task.suspend or ZIO.suspend. - def suspendSucceedWith[R, E, A](f: (RuntimeConfig, FiberId) => ZIO[R, E, A]): ZIO[R, E, A]
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 Task.suspend or ZIO.suspend. - def suspendWith[R, A](f: (RuntimeConfig, FiberId) => RIO[R, A]): RIO[R, A]
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)). - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def trace: UIO[ZTrace]
Capture ZIO trace at the current point
- def traced[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
Prefix form of
ZIO#traced. - def transplant[R, E, A](f: (Grafter) => ZIO[R, E, A]): ZIO[R, E, A]
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.
- def uninterruptible[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
Prefix form of
ZIO#uninterruptible. - def uninterruptibleMask[R, E, A](k: (InterruptStatusRestore) => ZIO[R, E, A]): ZIO[R, E, A]
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.
- lazy val unit: UIO[Unit]
An effect that succeeds with a unit value.
- def unless[R, E, A](b: => Boolean)(zio: => ZIO[R, E, A]): ZIO[R, E, Option[A]]
The moral equivalent of
if (!p) exp - def unlessZIO[R, E](b: => ZIO[R, E, Boolean]): UnlessZIO[R, E]
The moral equivalent of
if (!p) expwhenphas side-effects - def unsandbox[R, E, A](v: => ZIO[R, Cause[E], A]): ZIO[R, E, A]
The inverse operation
IO.sandboxedThe inverse operation
IO.sandboxedTerminates with exceptions on the
Leftside of theEithererror, if it exists. Otherwise extracts the containedIO[E, A] - def unshift: UIO[Unit]
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.
- def untraced[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
Prefix form of
ZIO#untraced. - def updateState[S](f: (S) => S)(implicit arg0: zio.Tag[S]): ZIO[Has[ZState[S]], Nothing, Unit]
Updates a state in the environment with the specified function.
- def validate[R, E, A, B](in: NonEmptyChunk[A])(f: (A) => ZIO[R, E, B])(implicit ev: CanFail[E]): ZIO[R, ::[E], NonEmptyChunk[B]]
Feeds elements of type
Atofand accumulates all errors in error channel or successes in success channel.Feeds elements of type
Atofand 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.
- 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]): ZIO[R, ::[E], Collection[B]]
Feeds elements of type
Atofand accumulates all errors in error channel or successes in success channel.Feeds elements of type
Atofand 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.
- def validateDiscard[R, E, A](in: => Iterable[A])(f: (A) => ZIO[R, E, Any])(implicit ev: CanFail[E]): ZIO[R, ::[E], Unit]
Feeds elements of type
Atofand accumulates all errors, discarding the successes. - 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]): ZIO[R, Collection[E], B]
Feeds elements of type
Atofuntil it succeeds.Feeds elements of type
Atofuntil it succeeds. Returns first success or the accumulation of all errors. - 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]): ZIO[R, Collection[E], B]
Feeds elements of type
Atof, in parallel, until it succeeds.Feeds elements of type
Atof, in parallel, until it succeeds. Returns first success or the accumulation of all errors.In case of success all other running fibers are terminated.
- def validatePar[R, E, A, B](in: NonEmptyChunk[A])(f: (A) => ZIO[R, E, B])(implicit ev: CanFail[E]): ZIO[R, ::[E], NonEmptyChunk[B]]
Feeds elements of type
Atofand accumulates, in parallel, all errors in error channel or successes in success channel.Feeds elements of type
Atofand 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.
- 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]): ZIO[R, ::[E], Collection[B]]
Feeds elements of type
Atofand accumulates, in parallel, all errors in error channel or successes in success channel.Feeds elements of type
Atofand 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.
- def validateParDiscard[R, E, A](in: => Iterable[A])(f: (A) => ZIO[R, E, Any])(implicit ev: CanFail[E]): ZIO[R, ::[E], Unit]
Feeds elements of type
Atofin parallel and accumulates all errors, discarding the successes. - final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def when[R, E, A](b: => Boolean)(zio: => ZIO[R, E, A]): ZIO[R, E, Option[A]]
The moral equivalent of
if (p) exp - def whenCase[R, E, A, B](a: => A)(pf: PartialFunction[A, ZIO[R, E, B]]): ZIO[R, E, Option[B]]
Runs an effect when the supplied
PartialFunctionmatches for the given value, otherwise does nothing. - def whenCaseZIO[R, E, A, B](a: => ZIO[R, E, A])(pf: PartialFunction[A, ZIO[R, E, B]]): ZIO[R, E, Option[B]]
Runs an effect when the supplied
PartialFunctionmatches for the given effectful value, otherwise does nothing. - def whenZIO[R, E](b: => ZIO[R, E, Boolean]): WhenZIO[R, E]
The moral equivalent of
if (p) expwhenphas side-effects - def withChildren[R, E, A](get: (UIO[Chunk[Fiber.Runtime[Any, Any]]]) => ZIO[R, E, A]): ZIO[R, E, A]
Locally installs a supervisor and an effect that succeeds with all the children that have been forked in the returned effect.
- def withRuntimeConfig[R, E, A](runtimeConfig: => RuntimeConfig)(zio: => ZIO[R, E, A]): ZIO[R, E, A]
Runs the specified effect on the specified runtime configuration, restoring the old runtime configuration when it completes execution.
- lazy val yieldNow: UIO[Unit]
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.
- object CanFilter
- object InterruptStatusRestore
- object ZIOConstructor extends ZIOConstructorLowPriority1
Deprecated Value Members
- def accessM[R]: AccessZIOPartiallyApplied[R]
Effectfully accesses the environment of the effect.
Effectfully accesses the environment of the effect.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use accessZIO
- def bracket[R, E, A, B](acquire: => ZIO[R, E, A], release: (A) => URIO[R, Any], use: (A) => ZIO[R, E, B]): ZIO[R, E, B]
Uncurried version.
Uncurried version. Doesn't offer curried syntax and have worse type-inference characteristics, but guarantees no extra allocations of intermediate zio.ZIO.BracketAcquire and zio.ZIO.BracketRelease objects.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use acquireReleaseWith
- def bracket[R, E, A](acquire: => ZIO[R, E, A]): BracketAcquire[R, E, A]
When this effect represents acquisition of a resource (for example, opening a file, launching a thread, etc.),
bracketcan be used to ensure the acquisition is not interrupted and the resource is always released.When this effect represents acquisition of a resource (for example, opening a file, launching a thread, etc.),
bracketcan be used to ensure the acquisition is not interrupted and the resource is always released.The function does two things:
1. Ensures this effect, which acquires the resource, will not be interrupted. Of course, acquisition may fail for internal reasons (an uncaught exception). 2. Ensures the
releaseeffect 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
useeffect is executed.If the
releaseeffect fails, then the entire effect will fail even if theuseeffect succeeds. If this fail-fast behavior is not desired, errors produced by thereleaseeffect can be caught and ignored.openFile("data.json").bracket(closeFile) { file => for { header <- readHeader(file) ... } yield result }
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use acquireReleaseWith
- def bracketExit[R, E, A, B](acquire: => ZIO[R, E, A], release: (A, Exit[E, B]) => URIO[R, Any], use: (A) => ZIO[R, E, B]): ZIO[R, E, B]
Uncurried version.
Uncurried version. Doesn't offer curried syntax and has worse type-inference characteristics, but guarantees no extra allocations of intermediate zio.ZIO.BracketExitAcquire and zio.ZIO.BracketExitRelease objects.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use acquireReleaseExitWith
- def bracketExit[R, E, A](acquire: => ZIO[R, E, A]): BracketExitAcquire[R, E, A]
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
acquireeffect succeeds. Ifusefails, then after release, the returned effect will fail with the same error.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use acquireReleaseExitWith
- def collectAllParN_[R, E, A](n: => Int)(as: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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
collectAll_.Unlike
collectAllPar_, this method will use at mostnfibers.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use collectAllParNDiscard
- def collectAllPar_[R, E, A](as: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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
collectAll_.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use collectAllParDiscard
- def collectAll_[R, E, A](in: => Iterable[ZIO[R, E, A]]): ZIO[R, E, Unit]
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
collectAllPar_.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use collectAllDiscard
- def effect[A](effect: => A): Task[A]
Imports a synchronous side-effect into a pure
ZIOvalue, translating any thrown exceptions into typed failed effects creating withZIO.fail.Imports a synchronous side-effect into a pure
ZIOvalue, translating any thrown exceptions into typed failed effects creating withZIO.fail.def printLine(line: String): Task[Unit] = Task.effect(println(line))
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use attempt
- def effectAsync[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Any, blockingOn: => FiberId = null): ZIO[R, E, A]
Imports an asynchronous side-effect into a pure
ZIOvalue.Imports an asynchronous side-effect into a pure
ZIOvalue. SeeeffectAsyncMaybefor the more expressive variant of this function that can return a value synchronously.The callback function
ZIO[R, E, A] => Anymust be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use async
- def effectAsyncInterrupt[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Either[Canceler[R], ZIO[R, E, A]], blockingOn: => FiberId = FiberId.None): ZIO[R, E, A]
Imports an asynchronous side-effect into a ZIO effect.
Imports an asynchronous side-effect into a ZIO effect. The side-effect has the option of returning the value synchronously, which is useful in cases where it cannot be determined if the effect is synchronous or asynchronous until the side-effect is actually executed. The effect also has the option of returning a canceler, which will be used by the runtime to cancel the asynchronous effect if the fiber executing the effect is interrupted.
If the register function returns a value synchronously, then the callback function
ZIO[R, E, A] => Anymust not be called. Otherwise the callback function must be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use asyncInterrupt
- def effectAsyncM[R, E, A](register: ((ZIO[R, E, A]) => Unit) => ZIO[R, E, Any]): ZIO[R, E, A]
Imports an asynchronous effect into a pure
ZIOvalue.Imports an asynchronous effect into a pure
ZIOvalue. This formulation is necessary when the effect is itself expressed in terms ofZIO.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use asyncZIO
- def effectAsyncMaybe[R, E, A](register: ((ZIO[R, E, A]) => Unit) => Option[ZIO[R, E, A]], blockingOn: => FiberId = FiberId.None): ZIO[R, E, A]
Imports an asynchronous effect into a pure
ZIOvalue, possibly returning the value synchronously.Imports an asynchronous effect into a pure
ZIOvalue, possibly returning the value synchronously.If the register function returns a value synchronously, then the callback function
ZIO[R, E, A] => Anymust not be called. Otherwise the callback function must be called at most once.The list of fibers, that may complete the async callback, is used to provide better diagnostics.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use asyncMaybe
- def effectBlocking[A](effect: => A): Task[A]
Imports a synchronous effect that does blocking IO into a pure value.
Imports a synchronous effect that does blocking IO into a pure value.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use attemptBlocking
- def effectBlockingCancelable[A](effect: => A)(cancel: => UIO[Any]): Task[A]
Imports a synchronous effect that does blocking IO into a pure value, with a custom cancel effect.
Imports a synchronous effect that does blocking IO into a pure value, with a custom cancel effect.
If the returned
ZIOis interrupted, the blocked thread running the synchronous effect will be interrupted via the cancel effect.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use attemptBlockingCancelable
- def effectBlockingIO[A](effect: => A): IO[IOException, A]
Imports a synchronous effect that does blocking IO into a pure value, refining the error type to
java.io.IOException.Imports a synchronous effect that does blocking IO into a pure value, refining the error type to
java.io.IOException.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use attemptBlockingIO
- def effectBlockingInterrupt[A](effect: => A): Task[A]
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
ZIOis interrupted, the blocked thread running the synchronous effect will be interrupted viaThread.interrupt.Note that this adds significant overhead. For performance sensitive applications consider using
effectBlockingoreffectBlockingCancel.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use attemptBlockingInterrupt
- def effectSuspend[R, A](rio: => RIO[R, A]): RIO[R, A]
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)).- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use suspend
- def effectSuspendTotal[R, E, A](zio: => ZIO[R, E, A]): ZIO[R, E, A]
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(effectTotal(zio)). If you wonder if the effect throws exceptions, do not use this method, use Task.effectSuspend or ZIO.effectSuspend.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use suspendSucceed
- def effectSuspendTotalWith[R, E, A](f: (Platform, Id) => ZIO[R, E, A]): ZIO[R, E, A]
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(effectTotal(zio)). If you wonder if the effect throws exceptions, do not use this method, use Task.effectSuspend or ZIO.effectSuspend.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use suspendSucceedWith
- def effectSuspendWith[R, A](f: (Platform, Id) => RIO[R, A]): RIO[R, A]
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)).- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use suspendWith
- def effectTotal[A](effect: => A): UIO[A]
Captures a synchronous computation into a lazy effect, which can be executed later and repeatedly.
Captures a synchronous computation into a lazy effect, which can be executed later and repeatedly. The synchronous computation must not throw any exceptions. If you are unsure, then don't use this method, use Task.effect, IO.effect, or ZIO.effect.
val nanoTime: UIO[Long] = IO.succeed(System.nanoTime())
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use succeed
- def effectTotalWith[A](effect: (Platform, Id) => A): UIO[A]
The same as ZIO.effectTotal, but also provides access to the underlying RuntimeConfig and fiber id.
The same as ZIO.effectTotal, but also provides access to the underlying RuntimeConfig and fiber id.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use succeedWith
- def foreachParN_[R, E, A](n: => Int)(as: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Unlike
foreachPar_, this method will use at most up tonfibers.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use foreachParNDiscard
- def foreachPar_[R, E, A](as: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.Applies the function
fto each element of theIterable[A]and runs produced effects in parallel, discarding the results.For a sequential version of this method, see
foreach_.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.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use foreachParDiscard
- def foreach_[R, E, A](as: => Iterable[A])(f: (A) => ZIO[R, E, Any]): ZIO[R, E, Unit]
Applies the function
fto each element of theIterable[A]and runs produced effects sequentially.Applies the function
fto each element of theIterable[A]and runs produced effects sequentially.Equivalent to
foreach(as)(f).unit, but without the cost of building the list of results.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use foreachDiscard
- def forkAll_[R, E, A](as: => Iterable[ZIO[R, E, A]]): URIO[R, Unit]
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.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use forkAllDiscard
- def fromFiberM[E, A](fiber: IO[E, Fiber[E, A]]): IO[E, A]
Creates a
ZIOvalue that represents the exit value of the specified fiber.Creates a
ZIOvalue that represents the exit value of the specified fiber.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use fromFiberZIO
- def fromFunction[R, A](f: (R) => A): URIO[R, A]
Lifts a function
R => Ainto aURIO[R, A].Lifts a function
R => Ainto aURIO[R, A].- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use access
- def fromFunctionM[R, E, A](f: (R) => IO[E, A]): ZIO[R, E, A]
Lifts an effectful function whose effect requires no environment into an effect that requires the input to the function.
Lifts an effectful function whose effect requires no environment into an effect that requires the input to the function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use accessZIO
- def halt[E](cause: => Cause[E]): IO[E, Nothing]
Returns an effect that models failure with the specified
Cause.Returns an effect that models failure with the specified
Cause.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use failCause
- def haltWith[E](function: (() => ZTrace) => Cause[E]): IO[E, Nothing]
Returns an effect that models failure with the specified
Cause.Returns an effect that models failure with the specified
Cause.This version takes in a lazily-evaluated trace that can be attached to the
CauseviaCause.Traced.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use failCauseWith
- def ifM[R, E](b: => ZIO[R, E, Boolean]): IfZIO[R, E]
Runs
onTrueif the result ofbistrueandonFalseotherwise.Runs
onTrueif the result ofbistrueandonFalseotherwise.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use ifZIO
- def lock[R, E, A](executor: => Executor)(zio: => ZIO[R, E, A]): ZIO[R, E, A]
Returns an effect that will execute the specified effect fully on the provided executor, before returning to the default executor.
Returns an effect that will execute the specified effect fully on the provided executor, before returning to the default executor. See ZIO!.lock.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use onExecutor
- def loop_[R, E, S](initial: => S)(cont: (S) => Boolean, inc: (S) => S)(body: (S) => ZIO[R, E, Any]): ZIO[R, E, Unit]
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) }
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use loopDiscard
- def mapN[R, E, A, B, C, D, F](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C], zio4: => ZIO[R, E, D])(f: (A, B, C, D) => F): ZIO[R, E, F]
Sequentially zips the specified effects using the specified combiner function.
Sequentially zips the specified effects using the specified combiner function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def mapN[R, E, A, B, C, D](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C])(f: (A, B, C) => D): ZIO[R, E, D]
Sequentially zips the specified effects using the specified combiner function.
Sequentially zips the specified effects using the specified combiner function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def mapN[R, E, A, B, C](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B])(f: (A, B) => C): ZIO[R, E, C]
Sequentially zips the specified effects using the specified combiner function.
Sequentially zips the specified effects using the specified combiner function.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def mapParN[R, E, A, B, C, D, F](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C], zio4: => ZIO[R, E, D])(f: (A, B, C, D) => F): ZIO[R, E, F]
Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction.Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction. If any effect fails, then the other effects will be interrupted.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def mapParN[R, E, A, B, C, D](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C])(f: (A, B, C) => D): ZIO[R, E, D]
Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction.Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction. If any effect fails, then the other effects will be interrupted.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def mapParN[R, E, A, B, C](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B])(f: (A, B) => C): ZIO[R, E, C]
Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction.Returns an effect that executes the specified effects in parallel, combining their results with the specified
ffunction. If any effect fails, then the other effects will be interrupted.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def replicateM[R, E, A](n: => Int)(effect: => ZIO[R, E, A]): ZIO[R, E, Iterable[A]]
Performs this effect the specified number of times and collects the results.
Performs this effect the specified number of times and collects the results.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use replicateZIO
- def replicateM_[R, E, A](n: => Int)(effect: => ZIO[R, E, A]): ZIO[R, E, Unit]
Performs this effect the specified number of times, discarding the results.
Performs this effect the specified number of times, discarding the results.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use replicateZIODiscard
- def require[R, E, A](error: => E): (ZIO[R, E, Option[A]]) => ZIO[R, E, A]
Requires that the given
ZIO[R, E, Option[A]]contain a value.Requires that the given
ZIO[R, E, Option[A]]contain a value. If there is no value, then the specified error will be raised.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use someOrFail
- def services[A, B, C, D](implicit arg0: zio.Tag[A], arg1: zio.Tag[B], arg2: zio.Tag[C], arg3: zio.Tag[D]): URIO[Has[A] with Has[B] with Has[C] with Has[D], (A, B, C, D)]
Accesses the specified services in the environment of the effect.
Accesses the specified services in the environment of the effect.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use service
- def services[A, B, C](implicit arg0: zio.Tag[A], arg1: zio.Tag[B], arg2: zio.Tag[C]): URIO[Has[A] with Has[B] with Has[C], (A, B, C)]
Accesses the specified services in the environment of the effect.
Accesses the specified services in the environment of the effect.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use service
- def services[A, B](implicit arg0: zio.Tag[A], arg1: zio.Tag[B]): URIO[Has[A] with Has[B], (A, B)]
Accesses the specified services in the environment of the effect.
Accesses the specified services in the environment of the effect.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use service
- def tupled[R, E, A, B, C, D](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C], zio4: => ZIO[R, E, D]): ZIO[R, E, (A, B, C, D)]
Sequentially zips the specified effects.
Sequentially zips the specified effects. Specialized version of mapN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def tupled[R, E, A, B, C](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C]): ZIO[R, E, (A, B, C)]
Sequentially zips the specified effects.
Sequentially zips the specified effects. Specialized version of mapN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def tupled[R, E, A, B](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B]): ZIO[R, E, (A, B)]
Sequentially zips the specified effects.
Sequentially zips the specified effects. Specialized version of mapN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zip
- def tupledPar[R, E, A, B, C, D](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C], zio4: => ZIO[R, E, D]): ZIO[R, E, (A, B, C, D)]
Zips the specified effects in parallel.
Zips the specified effects in parallel. Specialized version of mapParN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def tupledPar[R, E, A, B, C](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B], zio3: => ZIO[R, E, C]): ZIO[R, E, (A, B, C)]
Zips the specified effects in parallel.
Zips the specified effects in parallel. Specialized version of mapParN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def tupledPar[R, E, A, B](zio1: => ZIO[R, E, A], zio2: => ZIO[R, E, B]): ZIO[R, E, (A, B)]
Zips the specified effects in parallel.
Zips the specified effects in parallel. Specialized version of mapParN.
- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use zipPar
- def unlessM[R, E](b: => ZIO[R, E, Boolean]): UnlessZIO[R, E]
The moral equivalent of
if (!p) expwhenphas side-effectsThe moral equivalent of
if (!p) expwhenphas side-effects- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use unlessZIO
- def validatePar_[R, E, A](in: => Iterable[A])(f: (A) => ZIO[R, E, Any])(implicit ev: CanFail[E]): ZIO[R, ::[E], Unit]
Feeds elements of type
Atofin parallel and accumulates all errors, discarding the successes.Feeds elements of type
Atofin parallel and accumulates all errors, discarding the successes.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use validateParDiscard
- def validate_[R, E, A](in: => Iterable[A])(f: (A) => ZIO[R, E, Any])(implicit ev: CanFail[E]): ZIO[R, ::[E], Unit]
Feeds elements of type
Atofand accumulates all errors, discarding the successes.Feeds elements of type
Atofand accumulates all errors, discarding the successes.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use validateDiscard
- def whenCaseM[R, E, A, B](a: => ZIO[R, E, A])(pf: PartialFunction[A, ZIO[R, E, B]]): ZIO[R, E, Option[B]]
Runs an effect when the supplied
PartialFunctionmatches for the given effectful value, otherwise does nothing.Runs an effect when the supplied
PartialFunctionmatches for the given effectful value, otherwise does nothing.- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use whenCaseZIO
- def whenM[R, E](b: => ZIO[R, E, Boolean]): WhenZIO[R, E]
The moral equivalent of
if (p) expwhenphas side-effectsThe moral equivalent of
if (p) expwhenphas side-effects- Annotations
- @deprecated
- Deprecated
(Since version 2.0.0) use whenZIO