Attributes
- Companion:
- trait
- Graph
- Supertypes
- class Objecttrait Matchableclass Any
- Self type
- AdaptFunctoid.type
Members list
Type members
Types
Implicits
Implicits
Allows you to bind cats.effect.Resource-based constructor functions in ModuleDef
:
Allows you to bind cats.effect.Resource-based constructor functions in ModuleDef
:
Example:
import cats.effect._
import doobie.hikari._
final case class JdbcConfig(driverClassName: String, url: String, user: String, pass: String)
val module = new distage.ModuleDef {
make[ExecutionContext].from(scala.concurrent.ExecutionContext.global)
make[JdbcConfig].from {
conf: JdbcConfig @ConfPath("jdbc") => conf
}
make[HikariTransactor[IO]].fromResource {
(ec: ExecutionContext, jdbc: JdbcConfig) =>
implicit val contextShift: ContextShift[IO] = IO.contextShift(ec)
HikariTransactor.newHikariTransactor[IO](jdbc.driverClassName, jdbc.url, jdbc.user, jdbc.pass, ec, ec)
}
}
Attributes
- Note:
binding a cats Resource[F, A] will add a dependency on
Sync[F]
for your correspondingF
type (Sync[F]
instance will generally be provided automatically via izumi.distage.modules.DefaultModule)
Allows you to bind Scoped zio.ZIO-based constructor functions in ModuleDef
:
Allows you to bind Scoped zio.ZIO-based constructor functions in ModuleDef
:
Attributes
- Note:
due to limitations of Scala 2 type inference, only plain
Scope
environment is supported here. if you need to inject ZIO with other types use fromZIOEnv method instead offromResource
.
Allows you to bind zio.managed.ZManaged-based constructor functions in ModuleDef
:
Allows you to bind zio.managed.ZManaged-based constructor functions in ModuleDef
:
Attributes
Allows you to bind zio.managed.ZManaged-based constructor functions in ModuleDef
:
Allows you to bind zio.managed.ZManaged-based constructor functions in ModuleDef
: