object DIResource

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DIResource
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. trait AdaptProvider[A] extends AnyRef

    Support binding various FP libraries' Resource types in .fromResource

  2. trait DIResourceBase[+F[_], +OuterResource] extends AnyRef

    Generalized DIResource

  3. implicit final class DIResourceCatsSyntax[+F[_], +A] extends AnyVal
  4. implicit final class DIResourceFlatten[F[_], +A] extends AnyVal
  5. implicit final class DIResourceLocatorRun[F[_]] extends AnyVal
  6. implicit final class DIResourceSimpleSyntax[+A] extends AnyVal
  7. implicit final class DIResourceUnsafeGet[F[_], A] extends AnyVal
  8. implicit final class DIResourceUse[F[_], +A] extends AnyVal
  9. implicit final class DIResourceUseEffect[F[_], A] extends AnyVal
  10. implicit final class DIResourceZIOSyntax[-R, +E, +A] extends AnyVal
  11. class FromAutoCloseable[+F[_], +A <: AutoCloseable] extends Of[[_]F[_], A]

    Class-based variant of fromAutoCloseableF:

    Class-based variant of fromAutoCloseableF:

    class FileOutputRes extends DIResource.FromAutoCloseable(
      acquire = IO(new FileOutputStream("abc"))
    )

    For binding resources using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  12. trait FromCats[F[_], A] extends DIResourceBase[F, A]
  13. trait FromZIO[R, E, A] extends DIResourceBase[[γ$6$]ZIO[R, E, γ$6$], A]
  14. class LiftF[+F[_], A] extends NoClose[F, A]

    Class-based variant of liftF:

    Class-based variant of liftF:

    class IntRes extends DIResource.LiftF(acquire = IO(1000))

    For binding resources using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  15. class Make[+F[_], A] extends DIResource[F, A]

    Class-based variant of make:

    Class-based variant of make:

    class IntRes extends DIResource.Make(
      acquire = IO(1000)
    )(release = _ => IO.unit)

    For binding resources using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  16. class MakePair[F[_], A] extends FromCats[F, A]

    Class-based variant of makePair:

    Class-based variant of makePair:

    class IntRes extends DIResource.MakePair(IO(1000 -> IO.unit))

    For binding resources using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  17. class Make_[+F[_], A] extends Make[F, A]

    Class-based variant of make_:

    Class-based variant of make_:

    class IntRes extends DIResource.Make_(IO(1000))(IO.unit)

    For binding resources using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  18. trait Mutable[+A] extends Self[Identity, A]
  19. trait MutableNoClose[+A] extends SelfNoClose[Identity, A]
  20. abstract class NoClose[+F[_], A] extends DIResource.DIResourceBase.NoClose[F, A] with DIResource[F, A]
  21. class Of[+F[_], +A] extends DIResourceBase[F, A]

    Class-based proxy over a DIResource value

    Class-based proxy over a DIResource value

    class IntRes extends DIResource.Of(DIResource.pure(1000))

    For binding resource values using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  22. class OfCats[F[_], A] extends Of[F, A]

    Class-based proxy over a cats.effect.Resource value

    Class-based proxy over a cats.effect.Resource value

    class IntRes extends DIResource.OfCats(Resource.pure(1000))

    For binding resource values using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  23. class OfZIO[-R, +E, +A] extends Of[[γ$5$]ZIO[R, E, γ$5$], A]

    Class-based proxy over a zio.ZManaged value

    Class-based proxy over a zio.ZManaged value

    class IntRes extends DIResource.OfZIO(Managed.succeed(1000))

    For binding resource values using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }
  24. trait ResourceTag[R] extends AnyRef
  25. sealed trait ResourceTagLowPriority extends AnyRef
  26. trait Self[+F[_], +A] extends DIResourceBase[F, A]
  27. abstract class SelfNoClose[+F[_], +A] extends DIResource.DIResourceBase.NoClose[F, A]
  28. trait Simple[A] extends DIResource[Identity, A]
  29. trait TrifunctorHasResourceTag[R0, T] extends AnyRef
  30. sealed trait TrifunctorHasResourceTagLowPriority extends TrifunctorHasResourceTagLowPriority1
  31. sealed trait TrifunctorHasResourceTagLowPriority1 extends AnyRef

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 asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  9. def fromAutoCloseable[A <: AutoCloseable](acquire: => A): DIResource[Identity, A]
  10. def fromAutoCloseableF[F[_], A <: AutoCloseable](acquire: => F[A])(implicit F: DIEffect[F]): DIResource[F, A]
  11. def fromCats[F[_], A](resource: Resource[F, A])(implicit arg0: Bracket[F, Throwable]): FromCats[F, A]

    Convert cats.effect.Resource to DIResource

  12. def fromExecutorService[A <: ExecutorService](acquire: => A): DIResource[Identity, A]
  13. def fromZIO[R, E, A](managed: ZManaged[R, E, A]): FromZIO[R, E, A]

    Convert zio.ZManaged to DIResource

  14. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. def liftF[F[_], A](acquire: => F[A])(implicit F: DIApplicative[F]): DIResource[F, A]
  18. def make[F[_], A](acquire: => F[A])(release: (A) => F[Unit]): DIResource[F, A]
  19. def makePair[F[_], A](allocate: F[(A, F[Unit])]): FromCats[F, A]
  20. def makeSimple[A](acquire: => A)(release: (A) => Unit): DIResource[Identity, A]
  21. def make_[F[_], A](acquire: => F[A])(release: => F[Unit]): DIResource[F, A]
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. implicit final def providerFromCats[F[_], A](resource: => Resource[F, A])(implicit arg0: TagK[F], tag: Tag[FromCats[F, A]]): ProviderMagnet[FromCats[F, A]]

    Allows you to bind cats.effect.Resource-based constructors in ModuleDef:

    Allows you to bind cats.effect.Resource-based constructors in ModuleDef:

    Example:

    import cats.effect._
    
    val catsResource = Resource.liftF(IO(5))
    
    val module = new distage.ModuleDef {
    
      make[Int].fromResource(catsResource)
    
      addImplicit[Bracket[IO, Throwable]]
    }

    NOTE: binding a cats Resource[F, A] will add a dependency on Bracket[F, Throwable] for your corresponding F type

  26. implicit final def providerFromZIO[R, E, A](managed: => ZManaged[R, E, A])(implicit tag: Tag[FromZIO[R, E, A]]): ProviderMagnet[FromZIO[R, E, A]]

    Allows you to bind zio.ZManaged-based constructors in ModuleDef:

  27. implicit final def providerFromZIONothing[R, A](managed: => ZManaged[R, Nothing, A])(implicit tag: Tag[FromZIO[R, Nothing, A]]): ProviderMagnet[FromZIO[R, Nothing, A]]

    Allows you to bind zio.ZManaged-based constructors in ModuleDef:

  28. implicit final def providerFromZLayerHas1[R, E, A](layer: => ZLayer[R, E, Has[A]])(implicit arg0: Tag[A], tag: Tag[FromZIO[R, E, A]]): ProviderMagnet[FromZIO[R, E, A]]

    Allows you to bind zio.ZLayer-based constructors in ModuleDef:

  29. implicit final def providerFromZLayerNothingHas1[R, A](layer: => ZLayer[R, Nothing, Has[A]])(implicit arg0: Tag[A], tag: Tag[FromZIO[R, Nothing, A]]): ProviderMagnet[FromZIO[R, Nothing, A]]

    Allows you to bind zio.ZLayer-based constructors in ModuleDef:

  30. def pure[F[_], A](a: A)(implicit F: DIApplicative[F]): DIResource[F, A]
  31. def suspend[F[_], A](acquire: => F[DIResourceBase[F, A]])(implicit arg0: DIEffect[F]): DIResourceBase[F, A]
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. def unit[F[_]](implicit F: DIApplicative[F]): DIResource[F, Unit]
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  38. object AdaptProvider
  39. object DIResourceBase
  40. object ResourceTag extends ResourceTagLowPriority
  41. object ResourceTagMacro
  42. object TrifunctorHasResourceTag extends TrifunctorHasResourceTagLowPriority

Inherited from AnyRef

Inherited from Any

Ungrouped