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]
}
Annotations
@open()
Linear Supertypes
FromPair[F, A], Lifecycle[F, A], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. MakePair
  2. FromPair
  3. Lifecycle
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new MakePair(acquire: => F[(A, F[Unit])])

Type Members

  1. final type InnerResource = (A, F[Unit])
    Definition Classes
    FromPairLifecycle

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def acquire: F[(A, F[Unit])]

    The action in F used to acquire the resource.

    The action in F used to acquire the resource.

    Definition Classes
    MakePairLifecycle
    Note

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

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. final def beforeAcquire[G[x] >: F[x]](f: => G[Unit])(implicit arg0: QuasiApplicative[G]): Lifecycle[G, A]
    Definition Classes
    Lifecycle
  7. 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
  8. final def catchAll[G[x] >: F[x], B >: A](recover: (Throwable) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
    Definition Classes
    Lifecycle
  9. 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
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  13. final def evalMap[G[x] >: F[x], B](f: (A) => G[B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
    Definition Classes
    Lifecycle
  14. final def evalTap[G[x] >: F[x]](f: (A) => G[Unit])(implicit arg0: QuasiIO[G]): Lifecycle[G, A]
    Definition Classes
    Lifecycle
  15. final def extract[B >: A](resource: (A, F[Unit])): Right[Nothing, A]

    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]

    Definition Classes
    FromPairLifecycle
    See also

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

  16. final def flatMap[G[x] >: F[x], B](f: (A) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
    Definition Classes
    Lifecycle
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def map[G[x] >: F[x], B](f: (A) => B)(implicit arg0: QuasiFunctor[G]): Lifecycle[G, B]
    Definition Classes
    Lifecycle
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. 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
  25. 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.

    Definition Classes
    FromPairLifecycle
    Note

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

  26. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  27. def toString(): String
    Definition Classes
    AnyRef → Any
  28. final def void[G[x] >: F[x]](implicit arg0: QuasiFunctor[G]): Lifecycle[G, Unit]
    Definition Classes
    Lifecycle
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def widen[B >: A]: Lifecycle[F, B]
    Definition Classes
    Lifecycle
    Annotations
    @inline()
  33. final def widenF[G[x] >: F[x]]: Lifecycle[G, A]
    Definition Classes
    Lifecycle
    Annotations
    @inline()
  34. 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
  35. 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

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from FromPair[F, A]

Inherited from Lifecycle[F, A]

Inherited from AnyRef

Inherited from Any

Ungrouped