yaml-unscrambler-0.1.0.14: library/YamlUnscrambler/Util/Yaml.hs
module YamlUnscrambler.Util.Yaml where
import qualified Conduit
import qualified Data.Yaml.Parser as YamlParser
import qualified Text.Libyaml as Libyaml
import YamlUnscrambler.Prelude
parseByteStringToRawDoc :: ByteString -> Either Text YamlParser.RawDoc
parseByteStringToRawDoc input =
first (mappend "YAML AST parsing: " . showAsText) $
unsafePerformIO $
try @SomeException $
Conduit.runConduitRes $
Conduit.fuse (Libyaml.decode input) (YamlParser.sinkRawDoc)