trait FromCats[F[_], A] extends Lifecycle[F, A]
- Alphabetic
- By Inheritance
- FromCats
- Lifecycle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- final type InnerResource = Ref[F, List[F[Unit]]]
Abstract Value Members
- abstract def acquire: F[InnerResource]
The action in
F
used to acquire the resource.The action in
F
used to acquire the resource.- Definition Classes
- Lifecycle
- Note
the
acquire
action is performed *uninterruptibly*, whenF
is an effect type that supports interruption/cancellation.
- abstract def extract[B >: A](resource: InnerResource): Either[F[B], B]
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
- Lifecycle
- See also
Lifecycle.Basic
extract
doesn't have to be defined when inheriting fromLifecycle.Basic
- abstract def release(resource: InnerResource): 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.- Definition Classes
- Lifecycle
- Note
the
release
action is performed *uninterruptibly*, whenF
is an effect type that supports interruption/cancellation.
Concrete 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 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
- 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 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