diff --git a/src/Data/TITO.hs b/src/Data/TITO.hs index 01aac20..df376b5 100644 --- a/src/Data/TITO.hs +++ b/src/Data/TITO.hs @@ -1,2 +1,17 @@ module Data.TITO where +import Control.Exception + +import qualified Data.ByteString as BS +import qualified Text.Megaparsec as P + +import Data.TITO.Parser +import Data.TITO.Types + +readTITO :: BS.ByteString -> Either ParseErrors TITO +readTITO = P.parse tito "" + +readTITOFile :: FilePath -> IO TITO +readTITOFile fp = + BS.readFile fp >>= + either (throwIO . ErrorCall . P.errorBundlePretty) pure . P.parse tito fp