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
Show all
Self type
Functoid.type

Members list

Type members

Classlikes

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

Attributes

Supertypes
class AnyVal
trait Matchable
class Any

Inherited and Abstract 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$1: 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$1: 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$1: 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)