IOLocal

object IOLocal

Builders for IOLocal

Builders for IOLocal

Companion
class
class Object
trait Matchable
class Any

Value members

Concrete methods

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.
Value Params
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.

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.