object IOLocal
- Alphabetic
- By Inheritance
- IOLocal
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- 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)
- 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. - 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.