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 fromAutoCloseable:

    Class-based variant of fromAutoCloseable:

    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. trait MutableOf[+A] extends SelfOf[Identity, A]
  21. abstract class NoClose[+F[_], A] extends DIResource.DIResourceBase.NoClose[F, A] with DIResource[F, A]
  22. class Of[+F[_], +A] extends OfInner[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]
    }

    Note: when the expression passed to DIResource.Of defines many local methods it can hit a Scalac bug https://github.com/scala/bug/issues/11969 and fail to compile, in that case you may switch to DIResource.OfInner

  23. 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]
    }
  24. trait OfInner[+F[_], +A] extends DIResourceBase[F, A]

    Trait-based proxy over a DIResource value

    Trait-based proxy over a DIResource value

    class IntRes extends DIResource.OfInner {
    
    }

    For binding resource values using class syntax in ModuleDef:

    val module = new ModuleDef {
      make[Int].fromResource[IntRes]
    }

    NOTE: This class may be used instead of DIResource.Of to workaround scalac bug https://github.com/scala/bug/issues/11969 when defining local methods

  25. 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]
    }
  26. trait ResourceTag[R] extends AnyRef
  27. sealed trait ResourceTagLowPriority extends AnyRef
  28. trait Self[+F[_], +A] extends DIResourceBase[F, A]
  29. abstract class SelfNoClose[+F[_], +A] extends DIResource.DIResourceBase.NoClose[F, A]
  30. trait SelfOf[+F[_], +A] extends DIResourceBase[F, A]
  31. trait Simple[A] extends DIResource[Identity, A]
  32. trait TrifunctorHasResourceTag[R0, T] extends AnyRef
  33. sealed trait TrifunctorHasResourceTagLowPriority extends TrifunctorHasResourceTagLowPriority1
  34. 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 fromAutoCloseable[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 fromExecutorService[F[_], A <: ExecutorService](acquire: => F[A])(implicit F: DIEffect[F]): DIResource[F, A]
  14. def fromZIO[R, E, A](managed: ZManaged[R, E, A]): FromZIO[R, E, A]

    Convert zio.ZManaged to DIResource

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

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

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

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

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

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

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

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

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

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

Deprecated Value Members

  1. def fromAutoCloseableF[F[_], A <: AutoCloseable](acquire: => F[A])(implicit F: DIEffect[F]): DIResource[F, A]
    Annotations
    @deprecated
    Deprecated

    (Since version 0.11) renamed to fromAutoCloseable

Inherited from AnyRef

Inherited from Any

Ungrouped