more sugar & unsigned support
This commit is contained in:
parent
1fd229fdb1
commit
904a91b8de
3
bin/pubdocs
Executable file
3
bin/pubdocs
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rsync -avz ./build/dokka/* 77.37.192.214:/bigstore/sergeych_pub/code/docs/mp_bintools
|
@ -1,14 +1,14 @@
|
|||||||
plugins {
|
plugins {
|
||||||
kotlin("multiplatform") version "2.0.0"
|
kotlin("multiplatform") version "2.0.0"
|
||||||
kotlin("plugin.serialization") version "2.0.0"
|
kotlin("plugin.serialization") version "2.0.0"
|
||||||
id("org.jetbrains.dokka") version "1.9.10"
|
id("org.jetbrains.dokka") version "1.9.20"
|
||||||
`maven-publish`
|
`maven-publish`
|
||||||
}
|
}
|
||||||
|
|
||||||
val serialization_version = "1.6.5-SNAPSHOT"
|
val serialization_version = "1.6.5-SNAPSHOT"
|
||||||
|
|
||||||
group = "net.sergeych"
|
group = "net.sergeych"
|
||||||
version = "0.1.5-SNAPSHOT"
|
version = "0.1.6-SNAPSHOT"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
@ -51,7 +51,7 @@ kotlin {
|
|||||||
|
|
||||||
wasmJs {
|
wasmJs {
|
||||||
browser()
|
browser()
|
||||||
binaries.executable()
|
// binaries.executable()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,6 @@
|
|||||||
package net.sergeych.bintools
|
package net.sergeych.bintools
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
interface DataSink {
|
interface DataSink {
|
||||||
|
|
||||||
fun writeByte(data: Byte)
|
fun writeByte(data: Byte)
|
||||||
@ -24,9 +25,9 @@ interface DataSink {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun writeVarUInt(value: UInt) { Varint.encodeUnsigned(value.toULong(), this)}
|
fun writeVarUInt(value: UInt) { Varint.encodeUnsigned(value.toULong(), this)}
|
||||||
fun writeVarInt(value: UInt) { Varint.encodeSigned(value.toLong(), this)}
|
fun writeVarInt(value: Int) { Varint.encodeSigned(value.toLong(), this)}
|
||||||
fun writeSmartUInt(value: UInt) { Smartint.encodeUnsigned(value.toULong(), this)}
|
fun writeSmartUInt(value: UInt) { Smartint.encodeUnsigned(value.toULong(), this)}
|
||||||
fun writeSmartInt(value: UInt) { Smartint.encodeSigned(value.toLong(), this)}
|
fun writeSmartInt(value: Int) { Smartint.encodeSigned(value.toLong(), this)}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun <reified T:Any>DataSink.writeNumber(value: T) {
|
inline fun <reified T:Any>DataSink.writeNumber(value: T) {
|
||||||
|
@ -3,6 +3,7 @@ package net.sergeych.bipack
|
|||||||
import kotlinx.datetime.Instant
|
import kotlinx.datetime.Instant
|
||||||
import kotlinx.serialization.DeserializationStrategy
|
import kotlinx.serialization.DeserializationStrategy
|
||||||
import kotlinx.serialization.ExperimentalSerializationApi
|
import kotlinx.serialization.ExperimentalSerializationApi
|
||||||
|
import kotlinx.serialization.KSerializer
|
||||||
import kotlinx.serialization.descriptors.SerialDescriptor
|
import kotlinx.serialization.descriptors.SerialDescriptor
|
||||||
import kotlinx.serialization.descriptors.StructureKind
|
import kotlinx.serialization.descriptors.StructureKind
|
||||||
import kotlinx.serialization.encoding.AbstractDecoder
|
import kotlinx.serialization.encoding.AbstractDecoder
|
||||||
@ -143,7 +144,16 @@ class BipackDecoder(
|
|||||||
inline fun <reified T> decode(source: DataSource): T = decode(source, serializer())
|
inline fun <reified T> decode(source: DataSource): T = decode(source, serializer())
|
||||||
inline fun <reified T> decode(source: ByteArray): T =
|
inline fun <reified T> decode(source: ByteArray): T =
|
||||||
decode(source.toDataSource(), serializer())
|
decode(source.toDataSource(), serializer())
|
||||||
|
fun <T> decode(serializer: KSerializer<T>, source: ByteArray): T =
|
||||||
|
decode(source.toDataSource(), serializer)
|
||||||
|
inline fun <reified T> decode(source: UByteArray): T =
|
||||||
|
decode(source.toDataSource(), serializer())
|
||||||
|
fun <T> decode(serializer: KSerializer<T>, source: UByteArray): T =
|
||||||
|
decode(source.toDataSource(), serializer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fun <reified T> ByteArray.decodeFromBipack() = BipackDecoder.decode<T>(this)
|
inline fun <reified T> ByteArray.decodeFromBipack() = BipackDecoder.decode<T>(this)
|
||||||
|
@Suppress("unused")
|
||||||
|
inline fun <reified T> UByteArray.decodeFromBipack() = BipackDecoder.decode<T>(this)
|
||||||
|
|
||||||
|
@ -126,3 +126,8 @@ class BipackEncoder(val output: DataSink) : AbstractEncoder() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("unused")
|
||||||
|
inline fun <reified T> toBipackUByteArray(value: T): UByteArray = BipackEncoder.encode(value).toUByteArray()
|
||||||
|
@Suppress("unused")
|
||||||
|
inline fun <reified T> toBipackByteArray(value: T): ByteArray = BipackEncoder.encode(value)
|
||||||
|
9
src/wasmJsTest/kotlin/EmptyTest.kt
Normal file
9
src/wasmJsTest/kotlin/EmptyTest.kt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import kotlin.test.Test
|
||||||
|
|
||||||
|
class EmptyTest {
|
||||||
|
@Test
|
||||||
|
fun emptyTest() {
|
||||||
|
println("hello!")
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -5,6 +5,11 @@ import kotlin.test.assertNull
|
|||||||
import kotlin.test.assertTrue
|
import kotlin.test.assertTrue
|
||||||
|
|
||||||
class StorageTest {
|
class StorageTest {
|
||||||
|
@Test
|
||||||
|
fun emptyTest() {
|
||||||
|
println("hello")
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun storageTest() {
|
fun storageTest() {
|
||||||
val s1 = defaultNamedStorage("test_mp_bintools")
|
val s1 = defaultNamedStorage("test_mp_bintools")
|
||||||
|
Loading…
Reference in New Issue
Block a user