game/src/Message/Client.hs

21 lines
472 B
Haskell

{-# 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