protobuf-simple-0.1.1.1: src/Parser/FileWriter.hs
-- |
-- Module: Parser.FileWriter
-- Copyright: (c) 2015-2016 Martijn Rijkeboer <mrr@sru-systems.com>
-- License: MIT
-- Maintainer: Martijn Rijkeboer <mrr@sru-systems.com>
--
-- Functions to create type files.
module Parser.FileWriter
( write
) where
import Data.Text.Lazy.IO (writeFile)
import Parser.CodeInfo (CodeInfo(filename, code, directories))
import System.Directory (createDirectoryIfMissing)
import System.FilePath ((</>))
import Prelude hiding (writeFile)
write :: [CodeInfo] -> IO ()
write = mapM_ createProtoFile
createProtoFile :: CodeInfo -> IO ()
createProtoFile i = do
createDirectories i
writeFile (directories i </> filename i) (code i)
createDirectories :: CodeInfo -> IO ()
createDirectories = createDirectoryIfMissing True . directories