Browse Source

Generic instances for Tick and DataType

master
Denis Tereshkin 9 years ago
parent
commit
11d1d70e8b
  1. 7
      src/ATrade/Types.hs

7
src/ATrade/Types.hs

@ -1,4 +1,5 @@
{-# LANGUAGE OverloadedStrings, TypeSynonymInstances, FlexibleInstances #-} {-# LANGUAGE OverloadedStrings, TypeSynonymInstances, FlexibleInstances #-}
{-# LANGUAGE DeriveGeneric #-}
module ATrade.Types ( module ATrade.Types (
TickerId, TickerId,
@ -23,6 +24,8 @@ module ATrade.Types (
defaultClientSecurityParams defaultClientSecurityParams
) where ) where
import GHC.Generics
import Control.Monad import Control.Monad
import Data.Aeson import Data.Aeson
import Data.Aeson.Types import Data.Aeson.Types
@ -55,7 +58,7 @@ data DataType = Unknown
| Volatility | Volatility
| TotalSupply | TotalSupply
| TotalDemand | TotalDemand
deriving (Show, Eq, Ord) deriving (Show, Eq, Ord, Generic)
instance Enum DataType where instance Enum DataType where
fromEnum x fromEnum x
@ -89,7 +92,7 @@ data Tick = Tick {
timestamp :: !UTCTime, timestamp :: !UTCTime,
value :: !Decimal, value :: !Decimal,
volume :: !Integer volume :: !Integer
} deriving (Show, Eq) } deriving (Show, Eq, Generic)
serializeTickHeader :: Tick -> ByteString serializeTickHeader :: Tick -> ByteString
serializeTickHeader tick = B.fromStrict . E.encodeUtf8 $ security tick serializeTickHeader tick = B.fromStrict . E.encodeUtf8 $ security tick

Loading…
Cancel
Save