Skip to content

Kotlin SDK

The Kotlin/JVM library provides a full Twilic v2 implementation with dynamic, schema-aware, batch, and stateful encoding.

Requirements

  • JDK 21 or later
  • Gradle 9.4+ (wrapper included)

Install

From GitHub (when published to Maven Central, use io.twilic:twilic):

kotlin
dependencies {
    implementation("io.twilic:twilic:3.0.0")
}

Quick Start

kotlin
import io.twilic.Twilic
import io.twilic.internal.core.MapEntry

val value = Twilic.newMap(
    MapEntry("id", Twilic.newU64(1001)),
    MapEntry("name", Twilic.newString("alice")),
    MapEntry("score", Twilic.newF64(98.6)),
)
val encoded = Twilic.encode(value)
val decoded = Twilic.decode(encoded)

API Reference

Dynamic Encoding

kotlin
Twilic.encode(value)  // ByteArray
Twilic.decode(bytes)  // value tree

Schema-Aware Encoding

kotlin
Twilic.encodeWithSchema(value, schema)

Batch Encoding

kotlin
Twilic.encodeBatch(records)

Project Layout

text
twilic-kotlin/
  src/main/kotlin/io/twilic/           # public API + v2 wire
  src/main/java/io/twilic/internal/core/  # protocol codec
  src/test/
  scripts/
  docs/

Source

github.com/twilic/twilic-kotlin

Released under the CC-BY-4.0 License.