Add generic derivations and To/FromJSON instances
This commit is contained in:
@@ -1,16 +1,23 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Dodge.Data.Hammer where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Control.Lens
|
||||
data HammerType
|
||||
= NoHammer
|
||||
| HasHammer {_hammerPosition :: HammerPosition}
|
||||
deriving
|
||||
(Eq, Ord, Show,Read)
|
||||
deriving (Eq, Ord, Show,Read,Generic)
|
||||
instance ToJSON HammerType where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON HammerType
|
||||
data HammerPosition
|
||||
= HammerDown
|
||||
| HammerReleased
|
||||
| HammerUp
|
||||
deriving
|
||||
(Eq, Ord, Show,Read)
|
||||
deriving (Eq, Ord, Show,Read,Generic)
|
||||
instance ToJSON HammerPosition where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON HammerPosition
|
||||
makeLenses ''HammerType
|
||||
|
||||
Reference in New Issue
Block a user