@@ -23,6 +23,10 @@ module Text.Yaml
24 -- * Exceptions
24 -- * Exceptions
25 YamlException (..)
25 YamlException (..)
26+ -- * 'YamlDoc's <-> file conversion
26 -- * Converting to/from 'YamlObject's
30 -- * Converting to/from 'YamlObject's
27 , encodeYaml'
31 , encodeYaml'
28 , decodeYaml'
32 , decodeYaml'
@@ -49,6 +53,7 @@ module Text.Yaml
49import Prelude hiding (readList)
53import Prelude hiding (readList)
50import Text.Libyaml
54import Text.Libyaml
51import Data.ByteString (ByteString)
55import Data.ByteString (ByteString)
56+import qualified Data.ByteString as B
52import System.IO.Unsafe
57import System.IO.Unsafe
53import Control.Monad (join)
58import Control.Monad (join)
54import Data.Convertible.Text
59import Data.Convertible.Text
@@ -74,6 +79,12 @@ import Data.Attempt
74import Control.Arrow ((***))
79import Control.Arrow ((***))
82+readYamlDoc :: FilePath -> IO YamlDoc
83+readYamlDoc = fmap YamlDoc . B.readFile
85+writeYamlDoc :: FilePath -> YamlDoc -> IO ()
86+writeYamlDoc fp = B.writeFile fp . unYamlDoc
77-- Low level, non-exported functions
88-- Low level, non-exported functions
78encode' :: MonadFailure YamlException m
89encode' :: MonadFailure YamlException m
79 => YamlObject
90 => YamlObject