module Web.Browser.OSX
( openBrowserOSX
) where

import System.Exit (ExitCode(..))
import System.Process (rawSystem)

openBrowserOSX :: String -> IO Bool
openBrowserOSX :: String -> IO Bool
openBrowserOSX String
url = ExitCode -> Bool
exitCodeToBool (ExitCode -> Bool) -> IO ExitCode -> IO Bool
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
`fmap` String -> [String] -> IO ExitCode
rawSystem String
executable [String]
argv
    where (String
executable, [String]
argv) = (String
"open", [String
url])
          exitCodeToBool :: ExitCode -> Bool
exitCodeToBool ExitCode
ExitSuccess     = Bool
True
          exitCodeToBool (ExitFailure Int
_) = Bool
False