Package

zio

Permalink

package zio

Linear Supertypes
DurationModule, VersionSpecific, PlatformSpecific, IntersectionTypeCompat, FunctionToLayerOps, EitherCompat, BuildFromCompat, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. zio
  2. DurationModule
  3. VersionSpecific
  4. PlatformSpecific
  5. IntersectionTypeCompat
  6. FunctionToLayerOps
  7. EitherCompat
  8. BuildFromCompat
  9. AnyRef
  10. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type &[+A, +B] = A with B

    Permalink
    Definition Classes
    IntersectionTypeCompat
  2. abstract class =!=[A, B] extends Serializable

    Permalink

    Evidence type A is not equal to type B.

    Evidence type A is not equal to type B.

    Based on https://github.com/milessabin/shapeless.

    Annotations
    @implicitNotFound( "${A} must not be ${B}" )
  3. trait Accessible[R] extends AnyRef

    Permalink

    A simple, macro-less means of creating accessors from Services.

    A simple, macro-less means of creating accessors from Services. Extend the companion object with Accessible[ServiceName], then simply call Companion(_.someMethod), to return a ZIO effect that requires the Service in its environment.

    Example:

    trait FooService {
      def magicNumber: UIO[Int]
      def castSpell(chant: String): UIO[Boolean]
    }
    
    object FooService extends Accessible[FooService]
    
    val example: ZIO[Has[FooService], Nothing, Unit] =
      for {
        int  <- FooService(_.magicNumber)
        bool <- FooService(_.castSpell("Oogabooga!"))
      } yield ()
  4. trait App extends ZApp[ZEnv] with BootstrapRuntime

    Permalink

    The entry point for a purely-functional application on the JVM.

    The entry point for a purely-functional application on the JVM.

    import zio.App
    import zio.Console._
    
    object MyApp extends App {
    
      final def run(args: List[String]) =
        myAppLogic.exitCode
    
      val myAppLogic =
        for {
          _ <- printLine("Hello! What is your name?")
          n <- readLine
          _ <- printLine("Hello, " + n + ", good to meet you!")
        } yield ()
    }
  5. trait BootstrapRuntime extends ZBootstrapRuntime[ZEnv]

    Permalink
  6. type BuildFrom[-From, -A, +C] = CanBuildFrom[From, A, C]

    Permalink
    Definition Classes
    BuildFromCompat
  7. implicit class BuildFromOps[From, A, C] extends AnyRef

    Permalink
    Definition Classes
    BuildFromCompat
  8. sealed abstract class CanFail[-E] extends AnyRef

    Permalink

    A value of type CanFail[E] provides implicit evidence that an effect with error type E can fail, that is, that E is not equal to Nothing.

    A value of type CanFail[E] provides implicit evidence that an effect with error type E can fail, that is, that E is not equal to Nothing.

    Annotations
    @implicitNotFound( ... )
  9. abstract class CancelableFuture[+A] extends Future[A] with FutureTransformCompat[A]

    Permalink
  10. type Canceler[-R] = ZIO[R, Nothing, Any]

    Permalink
  11. sealed abstract class Cause[+E] extends Product with Serializable

    Permalink
  12. sealed abstract class Chunk[+A] extends ChunkLike[A]

    Permalink

    A Chunk[A] represents a chunk of values of type A.

    A Chunk[A] represents a chunk of values of type A. Chunks are designed are usually backed by arrays, but expose a purely functional, safe interface to the underlying elements, and they become lazy on operations that would be costly with arrays, such as repeated concatenation.

    The implementation of balanced concatenation is based on the one for Conc-Trees in "Conc-Trees for Functional and Parallel Programming" by Aleksandar Prokopec and Martin Odersky. http://aleksandar-prokopec.com/resources/docs/lcpc-conc-trees.pdf

    NOTE: For performance reasons Chunk does not box primitive types. As a result, it is not safe to construct chunks from heterogeneous primitive types.

  13. sealed abstract class ChunkBuilder[A] extends Builder[A, Chunk[A]]

    Permalink

    A ChunkBuilder[A] can build a Chunk[A] given elements of type A.

    A ChunkBuilder[A] can build a Chunk[A] given elements of type A. ChunkBuilder is a mutable data structure that is implemented to efficiently build chunks of unboxed primitives and for compatibility with the Scala collection library.

  14. sealed abstract class ChunkCanBuildFrom[A] extends CanBuildFrom[Chunk[Any], A, Chunk[A]]

    Permalink

    ChunkCanBuildFrom provides implicit evidence that a collection of type Chunk[A] can be built from elements of type A.

    ChunkCanBuildFrom provides implicit evidence that a collection of type Chunk[A] can be built from elements of type A. Since a Chunk[A] can be built from elements of type A for any type A, this implicit evidence always exists. It is used primarily to provide proof that the target type of a collection operation is a Chunk to support high performance implementations of transformation operations for chunks.

  15. trait Clock extends Serializable

    Permalink
  16. trait Console extends Serializable

    Permalink
  17. type Dequeue[+A] = ZQueue[Nothing, Any, Any, Nothing, Nothing, A]

    Permalink
  18. type Duration = java.time.Duration

    Permalink
    Definition Classes
    DurationModule
  19. trait DurationModule extends AnyRef

    Permalink
  20. final class DurationOps extends AnyVal

    Permalink
  21. final class DurationSyntax extends AnyVal

    Permalink
  22. type ERef[+E, A] = ZRef[Any, Any, E, E, A, A]

    Permalink
  23. trait EitherCompat extends AnyRef

    Permalink
  24. implicit final class EitherOps[E, A] extends AnyRef

    Permalink
    Definition Classes
    EitherCompat
  25. type Enqueue[-A] = ZQueue[Any, Nothing, Nothing, Any, A, Any]

    Permalink
  26. sealed abstract class ExecutionStrategy extends AnyRef

    Permalink

    Describes a strategy for evaluating multiple effects, potentially in parallel.

    Describes a strategy for evaluating multiple effects, potentially in parallel. There are three possible execution strategies: Sequential, Parallel, and ParallelN.

  27. sealed abstract class Exit[+E, +A] extends Product with Serializable

    Permalink

    An Exit[E, A] describes the result of executing an IO value.

    An Exit[E, A] describes the result of executing an IO value. The result is either succeeded with a value A, or failed with a Cause[E].

  28. final case class ExitCode(code: Int) extends Product with Serializable

    Permalink
  29. sealed abstract class Fiber[+E, +A] extends AnyRef

    Permalink

    A fiber is a lightweight thread of execution that never consumes more than a whole thread (but may consume much less, depending on contention and asynchronicity).

    A fiber is a lightweight thread of execution that never consumes more than a whole thread (but may consume much less, depending on contention and asynchronicity). Fibers are spawned by forking ZIO effects, which run concurrently with the parent effect.

    Fibers can be joined, yielding their result to other fibers, or interrupted, which terminates the fiber, safely releasing all resources.

    def parallel[A, B](io1: Task[A], io2: Task[B]): Task[(A, B)] =
      for {
        fiber1 <- io1.fork
        fiber2 <- io2.fork
        a      <- fiber1.join
        b      <- fiber2.join
      } yield (a, b)
  30. final case class FiberFailure(cause: Cause[Any]) extends Throwable with Product with Serializable

    Permalink

    Represents a failure in a fiber.

    Represents a failure in a fiber. This could be caused by some non- recoverable error, such as a defect or system error, by some typed error, or by interruption (or combinations of all of the above).

    This class is used to wrap ZIO failures into something that can be thrown, to better integrate with Scala exception handling.

  31. type FiberRef[A] = ZFiberRef[Nothing, Nothing, A, A]

    Permalink
  32. implicit final class Function0ToLayerSyntax[A] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  33. implicit final class Function10ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  34. implicit final class Function11ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  35. implicit final class Function12ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  36. implicit final class Function13ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  37. implicit final class Function14ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  38. implicit final class Function15ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  39. implicit final class Function16ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  40. implicit final class Function17ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  41. implicit final class Function18ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  42. implicit final class Function19ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  43. implicit final class Function1ToLayerSyntax[A, B] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  44. implicit final class Function20ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  45. implicit final class Function21ToLayerSyntax[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  46. implicit final class Function2ToLayerSyntax[A, B, C] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  47. implicit final class Function3ToLayerSyntax[A, B, C, D] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  48. implicit final class Function4ToLayerSyntax[A, B, C, D, E] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  49. implicit final class Function5ToLayerSyntax[A, B, C, D, E, F] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  50. implicit final class Function6ToLayerSyntax[A, B, C, D, E, F, G] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  51. implicit final class Function7ToLayerSyntax[A, B, C, D, E, F, G, H] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  52. implicit final class Function8ToLayerSyntax[A, B, C, D, E, F, G, H, I] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  53. implicit final class Function9ToLayerSyntax[A, B, C, D, E, F, G, H, I, J] extends AnyRef

    Permalink
    Definition Classes
    FunctionToLayerOps
  54. trait FunctionToLayerOps extends AnyRef

    Permalink
  55. final class Has[A] extends Serializable

    Permalink

    The trait Has[A] is used with ZIO environment to express an effect's dependency on a service of type A.

    The trait Has[A] is used with ZIO environment to express an effect's dependency on a service of type A. For example, RIO[Has[Console], Unit] is an effect that requires a Console service.

    Services parameterized on path dependent types are not supported.

  56. type Hub[A] = ZHub[Any, Any, Nothing, Nothing, A, A]

    Permalink
  57. type IO[+E, +A] = ZIO[Any, E, A]

    Permalink
  58. sealed abstract class InterruptStatus extends Serializable with Product

    Permalink

    The InterruptStatus of a fiber determines whether or not it can be interrupted.

    The InterruptStatus of a fiber determines whether or not it can be interrupted. The status can change over time in different regions.

  59. sealed abstract class IsSubtypeOfError[-A, +B] extends (A) ⇒ B with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... )
  60. sealed abstract class IsSubtypeOfOutput[-A, +B] extends (A) ⇒ B with Serializable

    Permalink
    Annotations
    @implicitNotFound( ... )
  61. type Layer[+E, +ROut] = ZLayer[Any, E, ROut]

    Permalink
  62. type LightTypeTag = izumi.reflect.macrortti.LightTypeTag

    Permalink
    Definition Classes
    VersionSpecific
  63. type Managed[+E, +A] = ZManaged[Any, E, A]

    Permalink
  64. trait ManagedApp extends BootstrapRuntime

    Permalink
  65. sealed abstract class NeedsEnv[+R] extends Serializable

    Permalink

    A value of type NeedsEnv[R] provides implicit evidence that an effect with environment type R needs an environment, that is, that R is not equal to Any.

    A value of type NeedsEnv[R] provides implicit evidence that an effect with environment type R needs an environment, that is, that R is not equal to Any.

    Annotations
    @implicitNotFound( ... )
  66. final class NonEmptyChunk[+A] extends AnyRef

    Permalink

    A NonEmptyChunk is a Chunk that is guaranteed to contain at least one element.

    A NonEmptyChunk is a Chunk that is guaranteed to contain at least one element. As a result, operations which would not be safe when performed on Chunk, such as head or reduce, are safe when performed on NonEmptyChunk. Operations on NonEmptyChunk which could potentially return an empty chunk will return a Chunk instead.

  67. final class Promise[E, A] extends Serializable

    Permalink

    A promise represents an asynchronous variable, of zio.IO type, that can be set exactly once, with the ability for an arbitrary number of fibers to suspend (by calling await) and automatically resume when the variable is set.

    A promise represents an asynchronous variable, of zio.IO type, that can be set exactly once, with the ability for an arbitrary number of fibers to suspend (by calling await) and automatically resume when the variable is set.

    Promises can be used for building primitive actions whose completions require the coordinated action of multiple fibers, and for building higher-level concurrent or asynchronous structures.

    for {
      promise <- Promise.make[Nothing, Int]
      _       <- promise.succeed(42).delay(1.second).fork
      value   <- promise.await // Resumes when forked fiber completes promise
    } yield value
  68. type Queue[A] = ZQueue[Any, Any, Nothing, Nothing, A, A]

    Permalink
  69. type RIO[-R, +A] = ZIO[R, Throwable, A]

    Permalink
  70. type RLayer[-RIn, +ROut] = ZLayer[RIn, Throwable, ROut]

    Permalink
  71. type RManaged[-R, +A] = ZManaged[R, Throwable, A]

    Permalink
  72. trait Random extends Serializable

    Permalink
  73. type Ref[A] = ZRef[Any, Any, Nothing, Nothing, A, A]

    Permalink
  74. final case class Reservation[-R, +E, +A](acquire: ZIO[R, E, A], release: (Exit[Any, Any]) ⇒ URIO[R, Any]) extends Product with Serializable

    Permalink

    A Reservation[-R, +E, +A] encapsulates resource acquisition and disposal without specifying when or how that resource might be used.

    A Reservation[-R, +E, +A] encapsulates resource acquisition and disposal without specifying when or how that resource might be used.

    See ZManaged#reserve and ZIO#reserve for details of usage.

  75. trait Runtime[+R] extends AnyRef

    Permalink

    A Runtime[R] is capable of executing tasks within an environment R.

  76. trait Schedule[-Env, -In, +Out] extends Serializable

    Permalink
  77. type Semaphore = TSemaphore

    Permalink
  78. abstract class Supervisor[+A] extends AnyRef

    Permalink

    A Supervisor[A] is allowed to supervise the launching and termination of fibers, producing some visible value of type A from the supervision.

  79. trait System extends Serializable

    Permalink
  80. type Tag[A] = izumi.reflect.Tag[A]

    Permalink
    Definition Classes
    VersionSpecific
  81. type TagK[F[_]] = HKTag[AnyRef { type Arg[A] = F[A] }]

    Permalink
    Definition Classes
    VersionSpecific
  82. type TagK10[F[_, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9] }]

    Permalink
    Definition Classes
    VersionSpecific
  83. type TagK11[F[_, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10] }]

    Permalink
    Definition Classes
    VersionSpecific
  84. type TagK12[F[_, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11] }]

    Permalink
    Definition Classes
    VersionSpecific
  85. type TagK13[F[_, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12] }]

    Permalink
    Definition Classes
    VersionSpecific
  86. type TagK14[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13] }]

    Permalink
    Definition Classes
    VersionSpecific
  87. type TagK15[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14] }]

    Permalink
    Definition Classes
    VersionSpecific
  88. type TagK16[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15] }]

    Permalink
    Definition Classes
    VersionSpecific
  89. type TagK17[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16] }]

    Permalink
    Definition Classes
    VersionSpecific
  90. type TagK18[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17] }]

    Permalink
    Definition Classes
    VersionSpecific
  91. type TagK19[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18] }]

    Permalink
    Definition Classes
    VersionSpecific
  92. type TagK20[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19] }]

    Permalink
    Definition Classes
    VersionSpecific
  93. type TagK21[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20] }]

    Permalink
    Definition Classes
    VersionSpecific
  94. type TagK22[F[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13, A14, A15, A16, A17, A18, A19, A20, A21] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21] }]

    Permalink
    Definition Classes
    VersionSpecific
  95. type TagK3[F[_, _, _]] = HKTag[AnyRef { type Arg[A, B, C] = F[A,B,C] }]

    Permalink
    Definition Classes
    VersionSpecific
  96. type TagK4[F[_, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3] = F[A0,A1,A2,A3] }]

    Permalink
    Definition Classes
    VersionSpecific
  97. type TagK5[F[_, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4] = F[A0,A1,A2,A3,A4] }]

    Permalink
    Definition Classes
    VersionSpecific
  98. type TagK6[F[_, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5] = F[A0,A1,A2,A3,A4,A5] }]

    Permalink
    Definition Classes
    VersionSpecific
  99. type TagK7[F[_, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6] = F[A0,A1,A2,A3,A4,A5,A6] }]

    Permalink
    Definition Classes
    VersionSpecific
  100. type TagK8[F[_, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7] = F[A0,A1,A2,A3,A4,A5,A6,A7] }]

    Permalink
    Definition Classes
    VersionSpecific
  101. type TagK9[F[_, _, _, _, _, _, _, _, _]] = HKTag[AnyRef { type Arg[A0, A1, A2, A3, A4, A5, A6, A7, A8] = F[A0,A1,A2,A3,A4,A5,A6,A7,A8] }]

    Permalink
    Definition Classes
    VersionSpecific
  102. type TagKK[F[_, _]] = HKTag[AnyRef { type Arg[A, B] = F[A,B] }]

    Permalink
    Definition Classes
    VersionSpecific
  103. type Task[+A] = ZIO[Any, Throwable, A]

    Permalink
  104. type TaskLayer[+ROut] = ZLayer[Any, Throwable, ROut]

    Permalink
  105. type TaskManaged[+A] = ZManaged[Any, Throwable, A]

    Permalink
  106. sealed abstract class TracingStatus extends Serializable with Product

    Permalink

    Whether ZIO Tracing is enabled for the current fiber in the current region.

  107. type UIO[+A] = ZIO[Any, Nothing, A]

    Permalink
  108. type ULayer[+ROut] = ZLayer[Any, Nothing, ROut]

    Permalink
  109. type UManaged[+A] = ZManaged[Any, Nothing, A]

    Permalink
  110. type URIO[-R, +A] = ZIO[R, Nothing, A]

    Permalink
  111. type URLayer[-RIn, +ROut] = ZLayer[RIn, Nothing, ROut]

    Permalink
  112. type URManaged[-R, +A] = ZManaged[R, Nothing, A]

    Permalink
  113. trait Unzippable[A, B] extends AnyRef

    Permalink
  114. trait UnzippableLowPriority1 extends UnzippableLowPriority2

    Permalink
  115. trait UnzippableLowPriority2 extends UnzippableLowPriority3

    Permalink
  116. trait UnzippableLowPriority3 extends AnyRef

    Permalink
  117. trait ZApp[R] extends ZBootstrapRuntime[R]

    Permalink

    The entry point for a purely-functional application on the JVM.

    The entry point for a purely-functional application on the JVM.

    import zio.ZApp
    import zio.Console._
    
    object MyApp extends ZApp[Has[Console]] {
    
      def environment: Has[Console] = Has(ConsoleLive)
    
      final def run(args: List[String]) =
        myAppLogic.exitCode
    
      def myAppLogic =
        for {
          _ <- printLine("Hello! What is your name?")
          n <- readLine
          _ <- printLine("Hello, " + n + ", good to meet you!")
        } yield ()
    }
  118. trait ZBootstrapRuntime[R] extends Runtime[R]

    Permalink
  119. type ZDequeue[-R, +E, +A] = ZQueue[Nothing, R, Any, E, Nothing, A]

    Permalink

    A queue that can only be dequeued.

  120. type ZEnqueue[-R, +E, -A] = ZQueue[R, Nothing, E, Any, A, Any]

    Permalink

    A queue that can only be enqueued.

  121. type ZEnv = Has[Clock] with Has[Console] with Has[System] with Has[Random]

    Permalink
    Definition Classes
    PlatformSpecific
  122. sealed abstract class ZFiberRef[+EA, +EB, -A, +B] extends Serializable

    Permalink

    A FiberRef is ZIO's equivalent of Java's ThreadLocal.

    A FiberRef is ZIO's equivalent of Java's ThreadLocal. The value of a FiberRef is automatically propagated to child fibers when they are forked and merged back in to the value of the parent fiber after they are joined.

    for {
      fiberRef <- FiberRef.make("Hello world!")
      child    <- fiberRef.set("Hi!).fork
      result   <- child.join
    } yield result

    Here result will be equal to "Hi!" since changed made by a child fiber are merged back in to the value of the parent fiber on join.

    By default the value of the child fiber will replace the value of the parent fiber on join but you can specify your own logic for how values should be merged.

    for {
      fiberRef <- FiberRef.make(0, math.max)
      child    <- fiberRef.update(_ + 1).fork
      _        <- fiberRef.update(_ + 2)
      _        <- child.join
      value    <- fiberRef.get
    } yield value

    Here value will be 2 as the value in the joined fiber is lower and we specified max as our combining function.

  123. sealed abstract class ZHub[-RA, -RB, +EA, +EB, -A, +B] extends Serializable

    Permalink

    A ZHub[RA, RB, EA, EB, A, B] is an asynchronous message hub.

    A ZHub[RA, RB, EA, EB, A, B] is an asynchronous message hub. Publishers can publish messages of type A to the hub and subscribers can subscribe to take messages of type B from the hub. Publishing messages can require an environment of type RA and fail with an error of type EA. Taking messages can require an environment of type RB and fail with an error of type EB.

  124. sealed trait ZIO[-R, +E, +A] extends Serializable with ZIOPlatformSpecific[R, E, A] with ZIOVersionSpecific[R, E, A]

    Permalink

    A ZIO[R, E, A] value is an immutable value that lazily describes a workflow or job.

    A ZIO[R, E, A] value is an immutable value that lazily describes a workflow or job. The workflow requires some environment R, and may fail with an error of type E, or succeed with a value of type A.

    These lazy workflows, referred to as _effects_, can be informally thought of as functions in the form:

    R => Either[E, A]

    ZIO effects model resourceful interaction with the outside world, including synchronous, asynchronous, concurrent, and parallel interaction.

    ZIO effects use a fiber-based concurrency model, with built-in support for scheduling, fine-grained interruption, structured concurrency, and high scalability.

    To run an effect, you need a Runtime, which is capable of executing effects. Runtimes bundle a thread pool together with the environment that effects need.

  125. trait ZIOAspect[+LowerR, -UpperR, +LowerE, -UpperE, +LowerA, -UpperA] extends AnyRef

    Permalink
  126. abstract class ZInputStream extends AnyRef

    Permalink
  127. sealed abstract class ZLayer[-RIn, +E, +ROut] extends AnyRef

    Permalink

    A ZLayer[A, E, B] describes a layer of an application: every layer in an application requires some services (the input) and produces some services (the output).

    A ZLayer[A, E, B] describes a layer of an application: every layer in an application requires some services (the input) and produces some services (the output).

    Layers can be thought of as recipes for producing bundles of services, given their dependencies (other services).

    Construction of layers can be effectful and utilize resources that must be acquired and safely released when the services are done being utilized.

    By default layers are shared, meaning that if the same layer is used twice the layer will only be allocated a single time.

    Because of their excellent composition properties, layers are the idiomatic way in ZIO to create services that depend on other services.

  128. sealed abstract class ZManaged[-R, +E, +A] extends ZManagedVersionSpecific[R, E, A] with Serializable

    Permalink

    A ZManaged[R, E, A] is a managed resource of type A, which may be used by invoking the use method of the resource.

    A ZManaged[R, E, A] is a managed resource of type A, which may be used by invoking the use method of the resource. The resource will be automatically acquired before the resource is used, and automatically released after the resource is used.

    Resources do not survive the scope of use, meaning that if you attempt to capture the resource, leak it from use, and then use it after the resource has been consumed, the resource will not be valid anymore and may fail with some checked error, as per the type of the functions provided by the resource.

  129. trait ZManagedAspect[+LowerR, -UpperR, +LowerE, -UpperE, +LowerA, -UpperA] extends AnyRef

    Permalink
  130. abstract class ZOutputStream extends AnyRef

    Permalink
  131. abstract class ZQueue[-RA, -RB, +EA, +EB, -A, +B] extends Serializable

    Permalink

    A ZQueue[RA, RB, EA, EB, A, B] is a lightweight, asynchronous queue into which values of type A can be enqueued and of which elements of type B can be dequeued.

    A ZQueue[RA, RB, EA, EB, A, B] is a lightweight, asynchronous queue into which values of type A can be enqueued and of which elements of type B can be dequeued. The queue's enqueueing operations may utilize an environment of type RA and may fail with errors of type EA. The dequeueing operations may utilize an environment of type RB and may fail with errors of type EB.

  132. sealed abstract class ZRef[-RA, -RB, +EA, +EB, -A, +B] extends Serializable

    Permalink

    A ZRef[RA, RB, EA, EB, A, B] is a polymorphic, purely functional description of a mutable reference.

    A ZRef[RA, RB, EA, EB, A, B] is a polymorphic, purely functional description of a mutable reference. The fundamental operations of a ZRef are set and get. set takes a value of type A and sets the reference to a new value, requiring an environment of type RA and potentially failing with an error of type EA. get gets the current value of the reference and returns a value of type B, requiring an environment of type RB and potentially failing with an error of type EB.

    When the error and value types of the ZRef are unified, that is, it is a ZRef[R, R, E, E, A, A], the ZRef also supports atomic modify and update operations. All operations are guaranteed to be safe for concurrent access.

    By default, ZRef is implemented in terms of compare and swap operations for maximum performance and does not support performing effects within update operations. If you need to perform effects within update operations you can create a ZRef.Synchronized, a specialized type of ZRef that supports performing effects within update operations at some cost to performance. In this case writes will semantically block other writers, while multiple readers can read simultaneously.

    ZRef.Synchronized also supports composing multiple ZRef.Synchronized values together to form a single ZRef.Synchronized value that can be atomically updated using the zip operator. In this case reads and writes will semantically block other readers and writers.

    NOTE: While ZRef provides the functional equivalent of a mutable reference, the value inside the ZRef should normally be immutable since compare and swap operations are not safe for mutable values that do not support concurrent access. If you do need to use a mutable value ZRef.Synchronized will guarantee that access to the value is properly synchronized.

  133. sealed abstract class ZScope[+A] extends AnyRef

    Permalink

    A ZScope[A] is a value that allows adding finalizers identified by a key.

    A ZScope[A] is a value that allows adding finalizers identified by a key. Scopes are closed with a value of type A, which is provided to all the finalizers when the scope is released.

    For safety reasons, this interface has no method to close a scope. Rather, an open scope may be required with ZScope.make, which returns a function that can close a scope. This allows scopes to be safely passed around without fear they will be accidentally closed.

  134. sealed trait ZState[S] extends AnyRef

    Permalink

    ZState[S] models a value of type S that can be read from and written to during the execution of an effect.

    ZState[S] models a value of type S that can be read from and written to during the execution of an effect. The idiomatic way to work with ZState is as part of the environment using operators defined on ZIO. For example:

    final case class MyState(counter: Int)
    
    for {
      _     <- ZIO.updateState[MyState](state => state.copy(counter = state.counter + 1))
      count <- ZIO.getStateWith[MyState](_.counter)
    } yield count

    Because ZState is typically used as part of the environment, it is recommended to define your own state type S such as MyState above rather than using a type such as Int to avoid the risk of ambiguity.

    To run an effect that depends on some state, create the initial state with the make constructor and then use toLayer to convert it into a layer that you can provide along with your application's other dependencies.

  135. final case class ZTrace(fiberId: Id, executionTrace: List[ZTraceElement], stackTrace: List[ZTraceElement], parentTrace: Option[ZTrace]) extends Product with Serializable

    Permalink
  136. trait Zippable[-A, -B] extends AnyRef

    Permalink
  137. trait ZippableLowPriority1 extends ZippableLowPriority2

    Permalink
  138. trait ZippableLowPriority2 extends ZippableLowPriority3

    Permalink
  139. trait ZippableLowPriority3 extends AnyRef

    Permalink
  140. type ERefM[+E, A] = Synchronized[Any, Any, E, E, A, A]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) use ERef.Synchronized

  141. type RefM[A] = Synchronized[Any, Any, Nothing, Nothing, A, A]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) use Ref.Synchronized

  142. type ZRefM[-RA, -RB, +EA, +EB, -A, +B] = Synchronized[RA, RB, EA, EB, A, B]

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) use ZRef.Synchronized

Value Members

  1. object =!= extends Serializable

    Permalink
  2. object Accessible

    Permalink
  3. object BuildInfo extends Product with Serializable

    Permalink

    This object was generated by sbt-buildinfo.

  4. object CanFail extends CanFail[Any]

    Permalink
  5. object Cause extends Serializable

    Permalink
  6. object Chunk extends IndexedSeqFactory[Chunk] with ChunkFactory with ChunkPlatformSpecific

    Permalink
  7. object ChunkBuilder

    Permalink
  8. object ChunkCanBuildFrom

    Permalink
  9. object ChunkLike

    Permalink
  10. object Clock extends ClockPlatformSpecific with Serializable

    Permalink
  11. object Console extends Serializable

    Permalink
  12. object Duration

    Permalink
  13. val ERef: ZRef.type

    Permalink
  14. object ExecutionStrategy

    Permalink
  15. object Exit extends Serializable

    Permalink
  16. object ExitCode extends Serializable

    Permalink
  17. object Fiber extends FiberPlatformSpecific

    Permalink
  18. val FiberRef: ZFiberRef.type

    Permalink
  19. object Has extends Serializable

    Permalink
  20. val Hub: ZHub.type

    Permalink
  21. object IO

    Permalink
  22. object InterruptStatus extends Serializable

    Permalink
  23. object IsSubtypeOfError extends Serializable

    Permalink
  24. object IsSubtypeOfOutput extends Serializable

    Permalink
  25. val Managed: ZManaged.type

    Permalink
  26. object NeedsEnv extends NeedsEnv[Nothing]

    Permalink
  27. object NonEmptyChunk

    Permalink
  28. object Promise extends Serializable

    Permalink
  29. val Queue: ZQueue.type

    Permalink
  30. object RIO

    Permalink
  31. object Random extends Serializable

    Permalink
  32. object Ref extends Serializable

    Permalink
  33. object Runtime

    Permalink
  34. object Schedule extends Serializable

    Permalink
  35. object Semaphore

    Permalink
  36. object Supervisor

    Permalink
  37. object System extends Serializable

    Permalink
  38. lazy val Tag: izumi.reflect.Tag.type

    Permalink
    Definition Classes
    VersionSpecific
  39. lazy val TagK: izumi.reflect.TagK.type

    Permalink
    Definition Classes
    VersionSpecific
  40. lazy val TagK3: izumi.reflect.TagK3.type

    Permalink
    Definition Classes
    VersionSpecific
  41. lazy val TagKK: izumi.reflect.TagKK.type

    Permalink
    Definition Classes
    VersionSpecific
  42. object Task extends TaskPlatformSpecific

    Permalink
  43. object TracingStatus extends Serializable

    Permalink
  44. object UIO

    Permalink
  45. object URIO

    Permalink
  46. object Unzippable extends UnzippableLowPriority1

    Permalink
  47. object ZEnv extends Serializable

    Permalink
    Definition Classes
    PlatformSpecific
  48. object ZFiberRef extends Serializable

    Permalink
  49. object ZHub extends Serializable

    Permalink
  50. object ZIO extends ZIOCompanionPlatformSpecific with Serializable

    Permalink
  51. object ZIOAspect

    Permalink
  52. object ZInputStream

    Permalink
  53. object ZLayer extends ZLayerCompanionVersionSpecific

    Permalink
  54. object ZManaged extends ZManagedPlatformSpecific with Serializable

    Permalink
  55. object ZOutputStream

    Permalink
  56. object ZQueue extends Serializable

    Permalink
  57. object ZRef extends Serializable

    Permalink
  58. object ZScope

    Permalink
  59. object ZState

    Permalink
  60. object ZTrace extends Serializable

    Permalink
  61. object Zippable extends ZippableLowPriority1

    Permalink
  62. implicit def duration2DurationOps(duration: Duration): DurationOps

    Permalink
    Definition Classes
    DurationModule
  63. implicit def durationInt(n: Int): DurationSyntax

    Permalink
    Definition Classes
    DurationModule
  64. implicit def durationLong(n: Long): DurationSyntax

    Permalink
    Definition Classes
    DurationModule
  65. implicit val durationOrdering: Ordering[Duration]

    Permalink
    Definition Classes
    DurationModule
  66. package internal

    Permalink
  67. package stm

    Permalink

Deprecated Value Members

  1. object RefM

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) use Ref.Synchronized

  2. object ZRefM

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 2.0.0) use ZRef.Synchronized

Inherited from DurationModule

Inherited from VersionSpecific

Inherited from PlatformSpecific

Inherited from IntersectionTypeCompat

Inherited from FunctionToLayerOps

Inherited from EitherCompat

Inherited from BuildFromCompat

Inherited from AnyRef

Inherited from Any

Ungrouped