diff --git a/CHANGELOG.md b/CHANGELOG.md index 47296dfba24..d21618cb9bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## 0.12.0-beta +**OLD DEPRECATIONS HAVE BEEN REMOVED** + * `Versions` * `Kotlin`: `1.6.21` -> `1.7.0` * `Coroutines`: `1.6.3` -> `1.6.4` @@ -9,6 +11,8 @@ * `Compose`: `1.2.0-alpha01-dev729` -> `1.2.0-alpha01-dev753` * `Klock`: `2.7.0` -> `3.0.0` * `uuid`: `0.4.1` -> `0.5.0` +* `Ktor`: + * All previously standard functions related to work with binary data by default have been deprecated ## 0.11.12 diff --git a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Either.kt b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Either.kt index c07426febe1..3b1b161dea9 100644 --- a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Either.kt +++ b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Either.kt @@ -1,3 +1,5 @@ +@file:Suppress("unused", "NOTHING_TO_INLINE") + package dev.inmo.micro_utils.common import kotlinx.serialization.* @@ -21,11 +23,10 @@ import kotlinx.serialization.encoding.* sealed interface Either { val optionalT1: Optional val optionalT2: Optional - @Deprecated("Use optionalT1 instead", ReplaceWith("optionalT1")) - val t1: T1? + + val t1OrNull: T1? get() = optionalT1.dataOrNull() - @Deprecated("Use optionalT2 instead", ReplaceWith("optionalT2")) - val t2: T2? + val t2OrNull: T2? get() = optionalT2.dataOrNull() } @@ -33,7 +34,7 @@ class EitherSerializer( t1Serializer: KSerializer, t2Serializer: KSerializer, ) : KSerializer> { - @OptIn(InternalSerializationApi::class) + @OptIn(InternalSerializationApi::class, ExperimentalSerializationApi::class) override val descriptor: SerialDescriptor = buildSerialDescriptor( "TypedSerializer", SerialKind.CONTEXTUAL @@ -96,7 +97,7 @@ class EitherSerializer( */ @Serializable data class EitherFirst( - override val t1: T1 + val t1: T1 ) : Either { override val optionalT1: Optional = t1.optional override val optionalT2: Optional = Optional.absent() @@ -107,7 +108,7 @@ data class EitherFirst( */ @Serializable data class EitherSecond( - override val t2: T2 + val t2: T2 ) : Either { override val optionalT1: Optional = Optional.absent() override val optionalT2: Optional = t2.optional diff --git a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Optional.kt b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Optional.kt index ce2d1ecb39e..3fe34dbf471 100644 --- a/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Optional.kt +++ b/common/src/commonMain/kotlin/dev/inmo/micro_utils/common/Optional.kt @@ -95,9 +95,3 @@ fun Optional.dataOrThrow(throwable: Throwable) = @OptIn(Warning::class) i * Returns [Optional.data] if [Optional.dataPresented] of [this] is true, or call [block] and returns the result of it */ inline fun Optional.dataOrElse(block: () -> T) = @OptIn(Warning::class) if (dataPresented) @Suppress("UNCHECKED_CAST") (data as T) else block() - -/** - * Returns [Optional.data] if [Optional.dataPresented] of [this] is true, or call [block] and returns the result of it - */ -@Deprecated("dataOrElse now is inline", ReplaceWith("dataOrElse", "dev.inmo.micro_utils.common.dataOrElse")) -suspend fun Optional.dataOrElseSuspendable(block: suspend () -> T) = @OptIn(Warning::class) if (dataPresented) @Suppress("UNCHECKED_CAST") (data as T) else block() diff --git a/crypto/src/commonMain/kotlin/dev/inmo/micro_utils/crypto/Sha.kt b/crypto/src/commonMain/kotlin/dev/inmo/micro_utils/crypto/Sha.kt deleted file mode 100644 index 6ad62b85b06..00000000000 --- a/crypto/src/commonMain/kotlin/dev/inmo/micro_utils/crypto/Sha.kt +++ /dev/null @@ -1,4 +0,0 @@ -package dev.inmo.micro_utils.crypto - -@Deprecated("Deprecated due to incorrect of work sometimes and redundancy. Can be replaced by korlibs krypto") -expect fun SourceString.hmacSha256(key: String): String diff --git a/crypto/src/jsMain/kotlin/dev/inmo/micro_utils/crypto/CryptoJs.kt b/crypto/src/jsMain/kotlin/dev/inmo/micro_utils/crypto/CryptoJs.kt index 8bca58a1a15..3f5e90439f8 100644 --- a/crypto/src/jsMain/kotlin/dev/inmo/micro_utils/crypto/CryptoJs.kt +++ b/crypto/src/jsMain/kotlin/dev/inmo/micro_utils/crypto/CryptoJs.kt @@ -7,8 +7,3 @@ external interface CryptoJs { @JsModule("crypto-js") @JsNonModule external val CryptoJS: CryptoJs - -@Deprecated("Deprecated due to incorrect of work sometimes and redundancy. Can be replaced by korlibs krypto") -actual fun SourceString.hmacSha256(key: String): String { - return CryptoJS.asDynamic().HmacSHA256(this, key).toString().unsafeCast() -} diff --git a/crypto/src/jvmMain/kotlin/dev/inmo/micro_utils/crypto/ShaHexActual.kt b/crypto/src/jvmMain/kotlin/dev/inmo/micro_utils/crypto/ShaHexActual.kt deleted file mode 100644 index 7158bb21c8e..00000000000 --- a/crypto/src/jvmMain/kotlin/dev/inmo/micro_utils/crypto/ShaHexActual.kt +++ /dev/null @@ -1,14 +0,0 @@ -package dev.inmo.micro_utils.crypto - -import javax.crypto.Mac -import javax.crypto.spec.SecretKeySpec - -@Deprecated("Deprecated due to incorrect of work sometimes and redundancy. Can be replaced by korlibs krypto") -actual fun SourceString.hmacSha256(key: String): String { - val mac = Mac.getInstance("HmacSHA256") - - val secretKey = SecretKeySpec(key.toByteArray(), "HmacSHA256") - mac.init(secretKey) - - return mac.doFinal(toByteArray()).hex() -} diff --git a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/CheckableHandlerHolder.kt b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/CheckableHandlerHolder.kt index bdd321b48e0..bf6c4ca9799 100644 --- a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/CheckableHandlerHolder.kt +++ b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/CheckableHandlerHolder.kt @@ -47,24 +47,11 @@ fun CheckableHandlerHolder( } ) -@Deprecated("Renamed", ReplaceWith("CheckableHandlerHolder")) -fun StateHandlerHolder( - inputKlass: KClass, - strict: Boolean = false, - delegateTo: StatesHandler -) = CheckableHandlerHolder(inputKlass, strict, delegateTo) - inline fun CheckableHandlerHolder( strict: Boolean = false, delegateTo: StatesHandler ) = CheckableHandlerHolder(I::class, strict, delegateTo) -@Deprecated("Renamed", ReplaceWith("CheckableHandlerHolder")) -inline fun StateHandlerHolder( - strict: Boolean = false, - delegateTo: StatesHandler -) = CheckableHandlerHolder(strict, delegateTo) - inline fun StatesHandler.holder( strict: Boolean = true ) = CheckableHandlerHolder( diff --git a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt index b2078205623..15892a3cdee 100644 --- a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt +++ b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/UpdatableStatesMachine.kt @@ -68,9 +68,6 @@ open class DefaultUpdatableStatesMachine( */ protected open suspend fun shouldReplaceJob(previous: Optional, new: T): Boolean = previous.dataOrNull() != new - @Deprecated("Overwrite shouldReplaceJob instead") - protected open suspend fun compare(previous: Optional, new: T): Boolean = shouldReplaceJob(previous, new) - override suspend fun updateChain(currentState: T, newState: T) { statesManager.update(currentState, newState) } diff --git a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/managers/InMemoryStatesManager.kt b/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/managers/InMemoryStatesManager.kt deleted file mode 100644 index 3cfe75323ad..00000000000 --- a/fsm/common/src/commonMain/kotlin/dev/inmo/micro_utils/fsm/common/managers/InMemoryStatesManager.kt +++ /dev/null @@ -1,17 +0,0 @@ -package dev.inmo.micro_utils.fsm.common.managers - -import dev.inmo.micro_utils.fsm.common.State -import kotlinx.coroutines.flow.* - -/** - * Creates [DefaultStatesManager] with [InMemoryDefaultStatesManagerRepo] - * - * @param onContextsConflictResolver Receive old [State], new one and the state currently placed on new [State.context] - * key. In case when this callback will returns true, the state placed on [State.context] of new will be replaced by - * new state by using [endChain] with that state - */ -@Deprecated("Use DefaultStatesManager instead", ReplaceWith("DefaultStatesManager")) -fun InMemoryStatesManager( - onStartContextsConflictResolver: suspend (old: T, new: T) -> Boolean = { _, _ -> true }, - onUpdateContextsConflictResolver: suspend (old: T, new: T, currentNew: T) -> Boolean = { _, _, _ -> true } -) = DefaultStatesManager(onStartContextsConflictResolver = onStartContextsConflictResolver, onUpdateContextsConflictResolver = onUpdateContextsConflictResolver) diff --git a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt index 1b59ee4f2dd..c2d9dc3b8c6 100644 --- a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt +++ b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/FlowsWebsockets.kt @@ -19,6 +19,7 @@ import kotlinx.serialization.DeserializationStrategy * @param checkReconnection This lambda will be called when it is required to reconnect to websocket to establish * connection. Must return true in case if must be reconnected. By default always reconnecting */ +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") inline fun HttpClient.createStandardWebsocketFlow( url: String, crossinline checkReconnection: suspend (Throwable?) -> Boolean = { true }, @@ -65,6 +66,7 @@ inline fun HttpClient.createStandardWebsocketFlow( * @param checkReconnection This lambda will be called when it is required to reconnect to websocket to establish * connection. Must return true in case if must be reconnected. By default always reconnecting */ +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") inline fun HttpClient.createStandardWebsocketFlow( url: String, deserializer: DeserializationStrategy, diff --git a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/StandardHttpClientGetPost.kt b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/StandardHttpClientGetPost.kt index a36d817a06e..f9c327ec27e 100644 --- a/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/StandardHttpClientGetPost.kt +++ b/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/ktor/client/StandardHttpClientGetPost.kt @@ -12,9 +12,7 @@ import io.ktor.http.* import io.ktor.utils.io.core.ByteReadPacket import kotlinx.serialization.* -@Deprecated("This class will be removed in next") -typealias BodyPair = Pair, T> - +@Deprecated("This class will be removed soon. It is now recommended to use built-in ktor features instead") class UnifiedRequester( val client: HttpClient = HttpClient(), val serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat @@ -100,8 +98,10 @@ class UnifiedRequester( ) = createStandardWebsocketFlow(url, { true }, deserializer, requestBuilder) } +@Deprecated("This property will be removed soon. It is now recommended to use built-in ktor features instead") val defaultRequester = UnifiedRequester() +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.uniget( url: String, resultDeserializer: DeserializationStrategy, @@ -111,6 +111,7 @@ suspend fun HttpClient.uniget( } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") fun SerializationStrategy.encodeUrlQueryValue( value: T, serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat @@ -119,6 +120,7 @@ fun SerializationStrategy.encodeUrlQueryValue( value ) +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.unipost( url: String, bodyInfo: Pair, BodyType>, @@ -132,6 +134,7 @@ suspend fun HttpClient.unipost( serialFormat.decodeDefault(resultDeserializer, it.body()) } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.unimultipart( url: String, filename: String, @@ -160,6 +163,7 @@ suspend fun HttpClient.unimultipart( requestBuilder() }.let { serialFormat.decodeDefault(resultDeserializer, it.body()) } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.unimultipart( url: String, filename: String, @@ -197,6 +201,7 @@ suspend fun HttpClient.unimultipart( serialFormat ) +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.unimultipart( url: String, mppFile: MPPFile, @@ -218,6 +223,7 @@ suspend fun HttpClient.unimultipart( serialFormat ) +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun HttpClient.unimultipart( url: String, mppFile: MPPFile, diff --git a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/FlowsWebsocket.kt b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/FlowsWebsocket.kt index 32cfce7e3b0..3760e60ad4b 100644 --- a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/FlowsWebsocket.kt +++ b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/FlowsWebsocket.kt @@ -33,6 +33,7 @@ fun Route.includeWebsocketHandling( } } +@Deprecated("This method will be removed soon") fun Route.includeWebsocketHandling( suburl: String, flow: Flow, diff --git a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/ServerRoutingShortcuts.kt b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/ServerRoutingShortcuts.kt index 2295efef725..d44914c72dc 100644 --- a/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/ServerRoutingShortcuts.kt +++ b/ktor/server/src/jvmMain/kotlin/dev/inmo/micro_utils/ktor/server/ServerRoutingShortcuts.kt @@ -19,6 +19,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.serialization.DeserializationStrategy import kotlinx.serialization.SerializationStrategy +@Deprecated("This class method will be removed soon. It is now recommended to use built-in ktor features instead") class UnifiedRouter( val serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat, val serialFormatContentType: ContentType = standardKtorSerialFormatContentType @@ -97,6 +98,7 @@ class UnifiedRouter( val defaultUnifiedRouter = UnifiedRouter() +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun ApplicationCall.unianswer( answerSerializer: SerializationStrategy, answer: T @@ -107,6 +109,7 @@ suspend fun ApplicationCall.unianswer( ) } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun ApplicationCall.uniload( deserializer: DeserializationStrategy ) = safely { @@ -143,6 +146,7 @@ suspend fun ApplicationCall.uniloadMultipart( resultInput ?: error("Bytes has not been received") } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun ApplicationCall.uniloadMultipart( deserializer: DeserializationStrategy, onFormItem: (PartData.FormItem) -> Unit = {}, @@ -168,6 +172,7 @@ suspend fun ApplicationCall.uniloadMultipart( return resultInput to (completeData.dataOrNull().let { it as T }) } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun ApplicationCall.uniloadMultipartFile( deserializer: DeserializationStrategy, onFormItem: (PartData.FormItem) -> Unit = {}, @@ -281,6 +286,7 @@ suspend fun ApplicationCall.getQueryParameterOrSendError( } } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") fun ApplicationCall.decodeUrlQueryValue( field: String, deserializer: DeserializationStrategy @@ -291,6 +297,7 @@ fun ApplicationCall.decodeUrlQueryValue( ) } +@Deprecated("This method will be removed soon. It is now recommended to use built-in ktor features instead") suspend fun ApplicationCall.decodeUrlQueryValueOrSendError( field: String, deserializer: DeserializationStrategy diff --git a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KVCache.kt b/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KVCache.kt deleted file mode 100644 index 51f000ba299..00000000000 --- a/repos/cache/src/commonMain/kotlin/dev/inmo/micro_utils/repos/cache/KVCache.kt +++ /dev/null @@ -1,6 +0,0 @@ -package dev.inmo.micro_utils.repos.cache - -@Deprecated("Replaced", ReplaceWith("KVCache", "dev.inmo.micro_utils.repos.cache.cache.KVCache")) -typealias KVCache = dev.inmo.micro_utils.repos.cache.cache.KVCache -@Deprecated("Replaced", ReplaceWith("SimpleKVCache", "dev.inmo.micro_utils.repos.cache.cache.SimpleKVCache")) -typealias SimpleKVCache = dev.inmo.micro_utils.repos.cache.cache.SimpleKVCache diff --git a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/KeyValueMappers.kt b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/KeyValueMappers.kt index 4df2b614f6e..bd4c2653917 100644 --- a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/KeyValueMappers.kt +++ b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/KeyValueMappers.kt @@ -6,8 +6,6 @@ import dev.inmo.micro_utils.repos.* import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -@Deprecated("Renamed", ReplaceWith("MapperReadKeyValueRepo", "dev.inmo.micro_utils.repos.mappers.MapperReadKeyValueRepo")) -typealias MapperReadStandardKeyValueRepo = MapperReadKeyValueRepo open class MapperReadKeyValueRepo( private val to: ReadKeyValueRepo, mapper: MapperRepo @@ -85,8 +83,6 @@ inline fun mapper(keyFromToTo, valueFromToTo, keyToToFrom, valueToToFrom) ) -@Deprecated("Renamed", ReplaceWith("MapperWriteKeyValueRepo", "dev.inmo.micro_utils.repos.mappers.MapperWriteKeyValueRepo")) -typealias MapperWriteStandardKeyValueRepo = MapperWriteKeyValueRepo open class MapperWriteKeyValueRepo( private val to: WriteKeyValueRepo, mapper: MapperRepo @@ -130,8 +126,6 @@ inline fun mapper(keyFromToTo, valueFromToTo, keyToToFrom, valueToToFrom) ) -@Deprecated("Renamed", ReplaceWith("MapperKeyValueRepo", "dev.inmo.micro_utils.repos.mappers.MapperKeyValueRepo")) -typealias MapperStandardKeyValueRepo = MapperKeyValueRepo @Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") open class MapperKeyValueRepo( private val to: KeyValueRepo, diff --git a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/OneToManyKeyValueMappers.kt b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/OneToManyKeyValueMappers.kt index f74b81d9149..fdf9d989240 100644 --- a/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/OneToManyKeyValueMappers.kt +++ b/repos/common/src/commonMain/kotlin/dev/inmo/micro_utils/repos/mappers/OneToManyKeyValueMappers.kt @@ -6,8 +6,6 @@ import dev.inmo.micro_utils.repos.* import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.map -@Deprecated("Renamed", ReplaceWith("MapperReadKeyValuesRepo", "dev.inmo.micro_utils.repos.mappers.MapperReadKeyValuesRepo")) -typealias MapperReadOneToManyKeyValueRepo = MapperReadKeyValuesRepo open class MapperReadKeyValuesRepo( private val to: ReadKeyValuesRepo, mapper: MapperRepo @@ -83,8 +81,6 @@ inline fun mapper(keyFromToTo, valueFromToTo, keyToToFrom, valueToToFrom) ) -@Deprecated("Renamed", ReplaceWith("MapperWriteKeyValuesRepo", "dev.inmo.micro_utils.repos.mappers.MapperWriteKeyValuesRepo")) -typealias MapperWriteOneToManyKeyValueRepo = MapperWriteKeyValuesRepo open class MapperWriteKeyValuesRepo( private val to: WriteKeyValuesRepo, mapper: MapperRepo @@ -136,8 +132,6 @@ inline fun mapper(keyFromToTo, valueFromToTo, keyToToFrom, valueToToFrom) ) -@Deprecated("Renamed", ReplaceWith("MapperKeyValuesRepo", "dev.inmo.micro_utils.repos.mappers.MapperKeyValuesRepo")) -typealias MapperOneToManyKeyValueRepo = MapperKeyValuesRepo @Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") open class MapperKeyValuesRepo( private val to: KeyValuesRepo, diff --git a/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileKeyValueRepo.kt b/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileKeyValueRepo.kt index c35376242d3..d753d1f9f32 100644 --- a/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileKeyValueRepo.kt +++ b/repos/common/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/FileKeyValueRepo.kt @@ -13,9 +13,6 @@ import java.nio.file.StandardWatchEventKinds.* private inline val String.isAbsolute get() = startsWith(File.separator) -@Deprecated("Renamed", ReplaceWith("FileReadKeyValueRepo", "dev.inmo.micro_utils.repos.FileReadKeyValueRepo")) -typealias FileReadStandardKeyValueRepo = FileReadKeyValueRepo - class FileReadKeyValueRepo( private val folder: File ) : ReadKeyValueRepo { @@ -82,9 +79,6 @@ class FileReadKeyValueRepo( override suspend fun count(): Long = folder.list() ?.size ?.toLong() ?: 0L } -@Deprecated("Renamed", ReplaceWith("FileWriteKeyValueRepo", "dev.inmo.micro_utils.repos.FileWriteKeyValueRepo")) -typealias FileWriteStandardKeyValueRepo = FileWriteKeyValueRepo - /** * Files watching will not correctly works on Android with version of API lower than API 26 */ @@ -184,9 +178,6 @@ class FileWriteKeyValueRepo( } } -@Deprecated("Renamed", ReplaceWith("FileKeyValueRepo", "dev.inmo.micro_utils.repos.FileKeyValueRepo")) -typealias FileStandardKeyValueRepo = FileKeyValueRepo - @Warning("Files watching will not correctly works on Android Platform with version of API lower than API 26") @Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") class FileKeyValueRepo( diff --git a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt index 1e2816e4a02..5b6588880b7 100644 --- a/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt +++ b/repos/exposed/src/jvmMain/kotlin/dev/inmo/micro_utils/repos/exposed/AbstractExposedWriteCRUDRepo.kt @@ -20,12 +20,6 @@ abstract class AbstractExposedWriteCRUDRepo( protected val _newObjectsFlow = MutableSharedFlow(replyCacheInFlows, flowsChannelsSize) protected val _updatedObjectsFlow = MutableSharedFlow(replyCacheInFlows, flowsChannelsSize) protected val _deletedObjectsIdsFlow = MutableSharedFlow(replyCacheInFlows, flowsChannelsSize) - @Deprecated("Renamed", ReplaceWith("_newObjectsFlow")) - protected val newObjectsChannel = _newObjectsFlow - @Deprecated("Renamed", ReplaceWith("_updatedObjectsFlow")) - protected val updateObjectsChannel = _updatedObjectsFlow - @Deprecated("Renamed", ReplaceWith("_deletedObjectsIdsFlow")) - protected val deleteObjectsIdsChannel = _deletedObjectsIdsFlow override val newObjectsFlow: Flow = _newObjectsFlow.asSharedFlow() override val updatedObjectsFlow: Flow = _updatedObjectsFlow.asSharedFlow() diff --git a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValueRepo.kt b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValueRepo.kt index 17c21d33379..46fe85be252 100644 --- a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValueRepo.kt +++ b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValueRepo.kt @@ -87,6 +87,7 @@ class WriteMapKeyValueRepo( } } +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") class MapKeyValueRepo( private val map: MutableMap = mutableMapOf() ) : KeyValueRepo, diff --git a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValuesRepo.kt b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValuesRepo.kt index 4ab0d3ee2a4..cfe8dff41e8 100644 --- a/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValuesRepo.kt +++ b/repos/inmemory/src/commonMain/kotlin/dev/inmo/micro_utils/repos/MapKeyValuesRepo.kt @@ -5,8 +5,6 @@ import dev.inmo.micro_utils.pagination.utils.paginate import dev.inmo.micro_utils.pagination.utils.reverse import kotlinx.coroutines.flow.* -@Deprecated("Renamed", ReplaceWith("MapReadKeyValuesRepo", "dev.inmo.micro_utils.repos.MapReadKeyValuesRepo")) -typealias MapReadOneToManyKeyValueRepo = MapReadKeyValuesRepo class MapReadKeyValuesRepo( private val map: Map> = emptyMap() ) : ReadKeyValuesRepo { @@ -55,8 +53,6 @@ class MapReadKeyValuesRepo( override suspend fun count(): Long = map.size.toLong() } -@Deprecated("Renamed", ReplaceWith("MapWriteKeyValuesRepo", "dev.inmo.micro_utils.repos.MapWriteKeyValuesRepo")) -typealias MapWriteOneToManyKeyValueRepo = MapWriteKeyValuesRepo class MapWriteKeyValuesRepo( private val map: MutableMap> = mutableMapOf() ) : WriteKeyValuesRepo { @@ -102,8 +98,7 @@ class MapWriteKeyValuesRepo( } } -@Deprecated("Renamed", ReplaceWith("MapKeyValuesRepo", "dev.inmo.micro_utils.repos.MapKeyValuesRepo")) -typealias MapOneToManyKeyValueRepo1 = MapKeyValuesRepo +@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") class MapKeyValuesRepo( private val map: MutableMap> = mutableMapOf() ) : KeyValuesRepo, @@ -113,6 +108,3 @@ class MapKeyValuesRepo( fun MutableMap>.asKeyValuesRepo(): KeyValuesRepo = MapKeyValuesRepo( map { (k, v) -> k to v.toMutableList() }.toMap().toMutableMap() ) - -@Deprecated("Renamed", ReplaceWith("asKeyValuesRepo", "dev.inmo.micro_utils.repos.asKeyValuesRepo")) -fun MutableMap>.asOneToManyKeyValueRepo(): KeyValuesRepo = asKeyValuesRepo() diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt deleted file mode 100644 index 877e16c1547..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorReadStandardCrudRepo.kt +++ /dev/null @@ -1,65 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.crud - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadCRUDRepo -import dev.inmo.micro_utils.repos.ktor.common.countRouting -import dev.inmo.micro_utils.repos.ktor.common.crud.* -import dev.inmo.micro_utils.repos.ktor.common.idParameterName -import io.ktor.client.HttpClient -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.serializer - -@Deprecated("Use KtorReadCRUDRepoClient instead") -class KtorReadStandardCrudRepo ( - private val baseUrl: String, - private val unifiedRequester: UnifiedRequester, - private val objectsSerializer: KSerializer, - private val objectsSerializerNullable: KSerializer, - private val idsSerializer: KSerializer -) : ReadCRUDRepo { - private val paginationResultSerializer = PaginationResult.serializer(objectsSerializer) - - constructor( - baseUrl: String, - client: HttpClient, - objectsSerializer: KSerializer, - objectsSerializerNullable: KSerializer, - idsSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this ( - baseUrl, UnifiedRequester(client, serialFormat), objectsSerializer, objectsSerializerNullable, idsSerializer - ) - - override suspend fun getByPagination(pagination: Pagination): PaginationResult = unifiedRequester.uniget( - buildStandardUrl(baseUrl, getByPaginationRouting, pagination.asUrlQueryParts), - paginationResultSerializer - ) - - override suspend fun getById(id: IdType): ObjectType? = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - getByIdRouting, - idParameterName to unifiedRequester.encodeUrlQueryValue(idsSerializer, id) - ), - objectsSerializerNullable - ) - - override suspend fun contains(id: IdType): Boolean = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - containsRouting, - idParameterName to unifiedRequester.encodeUrlQueryValue(idsSerializer, id) - ), - Boolean.serializer() - ) - - override suspend fun count(): Long = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - countRouting - ), - Long.serializer() - ) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt deleted file mode 100644 index 2b3f7528df9..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorStandardCrudRepo.kt +++ /dev/null @@ -1,47 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.crud - -import dev.inmo.micro_utils.ktor.client.UnifiedRequester -import dev.inmo.micro_utils.ktor.common.StandardKtorSerialFormat -import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat -import dev.inmo.micro_utils.repos.* -import io.ktor.client.HttpClient -import kotlinx.serialization.KSerializer - -@Deprecated("Use KtorCRUDRepoClient instead") -class KtorStandardCrudRepo ( - baseUrl: String, - baseSubpart: String, - unifiedRequester: UnifiedRequester, - objectsSerializer: KSerializer, - objectsNullableSerializer: KSerializer, - inputsSerializer: KSerializer, - idsSerializer: KSerializer -) : CRUDRepo, - ReadCRUDRepo by KtorReadStandardCrudRepo( - "$baseUrl/$baseSubpart", - unifiedRequester, - objectsSerializer, - objectsNullableSerializer, - idsSerializer - ), - WriteCRUDRepo by KtorWriteStandardCrudRepo( - "$baseUrl/$baseSubpart", - unifiedRequester, - objectsSerializer, - objectsNullableSerializer, - inputsSerializer, - idsSerializer - ) { - constructor( - baseUrl: String, - baseSubpart: String, - client: HttpClient, - objectsSerializer: KSerializer, - objectsNullableSerializer: KSerializer, - inputsSerializer: KSerializer, - idsSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this( - baseUrl, baseSubpart, UnifiedRequester(client, serialFormat), objectsSerializer, objectsNullableSerializer, inputsSerializer, idsSerializer - ) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt deleted file mode 100644 index e4dddd8f7e0..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/crud/KtorWriteStandardCrudRepo.kt +++ /dev/null @@ -1,80 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.crud - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.repos.UpdatedValuePair -import dev.inmo.micro_utils.repos.WriteCRUDRepo -import dev.inmo.micro_utils.repos.ktor.common.crud.* -import io.ktor.client.HttpClient -import kotlinx.coroutines.flow.Flow -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.* - -@Deprecated("Use KtorWriteCRUDRepoClient instead") -class KtorWriteStandardCrudRepo ( - private val baseUrl: String, - private val unifiedRequester: UnifiedRequester, - private val objectsSerializer: KSerializer, - private val objectsNullableSerializer: KSerializer, - private val inputsSerializer: KSerializer, - private val idsSerializer: KSerializer -) : WriteCRUDRepo { - private val listObjectsSerializer = ListSerializer(objectsSerializer) - private val listInputSerializer = ListSerializer(inputsSerializer) - private val listIdsSerializer = ListSerializer(idsSerializer) - private val inputUpdateSerializer = PairSerializer( - idsSerializer, - inputsSerializer - ) - private val listInputUpdateSerializer = ListSerializer(inputUpdateSerializer) - - constructor( - baseUrl: String, - client: HttpClient, - objectsSerializer: KSerializer, - objectsSerializerNullable: KSerializer, - inputsSerializer: KSerializer, - idsSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this ( - baseUrl, UnifiedRequester(client, serialFormat), objectsSerializer, objectsSerializerNullable, inputsSerializer, idsSerializer - ) - - override val newObjectsFlow: Flow = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, newObjectsFlowRouting), - deserializer = objectsSerializer - ) - override val updatedObjectsFlow: Flow = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, updatedObjectsFlowRouting), - deserializer = objectsSerializer - ) - override val deletedObjectsIdsFlow: Flow = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, deletedObjectsIdsFlowRouting), - deserializer = idsSerializer - ) - - - override suspend fun create(values: List): List = unifiedRequester.unipost( - buildStandardUrl(baseUrl, createRouting), - Pair(listInputSerializer, values), - listObjectsSerializer - ) - - override suspend fun update(id: IdType, value: InputValue): ObjectType? = unifiedRequester.unipost( - buildStandardUrl(baseUrl, updateRouting), - Pair(inputUpdateSerializer, id to value), - objectsNullableSerializer - ) - - override suspend fun update(values: List>): List = unifiedRequester.unipost( - buildStandardUrl(baseUrl, updateManyRouting), - Pair(listInputUpdateSerializer, values), - listObjectsSerializer - ) - - override suspend fun deleteById(ids: List) = unifiedRequester.unipost( - buildStandardUrl(baseUrl, deleteByIdRouting), - Pair(listIdsSerializer, ids), - Unit.serializer() - ) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorReadStandardKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorReadStandardKeyValueRepo.kt deleted file mode 100644 index cf9500652e1..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorReadStandardKeyValueRepo.kt +++ /dev/null @@ -1,99 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.key_value - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadKeyValueRepo -import dev.inmo.micro_utils.repos.ktor.common.* -import dev.inmo.micro_utils.repos.ktor.common.containsRoute -import dev.inmo.micro_utils.repos.ktor.common.countRoute -import dev.inmo.micro_utils.repos.ktor.common.key_value.* -import dev.inmo.micro_utils.repos.ktor.common.key_value.keyParameterName -import dev.inmo.micro_utils.repos.ktor.common.key_value.reversedParameterName -import io.ktor.client.HttpClient -import kotlinx.serialization.* -import kotlinx.serialization.builtins.serializer - -@Deprecated("Replaced with KtorReadKeyValueRepoClient") -class KtorReadStandardKeyValueRepo ( - private val baseUrl: String, - private val unifiedRequester: UnifiedRequester, - private val keySerializer: KSerializer, - private val valueSerializer: KSerializer, - private val valueNullableSerializer: KSerializer -) : ReadKeyValueRepo { - constructor( - baseUrl: String, - client: HttpClient, - keySerializer: KSerializer, - valueSerializer: KSerializer, - valueNullableSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this ( - baseUrl, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer, valueNullableSerializer - ) - - override suspend fun get(k: Key): Value? = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - getRoute, - mapOf( - keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, k) - ) - ), - valueNullableSerializer - ) - - override suspend fun values(pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - valuesRoute, - mapOf( - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - PaginationResult.serializer(valueSerializer) - ) - - override suspend fun keys(pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - keysRoute, - mapOf( - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - PaginationResult.serializer(keySerializer) - ) - - override suspend fun keys(v: Value, pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - keysRoute, - mapOf( - valueParameterName to unifiedRequester.encodeUrlQueryValue(valueSerializer, v), - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - PaginationResult.serializer(keySerializer) - ) - - override suspend fun contains(key: Key): Boolean = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - containsRoute, - mapOf( - keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, key) - ), - ), - Boolean.serializer(), - ) - - override suspend fun count(): Long = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - countRoute, - ), - Long.serializer() - ) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorStandartKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorStandartKeyValueRepo.kt deleted file mode 100644 index 2ce6b5d6b1e..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorStandartKeyValueRepo.kt +++ /dev/null @@ -1,42 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.key_value - -import dev.inmo.micro_utils.ktor.client.UnifiedRequester -import dev.inmo.micro_utils.ktor.common.StandardKtorSerialFormat -import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat -import dev.inmo.micro_utils.repos.* -import io.ktor.client.HttpClient -import kotlinx.serialization.* - -@Deprecated("Replaced with KtorKeyValueRepoClient") -@Suppress("DELEGATED_MEMBER_HIDES_SUPERTYPE_OVERRIDE") -class KtorStandartKeyValueRepo ( - baseUrl: String, - baseSubpart: String, - unifiedRequester: UnifiedRequester, - keySerializer: KSerializer, - valueSerializer: KSerializer, - valueNullableSerializer: KSerializer -) : KeyValueRepo, - ReadKeyValueRepo by KtorReadStandardKeyValueRepo( - "$baseUrl/$baseSubpart", - unifiedRequester, - keySerializer, - valueSerializer, - valueNullableSerializer - ), - WriteKeyValueRepo by KtorWriteStandardKeyValueRepo( - "$baseUrl/$baseSubpart", - unifiedRequester, - keySerializer, - valueSerializer - ) { - constructor( - baseUrl: String, - baseSubpart: String, - client: HttpClient = HttpClient(), - keySerializer: KSerializer, - valueSerializer: KSerializer, - valueNullableSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this(baseUrl, baseSubpart, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer, valueNullableSerializer) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorWriteStandardKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorWriteStandardKeyValueRepo.kt deleted file mode 100644 index 9ebf015600e..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/key_value/KtorWriteStandardKeyValueRepo.kt +++ /dev/null @@ -1,69 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.key_value - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.repos.WriteKeyValueRepo -import dev.inmo.micro_utils.repos.ktor.common.key_value.* -import io.ktor.client.HttpClient -import kotlinx.coroutines.flow.Flow -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.* - -@Deprecated("Replaced with KtorWriteKeyValueRepoClient") -class KtorWriteStandardKeyValueRepo ( - private var baseUrl: String, - private var unifiedRequester: UnifiedRequester, - private var keySerializer: KSerializer, - private var valueSerializer: KSerializer, -) : WriteKeyValueRepo { - private val keyValueMapSerializer = MapSerializer(keySerializer, valueSerializer) - private val keysListSerializer = ListSerializer(keySerializer) - private val valuesListSerializer = ListSerializer(valueSerializer) - - constructor( - baseUrl: String, - client: HttpClient, - keySerializer: KSerializer, - valueSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this ( - baseUrl, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer - ) - - override val onNewValue: Flow> = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, onNewValueRoute), - deserializer = PairSerializer(keySerializer, valueSerializer) - ) - - override val onValueRemoved: Flow = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, onValueRemovedRoute), - deserializer = keySerializer - ) - - override suspend fun set(toSet: Map) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - setRoute - ), - Pair(keyValueMapSerializer, toSet), - Unit.serializer() - ) - - override suspend fun unset(toUnset: List) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - unsetRoute, - ), - Pair(keysListSerializer, toUnset), - Unit.serializer() - ) - - override suspend fun unsetWithValues(toUnset: List) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - unsetWithValuesRoute, - ), - Pair(valuesListSerializer, toUnset), - Unit.serializer() - ) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorOneToManyKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorOneToManyKeyValueRepo.kt deleted file mode 100644 index 5bf8155d36d..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorOneToManyKeyValueRepo.kt +++ /dev/null @@ -1,38 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.one_to_many - -import dev.inmo.micro_utils.ktor.client.UnifiedRequester -import dev.inmo.micro_utils.ktor.common.StandardKtorSerialFormat -import dev.inmo.micro_utils.ktor.common.standardKtorSerialFormat -import dev.inmo.micro_utils.repos.* -import io.ktor.client.HttpClient -import kotlinx.serialization.KSerializer - -@Deprecated("Should be replaced with KtorKeyValuesRepoClient") -class KtorOneToManyKeyValueRepo( - baseUrl: String, - baseSubpart: String, - unifiedRequester: UnifiedRequester, - keySerializer: KSerializer, - valueSerializer: KSerializer, -) : KeyValuesRepo, - ReadKeyValuesRepo by KtorReadOneToManyKeyValueRepo ( - "$baseUrl/$baseSubpart", - unifiedRequester, - keySerializer, - valueSerializer, - ), - WriteKeyValuesRepo by KtorWriteOneToManyKeyValueRepo ( - "$baseUrl/$baseSubpart", - unifiedRequester, - keySerializer, - valueSerializer, - ) { - constructor( - baseUrl: String, - baseSubpart: String, - client: HttpClient, - keySerializer: KSerializer, - valueSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this (baseUrl, baseSubpart, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer) -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorReadOneToManyKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorReadOneToManyKeyValueRepo.kt deleted file mode 100644 index 6a91a21a208..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorReadOneToManyKeyValueRepo.kt +++ /dev/null @@ -1,108 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.one_to_many - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.pagination.* -import dev.inmo.micro_utils.repos.ReadKeyValuesRepo -import dev.inmo.micro_utils.repos.ktor.common.keyParameterName -import dev.inmo.micro_utils.repos.ktor.common.one_to_many.* -import dev.inmo.micro_utils.repos.ktor.common.reversedParameterName -import dev.inmo.micro_utils.repos.ktor.common.valueParameterName -import io.ktor.client.HttpClient -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.serializer - -@Deprecated("Should be replaced with KtorReadKeyValuesRepoClient") -class KtorReadOneToManyKeyValueRepo ( - private val baseUrl: String, - private val unifiedRequester: UnifiedRequester, - private val keySerializer: KSerializer, - private val valueSerializer: KSerializer -) : ReadKeyValuesRepo { - private val paginationValueResultSerializer = PaginationResult.serializer(valueSerializer) - private val paginationKeyResultSerializer = PaginationResult.serializer(keySerializer) - - constructor( - baseUrl: String, - client: HttpClient, - keySerializer: KSerializer, - valueSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this (baseUrl, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer) - - override suspend fun get(k: Key, pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - getRoute, - mapOf( - keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, k), - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - paginationValueResultSerializer - ) - - override suspend fun keys(pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - keysRoute, - mapOf( - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - paginationKeyResultSerializer - ) - - override suspend fun keys(v: Value, pagination: Pagination, reversed: Boolean): PaginationResult = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - keysRoute, - mapOf( - valueParameterName to unifiedRequester.encodeUrlQueryValue(valueSerializer, v), - reversedParameterName to unifiedRequester.encodeUrlQueryValue(Boolean.serializer(), reversed) - ) + pagination.asUrlQueryParts - ), - paginationKeyResultSerializer - ) - - override suspend fun contains(k: Key): Boolean = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - containsByKeyRoute, - mapOf(keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, k)) - ), - Boolean.serializer() - ) - - override suspend fun contains(k: Key, v: Value): Boolean = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - containsByKeyValueRoute, - mapOf( - keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, k), - valueParameterName to unifiedRequester.encodeUrlQueryValue(valueSerializer, v), - ) - ), - Boolean.serializer() - ) - - override suspend fun count(k: Key): Long = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - countByKeyRoute, - mapOf( - keyParameterName to unifiedRequester.encodeUrlQueryValue(keySerializer, k) - ) - ), - Long.serializer() - ) - - override suspend fun count(): Long = unifiedRequester.uniget( - buildStandardUrl( - baseUrl, - countRoute, - ), - Long.serializer() - ) - -} diff --git a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorWriteOneToManyKeyValueRepo.kt b/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorWriteOneToManyKeyValueRepo.kt deleted file mode 100644 index 6a9670b345c..00000000000 --- a/repos/ktor/client/src/commonMain/kotlin/dev/inmo/micro_utils/repos/ktor/client/one_to_many/KtorWriteOneToManyKeyValueRepo.kt +++ /dev/null @@ -1,88 +0,0 @@ -package dev.inmo.micro_utils.repos.ktor.client.one_to_many - -import dev.inmo.micro_utils.ktor.client.* -import dev.inmo.micro_utils.ktor.common.* -import dev.inmo.micro_utils.repos.WriteKeyValuesRepo -import dev.inmo.micro_utils.repos.ktor.common.one_to_many.* -import io.ktor.client.HttpClient -import kotlinx.coroutines.flow.Flow -import kotlinx.serialization.KSerializer -import kotlinx.serialization.builtins.* - -@Deprecated("Should be replaced with KtorWriteKeyValuesRepoClient") -class KtorWriteOneToManyKeyValueRepo ( - private val baseUrl: String, - private val unifiedRequester: UnifiedRequester, - private val keySerializer: KSerializer, - private val valueSerializer: KSerializer -) : WriteKeyValuesRepo { - private val keyValueSerializer = PairSerializer(keySerializer, valueSerializer) - private val keyValueMapSerializer = MapSerializer(keySerializer, ListSerializer(valueSerializer)) - - constructor( - baseUrl: String, - client: HttpClient, - keySerializer: KSerializer, - valueSerializer: KSerializer, - serialFormat: StandardKtorSerialFormat = standardKtorSerialFormat - ) : this ( - baseUrl, UnifiedRequester(client, serialFormat), keySerializer, valueSerializer - ) - - override val onNewValue: Flow> = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, onNewValueRoute), - deserializer = keyValueSerializer - ) - override val onValueRemoved: Flow> = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, onValueRemovedRoute), - deserializer = keyValueSerializer - ) - override val onDataCleared: Flow = unifiedRequester.createStandardWebsocketFlow( - buildStandardUrl(baseUrl, onDataClearedRoute), - deserializer = keySerializer - ) - - override suspend fun remove(toRemove: Map>) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - removeRoute, - ), - Pair(keyValueMapSerializer, toRemove), - Unit.serializer(), - ) - - override suspend fun add(toAdd: Map>) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - addRoute, - ), - Pair(keyValueMapSerializer, toAdd), - Unit.serializer(), - ) - override suspend fun clear(k: Key) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - clearRoute, - ), - Pair(keySerializer, k), - Unit.serializer(), - ) - - override suspend fun clearWithValue(v: Value) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - clearWithValueRoute, - ), - Pair(valueSerializer, v), - Unit.serializer(), - ) - - override suspend fun set(toSet: Map>) = unifiedRequester.unipost( - buildStandardUrl( - baseUrl, - setRoute, - ), - Pair(keyValueMapSerializer, toSet), - Unit.serializer(), - ) -}