Add serialization modules and export kotlinx coroutines dep
This commit is contained in:
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")
|
||||
}
|
||||
}
|
||||
}
|
||||
+23
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user