on master help sign in
Read and write YamlDocs
commit6870cb570e3cf4a9a639fc3095e89a8f4f6e3fbf authorMichael Snoyman <michael@snoyman.com> dateTue 15 Dec 2009, 01:49 (17 years ago) parent93ce9ae
1 file changed+11
Text/Yaml.hs+11
Text/Yaml.hs+11
@@ -23,6 +23,10 @@ module Text.Yaml
2323 (
2424 -- * Exceptions
2525 YamlException (..)
26+ -- * 'YamlDoc's <-> file conversion
27+ , YamlDoc (..)
28+ , readYamlDoc
29+ , writeYamlDoc
2630 -- * Converting to/from 'YamlObject's
2731 , encodeYaml'
2832 , decodeYaml'
@@ -49,6 +53,7 @@ module Text.Yaml
4953import Prelude hiding (readList)
5054import Text.Libyaml
5155import Data.ByteString (ByteString)
56+import qualified Data.ByteString as B
5257import System.IO.Unsafe
5358import Control.Monad (join)
5459import Data.Convertible.Text
@@ -74,6 +79,12 @@ import Data.Attempt
7479import Control.Arrow ((***))
7580#endif
7681
82+readYamlDoc :: FilePath -> IO YamlDoc
83+readYamlDoc = fmap YamlDoc . B.readFile
84+
85+writeYamlDoc :: FilePath -> YamlDoc -> IO ()
86+writeYamlDoc fp = B.writeFile fp . unYamlDoc
87+
7788-- Low level, non-exported functions
7889encode' :: MonadFailure YamlException m
7990 => YamlObject