module Effectful.Notify.Internal.Os
( Os (..),
)
where
import Data.Text.Display (Display (displayBuilder))
data Os
=
Linux
|
Osx
|
Windows
deriving stock (Os
Os -> Os -> Bounded Os
forall a. a -> a -> Bounded a
$cminBound :: Os
minBound :: Os
$cmaxBound :: Os
maxBound :: Os
Bounded, Os -> Os -> Bool
(Os -> Os -> Bool) -> (Os -> Os -> Bool) -> Eq Os
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: Os -> Os -> Bool
== :: Os -> Os -> Bool
$c/= :: Os -> Os -> Bool
/= :: Os -> Os -> Bool
Eq, Int -> Os -> ShowS
[Os] -> ShowS
Os -> String
(Int -> Os -> ShowS)
-> (Os -> String) -> ([Os] -> ShowS) -> Show Os
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> Os -> ShowS
showsPrec :: Int -> Os -> ShowS
$cshow :: Os -> String
show :: Os -> String
$cshowList :: [Os] -> ShowS
showList :: [Os] -> ShowS
Show)
instance Display Os where
displayBuilder :: Os -> Builder
displayBuilder = \case
Os
Linux -> Builder
"linux"
Os
Osx -> Builder
"osx"
Os
Windows -> Builder
"windows"