Packages

o

zio.ZLayer

Derive

object Derive

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Derive
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait AcquireRelease[-R, +E, A] extends Scoped[R, E]

    A special form of Scoped for convenience.

    A special form of Scoped for convenience.

    When using ZLayer.derive with a type that implements AcquireRelease, the provided acquire and release methods will be automatically utilized as the lifecycle hooks.

    Note

    This trait's lifecycle hooks are specifically designed to work with ZLayer.derive. Using it outside this context won't inherently attach any lifecycle behaviors to the type.

  2. trait Default[+A] extends AnyRef

    Provides a default way to construct or provide an instance of type A.

    Provides a default way to construct or provide an instance of type A.

    Used during ZLayer derivation to resolve dependencies. If an implicit ZLayer.Derive.Default[A] instance exists for a type, it signifies that a default value can be used, bypassing the dependency in the ZLayer environment.

    Note

    When type-annotating the implicit val, ensure it's in the form Default.WithContext[R, E, A] rather than just Default[A] to ensure correct type inference and dependency resolution during ZLayer derivation.

  3. trait Scoped[-R, +E] extends AnyRef

    Defines a resourceful effect that will be attached to the lifetime of the ZLayer derived by ZLayer.derive.

    Defines a resourceful effect that will be attached to the lifetime of the ZLayer derived by ZLayer.derive.

    The 'resourceful' effect might be a background task, a lock file, or etc., that can be managed by Scope.

    If scoped fails during resource acquisition, the entire ZLayer initialization process fails.

    Note

    This trait is specifically designed to work with ZLayer.derive. Using it outside this context won't inherently attach any resourceful behaviors to the type.

    class ThirdPartyService(connection: Connection) extends ZLayer.Derive.Scoped[Any, Nothing] {
    
      // Repeats health check every 10 seconds in background during the layer's lifetime
      override def scoped(implicit trace: Trace): ZIO[Scope, Nothing, Any] =
        connection.healthCheck
          .ignoreLogged
          .repeat(Schedule.spaced(10.seconds))
          .forkScoped
    }
    
    object ThirdPartyService {
      // `ZLayer.Derive.Scoped` should be used with `ZLayer.derive`
      val layer = ZLayer.derive[ThirdPartyService]
    }

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  18. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  19. object Default extends DefaultInstances0

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from AnyRef

Inherited from Any

Ungrouped