module Text.Toml where
import Control.Composition
import Control.Monad.State (evalState)
import Data.Text (Text)
import Text.Megaparsec
import Text.Toml.Parser
-- | Parse a 'Text' that results in 'Either' a 'String'
-- containing the error message, or an internal representation
-- of the document as a 'Table'.
parseTomlDoc :: String -> Text -> Either TomlError Table
parseTomlDoc = flip evalState mempty .* runParserT tomlDoc
checkTomlDoc :: String -> Text -> Either TomlError ()
checkTomlDoc = flip evalState mempty .* runParserT tomlCheck