module Data.WKT.IO (module Data.WKT.IO) where

import qualified Data.Text.IO as TIO
import Data.WKT.Geometries (Geometries(..))
import Data.WKT.Classes (FromWKT(..), ToWKT (..))

readWKTFile :: FilePath -> IO (Geometries Double)
readWKTFile :: FilePath -> IO (Geometries Double)
readWKTFile FilePath
fp = Text -> Geometries Double
forall (a :: * -> *). FromWKT a => Text -> a Double
fromWKT (Text -> Geometries Double) -> IO Text -> IO (Geometries Double)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> FilePath -> IO Text
TIO.readFile FilePath
fp

writeWKTFile :: Show a => Geometries a -> FilePath -> IO ()
writeWKTFile :: forall a. Show a => Geometries a -> FilePath -> IO ()
writeWKTFile  = (FilePath -> Text -> IO ()) -> Text -> FilePath -> IO ()
forall a b c. (a -> b -> c) -> b -> a -> c
flip FilePath -> Text -> IO ()
TIO.writeFile (Text -> FilePath -> IO ())
-> (Geometries a -> Text) -> Geometries a -> FilePath -> IO ()
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Geometries a -> Text
forall a. ToWKT a => a -> Text
toWKT