Add serialization modules and export kotlinx coroutines dep

This commit is contained in:
2026-01-17 23:31:31 +08:00
parent 546977fe86
commit e349eec63e
7 files changed
+95 -12

No files matched your search

@@ -0,0 +1,19 @@
plugins {
kotlin("multiplatform")
kotlin("plugin.serialization")
}
kotlin {
explicitApi()
js(IR) {
nodejs { binaries.executable() }
}
sourceSets {
jsMain.dependencies {
api("org.jetbrains.kotlinx:kotlinx-serialization-core:1.8.1")
api("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:1.8.1")
}
}
}
@@ -0,0 +1,23 @@
/*
* Copyright © 2026 RTAkland
* Author: RTAkland
* Date: 2026/1/17
*/
@file:OptIn(ExperimentalSerializationApi::class)
package cn.rtast.cfworker.serialization.protobuf
import kotlinx.serialization.ExperimentalSerializationApi
import kotlinx.serialization.decodeFromByteArray
import kotlinx.serialization.encodeToByteArray
import kotlinx.serialization.protobuf.ProtoBuf
public inline fun <reified T> ByteArray.fromProtobuf(): T {
return ProtoBuf.decodeFromByteArray<T>(this)
}
public inline fun <reified T> T.toProtobuf(): ByteArray {
return ProtoBuf.encodeToByteArray(this)
}