FromZIO

izumi.functional.lifecycle.Lifecycle$.FromZIO
trait FromZIO[R, E, A] extends Lifecycle[[_] =>> ZIO[R, E, _$72], A]

Attributes

Graph
Supertypes
trait Lifecycle[[_] =>> ZIO[R, E, _$72], A]
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Types

final override type InnerResource = ReleaseMap

Value members

Concrete methods

final override def acquire: ZIO[R, E, ReleaseMap]

The action in F used to acquire the resource.

The action in F used to acquire the resource.

Attributes

Note:

the acquire action is performed uninterruptibly, when F is an effect type that supports interruption/cancellation.

Definition Classes
final override def release(releaseMap: ReleaseMap): ZIO[R, Nothing, Unit]

The action in F used to release, close or deallocate the resource after it has been acquired and used through izumi.distage.model.definition.Lifecycle.SyntaxUse#use.

The action in F used to release, close or deallocate the resource after it has been acquired and used through izumi.distage.model.definition.Lifecycle.SyntaxUse#use.

Attributes

Note:

the release action is performed uninterruptibly, when F is an effect type that supports interruption/cancellation.

Definition Classes

Inherited methods

final def beforeAcquire[G[x] : QuasiApplicative](f: => G[Unit]): Lifecycle[G, OuterResource]

Attributes

Inherited from:
Lifecycle
final def beforeRelease[G[x] : QuasiApplicative](f: InnerResource => G[Unit]): Lifecycle[G, OuterResource]

Prepend release action to existing

Prepend release action to existing

Attributes

Inherited from:
Lifecycle
final def catchAll[G[x] : QuasiIO, B >: A](recover: Throwable => Lifecycle[G, B]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def catchSome[G[x] : QuasiIO, B >: A](recover: PartialFunction[Throwable, Lifecycle[G, B]]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def evalMap[G[x] : QuasiPrimitives, B](f: A => G[B]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def evalTap[G[x] : QuasiPrimitives](f: A => G[Unit]): Lifecycle[G, OuterResource]

Attributes

Inherited from:
Lifecycle
def extract[B >: A](resource: InnerResource): Either[F[B], B]

Either an action in F or a pure function used to extract the OuterResource from the InnerResource

Either an action in F or a pure function used to extract the OuterResource from the InnerResource

The effect in the Left branch will be performed interruptibly, it is not afforded the same kind of safety as acquire and release actions when F is an effect type that supports interruption/cancellation.

When F is Identity, it doesn't matter whether the output is a Left or Right branch.

When consuming the output of extract you can use _.fold(identity, F.pure) to convert the Either to F[B]

Attributes

See also:

Lifecycle.Basic extract doesn't have to be defined when inheriting from Lifecycle.Basic

Inherited from:
Lifecycle
final def flatMap[G[x] : QuasiPrimitives, B](f: A => Lifecycle[G, B]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def flatten[G[x] : QuasiPrimitives, B](implicit evidence$3: QuasiPrimitives[G], ev: A <:< Lifecycle[G, B]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def map[G[x] : QuasiFunctor, B](f: A => B): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def redeem[G[x] : QuasiIO, B](onFailure: Throwable => Lifecycle[G, B], onSuccess: A => Lifecycle[G, B]): Lifecycle[G, B]

Attributes

Inherited from:
Lifecycle
final def void[G[x] : QuasiFunctor]: Lifecycle[G, Unit]

Attributes

Inherited from:
Lifecycle
final def widen[B >: A]: Lifecycle[F, B]

Attributes

Inherited from:
Lifecycle
final def widenF[G[x]]: Lifecycle[G, OuterResource]

Attributes

Inherited from:
Lifecycle
final def wrapAcquire[G[x]](f: (=> G[InnerResource]) => G[InnerResource]): Lifecycle[G, OuterResource]

Wrap acquire action of this resource in another effect, e.g. for logging purposes

Wrap acquire action of this resource in another effect, e.g. for logging purposes

Attributes

Inherited from:
Lifecycle
final def wrapRelease[G[x]](f: (InnerResource => G[Unit], InnerResource) => G[Unit]): Lifecycle[G, OuterResource]

Wrap release action of this resource in another effect, e.g. for logging purposes

Wrap release action of this resource in another effect, e.g. for logging purposes

Attributes

Inherited from:
Lifecycle