{-# LANGUAGE DeriveGeneric #-} module Message.Client ( Message(..) ) where import Data.Aeson (FromJSON(..), ToJSON(..), genericParseJSON, genericToEncoding, defaultOptions) import GHC.Generics (Generic) import Game (Game) data Message = NewGame | Resume { game :: Game } deriving (Generic) instance ToJSON Message where toEncoding = genericToEncoding defaultOptions instance FromJSON Message where parseJSON = genericParseJSON defaultOptions