base91-1.0.0: Main.hs
-- Copyright 2015 Alvaro J. Genial (http://alva.ro) -- see LICENSE.md for more.
module Main (main) where
import Codec.Binary.Base91.Efficient as Base91
import Data.ByteString as BS
import Data.Text.IO as T
import System.Environment (getArgs, getProgName)
main :: IO ()
main = getProgName >>= \name -> getArgs >>= \args -> case name:args of
"b91enc":[] -> encode
"b91dec":[] -> decode
_:["-e"] -> encode
_:["-d"] -> decode
_:["--encode"] -> encode
_:["--decode"] -> decode
_ -> error "missing or invalid arguments"
where
encode = BS.getContents >>= T.putStrLn . Base91.encode
decode = T.getContents >>= BS.putStr . Base91.decode