module Patrol.Type.Platform where import qualified Data.Aeson as Aeson data Platform = As3 | C | Cfml | Cocoa | Csharp | Elixir | Haskell | Go | Groovy | Java | Javascript | Native | Node | Objc | Other | Perl | Php | Python | Ruby deriving (Platform -> Platform -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Platform -> Platform -> Bool $c/= :: Platform -> Platform -> Bool == :: Platform -> Platform -> Bool $c== :: Platform -> Platform -> Bool Eq, Int -> Platform -> ShowS [Platform] -> ShowS Platform -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Platform] -> ShowS $cshowList :: [Platform] -> ShowS show :: Platform -> String $cshow :: Platform -> String showsPrec :: Int -> Platform -> ShowS $cshowsPrec :: Int -> Platform -> ShowS Show) instance Aeson.ToJSON Platform where toJSON :: Platform -> Value toJSON Platform platform = forall a. ToJSON a => a -> Value Aeson.toJSON forall a b. (a -> b) -> a -> b $ case Platform platform of Platform As3 -> String "as3" Platform C -> String "c" Platform Cfml -> String "cfml" Platform Cocoa -> String "cocoa" Platform Csharp -> String "csharp" Platform Elixir -> String "elixir" Platform Haskell -> String "haskell" Platform Go -> String "go" Platform Groovy -> String "groovy" Platform Java -> String "java" Platform Javascript -> String "javascript" Platform Native -> String "native" Platform Node -> String "node" Platform Objc -> String "objc" Platform Other -> String "other" Platform Perl -> String "perl" Platform Php -> String "php" Platform Python -> String "python" Platform Ruby -> String "ruby"