|
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.JsonBuilder () where
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Prelude ()
|
|
Packit |
9a2dfb |
import Prelude.Compat
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Data.Json.Builder
|
|
Packit |
9a2dfb |
import Data.Monoid ((<>))
|
|
Packit |
9a2dfb |
import Prelude hiding (id)
|
|
Packit |
9a2dfb |
import Twitter
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance JsObject Metadata where
|
|
Packit |
9a2dfb |
toObject Metadata{..} = row "result_type" result_type
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance Value Metadata where
|
|
Packit |
9a2dfb |
toJson = toJson . toObject
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance JsObject Geo where
|
|
Packit |
9a2dfb |
toObject Geo{..} =
|
|
Packit |
9a2dfb |
row "type_" type_ <>
|
|
Packit |
9a2dfb |
row "coordinates" coordinates
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance Value Geo where
|
|
Packit |
9a2dfb |
toJson = toJson . toObject
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance Value a => Value (Maybe a) where
|
|
Packit |
9a2dfb |
toJson (Just a) = toJson a
|
|
Packit |
9a2dfb |
toJson Nothing = jsNull
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance JsObject Story where
|
|
Packit |
9a2dfb |
toObject Story{..} =
|
|
Packit |
9a2dfb |
row "from_user_id_str" from_user_id_str <>
|
|
Packit |
9a2dfb |
row "profile_image_url" profile_image_url <>
|
|
Packit |
9a2dfb |
row "created_at" created_at <>
|
|
Packit |
9a2dfb |
row "from_user" from_user <>
|
|
Packit |
9a2dfb |
row "id_str" id_str <>
|
|
Packit |
9a2dfb |
row "metadata" metadata <>
|
|
Packit |
9a2dfb |
row "to_user_id" to_user_id <>
|
|
Packit |
9a2dfb |
row "text" text <>
|
|
Packit |
9a2dfb |
row "id" id_ <>
|
|
Packit |
9a2dfb |
row "from_user_id" from_user_id <>
|
|
Packit |
9a2dfb |
row "geo" geo <>
|
|
Packit |
9a2dfb |
row "iso_language_code" iso_language_code <>
|
|
Packit |
9a2dfb |
row "to_user_id_str" to_user_id_str <>
|
|
Packit |
9a2dfb |
row "source" source
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance Value Story where
|
|
Packit |
9a2dfb |
toJson = toJson . toObject
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance JsObject Result where
|
|
Packit |
9a2dfb |
toObject Result{..} =
|
|
Packit |
9a2dfb |
row "results" results <>
|
|
Packit |
9a2dfb |
row "max_id" max_id <>
|
|
Packit |
9a2dfb |
row "since_id" since_id <>
|
|
Packit |
9a2dfb |
row "refresh_url" refresh_url <>
|
|
Packit |
9a2dfb |
row "next_page" next_page <>
|
|
Packit |
9a2dfb |
row "results_per_page" results_per_page <>
|
|
Packit |
9a2dfb |
row "page" page <>
|
|
Packit |
9a2dfb |
row "completed_in" completed_in <>
|
|
Packit |
9a2dfb |
row "since_id_str" since_id_str <>
|
|
Packit |
9a2dfb |
row "max_id_str" max_id_str <>
|
|
Packit |
9a2dfb |
row "query" query
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance Value Result where
|
|
Packit |
9a2dfb |
toJson = toJson . toObject
|