Copyright | (c) Eric Mertens 2023 |
---|---|
License | ISC |
Maintainer | emertens@gmail.com |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This module parses TOML into semantically meaningful values.
This parser implements TOML 1.0.0 https://toml.io/en/v1.0.0 as carefully as possible.
types
Semantic TOML value with all table assignments resolved.
Integer Integer | |
Float Double | |
Array [Value] | |
Table Table | |
Bool Bool | |
String String | |
TimeOfDay TimeOfDay | |
ZonedTime ZonedTime | |
LocalTime LocalTime | |
Day Day |
parsing
parse :: String -> Either String Table Source #
Parse a TOML formatted Value
or report an error message.
printing
prettyToml :: Table -> TomlDoc Source #
Render a complete TOML document using top-level table and array of table sections where appropriate.
Annotation used to enable styling pretty-printed TOML
TableClass | top-level |
KeyClass | dotted keys, left-hand side of assignments |
StringClass | string literals |
NumberClass | number literals |
DateClass | date and time literals |
BoolClass | boolean literals |
Serialization
decode :: FromTable a => String -> Result a Source #
Use the FromTable
instance to decode a value from a TOML string.
encode :: ToTable a => a -> TomlDoc Source #
Use the ToTable
instance to encode a value to a TOML string.