Functoid

izumi.distage.model.providers.Functoid$
See theFunctoid companion class

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

final implicit class SyntaxMapSame[A](functoid: Functoid[A]) extends AnyVal

Attributes

Graph
Supertypes
class AnyVal
trait Matchable
class Any

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def identity[A : Tag]: Functoid[A]
def identityKey(key: DIKey): Functoid[_]
def lift[A : Tag](a: => A): Functoid[A]

Derive constructor for a concrete class A using ClassConstructor

Derive constructor for a concrete class A using ClassConstructor

Attributes

Derive constructor for a "factory-like" abstract class or a trait A using FactoryConstructor

Derive constructor for a "factory-like" abstract class or a trait A using FactoryConstructor

Attributes

See also:
def makeHas[A : ZEnvConstructor]: Functoid[ZEnvironment[A]]

Derive constructor for a zio.ZEnvironment value A using ZEnvConstructor

Derive constructor for a zio.ZEnvironment value A using ZEnvConstructor

Attributes

See also:

Derive constructor for an abstract class or a trait A using TraitConstructor

Derive constructor for an abstract class or a trait A using TraitConstructor

Attributes

See also:
def pure[A : Tag](a: A): Functoid[A]
def single[A : Tag, B : Tag](f: A => B): Functoid[B]
def singleton[A <: Singleton : Tag](a: A): Functoid[A]
def todoProvider(key: DIKey)(implicit pos: CodePositionMaterializer): Functoid[Nothing]
def unit: Functoid[Unit]

Deprecated methods

Attributes

Deprecated
true

Implicits

Implicits

final implicit def SyntaxMapSame[A](functoid: Functoid[A]): SyntaxMapSame[A]

Inherited implicits

implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, , ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: (, ) => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: () => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
implicit inline def apply[R](inline fun: () => R): Functoid[R]

Attributes

Inherited from:
FunctoidMacroMethods
final implicit def providerFromCats[F[_] : Tag, A](resource: => Resource[F, A])(implicit evidence$18: Tag[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)
 }

Attributes

Note:

binding a cats Resource[F, A] will add a dependency on Sync[F] for your corresponding F type (Sync[F] instance will generally be provided automatically via izumi.distage.modules.DefaultModule)

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZIOScoped[R, E, A](scoped: => ZIO[Scope & R, E, A])(implicit tag: Tag[FromZIO[R, E, A]]): Functoid[FromZIO[R, E, A]]

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

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZIOScopedNothing[R, A](scoped: => ZIO[Scope & R, Nothing, A])(implicit tag: Tag[FromZIO[R, Nothing, A]]): Functoid[FromZIO[R, Nothing, A]]

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

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZLayer[R, E, A : Tag](layer: => ZLayer[R, E, A])(implicit evidence$19: Tag[A], tag: Tag[FromZIO[R, E, A]]): Functoid[FromZIO[R, E, A]]

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

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZLayerNothing[R, A : Tag](layer: => ZLayer[R, Nothing, A])(implicit evidence$20: Tag[A], tag: Tag[FromZIO[R, Nothing, A]]): Functoid[FromZIO[R, Nothing, A]]

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

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZManaged[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.managed.ZManaged-based constructors in ModuleDef:

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)
final implicit def providerFromZManagedNothing[R, A](managed: => ZManaged[R, Nothing, A])(implicit tag: Tag[FromZIO[R, Nothing, A]]): Functoid[FromZIO[R, Nothing, A]]

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

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

Attributes

Inherited from:
FunctoidLifecycleAdapters (hidden)