packages feed

haskell-ftp-0.1.0.0: Network/FTP/Utils.hs

{-# LANGUAGE OverloadedStrings #-}
module Network.FTP.Utils where

import qualified Prelude
import BasicPrelude
import qualified Filesystem.Path as Path
import qualified Filesystem.Path.CurrentOS as Path
import qualified Data.Text.Encoding as T

-- | drop root
dropHeadingPathSeparator :: FilePath -> FilePath
dropHeadingPathSeparator p = fromMaybe p $ Path.stripPrefix "/" p

-- | encode file path.
encode :: FilePath -> ByteString
encode = T.encodeUtf8 . either id id . Path.toText

-- | decode file path.
decode :: ByteString -> FilePath
decode = Path.fromText . T.decodeUtf8