tomland-0.0.0: TOML parser

Safe HaskellNone
LanguageHaskell2010

Toml.Bi.Combinators

Contents

Description

Contains TOML-specific combinators for converting between TOML and user data types.

Synopsis

Types

type BiToml a = Bi Env St a Source #

Specialied for Toml monad.

type Env = ExceptT EncodeException (Reader TOML) Source #

Immutable environment for Toml conversion. This is r type variable in Bijection data type.

type St = ExceptT DecodeException (State TOML) Source #

Mutable context for Toml conversion. This is w type variable in Bijection data type.

Exceptions

data EncodeException Source #

Type of exception for converting from Toml to user custom data type.

data DecodeException Source #

Write exception for convertion to Toml from user custom data type.

Encode/Decode

encode :: BiToml a -> Text -> Either EncodeException a Source #

Convert textual representation of toml into user data type.

decode :: BiToml a -> a -> Either DecodeException Text Source #

Convert object to textual representation.

unsafeDecode :: BiToml a -> a -> Text Source #

Unsafe version of decode function if you're sure that you decoding of structure is correct.

Converters

bijectionMaker Source #

Arguments

:: Text

Name of expected type

-> (forall f. Value f -> Maybe a)

How to convert from AnyValue to a

-> (a -> Value t)

Convert a to Anyvale

-> Key

Key of the value

-> BiToml a 

General function to create bidirectional converters for values.

bool :: Key -> BiToml Bool Source #

Parser for boolean values.

int :: Key -> BiToml Int Source #

Parser for integer values.

double :: Key -> BiToml Double Source #

Parser for floating values.

str :: Key -> BiToml Text Source #

Parser for string values.