From bd4dda3ae599bbc5a280fd9431674d1597fe60ac Mon Sep 17 00:00:00 2001 From: Boyd Stephen Smith Jr Date: Sat, 16 Nov 2013 19:21:56 -0600 Subject: [PATCH] Substitute "SingleMarket" -> "Market" --- Cryptsy/API/Public/{SingleMarket.hs => Market.hs} | 18 +++++++++--------- Cryptsy/API/Public/MarketData/New.hs | 12 ++++++------ Main.hs | 4 ++-- 3 files changed, 17 insertions(+), 17 deletions(-) rename Cryptsy/API/Public/{SingleMarket.hs => Market.hs} (90%) diff --git a/Cryptsy/API/Public/SingleMarket.hs b/Cryptsy/API/Public/Market.hs similarity index 90% rename from Cryptsy/API/Public/SingleMarket.hs rename to Cryptsy/API/Public/Market.hs index 595e3b6..63053ec 100644 --- a/Cryptsy/API/Public/SingleMarket.hs +++ b/Cryptsy/API/Public/Market.hs @@ -1,5 +1,5 @@ -module Cryptsy.API.Public.SingleMarket - ( GSingleMarket(..), SingleMarket +module Cryptsy.API.Public.Market + ( GMarket(..), Market , withComponents, withText , module Cryptsy.API.Public.Order , module Cryptsy.API.Public.Trade @@ -39,7 +39,7 @@ import qualified Cryptsy.API.Public.Order as Order import Cryptsy.API.Public.Trade (GTrade(Trade, time)) import qualified Cryptsy.API.Public.Trade as Trade -data GSingleMarket p q dt t = SingleMarket +data GMarket p q dt t = Market { marketid :: Text , label :: Text , lasttradeprice :: p @@ -53,10 +53,10 @@ data GSingleMarket p q dt t = SingleMarket , sellorders :: Vector (GOrder p q t) , buyorders :: Vector (GOrder p q t) } deriving Show -type SingleMarket = GSingleMarket Text Text Text Text +type Market = GMarket Text Text Text Text instance (FromJSON p, FromJSON q, FromJSON dt, FromJSON t) => - FromJSON (GSingleMarket p q dt t) + FromJSON (GMarket p q dt t) where parseJSON = withObject "market" $ withComponents parseJSON parseJSON parseJSON parseJSON @@ -67,7 +67,7 @@ withComponents :: (Value -> Parser p) -- ^ price parser -> (Value -> Parser q) -- ^ quantity parser -> (Value -> Parser dt) -- ^ date/time parser -> (Value -> Parser t) -- ^ total parser - -> Object -> Parser (GSingleMarket p q dt t) + -> Object -> Parser (GMarket p q dt t) withComponents parsePrice parseQuantity parseDatetime parseTotal = withAllComponents parsePrice @@ -93,7 +93,7 @@ withText :: (Text -> Parser p) -- ^ price parser -> (Text -> Parser q) -- ^ quantity parser -> (Text -> Parser dt) -- ^ date/time parser -> (Text -> Parser t) -- ^ total parser - -> Object -> Parser (GSingleMarket p q dt t) + -> Object -> Parser (GMarket p q dt t) withText parsePrice parseQuantity parseDatetime parseTotal = withAllComponents parseLastTradePrice parseVolume @@ -124,9 +124,9 @@ withAllComponents :: (Value -> Parser p) -> (Value -> Parser (Vector (GTrade dt p q t))) -> (Value -> Parser (Vector (GOrder p q t))) -> (Value -> Parser (Vector (GOrder p q t))) - -> Object -> Parser (GSingleMarket p q dt t) + -> Object -> Parser (GMarket p q dt t) withAllComponents pltp pv pltt prt pso pbo o = - SingleMarket <$> + Market <$> o .: pack "marketid" <*> o .: pack "label" <*> (o .: pack "lasttradeprice" >>= pltp) <*> diff --git a/Cryptsy/API/Public/MarketData/New.hs b/Cryptsy/API/Public/MarketData/New.hs index 6c520e6..0310d06 100644 --- a/Cryptsy/API/Public/MarketData/New.hs +++ b/Cryptsy/API/Public/MarketData/New.hs @@ -3,7 +3,7 @@ module Cryptsy.API.Public.MarketData.New ( GMarketData(..), MarketData , withComponents, withMarket , getMarketData, marketData - , module Cryptsy.API.Public.SingleMarket + , module Cryptsy.API.Public.Market -- |Re-exported from Data.Text , Text -- |Re-exported from Data.Aeson @@ -36,8 +36,8 @@ import qualified Data.HashMap.Strict as HM (lookup) -- this pacakge import Cryptsy.API.Public -import Cryptsy.API.Public.SingleMarket - ( GSingleMarket(..), SingleMarket +import Cryptsy.API.Public.Market + ( GMarket(..), Market , GOrder(Order) -- for re-export , GTrade(Trade, time) -- for re-export ) @@ -46,7 +46,7 @@ marketdatav2URL :: String marketdatav2URL = "http://pubapi.cryptsy.com/api.php?method=marketdatav2" newtype GMarketData p q dt t = - MarketData { markets :: (HashMap Text (GSingleMarket p q dt t)) } + MarketData { markets :: (HashMap Text (GMarket p q dt t)) } deriving Show type MarketData = GMarketData Text Text Text Text @@ -56,12 +56,12 @@ instance (FromJSON p, FromJSON q, FromJSON dt, FromJSON t) => parseJSON = withObject "markets" $ withComponents parseJSON -- |Build parser for multiple markets from parser for single market. -withComponents :: (Value -> Parser (GSingleMarket p q dt t)) -- ^ market parser +withComponents :: (Value -> Parser (GMarket p q dt t)) -- ^ market parser -> Object -> Parser (GMarketData p q dt t) withComponents parseMarket = fmap MarketData <$> mapM parseMarket -- |Build parser for multiple markets from parser for single market object. -withMarket :: (Object -> Parser (GSingleMarket p q dt t)) -- ^ market parser +withMarket :: (Object -> Parser (GMarket p q dt t)) -- ^ market parser -> Object -> Parser (GMarketData p q dt t) withMarket parseMarket = withComponents (withObject "market" parseMarket) diff --git a/Main.hs b/Main.hs index 7690f9e..a112885 100644 --- a/Main.hs +++ b/Main.hs @@ -75,8 +75,8 @@ import qualified Data.HashMap.Strict as HM (lookup) -- this package import Cryptsy.API.Public.MarketData.New (GMarketData(..), marketData) import qualified Cryptsy.API.Public.MarketData.New as Markets (withMarket) -import Cryptsy.API.Public.SingleMarket (GSingleMarket(..)) -import qualified Cryptsy.API.Public.SingleMarket as Market (withText) +import Cryptsy.API.Public.Market (GMarket(..)) +import qualified Cryptsy.API.Public.Market as Market (withText) import Cryptsy.API.Public.Trade (GTrade) import qualified Cryptsy.API.Public.Trade as Trade ( price, quantity, total ) -- 2.11.4.GIT