module HaskellWorks.Polysemy.FilePath
  ( exeSuffix,
    addExeSuffix,
  ) where

import qualified HaskellWorks.Polysemy.OS      as OS

import qualified Data.List                     as L
import           HaskellWorks.Polysemy.Prelude

exeSuffix :: String
exeSuffix :: [Char]
exeSuffix = if Bool
OS.isWin32 then [Char]
".exe" else [Char]
""

addExeSuffix :: String -> String
addExeSuffix :: [Char] -> [Char]
addExeSuffix [Char]
s = if [Char]
".exe" [Char] -> [Char] -> Bool
forall a. Eq a => [a] -> [a] -> Bool
`L.isSuffixOf` [Char]
s
  then [Char]
s
  else [Char]
s [Char] -> [Char] -> [Char]
forall a. Semigroup a => a -> a -> a
<> [Char]
exeSuffix