Toml

sealed class Toml : StringFormat(source)

The main entry point to use TOML.

User could simply use Default instance or customize by using creator function with the same name.

Basic usage:

@Serializable
data class User(
val name: String,
val account: Account? // Nullability
)

@Serializable
data class Account(
val username: String,
val password: String
)

// Now with [Default] instance
val user = User("Peanuuutz", Account("Peanuuutz", "123456"))
// Either is OK, but to explicitly pass a serializer is faster
val tomlString = Toml.encodeToString(User.serializer(), user)
val tomlString = Toml.encodeToString<User>(user)
// Print it
println(tomlString)
/*
name = "Peanuuutz"

[account]
username = "Peanuuutz"
password = "123456"
*/

// And to reverse...
val user = Toml.decodeFromString(User.serializer(), tomlString)
// Print it
println(user)
// User(name=Peanuuutz,account=Account(username=Peanuuutz,password=123456))

// Or you're lazy to create model class, try [TomlElement]
val config = Toml.parseToTomlTable(tomlString)
// Now access to all entry (think you need getByPath)
val password: TomlLiteral = config["account", "password"]!!.toTomlLiteral()

See also

Inheritors

Types

Link copied to clipboard
object Default : Toml

Default implementation of Toml with default config.

Properties

Link copied to clipboard
open override val serializersModule: SerializersModule

Functions

Link copied to clipboard
open override fun <T> decodeFromString(deserializer: DeserializationStrategy<T>, string: String): T

Deserializes string into a value of type T using deserializer.

Link copied to clipboard
fun <T> decodeFromTomlElement(deserializer: DeserializationStrategy<T>, element: TomlElement): T

Deserializes element into a value of type T using deserializer.

Link copied to clipboard
inline fun <T> Toml.decodeFromTomlElement(element: TomlElement): T

Deserializes element into a value of type T using serializer retrieved from reified type parameter.

Link copied to clipboard
inline fun <T> Toml.encodeToStream(value: T, outputStream: OutputStream)

Serializes value into outputStream using serializer retrieved from reified type parameter.

fun <T> Toml.encodeToStream(serializer: SerializationStrategy<T>, value: T, outputStream: OutputStream)

Serializes value into outputStream using serializer.

Link copied to clipboard
open override fun <T> encodeToString(serializer: SerializationStrategy<T>, value: T): String

Serializes value into TOML string using serializer.

Link copied to clipboard
fun <T> encodeToTomlElement(serializer: SerializationStrategy<T>, value: T): TomlElement

Serializes value into TomlElement using serializer.

Link copied to clipboard
inline fun <T> Toml.encodeToTomlElement(value: T): TomlElement

Serializes value into TomlElement using serializer retrieved from reified type parameter.

Link copied to clipboard
fun <T> encodeToWriter(serializer: SerializationStrategy<T>, value: T, writer: TomlWriter)

Serializes value into writer using serializer.

Link copied to clipboard
inline fun <T> Toml.encodeToWriter(value: T, writer: TomlWriter)

Serializes value into writer using serializer retrieved from reified type parameter.

Link copied to clipboard

Parses string into equivalent representation of TomlTable.