23 lines
425 B
Haskell
23 lines
425 B
Haskell
|
{-# LANGUAGE DeriveGeneric #-}
|
||
|
module Message.Server (
|
||
|
Message(..)
|
||
|
) where
|
||
|
|
||
|
import Data.Aeson (ToJSON(..), genericToEncoding, defaultOptions)
|
||
|
import Game (Game)
|
||
|
import GHC.Generics (Generic)
|
||
|
|
||
|
data Message =
|
||
|
Init {
|
||
|
game :: Game
|
||
|
}
|
||
|
| Update {
|
||
|
game :: Game
|
||
|
}
|
||
|
| Error {
|
||
|
error :: String
|
||
|
} deriving (Generic)
|
||
|
|
||
|
instance ToJSON Message where
|
||
|
toEncoding = genericToEncoding defaultOptions
|