class Make_[+F[_], A] extends Make[F, A]
Class-based variant of make_:
class IntRes extends Lifecycle.Make_(IO(1000))(IO.unit)
For binding resources using class syntax in ModuleDef:
val module = new ModuleDef { make[Int].fromResource[IntRes] }
- Alphabetic
- By Inheritance
- Make_
- Make
- Basic
- Lifecycle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Make_(acquire: => F[A])(release: => F[Unit])
Value Members
- final def acquire: F[A]
The action in
F
used to acquire the resource. - final def beforeAcquire[G[x] >: F[x]](f: => G[Unit])(implicit arg0: QuasiApplicative[G]): Lifecycle[G, A]
- Definition Classes
- Lifecycle
- final def beforeRelease[G[x] >: F[x]](f: (InnerResource) => G[Unit])(implicit arg0: QuasiApplicative[G]): Lifecycle[G, A]
Prepend release action to existing
Prepend release action to existing
- Definition Classes
- Lifecycle
- final def catchAll[G[x] >: F[x], B >: A](recover: (Throwable) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def catchSome[G[x] >: F[x], B >: A](recover: PartialFunction[Throwable, Lifecycle[G, B]])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def evalMap[G[x] >: F[x], B](f: (A) => G[B])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def evalTap[G[x] >: F[x]](f: (A) => G[Unit])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, A]
- Definition Classes
- Lifecycle
- final def extract[B >: A](resource: A): Right[Nothing, A]
Either an action in
F
or a pure function used to extract theA
from theInnerResource
Either an action in
F
or a pure function used to extract theA
from theInnerResource
The effect in the
Left
branch will be performed *interruptibly*, it is not afforded the same kind of safety asacquire
andrelease
actions whenF
is an effect type that supports interruption/cancellation.When
F
isIdentity
, it doesn't matter whether the output is aLeft
orRight
branch.When consuming the output of
extract
you can use_.fold(identity, F.pure)
to convert theEither
toF[B]
- Definition Classes
- Basic → Lifecycle
- See also
Lifecycle.Basic
extract
doesn't have to be defined when inheriting fromLifecycle.Basic
- final def flatMap[G[x] >: F[x], B](f: (A) => Lifecycle[G, B])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def flatten[G[x] >: F[x], B](implicit arg0: QuasiPrimitives[G], ev: <:<[A, Lifecycle[G, B]]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def map[G[x] >: F[x], B](f: (A) => B)(implicit arg0: QuasiFunctor[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def redeem[G[x] >: F[x], B](onFailure: (Throwable) => Lifecycle[G, B], onSuccess: (A) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def release(resource: A): F[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. - final def void[G[x] >: F[x]](implicit arg0: QuasiFunctor[G]): Lifecycle[G, Unit]
- Definition Classes
- Lifecycle
- final def widen[B >: A]: Lifecycle[F, B]
- Definition Classes
- Lifecycle
- Annotations
- @inline()
- final def widenF[G[x] >: F[x]]: Lifecycle[G, A]
- Definition Classes
- Lifecycle
- Annotations
- @inline()
- final def wrapAcquire[G[x] >: F[x]](f: (=> G[InnerResource]) => G[InnerResource]): Lifecycle[G, A]
Wrap acquire action of this resource in another effect, e.g.
Wrap acquire action of this resource in another effect, e.g. for logging purposes
- Definition Classes
- Lifecycle
- final def wrapRelease[G[x] >: F[x]](f: ((InnerResource) => G[Unit], InnerResource) => G[Unit]): Lifecycle[G, A]
Wrap release action of this resource in another effect, e.g.
Wrap release action of this resource in another effect, e.g. for logging purposes
- Definition Classes
- Lifecycle