Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
data class ParameterTypeInjection(val targetType: KClass<*>, val injectedTypes: List<KClass<*>>)

Define Parameter Injection Types in order to help verify definition

Link copied to clipboard
class Verification(val module: Module? = null, extraTypes: List<KClass<*>> = emptyList(), injections: List<ParameterTypeInjection>? = null)
Link copied to clipboard
Link copied to clipboard
data class VerifiedParameter(val name: String, val type: KClass<*>, val status: VerificationStatus)
Link copied to clipboard
object Verify

Verify API

Functions

Link copied to clipboard
inline fun <T> definition(injectedParameterTypes: List<KClass<*>>): ParameterTypeInjection
inline fun <T> definition(vararg injectedParameterTypes: KClass<*>): ParameterTypeInjection

Define injection for a definition Type

Link copied to clipboard

Declare list of ParameterTypeInjection - in order to help define parmater injection types to allow in verify

Link copied to clipboard
fun Module.verify(extraTypes: List<KClass<*>> = emptyList(), injections: List<ParameterTypeInjection>? = emptyList()): Verification

Make a static verification about all declared classes constructors, to ensure they are all bound to an existing definition Throws MissingDefinitionException if any definition is missing

Link copied to clipboard
fun List<Module>.verifyAll(extraTypes: List<KClass<*>> = emptyList(), injections: List<ParameterTypeInjection>? = emptyList())

Verify a list of Modules