Add generic derivations and To/FromJSON instances
This commit is contained in:
+11
-2
@@ -1,3 +1,4 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Item
|
||||
@@ -7,6 +8,8 @@ module Dodge.Data.Item
|
||||
, module Dodge.Data.Item.Params
|
||||
, module Dodge.Data.Item.Use
|
||||
) where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Control.Lens
|
||||
import Dodge.Data.Item.Misc
|
||||
import Dodge.Data.Item.Tweak
|
||||
@@ -40,13 +43,19 @@ data Item = Item
|
||||
, _itValue :: ItemValue
|
||||
, _itParams :: ItemParams
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON Item where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Item
|
||||
data ItemTweaks
|
||||
= NoTweaks
|
||||
| Tweakable
|
||||
{ _tweakParams :: IM.IntMap TweakParam
|
||||
, _tweakSel :: Int
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON ItemTweaks where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON ItemTweaks
|
||||
makeLenses ''Item
|
||||
makeLenses ''ItemTweaks
|
||||
|
||||
Reference in New Issue
Block a user