Skip to content

Commit

Permalink
add parametrized factory
Browse files Browse the repository at this point in the history
  • Loading branch information
makeevrserg committed Jan 12, 2024
1 parent 515122a commit 6f00c60
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 4 deletions.
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ makeevrserg.java.ktarget=17
# Project
makeevrserg.project.name=KDI
makeevrserg.project.group=ru.astrainteractive.klibs
makeevrserg.project.version.string=1.3.1
makeevrserg.project.version.string=1.3.2
makeevrserg.project.description=KMM library for manual DI
makeevrserg.project.developers=makeevrserg|Makeev Roman|makeevrserg@gmail.com
makeevrserg.project.url=https://github.com/makeevrserg/kdi
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@ package ru.astrainteractive.klibs.kdi
*/
fun interface Factory<out T> {
fun create(): T
fun interface Parametrized<out T, P> {
fun create(param: P): T
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,5 @@ class Lateinit<T : Any>(private val isMultipleInitializationAllowed: Boolean) :
}

override val value: T
get() {
return instance ?: error("Value is not initialized yet")
}
get() = instance ?: error("Value is not initialized yet")
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import kotlin.reflect.KProperty
* [Module] interface is a definition for module package, which will contains
* other dependencies or even submodules which are also will be [Module]
*/
@Deprecated("This interface is useless")
interface Module

inline operator fun <reified T : Module, K> T.getValue(t: K?, property: KProperty<*>): T = this

0 comments on commit 6f00c60

Please sign in to comment.