MutationContext
izumi.distage.model.definition.dsl.AbstractBindingDefDSL.MutationContext
Use this to create utility functions that add bindings mutably to the current module, as opposed to creating new modules and including them.
Example:
import distage.{ClassConstructor, Tag, ModuleDef}
import izumi.distage.model.definition.dsl.ModuleDefDSL
trait RegisteredComponent
class RegisteredComponentImpl extends RegisteredComponent
def addAndRegister[T <: RegisteredComponent: Tag: ClassConstructor](implicit mutateModule: ModuleDefDSL#MutationContext): Unit = {
new mutateModule.dsl {
make[T]
many[RegisteredComponent]
.weak[T]
}
}
new ModuleDef {
addAndRegister[RegisteredComponentImpl]
}
Attributes
- Graph
- Supertypes
- class Objecttrait Matchableclass Any