|
Packit |
9a2dfb |
-- Use GHC generics to automatically generate good instances.
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
{-# LANGUAGE CPP #-}
|
|
Packit |
9a2dfb |
{-# OPTIONS_GHC -fno-warn-orphans #-}
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
#ifdef HAS_BOTH_AESON_AND_BENCHMARKS
|
|
Packit |
9a2dfb |
{-# LANGUAGE PackageImports #-}
|
|
Packit |
9a2dfb |
#endif
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
module Twitter.Generic
|
|
Packit |
9a2dfb |
(
|
|
Packit |
9a2dfb |
Metadata(..)
|
|
Packit |
9a2dfb |
, Geo(..)
|
|
Packit |
9a2dfb |
, Story(..)
|
|
Packit |
9a2dfb |
, Result(..)
|
|
Packit |
9a2dfb |
) where
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Prelude ()
|
|
Packit |
9a2dfb |
import Prelude.Compat ()
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
import Twitter
|
|
Packit |
9a2dfb |
import Twitter.Options
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
#ifndef HAS_BOTH_AESON_AND_BENCHMARKS
|
|
Packit |
9a2dfb |
import Data.Aeson (ToJSON (..), FromJSON (..), genericToJSON, genericToEncoding, genericParseJSON)
|
|
Packit |
9a2dfb |
#else
|
|
Packit |
9a2dfb |
import "aeson" Data.Aeson (ToJSON (..), FromJSON (..), genericToJSON, genericToEncoding, genericParseJSON)
|
|
Packit |
9a2dfb |
import qualified "aeson-benchmarks" Data.Aeson as B
|
|
Packit |
9a2dfb |
#endif
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJSON Metadata where
|
|
Packit |
9a2dfb |
toJSON = genericToJSON twitterOptions
|
|
Packit |
9a2dfb |
toEncoding = genericToEncoding twitterOptions
|
|
Packit |
9a2dfb |
instance FromJSON Metadata where
|
|
Packit |
9a2dfb |
parseJSON = genericParseJSON twitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJSON Geo where
|
|
Packit |
9a2dfb |
toJSON = genericToJSON twitterOptions
|
|
Packit |
9a2dfb |
toEncoding = genericToEncoding twitterOptions
|
|
Packit |
9a2dfb |
instance FromJSON Geo where
|
|
Packit |
9a2dfb |
parseJSON = genericParseJSON twitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJSON Story where
|
|
Packit |
9a2dfb |
toJSON = genericToJSON twitterOptions
|
|
Packit |
9a2dfb |
toEncoding = genericToEncoding twitterOptions
|
|
Packit |
9a2dfb |
instance FromJSON Story where
|
|
Packit |
9a2dfb |
parseJSON = genericParseJSON twitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance ToJSON Result where
|
|
Packit |
9a2dfb |
toJSON = genericToJSON twitterOptions
|
|
Packit |
9a2dfb |
toEncoding = genericToEncoding twitterOptions
|
|
Packit |
9a2dfb |
instance FromJSON Result where
|
|
Packit |
9a2dfb |
parseJSON = genericParseJSON twitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
#ifdef HAS_BOTH_AESON_AND_BENCHMARKS
|
|
Packit |
9a2dfb |
instance B.ToJSON Metadata where
|
|
Packit |
9a2dfb |
toJSON = B.genericToJSON btwitterOptions
|
|
Packit |
9a2dfb |
toEncoding = B.genericToEncoding btwitterOptions
|
|
Packit |
9a2dfb |
instance B.FromJSON Metadata where
|
|
Packit |
9a2dfb |
parseJSON = B.genericParseJSON btwitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance B.ToJSON Geo where
|
|
Packit |
9a2dfb |
toJSON = B.genericToJSON btwitterOptions
|
|
Packit |
9a2dfb |
toEncoding = B.genericToEncoding btwitterOptions
|
|
Packit |
9a2dfb |
instance B.FromJSON Geo where
|
|
Packit |
9a2dfb |
parseJSON = B.genericParseJSON btwitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance B.ToJSON Story where
|
|
Packit |
9a2dfb |
toJSON = B.genericToJSON btwitterOptions
|
|
Packit |
9a2dfb |
toEncoding = B.genericToEncoding btwitterOptions
|
|
Packit |
9a2dfb |
instance B.FromJSON Story where
|
|
Packit |
9a2dfb |
parseJSON = B.genericParseJSON btwitterOptions
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
instance B.ToJSON Result where
|
|
Packit |
9a2dfb |
toJSON = B.genericToJSON btwitterOptions
|
|
Packit |
9a2dfb |
toEncoding = B.genericToEncoding btwitterOptions
|
|
Packit |
9a2dfb |
instance B.FromJSON Result where
|
|
Packit |
9a2dfb |
parseJSON = B.genericParseJSON btwitterOptions
|
|
Packit |
9a2dfb |
#endif
|