contract

public final Unit contract(KClass<?> contract)

this function specify in which form this object should be injected, and it is mainly used to hide concrete implementations


public final Unit contract(Function1<FactoryBuilder, KClass<?>> block)

this function takes a lambda with KClass as a return type this function specify in which form this object should be injected, and it is mainly used to hide concrete implementations