Blame examples/Twitter/TH.hs
|
Packit |
9a2dfb |
-- Use Template Haskell to generate good instances.
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
{-# LANGUAGE CPP #-}
|
|
Packit |
9a2dfb |
{-# LANGUAGE TemplateHaskell #-}
|
|
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.TH
|
|
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 |
|
|
Packit |
9a2dfb |
import Twitter
|
|
Packit |
9a2dfb |
import Twitter.Options
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
#ifndef HAS_BOTH_AESON_AND_BENCHMARKS
|
|
Packit |
9a2dfb |
import Data.Aeson.TH
|
|
Packit |
9a2dfb |
#else
|
|
Packit |
9a2dfb |
import "aeson" Data.Aeson.TH
|
|
Packit |
9a2dfb |
import qualified "aeson-benchmarks" Data.Aeson.TH as B
|
|
Packit |
9a2dfb |
#endif
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
$(deriveJSON twitterOptions ''Metadata)
|
|
Packit |
9a2dfb |
$(deriveJSON twitterOptions ''Geo)
|
|
Packit |
9a2dfb |
$(deriveJSON twitterOptions ''Story)
|
|
Packit |
9a2dfb |
$(deriveJSON twitterOptions ''Result)
|
|
Packit |
9a2dfb |
|
|
Packit |
9a2dfb |
#ifdef HAS_BOTH_AESON_AND_BENCHMARKS
|
|
Packit |
9a2dfb |
$(B.deriveJSON btwitterOptions ''Metadata)
|
|
Packit |
9a2dfb |
$(B.deriveJSON btwitterOptions ''Geo)
|
|
Packit |
9a2dfb |
$(B.deriveJSON btwitterOptions ''Story)
|
|
Packit |
9a2dfb |
$(B.deriveJSON btwitterOptions ''Result)
|
|
Packit |
9a2dfb |
#endif
|