|
Packit |
9a2dfb |
{-# LANGUAGE OverloadedStrings #-}
|
|
Packit |
9a2dfb |
{-# LANGUAGE RecordWildCards #-}
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
|
|
Packit |
9a2dfb |
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
module Compare.BufferBuilder () where
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Prelude ()
|
|
Packit |
9a2dfb |
import Prelude.Compat
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Data.BufferBuilder.Json
|
|
Packit |
9a2dfb |
import Data.Int (Int64)
|
|
Packit |
9a2dfb |
import Data.Monoid ((<>))
|
|
Packit |
9a2dfb |
import Prelude hiding (id)
|
|
Packit |
9a2dfb |
import Twitter
|
|
Packit |
9a2dfb |
import qualified Data.BufferBuilder.Utf8 as UB
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance (ToJson a, ToJson b) => ToJson (a,b) where
|
|
Packit |
9a2dfb |
toJson (a,b) = array [toJson a, toJson b]
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJson Int64 where
|
|
Packit |
9a2dfb |
toJson a = unsafeValueUtf8Builder $
|
|
Packit |
9a2dfb |
UB.appendDecimalSignedInt (fromIntegral a)
|
|
Packit |
9a2dfb |
{-# INLINE toJson #-}
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJson Metadata where
|
|
Packit |
9a2dfb |
toJson Metadata{..} = toJson $
|
|
Packit |
9a2dfb |
"result_type" .= result_type
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJson Geo where
|
|
Packit |
9a2dfb |
toJson Geo{..} = toJson $
|
|
Packit |
9a2dfb |
"type_" .= type_
|
|
Packit |
9a2dfb |
<> "coordinates" .= coordinates
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJson Story where
|
|
Packit |
9a2dfb |
toJson Story{..} = toJson $
|
|
Packit |
9a2dfb |
"from_user_id_str" .= from_user_id_str
|
|
Packit |
9a2dfb |
<> "profile_image_url" .= profile_image_url
|
|
Packit |
9a2dfb |
<> "created_at" .= created_at
|
|
Packit |
9a2dfb |
<> "from_user" .= from_user
|
|
Packit |
9a2dfb |
<> "id_str" .= id_str
|
|
Packit |
9a2dfb |
<> "metadata" .= metadata
|
|
Packit |
9a2dfb |
<> "to_user_id" .= to_user_id
|
|
Packit |
9a2dfb |
<> "text" .= text
|
|
Packit |
9a2dfb |
<> "id" .= id_
|
|
Packit |
9a2dfb |
<> "from_user_id" .= from_user_id
|
|
Packit |
9a2dfb |
<> "geo" .= geo
|
|
Packit |
9a2dfb |
<> "iso_language_code" .= iso_language_code
|
|
Packit |
9a2dfb |
<> "to_user_id_str" .= to_user_id_str
|
|
Packit |
9a2dfb |
<> "source" .= source
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJson Result where
|
|
Packit |
9a2dfb |
toJson Result{..} = toJson $
|
|
Packit |
9a2dfb |
"results" .= results
|
|
Packit |
9a2dfb |
<> "max_id" .= max_id
|
|
Packit |
9a2dfb |
<> "since_id" .= since_id
|
|
Packit |
9a2dfb |
<> "refresh_url" .= refresh_url
|
|
Packit |
9a2dfb |
<> "next_page" .= next_page
|
|
Packit |
9a2dfb |
<> "results_per_page" .= results_per_page
|
|
Packit |
9a2dfb |
<> "page" .= page
|
|
Packit |
9a2dfb |
<> "completed_in" .= completed_in
|
|
Packit |
9a2dfb |
<> "since_id_str" .= since_id_str
|
|
Packit |
9a2dfb |
<> "max_id_str" .= max_id_str
|
|
Packit |
9a2dfb |
<> "query" .= query
|