Skip to content

Commit

Permalink
add lazy to Single
Browse files Browse the repository at this point in the history
  • Loading branch information
makeevrserg committed Dec 20, 2023
1 parent d6ab9ae commit 515122a
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 9 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.0
makeevrserg.project.version.string=1.3.1
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
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[versions]
# Kotlin
kotlin-version = "1.9.0"
makeevrserg-gradleplugin = "0.0.10"
makeevrserg-gradleplugin = "0.5.1"
gradle-android = "7.4.2"
[libraries]
makeevrserg-gradleplugin-convention = { module = "ru.astrainteractive.gradleplugin:convention", version.ref = "makeevrserg-gradleplugin" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@ package ru.astrainteractive.klibs.kdi
* [Single] is a singleton value which will be a unique and single instant
*
* This can be helpful for repository storing, DB connection and etc
*
* Also implements [Lazy]
*/
class Single<out T>(factory: Factory<T>) : Dependency<T> {
private val instance by lazy {
factory.create()
}
override val value: T
get() = instance
}
class Single<out T>(
factory: Factory<T>
) : Dependency<T>, Lazy<T> by lazy(initializer = { factory.create() })

0 comments on commit 515122a

Please sign in to comment.