object IOLocal
- Alphabetic
- By Inheritance
- IOLocal
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 apply[A](default: A): UIO[IOLocal[A]]
Builds a IOLocal reference with the given default.
Builds a IOLocal reference with the given default.
IO returned by this operation produces a new IOLocal each time it is evaluated. To share a state between multiple consumers, pass IOLocal values around as plain parameters, instead of keeping shared state.
Another possibility is to use IO.memoize, but note that this breaks referential transparency and can be problematic for example in terms of enabled IO.Options, which don't survive the memoization process.
- default
is a value that gets returned in case the local was never updated (with write) or in case it was cleared (with IOLocal.clear)
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isolate[E, A](task: IO[E, A]): IO[E, A]
Wraps a provided
task
, such that any changes to any IOLocal variable during its execution will not be observable outside of that Task. - final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 wrap[E, A](local: IO[E, Local[A]]): IO[E, IOLocal[A]]
Wraps a Local reference (given in the
Task
context) in a IOLocal value.Wraps a Local reference (given in the
Task
context) in a IOLocal value.IO returned by this operation produces a new IOLocal each time it is evaluated. To share a state between multiple consumers, pass IOLocal values around as plain parameters, instead of keeping shared state.
Another possibility is to use IO.memoize, but note that this breaks referential transparency and can be problematic for example in terms of enabled IO.Options, which don't survive the memoization process.