Blame examples/Twitter/Generic.hs

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