module Path.Extended
 ( fileExtension
 , addExtension
 , replaceExtension
 ) where

import           Control.Monad.Catch
import qualified Path
import           Path (Path, File)

fileExtension :: MonadThrow m => Path b File -> m String
fileExtension :: forall (m :: * -> *) b. MonadThrow m => Path b File -> m String
fileExtension = forall (m :: * -> *) b. MonadThrow m => Path b File -> m String
Path.fileExtension

addExtension :: MonadThrow m
  => String
  -> Path b File
  -> m (Path b File)
addExtension :: forall (m :: * -> *) b.
MonadThrow m =>
String -> Path b File -> m (Path b File)
addExtension = forall (m :: * -> *) b.
MonadThrow m =>
String -> Path b File -> m (Path b File)
Path.addExtension

replaceExtension :: MonadThrow m
  => String
  -> Path b File
  -> m (Path b File)
replaceExtension :: forall (m :: * -> *) b.
MonadThrow m =>
String -> Path b File -> m (Path b File)
replaceExtension String
ext = forall (m :: * -> *) b.
MonadThrow m =>
String -> Path b File -> m (Path b File)
Path.replaceExtension (Char
'.' forall a. a -> [a] -> [a]
: String
ext)