Object

polynote.kernel.environment

Env

Related Doc: package environment

Permalink

object Env

Some utilities for enrichment of environment

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

Type Members

  1. final class Add[RO <: Has[_], R] extends AnyVal

    Permalink
  2. final class AddLayer[RO <: Has[_], E, R <: Has[_]] extends AnyVal

    Permalink
  3. final class AddM[RO <: Has[_], -RA, RB, +E] extends AnyVal

    Permalink
  4. class AddMPartial[RO <: Has[_]] extends AnyRef

    Permalink
  5. final class AddManaged[RO <: Has[_], R] extends AnyVal

    Permalink
  6. final class AddManagedLayer[RO <: Has[_], E, R <: Has[_]] extends AnyVal

    Permalink
  7. class AddManagedPartial[RO <: Has[_]] extends AnyRef

    Permalink
  8. final class AddMany[RO <: Has[_], R <: Has[_]] extends AnyVal

    Permalink
  9. class AddManyPartial[RO <: Has[_]] extends AnyRef

    Permalink
  10. class AddPartial[RO <: Has[_]] extends AnyRef

    Permalink
  11. implicit final class LayerOps[-RIn, +E, ROut <: Has[_]] extends AnyVal

    Permalink

Value Members

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

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  4. def add[RO <: Has[_]]: AddPartial[RO]

    Permalink

    Add a new type to the environment inside a for-comprehension.

    Add a new type to the environment inside a for-comprehension. This variant is for an environment that's constructed directly.

    This method takes the "current" environment type, and enriches it with the given value. The remainder of the for-comprehension can then access that environment. For example, instead of this:

    for { someValue <- computeThing myEnv1 <- Env.enrich[Env1 with Env2](CreateMyEnv(someValue)) thing1 <- doThing1.provide(myEnv1) thing2 <- doThing2.provide(myEnv1) // etc } yield thing2

    You can do this:

    for { someValue <- computeThing _ <- Env.add[Env1 with Env2](CreateMyEnv(someValue)) thing1 <- doThing1 thing2 <- doThing2 } yield thing2

    The MyEnv environment is automatically provided to the continuation after Env.add, so it doesn't have to be named and explicitly provided everywhere.

  5. def addLayer[RO <: Has[_], E, R <: Has[_]](layer: ZLayer[RO, E, R]): AddLayer[RO, E, R]

    Permalink
  6. def addM[RO <: Has[_]]: AddMPartial[RO]

    Permalink

    Add a new type to the environment inside a for-comprehension.

    Add a new type to the environment inside a for-comprehension. This variant is for an environment that's constructed effectfully.

    This method takes the "current" environment type, and enriches it with the given value. The remainder of the for-comprehension can then access that environment. For example, instead of this:

    for { someValue <- computeThing myEnv1 <- Env.enrichM[Env1 with Env2](CreateMyEnv(someValue)) thing1 <- doThing1.provide(myEnv1) thing2 <- doThing2.provide(myEnv1) // etc } yield thing2

    You can do this:

    for { someValue <- computeThing _ <- Env.addM[Env1 with Env2](CreateMyEnv(someValue)) thing1 <- doThing1 thing2 <- doThing2 } yield thing2

    The MyEnv environment is automatically provided to the continuation after Env.addM, so it doesn't have to be named and explicitly provided everywhere.

  7. def addManaged[R0 <: Has[_]]: AddManagedPartial[R0]

    Permalink
  8. def addManagedLayer[RO <: Has[_], E, R <: Has[_]](layer: ZLayer[RO, E, R]): AddManagedLayer[RO, E, R]

    Permalink
  9. def addMany[RO <: Has[_]]: AddManyPartial[RO]

    Permalink
  10. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  11. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. final def eq(arg0: AnyRef): Boolean

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

    Permalink
    Definition Classes
    AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  22. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  23. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped