on 1.2.2.0 help sign in
65 lines 1.9 kB history raw
1{-# LANGUAGE OverloadedStrings #-}
2{-# LANGUAGE RecordWildCards #-}
4{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
5{-# OPTIONS_GHC -fno-warn-orphans #-}
7module Compare.BufferBuilder () where
9import Prelude ()
10import Prelude.Compat
12import Data.BufferBuilder.Json
13import Data.Int (Int64)
14import Data.Monoid ((<>))
15import Prelude hiding (id)
16import Twitter
17import qualified Data.BufferBuilder.Utf8 as UB
19instance (ToJson a, ToJson b) => ToJson (a,b) where
20 toJson (a,b) = array [toJson a, toJson b]
22instance ToJson Int64 where
23 toJson a = unsafeValueUtf8Builder $
24 UB.appendDecimalSignedInt (fromIntegral a)
25 {-# INLINE toJson #-}
27instance ToJson Metadata where
28 toJson Metadata{..} = toJson $
29 "result_type" .= result_type
31instance ToJson Geo where
32 toJson Geo{..} = toJson $
33 "type_" .= type_
34 <> "coordinates" .= coordinates
36instance ToJson Story where
37 toJson Story{..} = toJson $
38 "from_user_id_str" .= from_user_id_str
39 <> "profile_image_url" .= profile_image_url
40 <> "created_at" .= created_at
41 <> "from_user" .= from_user
42 <> "id_str" .= id_str
43 <> "metadata" .= metadata
44 <> "to_user_id" .= to_user_id
45 <> "text" .= text
46 <> "id" .= id_
47 <> "from_user_id" .= from_user_id
48 <> "geo" .= geo
49 <> "iso_language_code" .= iso_language_code
50 <> "to_user_id_str" .= to_user_id_str
51 <> "source" .= source
53instance ToJson Result where
54 toJson Result{..} = toJson $
55 "results" .= results
56 <> "max_id" .= max_id
57 <> "since_id" .= since_id
58 <> "refresh_url" .= refresh_url
59 <> "next_page" .= next_page
60 <> "results_per_page" .= results_per_page
61 <> "page" .= page
62 <> "completed_in" .= completed_in
63 <> "since_id_str" .= since_id_str
64 <> "max_id_str" .= max_id_str
65 <> "query" .= query