mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2025-09-19 23:39:28 +00:00
Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
a683cccf0c | |||
50d41e35c1 | |||
aa0e831cea |
@@ -2,7 +2,15 @@
|
|||||||
|
|
||||||
## 0.6.0
|
## 0.6.0
|
||||||
|
|
||||||
|
**THIS VERSION HAS MIGRATED FROM KOTLINX DATETIME TO KORLIBS KLOCK. CAREFUL**
|
||||||
|
|
||||||
|
* `Versions`
|
||||||
|
* `kotlinx.datetime` -> `Klock`
|
||||||
|
|
||||||
|
## 0.6.0 DO NOT RECOMMENDED
|
||||||
|
|
||||||
**THIS VERSION HAS MIGRATED FROM KORLIBS KLOCK TO KOTLINX DATETIME. CAREFUL**
|
**THIS VERSION HAS MIGRATED FROM KORLIBS KLOCK TO KOTLINX DATETIME. CAREFUL**
|
||||||
|
**ALL DEPRECATION HAVE BEEN REMOVED**
|
||||||
|
|
||||||
* `Versions`
|
* `Versions`
|
||||||
* `Klock` -> `kotlinx.datetime`
|
* `Klock` -> `kotlinx.datetime`
|
||||||
|
@@ -1,5 +0,0 @@
|
|||||||
package dev.inmo.micro_utils.common
|
|
||||||
|
|
||||||
@Deprecated("Redundant", ReplaceWith("coerceIn(min, max)"))
|
|
||||||
@Suppress("NOTHING_TO_INLINE")
|
|
||||||
inline fun <T : Comparable<T>> T.clamp(min: T, max: T): T = coerceIn(min, max)
|
|
@@ -14,7 +14,7 @@ kotlin_exposed_version=0.35.1
|
|||||||
|
|
||||||
ktor_version=1.6.4
|
ktor_version=1.6.4
|
||||||
|
|
||||||
datetime_version=0.3.0
|
klockVersion=2.4.3
|
||||||
|
|
||||||
github_release_plugin_version=2.2.12
|
github_release_plugin_version=2.2.12
|
||||||
|
|
||||||
@@ -45,5 +45,5 @@ dokka_version=1.5.30
|
|||||||
# Project data
|
# Project data
|
||||||
|
|
||||||
group=dev.inmo
|
group=dev.inmo
|
||||||
version=0.6.0
|
version=0.7.0
|
||||||
android_code_version=73
|
android_code_version=74
|
||||||
|
@@ -11,7 +11,7 @@ kotlin {
|
|||||||
commonMain {
|
commonMain {
|
||||||
dependencies {
|
dependencies {
|
||||||
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlin_serialisation_core_version"
|
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlin_serialisation_core_version"
|
||||||
api "org.jetbrains.kotlinx:kotlinx-datetime:$datetime_version"
|
api "com.soywiz.korlibs.klock:klock:$klockVersion"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1,17 +1,17 @@
|
|||||||
package dev.inmo.micro_utils.ktor.common
|
package dev.inmo.micro_utils.ktor.common
|
||||||
|
|
||||||
import kotlinx.datetime.Instant
|
import com.soywiz.klock.DateTime
|
||||||
|
|
||||||
typealias FromToDateTime = Pair<Instant?, Instant?>
|
typealias FromToDateTime = Pair<DateTime?, DateTime?>
|
||||||
|
|
||||||
val FromToDateTime.asFromToUrlPart: QueryParams
|
val FromToDateTime.asFromToUrlPart: QueryParams
|
||||||
get() = mapOf(
|
get() = mapOf(
|
||||||
"from" to first ?.toEpochMilliseconds() ?.toString(),
|
"from" to first ?.unixMillis ?.toString(),
|
||||||
"to" to second ?.toEpochMilliseconds() ?.toString()
|
"to" to second ?.unixMillis ?.toString()
|
||||||
)
|
)
|
||||||
|
|
||||||
val QueryParams.extractFromToDateTime: FromToDateTime
|
val QueryParams.extractFromToDateTime: FromToDateTime
|
||||||
get() = FromToDateTime(
|
get() = FromToDateTime(
|
||||||
get("from") ?.run { toLongOrNull() ?: (toDoubleOrNull() ?.toLong()) } ?.let { Instant.fromEpochMilliseconds(it) },
|
get("from") ?.toDoubleOrNull() ?.let { DateTime(it) },
|
||||||
get("to") ?.run { toLongOrNull() ?: (toDoubleOrNull() ?.toLong()) } ?.let { Instant.fromEpochMilliseconds(it) }
|
get("to") ?.toDoubleOrNull() ?.let { DateTime(it) }
|
||||||
)
|
)
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
package dev.inmo.micro_utils.ktor.server
|
package dev.inmo.micro_utils.ktor.server
|
||||||
|
|
||||||
|
import com.soywiz.klock.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
|
||||||
import kotlinx.datetime.Instant
|
|
||||||
|
|
||||||
val Parameters.extractFromToDateTime: FromToDateTime
|
val Parameters.extractFromToDateTime: FromToDateTime
|
||||||
get() = FromToDateTime(
|
get() = FromToDateTime(
|
||||||
get("from") ?.run { toLongOrNull() ?: (toDoubleOrNull() ?.toLong()) } ?.let { Instant.fromEpochMilliseconds(it) },
|
get("from") ?.toDoubleOrNull() ?.let { DateTime(it) },
|
||||||
get("to") ?.run { toLongOrNull() ?: (toDoubleOrNull() ?.toLong()) } ?.let { Instant.fromEpochMilliseconds(it) }
|
get("to") ?.toDoubleOrNull() ?.let { DateTime(it) }
|
||||||
)
|
)
|
||||||
|
@@ -20,18 +20,6 @@ open class TypedSerializer<T : Any>(
|
|||||||
element("type", String.serializer().descriptor)
|
element("type", String.serializer().descriptor)
|
||||||
element("value", ContextualSerializer(kClass).descriptor)
|
element("value", ContextualSerializer(kClass).descriptor)
|
||||||
}
|
}
|
||||||
@InternalSerializationApi
|
|
||||||
@Deprecated(
|
|
||||||
"This descriptor was deprecated due to incorrect serial name. You may use it in case something require it, " +
|
|
||||||
"but it is strongly recommended to migrate onto new descriptor"
|
|
||||||
)
|
|
||||||
protected val oldDescriptor: SerialDescriptor = buildSerialDescriptor(
|
|
||||||
"TextSourceSerializer",
|
|
||||||
SerialKind.CONTEXTUAL
|
|
||||||
) {
|
|
||||||
element("type", String.serializer().descriptor)
|
|
||||||
element("value", ContextualSerializer(kClass).descriptor)
|
|
||||||
}
|
|
||||||
|
|
||||||
@ExperimentalSerializationApi
|
@ExperimentalSerializationApi
|
||||||
@InternalSerializationApi
|
@InternalSerializationApi
|
||||||
|
Reference in New Issue
Block a user