Skip to content

tomlkt 0.3.6

Compare
Choose a tag to compare
@Peanuuutz Peanuuutz released this 14 Oct 11:54
· 21 commits to master since this release
9689e08

New

  • Add (TomlArray|TomlTable).annotations for storing metadata (@SerialInfo annotations).
    • Add (TomlArray|TomlTable).(annotated|annotatedAll) extensions for adding metadata manually.
  • Add linuxArm64 target. (#56)

Change

  • Refactor encoding process.
    • Now TomlElementEncoder will transfer @SerialInfo annotations from properties to (TomlArray|TomlTable).annotations.
    • Now all the tables and array of tables will be encoded as non-inline eagerly (as long as it is not annotated with @TomlInline).
    • Now NullInArrayOfTableException and EmptyArrayOfTableInMapException don't exist anymore.
    • Fix a bug in table-like encoding when an empty array of table is after a table-like.
val table = TomlTable(
    "string" to TomlArray(
        TomlTable(
            1 to true
        ),
        TomlTable(
            'c' to Float.POSITIVE_INFINITY
        )
    ),
    "key" to TomlTable(
        false to 114514L
    ),
    1.0 to null
)

Toml.encodeToString(table)
/*
"1.0" = null

[key]
false = 114514

[[string]]
1 = true

[[string]]
c = inf
 */