module YamlUnscrambler.Util.Yaml where import qualified Conduit import qualified Data.Text.Encoding as Text import qualified Data.Yaml as Yaml 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 showAsText $ unsafePerformIO $ try @SomeException $ Conduit.runConduitRes $ Conduit.fuse (Libyaml.decode input) (YamlParser.sinkRawDoc)