update versions
This commit is contained in:
core
api
ktor
client
common
server
src
main
kotlin
com
insanusmokrassar
postssystem
core
ktor
gradle/wrapper
ktor
client
common
server
tests
src
test
kotlin
com
insanusmokrassar
postssystem
ktor
tests
markups
publishing
utils
common
build.gradle
src
commonMain
kotlin
com
insanusmokrassar
postssystem
utils
jsMain
kotlin
com
insanusmokrassar
postssystem
utils
common
jvmMain
kotlin
com
insanusmokrassar
postssystem
utils
common
repos
common
@ -31,12 +31,13 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api kotlin('reflect')
|
||||
|
||||
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
|
||||
api "com.insanusmokrassar:postssystem.utils.common:$core_version"
|
||||
|
@ -26,11 +26,11 @@ class ContentSerialization {
|
||||
}
|
||||
|
||||
val stringified = registeredContentFakes.map {
|
||||
Json.stringify(RegisteredContent.serializer(), it)
|
||||
Json.encodeToString(RegisteredContent.serializer(), it)
|
||||
}
|
||||
|
||||
val parsed = stringified.map {
|
||||
Json.parse(RegisteredContent.serializer(), it)
|
||||
Json.decodeFromString(RegisteredContent.serializer(), it)
|
||||
}
|
||||
|
||||
parsed.forEachIndexed { i, registeredContent -> assertEquals(registeredContentFakes[i], registeredContent) }
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -19,7 +19,7 @@ class ReadContentRepoKtorClient(
|
||||
override suspend fun getContentsIds(): Set<ContentId> = client.get<ByteArray>(
|
||||
"$baseUrl/$getContentsIdsRoute"
|
||||
).let {
|
||||
standardKtorSerialFormat.load(contentIdsSerializer, it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(contentIdsSerializer, it)
|
||||
}
|
||||
|
||||
override suspend fun getContentById(id: ContentId): RegisteredContent? = client.uniget(
|
||||
|
@ -17,13 +17,13 @@ class WriteContentRepoKtorClient(
|
||||
override val contentCreatedFlow: Flow<RegisteredContent> = client.createStandardWebsocketFlow(
|
||||
"$baseUrl/$contentCreatedFlowRoute"
|
||||
) {
|
||||
standardKtorSerialFormat.load(RegisteredContent.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(RegisteredContent.serializer(), it)
|
||||
}
|
||||
|
||||
override val contentDeletedFlow: Flow<RegisteredContent> = client.createStandardWebsocketFlow(
|
||||
"$baseUrl/$contentDeletedFlowRoute"
|
||||
) {
|
||||
standardKtorSerialFormat.load(RegisteredContent.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(RegisteredContent.serializer(), it)
|
||||
}
|
||||
|
||||
override suspend fun registerContent(content: Content): RegisteredContent? = client.unipost(
|
||||
|
@ -21,7 +21,7 @@ class ReadPostsRepoKtorClient(
|
||||
override suspend fun getPostsIds(): Set<PostId> = client.get<ByteArray>(
|
||||
"$baseUrl/$getPostsIdsRoute"
|
||||
).let {
|
||||
standardKtorSerialFormat.load(postIdsSerializer, it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(postIdsSerializer, it)
|
||||
}
|
||||
|
||||
override suspend fun getPostById(id: PostId): RegisteredPost? = client.uniget(
|
||||
|
@ -20,17 +20,17 @@ class WritePostsRepoKtorClient (
|
||||
override val postCreatedFlow: Flow<RegisteredPost> = client.createStandardWebsocketFlow(
|
||||
"$baseUrl/$postCreatedFlowRoute"
|
||||
) {
|
||||
standardKtorSerialFormat.load(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
override val postDeletedFlow: Flow<RegisteredPost> = client.createStandardWebsocketFlow(
|
||||
"$baseUrl/$postDeletedFlowRoute"
|
||||
) {
|
||||
standardKtorSerialFormat.load(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
override val postUpdatedFlow: Flow<RegisteredPost> = client.createStandardWebsocketFlow(
|
||||
"$baseUrl/$postUpdatedFlowRoute"
|
||||
) {
|
||||
standardKtorSerialFormat.load(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
|
||||
override suspend fun createPost(post: Post): RegisteredPost? = client.unipost(
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -16,10 +16,10 @@ fun Route.configureWriteContentRepoRoutes(
|
||||
proxyTo: WriteContentRepo
|
||||
) {
|
||||
includeWebsocketHandling(contentCreatedFlowRoute, proxyTo.contentCreatedFlow) {
|
||||
standardKtorSerialFormat.dump(RegisteredContent.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(RegisteredContent.serializer(), it)
|
||||
}
|
||||
includeWebsocketHandling(contentDeletedFlowRoute, proxyTo.contentDeletedFlow) {
|
||||
standardKtorSerialFormat.dump(RegisteredContent.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(RegisteredContent.serializer(), it)
|
||||
}
|
||||
post(registerContentRoute) {
|
||||
val content = call.uniload(Content.serializer())
|
||||
|
@ -16,13 +16,13 @@ fun Route.configureWritePostsRepoRoutes(
|
||||
proxyTo: WritePostsRepo
|
||||
) {
|
||||
includeWebsocketHandling(postCreatedFlowRoute, proxyTo.postCreatedFlow) {
|
||||
standardKtorSerialFormat.dump(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
includeWebsocketHandling(postDeletedFlowRoute, proxyTo.postDeletedFlow) {
|
||||
standardKtorSerialFormat.dump(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
includeWebsocketHandling(postUpdatedFlowRoute, proxyTo.postUpdatedFlow) {
|
||||
standardKtorSerialFormat.dump(RegisteredPost.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(RegisteredPost.serializer(), it)
|
||||
}
|
||||
|
||||
post(createPostRoute) {
|
||||
|
@ -1,19 +1,19 @@
|
||||
kotlin.code.style=official
|
||||
org.gradle.parallel=true
|
||||
kotlin_version=1.3.72
|
||||
kotlin_coroutines_version=1.3.8
|
||||
kotlin_serialisation_runtime_version=0.20.0
|
||||
kotlin_version=1.4.0
|
||||
kotlin_coroutines_version=1.3.9
|
||||
kotlin_serialisation_core_version=1.0.0-RC
|
||||
|
||||
ktor_version=1.3.2
|
||||
ktor_version=1.3.2-1.4.0-rc
|
||||
|
||||
klockVersion=1.11.14
|
||||
uuidVersion=0.1.1
|
||||
klockVersion=1.12.0
|
||||
uuidVersion=0.2.0
|
||||
|
||||
exposed_version=0.26.2
|
||||
test_sqlite_version=3.32.3.2
|
||||
|
||||
javax_activation_version=1.1.1
|
||||
|
||||
gradle_bintray_plugin_version=1.8.4
|
||||
gradle_bintray_plugin_version=1.8.5
|
||||
|
||||
core_version=0.4.2
|
||||
core_version=0.5.0
|
||||
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
@ -1,4 +1,4 @@
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-6.6-bin.zip
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStorePath=wrapper/dists
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -15,7 +15,7 @@ suspend fun <ResultType> HttpClient.uniget(
|
||||
) = get<ByteArray>(
|
||||
url
|
||||
).let {
|
||||
standardKtorSerialFormat.load(resultDeserializer, it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(resultDeserializer, it)
|
||||
}
|
||||
|
||||
suspend fun <BodyType, ResultType> HttpClient.unipost(
|
||||
@ -23,7 +23,7 @@ suspend fun <BodyType, ResultType> HttpClient.unipost(
|
||||
bodyInfo: BodyPair<BodyType>,
|
||||
resultDeserializer: DeserializationStrategy<ResultType>
|
||||
) = post<ByteArray>(url) {
|
||||
body = standardKtorSerialFormat.dump(bodyInfo.first, bodyInfo.second)
|
||||
body = standardKtorSerialFormat.encodeToByteArray(bodyInfo.first, bodyInfo.second)
|
||||
}.let {
|
||||
standardKtorSerialFormat.load(resultDeserializer, it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(resultDeserializer, it)
|
||||
}
|
||||
|
@ -31,14 +31,14 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor-common:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlin_serialisation_core_version"
|
||||
|
||||
api projectByName("postssystem.utils.common")
|
||||
}
|
||||
@ -52,8 +52,7 @@ kotlin {
|
||||
jvmMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-jdk8')
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlin_serialisation_runtime_version"
|
||||
// api "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$kotlin_serialisation_core_version"
|
||||
}
|
||||
}
|
||||
jvmTest {
|
||||
@ -64,8 +63,7 @@ kotlin {
|
||||
jsMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-js')
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-cbor-js:$kotlin_serialisation_runtime_version"
|
||||
// api "org.jetbrains.kotlinx:kotlinx-serialization-cbor-js:$kotlin_serialisation_core_version"
|
||||
}
|
||||
}
|
||||
jsTest {
|
||||
|
@ -36,7 +36,7 @@ kotlin {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
|
||||
api projectByName("postssystem.ktor.common")
|
||||
}
|
||||
@ -50,9 +50,6 @@ kotlin {
|
||||
|
||||
jvmMain {
|
||||
dependencies {
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-properties:$kotlin_serialisation_runtime_version"
|
||||
|
||||
api "io.ktor:ktor-server:$ktor_version"
|
||||
api "io.ktor:ktor-server-host-common:$ktor_version"
|
||||
api "io.ktor:ktor-server-netty:$ktor_version"
|
||||
|
@ -14,14 +14,14 @@ suspend fun <T> ApplicationCall.unianswer(
|
||||
answer: T
|
||||
) {
|
||||
respondBytes(
|
||||
standardKtorSerialFormat.dump(answerSerializer, answer),
|
||||
standardKtorSerialFormat.encodeToByteArray(answerSerializer, answer),
|
||||
standardKtorSerialFormatContentType
|
||||
)
|
||||
}
|
||||
|
||||
suspend fun <T> ApplicationCall.uniload(
|
||||
deserializer: DeserializationStrategy<T>
|
||||
) = standardKtorSerialFormat.load(
|
||||
) = standardKtorSerialFormat.decodeFromByteArray(
|
||||
deserializer,
|
||||
request.receiveChannel().toByteArray()
|
||||
)
|
||||
|
@ -3,10 +3,10 @@ package com.insanusmokrassar.postssystem.ktor.server.configurators
|
||||
import io.ktor.application.Application
|
||||
import io.ktor.application.install
|
||||
import io.ktor.features.CachingHeaders
|
||||
import kotlinx.serialization.ContextualSerialization
|
||||
import kotlinx.serialization.Contextual
|
||||
|
||||
data class ApplicationCachingHeadersConfigurator(
|
||||
private val elements: List<@ContextualSerialization Element>
|
||||
private val elements: List<@Contextual Element>
|
||||
) : KtorApplicationConfigurator{
|
||||
interface Element { operator fun CachingHeaders.Configuration.invoke() }
|
||||
|
||||
|
@ -3,12 +3,12 @@ package com.insanusmokrassar.postssystem.ktor.server.configurators
|
||||
import io.ktor.application.*
|
||||
import io.ktor.routing.Route
|
||||
import io.ktor.routing.Routing
|
||||
import kotlinx.serialization.ContextualSerialization
|
||||
import kotlinx.serialization.Contextual
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@Serializable
|
||||
class ApplicationRoutingConfigurator(
|
||||
private val elements: List<@ContextualSerialization Element>
|
||||
private val elements: List<@Contextual Element>
|
||||
) : KtorApplicationConfigurator {
|
||||
interface Element { operator fun Route.invoke() }
|
||||
|
||||
|
@ -3,10 +3,10 @@ package com.insanusmokrassar.postssystem.ktor.server.configurators
|
||||
import io.ktor.application.Application
|
||||
import io.ktor.application.install
|
||||
import io.ktor.sessions.Sessions
|
||||
import kotlinx.serialization.ContextualSerialization
|
||||
import kotlinx.serialization.Contextual
|
||||
|
||||
class ApplicationSessionsConfigurator(
|
||||
private val elements: List<@ContextualSerialization Element>
|
||||
private val elements: List<@Contextual Element>
|
||||
) : KtorApplicationConfigurator {
|
||||
interface Element { operator fun Sessions.Configuration.invoke() }
|
||||
|
||||
|
@ -3,10 +3,10 @@ package com.insanusmokrassar.postssystem.ktor.server.configurators
|
||||
import io.ktor.application.Application
|
||||
import io.ktor.application.install
|
||||
import io.ktor.features.StatusPages
|
||||
import kotlinx.serialization.ContextualSerialization
|
||||
import kotlinx.serialization.*
|
||||
|
||||
class StatusPagesConfigurator(
|
||||
private val elements: List<@ContextualSerialization Element>
|
||||
private val elements: List<@Contextual Element>
|
||||
) : KtorApplicationConfigurator {
|
||||
interface Element { operator fun StatusPages.Configuration.invoke() }
|
||||
|
||||
|
@ -28,7 +28,7 @@ class WebsocketsTest {
|
||||
install(WebSockets)
|
||||
routing {
|
||||
includeWebsocketHandling(suburl, dataFlow) {
|
||||
standardKtorSerialFormat.dump(Int.serializer(), it)
|
||||
standardKtorSerialFormat.encodeToByteArray(Int.serializer(), it)
|
||||
}
|
||||
}
|
||||
}.also {
|
||||
@ -44,7 +44,7 @@ class WebsocketsTest {
|
||||
"$serverUrl/$suburl",
|
||||
{ false } // always skip reconnection
|
||||
) {
|
||||
standardKtorSerialFormat.load(Int.serializer(), it)
|
||||
standardKtorSerialFormat.decodeFromByteArray(Int.serializer(), it)
|
||||
}
|
||||
|
||||
var currentlyCheckingData: Int? = null
|
||||
|
@ -31,14 +31,14 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
|
||||
|
||||
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
|
||||
api "com.insanusmokrassar:postssystem.core.api:$core_version"
|
||||
@ -59,8 +59,6 @@ kotlin {
|
||||
jvmMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-jdk8')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version"
|
||||
}
|
||||
}
|
||||
jvmTest {
|
||||
@ -71,8 +69,6 @@ kotlin {
|
||||
jsMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-js')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$kotlin_serialisation_runtime_version"
|
||||
}
|
||||
}
|
||||
jsTest {
|
||||
|
@ -31,14 +31,14 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
|
||||
|
||||
if ((project.hasProperty('RELEASE_MODE') && project.property('RELEASE_MODE') == "true") || System.getenv('RELEASE_MODE') == "true") {
|
||||
api "com.insanusmokrassar:postssystem.markups.core:$core_version"
|
||||
@ -56,9 +56,6 @@ kotlin {
|
||||
jvmMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-jdk8')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version"
|
||||
|
||||
api "org.jetbrains.kotlinx:kotlinx-html-jvm:$kotlinx_html_version"
|
||||
}
|
||||
}
|
||||
@ -70,9 +67,6 @@ kotlin {
|
||||
jsMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-js')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$kotlin_serialisation_runtime_version"
|
||||
|
||||
api "org.jetbrains.kotlinx:kotlinx-html-js:$kotlinx_html_version"
|
||||
}
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -29,7 +29,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
@ -31,14 +31,14 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$kotlin_serialisation_runtime_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-core:$kotlin_serialisation_core_version"
|
||||
|
||||
api "com.soywiz.korlibs.klock:klock:$klockVersion"
|
||||
api "com.benasher44:uuid:$uuidVersion"
|
||||
@ -53,10 +53,6 @@ kotlin {
|
||||
jvmMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-jdk8')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$kotlin_serialisation_runtime_version"
|
||||
|
||||
api "javax.activation:activation:$javax_activation_version"
|
||||
}
|
||||
}
|
||||
jvmTest {
|
||||
@ -67,8 +63,6 @@ kotlin {
|
||||
jsMain {
|
||||
dependencies {
|
||||
implementation kotlin('stdlib-js')
|
||||
api "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$kotlin_coroutines_version"
|
||||
api "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$kotlin_serialisation_runtime_version"
|
||||
}
|
||||
}
|
||||
jsTest {
|
||||
|
@ -2,6 +2,9 @@ package com.insanusmokrassar.postssystem.utils.common
|
||||
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.builtins.ByteArraySerializer
|
||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
|
||||
typealias ByteArrayAllocator = () -> ByteArray
|
||||
|
||||
@ -10,7 +13,7 @@ object ByteArrayAllocatorSerializer : KSerializer<ByteArrayAllocator> {
|
||||
override val descriptor: SerialDescriptor = realSerializer.descriptor
|
||||
|
||||
override fun deserialize(decoder: Decoder): ByteArrayAllocator {
|
||||
val bytes = decoder.decode(realSerializer)
|
||||
val bytes = realSerializer.deserialize(decoder)
|
||||
return { bytes }
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.insanusmokrassar.postssystem.utils.common
|
||||
|
||||
import kotlinx.serialization.*
|
||||
import kotlinx.serialization.descriptors.*
|
||||
import kotlinx.serialization.encoding.Decoder
|
||||
import kotlinx.serialization.encoding.Encoder
|
||||
|
||||
private val mimesCache = mutableMapOf<String, MimeType>().also {
|
||||
knownMimeTypes.forEach { mimeType -> it[mimeType.raw] = mimeType }
|
||||
@ -14,7 +17,7 @@ internal fun parseMimeType(raw: String): MimeType = findBuiltinMimeType(raw) ?:
|
||||
|
||||
@Serializer(MimeType::class)
|
||||
internal object MimeTypeSerializer : KSerializer<MimeType> {
|
||||
override val descriptor: SerialDescriptor = PrimitiveDescriptor("mimeType", PrimitiveKind.STRING)
|
||||
override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("mimeType", PrimitiveKind.STRING)
|
||||
|
||||
override fun deserialize(decoder: Decoder): MimeType {
|
||||
val mimeType = decoder.decodeString()
|
||||
|
@ -1,7 +0,0 @@
|
||||
package com.insanusmokrassar.postssystem.utils.common
|
||||
|
||||
import org.w3c.dom.get
|
||||
import kotlin.browser.window
|
||||
|
||||
val MimeType.jsMimeType
|
||||
get() = window.navigator.mimeTypes[raw]
|
@ -1,5 +0,0 @@
|
||||
package com.insanusmokrassar.postssystem.utils.common
|
||||
|
||||
val MimeType.asActivationMimeType: javax.activation.MimeType
|
||||
get() = javax.activation.MimeType(raw)
|
||||
|
@ -31,7 +31,7 @@ repositories {
|
||||
|
||||
kotlin {
|
||||
jvm()
|
||||
js()
|
||||
js { browser() }
|
||||
|
||||
sourceSets {
|
||||
commonMain {
|
||||
|
Reference in New Issue
Block a user