pandoc-types 1.12.1.2 → 1.12.2
raw patch · 2 files changed
+88/−3 lines, 2 files
Files
- Text/Pandoc/Definition.hs +87/−2
- pandoc-types.cabal +1/−1
Text/Pandoc/Definition.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE DeriveDataTypeable, DeriveGeneric #-}+{-# LANGUAGE DeriveDataTypeable, DeriveGeneric, FlexibleContexts, CPP #-} {- Copyright (C) 2006-2013 John MacFarlane <jgm@berkeley.edu>@@ -59,9 +59,10 @@ import Data.Generics (Data, Typeable) import Data.Ord (comparing) import Data.Aeson (FromJSON(..), ToJSON(..))+import qualified Data.Aeson.Types as Aeson import Control.Monad (guard) import qualified Data.Map as M-import GHC.Generics (Generic)+import GHC.Generics (Generic, Rep (..)) import Data.String import Data.Char (toLower) import Data.Monoid@@ -257,41 +258,125 @@ -- derive generic instances of FromJSON, ToJSON: +#if MIN_VERSION_aeson(0,6,2)+jsonOpts :: Aeson.Options+jsonOpts = Aeson.Options{ Aeson.fieldLabelModifier = id+ , Aeson.constructorTagModifier = id+ , Aeson.allNullaryToStringTag = True+ , Aeson.omitNothingFields = False+ , Aeson.sumEncoding = Aeson.ObjectWithSingleField+ }++toJSON' :: (Generic a, Aeson.GToJSON (Rep a))+ => a -> Aeson.Value+toJSON' = Aeson.genericToJSON jsonOpts++parseJSON' :: (Generic a, Aeson.GFromJSON (Rep a))+ => Aeson.Value -> Aeson.Parser a+parseJSON' = Aeson.genericParseJSON jsonOpts+ instance FromJSON MetaValue+ where parseJSON = parseJSON' instance ToJSON MetaValue+ where toJSON = toJSON' instance FromJSON Meta+ where parseJSON = parseJSON' instance ToJSON Meta+ where toJSON = toJSON' instance FromJSON CitationMode+ where parseJSON = parseJSON' instance ToJSON CitationMode+ where toJSON = toJSON' instance FromJSON Citation+ where parseJSON = parseJSON' instance ToJSON Citation+ where toJSON = toJSON' instance FromJSON QuoteType+ where parseJSON = parseJSON' instance ToJSON QuoteType+ where toJSON = toJSON' instance FromJSON MathType+ where parseJSON = parseJSON' instance ToJSON MathType+ where toJSON = toJSON' instance FromJSON ListNumberStyle+ where parseJSON = parseJSON' instance ToJSON ListNumberStyle+ where toJSON = toJSON' instance FromJSON ListNumberDelim+ where parseJSON = parseJSON' instance ToJSON ListNumberDelim+ where toJSON = toJSON' instance FromJSON Alignment+ where parseJSON = parseJSON' instance ToJSON Alignment+ where toJSON = toJSON' instance FromJSON Format+ where parseJSON = parseJSON' instance ToJSON Format+ where toJSON = toJSON' instance FromJSON Inline+ where parseJSON = parseJSON' instance ToJSON Inline+ where toJSON = toJSON' instance FromJSON Block+ where parseJSON = parseJSON' instance ToJSON Block+ where toJSON = toJSON' instance FromJSON Pandoc+ where parseJSON = parseJSON' instance ToJSON Pandoc+ where toJSON = toJSON'++#else+instance FromJSON MetaValue+instance ToJSON MetaValue++instance FromJSON Meta+instance ToJSON Meta++instance FromJSON CitationMode+instance ToJSON CitationMode++instance FromJSON Citation+instance ToJSON Citation++instance FromJSON QuoteType+instance ToJSON QuoteType++instance FromJSON MathType+instance ToJSON MathType++instance FromJSON ListNumberStyle+instance ToJSON ListNumberStyle++instance FromJSON ListNumberDelim+instance ToJSON ListNumberDelim++instance FromJSON Alignment+instance ToJSON Alignment++instance FromJSON Format+instance ToJSON Format++instance FromJSON Inline+instance ToJSON Inline++instance FromJSON Block+instance ToJSON Block++instance FromJSON Pandoc+instance ToJSON Pandoc#endif+#endif
pandoc-types.cabal view
@@ -1,5 +1,5 @@ Name: pandoc-types-Version: 1.12.1.2+Version: 1.12.2 Synopsis: Types for representing a structured document Description: @Text.Pandoc.Definition@ defines the 'Pandoc' data structure, which is used by pandoc to represent