mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2025-09-18 06:49:20 +00:00
Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
ea9dbf2371 | |||
d34e3ec7a9 | |||
c8833a36af | |||
a067cb0c0f | |||
999c8327bd | |||
c2ec73c70a | |||
702f782fc1 | |||
25dbcaaf83 | |||
b00d454a24 | |||
dbc921d56d |
16
CHANGELOG.md
16
CHANGELOG.md
@@ -1,5 +1,21 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 0.19.0
|
||||||
|
|
||||||
|
* `Versions`:
|
||||||
|
* `Korlibs`: `4.0.1`
|
||||||
|
|
||||||
|
## 0.18.4
|
||||||
|
|
||||||
|
* `Koin`:
|
||||||
|
* New extension `lazyInject`
|
||||||
|
|
||||||
|
## 0.18.3
|
||||||
|
|
||||||
|
* `Versions`:
|
||||||
|
* `Serialization`: `1.5.0` -> `1.5.1`
|
||||||
|
* `Android Cor Ktx`: `1.10.0` -> `1.10.1`
|
||||||
|
|
||||||
## 0.18.2
|
## 0.18.2
|
||||||
|
|
||||||
* `Startup`:
|
* `Startup`:
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
package dev.inmo.micro_utils.crypto
|
package dev.inmo.micro_utils.crypto
|
||||||
|
|
||||||
import com.soywiz.krypto.md5
|
import korlibs.crypto.md5
|
||||||
|
|
||||||
typealias MD5 = String
|
typealias MD5 = String
|
||||||
|
|
||||||
|
@@ -14,5 +14,5 @@ crypto_js_version=4.1.1
|
|||||||
# Project data
|
# Project data
|
||||||
|
|
||||||
group=dev.inmo
|
group=dev.inmo
|
||||||
version=0.18.2
|
version=0.19.0
|
||||||
android_code_version=193
|
android_code_version=196
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
[versions]
|
[versions]
|
||||||
|
|
||||||
kt = "1.8.20"
|
kt = "1.8.20"
|
||||||
kt-serialization = "1.5.0"
|
kt-serialization = "1.5.1"
|
||||||
kt-coroutines = "1.6.4"
|
kt-coroutines = "1.6.4"
|
||||||
|
|
||||||
kslog = "1.1.1"
|
kslog = "1.1.1"
|
||||||
@@ -10,7 +10,7 @@ jb-compose = "1.4.0"
|
|||||||
jb-exposed = "0.41.1"
|
jb-exposed = "0.41.1"
|
||||||
jb-dokka = "1.8.10"
|
jb-dokka = "1.8.10"
|
||||||
|
|
||||||
korlibs = "3.4.0"
|
korlibs = "4.0.1"
|
||||||
uuid = "0.7.0"
|
uuid = "0.7.0"
|
||||||
|
|
||||||
ktor = "2.3.0"
|
ktor = "2.3.0"
|
||||||
@@ -22,12 +22,12 @@ koin = "3.4.0"
|
|||||||
okio = "3.3.0"
|
okio = "3.3.0"
|
||||||
|
|
||||||
ksp = "1.8.20-1.0.11"
|
ksp = "1.8.20-1.0.11"
|
||||||
kotlin-poet = "1.13.0"
|
kotlin-poet = "1.13.2"
|
||||||
|
|
||||||
android-gradle = "7.4.2"
|
android-gradle = "7.4.2"
|
||||||
dexcount = "4.0.0"
|
dexcount = "4.0.0"
|
||||||
|
|
||||||
android-coreKtx = "1.10.0"
|
android-coreKtx = "1.10.1"
|
||||||
android-recyclerView = "1.3.0"
|
android-recyclerView = "1.3.0"
|
||||||
android-appCompat = "1.6.1"
|
android-appCompat = "1.6.1"
|
||||||
android-fragment = "1.5.7"
|
android-fragment = "1.5.7"
|
||||||
|
40
koin/src/commonMain/kotlin/GetWithDefinition.kt
Normal file
40
koin/src/commonMain/kotlin/GetWithDefinition.kt
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
package dev.inmo.micro_utils.koin
|
||||||
|
|
||||||
|
import org.koin.core.Koin
|
||||||
|
import org.koin.core.definition.BeanDefinition
|
||||||
|
import org.koin.core.definition.KoinDefinition
|
||||||
|
import org.koin.core.instance.InstanceFactory
|
||||||
|
import org.koin.core.parameter.ParametersDefinition
|
||||||
|
import org.koin.core.scope.Scope
|
||||||
|
|
||||||
|
fun <T> Koin.get(definition: BeanDefinition<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.primaryType,
|
||||||
|
definition.qualifier,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
|
||||||
|
fun <T> Koin.get(definition: InstanceFactory<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.beanDefinition,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
|
||||||
|
fun <T> Koin.get(definition: KoinDefinition<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.factory,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
|
||||||
|
fun <T> Scope.get(definition: BeanDefinition<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.primaryType,
|
||||||
|
definition.qualifier,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
|
||||||
|
fun <T> Scope.get(definition: InstanceFactory<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.beanDefinition,
|
||||||
|
parameters
|
||||||
|
)
|
||||||
|
|
||||||
|
fun <T> Scope.get(definition: KoinDefinition<T>, parameters: ParametersDefinition? = null): T = get(
|
||||||
|
definition.factory,
|
||||||
|
parameters
|
||||||
|
)
|
27
koin/src/jvmMain/kotlin/LazyInject.kt
Normal file
27
koin/src/jvmMain/kotlin/LazyInject.kt
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
package dev.inmo.micro_utils.koin
|
||||||
|
|
||||||
|
import org.koin.core.parameter.ParametersDefinition
|
||||||
|
import org.koin.core.qualifier.Qualifier
|
||||||
|
import org.koin.java.KoinJavaComponent
|
||||||
|
import kotlin.reflect.KClass
|
||||||
|
|
||||||
|
fun <T> lazyInject(
|
||||||
|
kClassFactory: () -> KClass<*>,
|
||||||
|
qualifier: Qualifier? = null,
|
||||||
|
parameters: ParametersDefinition? = null
|
||||||
|
): Lazy<T> {
|
||||||
|
return lazy(LazyThreadSafetyMode.SYNCHRONIZED) {
|
||||||
|
KoinJavaComponent.get(kClassFactory().java, qualifier, parameters)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun <T> lazyInject(
|
||||||
|
kClass: KClass<*>,
|
||||||
|
qualifier: Qualifier? = null,
|
||||||
|
parameters: ParametersDefinition? = null
|
||||||
|
): Lazy<T> = lazyInject({ kClass }, qualifier, parameters)
|
||||||
|
|
||||||
|
inline fun <reified T> lazyInject(
|
||||||
|
qualifier: Qualifier? = null,
|
||||||
|
noinline parameters: ParametersDefinition? = null
|
||||||
|
): Lazy<T> = lazyInject(T::class, qualifier, parameters)
|
@@ -1,6 +1,6 @@
|
|||||||
package dev.inmo.micro_utils.ktor.common
|
package dev.inmo.micro_utils.ktor.common
|
||||||
|
|
||||||
import com.soywiz.klock.DateTime
|
import korlibs.time.DateTime
|
||||||
|
|
||||||
typealias FromToDateTime = Pair<DateTime?, DateTime?>
|
typealias FromToDateTime = Pair<DateTime?, DateTime?>
|
||||||
|
|
||||||
|
@@ -1,6 +1,6 @@
|
|||||||
package dev.inmo.micro_utils.ktor.server
|
package dev.inmo.micro_utils.ktor.server
|
||||||
|
|
||||||
import com.soywiz.klock.DateTime
|
import korlibs.time.DateTime
|
||||||
import dev.inmo.micro_utils.ktor.common.FromToDateTime
|
import dev.inmo.micro_utils.ktor.common.FromToDateTime
|
||||||
import io.ktor.http.Parameters
|
import io.ktor.http.Parameters
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user