class MakePair[F[_], A] extends FromPair[F, A]
Class-based variant of makePair:
class IntRes extends Lifecycle.MakePair(IO(1000 -> IO.unit))
For binding resources using class syntax in ModuleDef:
val module = new ModuleDef { make[Int].fromResource[IntRes] }
- Alphabetic
- By Inheritance
- MakePair
- FromPair
- Lifecycle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new MakePair(acquire: => F[(A, F[Unit])])
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
- final def acquire: F[(A, F[Unit])]
The action in
F
used to acquire the resource. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- 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
- 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
- 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, F[Unit])): 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
- FromPair → Lifecycle
- See also
Lifecycle.Basic
extract
doesn't have to be defined when inheriting fromLifecycle.Basic
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- 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 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
- final def map[G[x] >: F[x], B](f: (A) => B)(implicit arg0: QuasiFunctor[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- 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 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])): 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 synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def void[G[x] >: F[x]](implicit arg0: QuasiFunctor[G]): Lifecycle[G, Unit]
- Definition Classes
- Lifecycle
- 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()
- 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