yaml-unscrambler-0.1.0.18: 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)