{-# LANGUAGE DeriveGeneric #-} module Web.Tweet.Parser.FastParser ( fastParse , FastTweet (..) ) where import GHC.Generics import Data.Aeson import qualified Data.Text as T import qualified Data.ByteString.Lazy as BSL import qualified Data.ByteString as BS data FastTweet = FastTweet { text :: !T.Text , name :: !T.Text , screenName :: !T.Text , tweetId :: !Int , quoted_status :: Maybe FastTweet , retweets :: !Int , favorites :: !Int } deriving (Generic, Eq, Show) instance FromJSON FastTweet fastParse :: BS.ByteString -> Either String [FastTweet] fastParse = eitherDecode . BSL.fromStrict