implicit final class DIPlanAssertionSyntax extends AnyVal
- Alphabetic
- By Inheritance
- DIPlanAssertionSyntax
- AnyVal
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- Any
- final def ##: Int
- Definition Classes
- Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
- final def incompatibleEffectType[F[_]](implicit arg0: TagK[F]): Option[NonEmptyList[MonadicOp]]
Check for any
make[_].fromEffect
ormake[_].fromResource
bindings that are incompatible with the passedF
.Check for any
make[_].fromEffect
ormake[_].fromResource
bindings that are incompatible with the passedF
.An effect is compatible if it's a subtype of
F
or is a type equivalent to izumi.fundamentals.platform.functional.Identity (e.g.cats.Id
)- F
effect type to check against
- returns
a non-empty list of operations incompatible with
F
if present
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def toString(): String
- Definition Classes
- Any
- final def unresolvedImports: Option[NonEmptyList[ImportDependency]]
- final def unresolvedImports(ignoredImports: (DIKey) => Boolean = Set.empty): Option[NonEmptyList[ImportDependency]]
Check for any unresolved dependencies.
Check for any unresolved dependencies.
If this returns
None
then the wiring is generally correct, modulo runtime exceptions in user code, andInjector.produce
should succeed.However, presence of imports does not *always* mean that a plan is invalid, imports may be fulfilled by a parent
Locator
, by BootstrapContext, or they may be materialized by a custom izumi.distage.model.provisioning.strategies.ImportStrategy- returns
a non-empty list of unresolved imports if present
Deprecated Value Members
- final def assertValid[F[_]](ignoredImports: (DIKey) => Boolean = Set.empty)(implicit arg0: QuasiIO[F], arg1: TagK[F]): F[Unit]
Check for any unresolved dependencies, or for any
make[_].fromEffect
ormake[_].fromResource
bindings that are incompatible with the passedF
, or for any other issue that would cause Injector.produce to failCheck for any unresolved dependencies, or for any
make[_].fromEffect
ormake[_].fromResource
bindings that are incompatible with the passedF
, or for any other issue that would cause Injector.produce to failIf this returns
F.unit
then the wiring is generally correct, modulo runtime exceptions in user code, andInjector.produce
should succeed.However, presence of imports does not *always* mean that a plan is invalid, imports may be fulfilled by a parent
Locator
, by BootstrapContext, or they may be materialized by a custom izumi.distage.model.provisioning.strategies.ImportStrategyAn effect is compatible if it's a subtype of
F
or is a type equivalent to izumi.fundamentals.platform.functional.Identity (e.g.cats.Id
)Will
F.fail
the effect with izumi.distage.model.exceptions.InvalidPlanException if there are issues.- F
effect type to check against
- Annotations
- @deprecated
- Deprecated
(Since version 20.07.2021) Use distage.Injector#verify
- final def assertValidOrThrow[F[_]](ignoredImports: (DIKey) => Boolean = Set.empty)(implicit arg0: TagK[F]): Unit
Same as assertValid, but throws an izumi.distage.model.exceptions.InvalidPlanException if there are unresolved imports
Same as assertValid, but throws an izumi.distage.model.exceptions.InvalidPlanException if there are unresolved imports
- Annotations
- @deprecated
- Deprecated
(Since version 20.07.2021) Use distage.Injector#verify
- Exceptions thrown
izumi.distage.model.exceptions.InvalidPlanException
if there are issues
- final def isValid[F[_]](ignoredImports: (DIKey) => Boolean = Set.empty)(implicit arg0: TagK[F]): Option[InvalidPlanException]
Same as unresolvedImports, but returns a pretty-printed exception if there are unresolved imports
Same as unresolvedImports, but returns a pretty-printed exception if there are unresolved imports
- Annotations
- @deprecated
- Deprecated
(Since version 20.07.2021) Use distage.Injector#verify