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 a b. (a -> b) -> IO a -> IO b
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