packages feed

aeson-compat 0.3.4.0 → 0.3.5.0

raw patch · 3 files changed

+78/−16 lines, 3 filesdep ~aesonPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson

API changes (from Hackage documentation)

- Data.Aeson.Compat: AesonException :: String -> AesonException
- Data.Aeson.Compat: newtype AesonException
+ Data.Aeson.Compat: (.!=) :: Parser (Maybe a) -> a -> Parser a
+ Data.Aeson.Compat: (.:) :: FromJSON a => Object -> Text -> Parser a
+ Data.Aeson.Compat: (.=) :: ToJSON v => Text -> v -> kv
+ Data.Aeson.Compat: Array :: ~Array -> Value
+ Data.Aeson.Compat: Bool :: ~Bool -> Value
+ Data.Aeson.Compat: DotNetTime :: UTCTime -> DotNetTime
+ Data.Aeson.Compat: Error :: String -> Result a
+ Data.Aeson.Compat: Null :: Value
+ Data.Aeson.Compat: Number :: ~Scientific -> Value
+ Data.Aeson.Compat: Object :: ~Object -> Value
+ Data.Aeson.Compat: String :: ~Text -> Value
+ Data.Aeson.Compat: Success :: a -> Result a
+ Data.Aeson.Compat: [fromDotNetTime] :: DotNetTime -> UTCTime
+ Data.Aeson.Compat: class FromJSON a
+ Data.Aeson.Compat: class GFromJSON (f :: * -> *)
+ Data.Aeson.Compat: class GToEncoding (f :: * -> *)
+ Data.Aeson.Compat: class GToJSON (f :: * -> *)
+ Data.Aeson.Compat: class KeyValue kv
+ Data.Aeson.Compat: class ToJSON a
+ Data.Aeson.Compat: data Encoding :: *
+ Data.Aeson.Compat: data Parser a :: * -> *
+ Data.Aeson.Compat: data Result a :: * -> *
+ Data.Aeson.Compat: data Series :: *
+ Data.Aeson.Compat: data Value :: *
+ Data.Aeson.Compat: defaultOptions :: Options
+ Data.Aeson.Compat: encode :: ToJSON a => a -> ByteString
+ Data.Aeson.Compat: foldable :: (Foldable t, ToJSON a) => t a -> Encoding
+ Data.Aeson.Compat: fromEncoding :: Encoding -> Builder
+ Data.Aeson.Compat: fromJSON :: FromJSON a => Value -> Result a
+ Data.Aeson.Compat: gParseJSON :: Options -> Value -> Parser (f a)
+ Data.Aeson.Compat: gToEncoding :: Options -> f a -> Encoding
+ Data.Aeson.Compat: gToJSON :: Options -> f a -> Value
+ Data.Aeson.Compat: genericParseJSON :: (Generic a, GFromJSON (Rep a)) => Options -> Value -> Parser a
+ Data.Aeson.Compat: genericToEncoding :: (Generic a, GToEncoding (Rep a)) => Options -> a -> Encoding
+ Data.Aeson.Compat: genericToJSON :: (Generic a, GToJSON (Rep a)) => Options -> a -> Value
+ Data.Aeson.Compat: json :: Parser Value
+ Data.Aeson.Compat: json' :: Parser Value
+ Data.Aeson.Compat: newtype DotNetTime :: *
+ Data.Aeson.Compat: object :: [Pair] -> Value
+ Data.Aeson.Compat: pairs :: Series -> Encoding
+ Data.Aeson.Compat: parseJSON :: Value -> Parser a
+ Data.Aeson.Compat: toEncoding :: a -> Encoding
+ Data.Aeson.Compat: toJSON :: a -> Value
+ Data.Aeson.Compat: type Array = Vector Value
+ Data.Aeson.Compat: type Object = HashMap Text Value
+ Data.Aeson.Compat: value :: Parser Value
+ Data.Aeson.Compat: value' :: Parser Value
+ Data.Aeson.Compat: withArray :: String -> (Array -> Parser a) -> Value -> Parser a
+ Data.Aeson.Compat: withBool :: String -> (Bool -> Parser a) -> Value -> Parser a
+ Data.Aeson.Compat: withNumber :: String -> (Number -> Parser a) -> Value -> Parser a
+ Data.Aeson.Compat: withObject :: String -> (Object -> Parser a) -> Value -> Parser a
+ Data.Aeson.Compat: withScientific :: String -> (Scientific -> Parser a) -> Value -> Parser a
+ Data.Aeson.Compat: withText :: String -> (Text -> Parser a) -> Value -> Parser a

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+# 0.3.5.0++- Use explicit export list. Now we are sure we don't break interface.+- `value`, `value'` and `Parser` are exported from `Data.Aeson.Compat`+ # 0.3.4.0  - Add `NominalDiffTime` instances
aeson-compat.cabal view
@@ -3,7 +3,7 @@ -- see: https://github.com/sol/hpack  name:           aeson-compat-version:        0.3.4.0+version:        0.3.5.0 synopsis:       Compatibility layer for aeson description:    Compatibility layer for @aeson@ category:       Web
src/Data/Aeson/Compat.hs view
@@ -17,21 +17,77 @@ --   * '.:?' works as in @aeson <0.10@ --   * '.:!' works as '.:?' in @aeson ==0.10@ --   * Orphan instances 'FromJSON' 'Day' and 'FromJSON' 'LocalTime' for @aeson <0.10@+--   * 'Encoding' related functionality is not added. It's present only with @aeson >=0.10@ -- module Data.Aeson.Compat (-  -- * Generic decoding functions-  decode,-  decode',-  decodeStrict,-  decodeStrict',-  AesonException(..),-  -- * Either decoding functions-  eitherDecode, eitherDecode', eitherDecodeStrict, eitherDecodeStrict',-  -- * Operators-  (.:?), (.:!),-  -- * Re-exports-  -- | Original 'Data.Aeson..:?' operator is not re-exported-  module Data.Aeson,+    -- * Encoding and decoding+    -- ** Direct encoding+    decode,+    decode',+    eitherDecode,+    eitherDecode',+    encode,+    -- ** Variants for strict bytestrings+    decodeStrict,+    decodeStrict',+    eitherDecodeStrict,+    eitherDecodeStrict',+    -- * Core JSON types+    Value(..),+#if MIN_VERSION_aeson(0,10,0)+    Encoding,+    fromEncoding,+#endif+    Array,+    Object,+    -- * Convenience types+    DotNetTime(..),+    -- * Type conversion+    FromJSON(..),+    Result(..),+    fromJSON,+    ToJSON(..),+#if MIN_VERSION_aeson(0,10,0)+    KeyValue(..),+#endif+    -- ** Generic JSON classes and options+    GFromJSON(..),+    GToJSON(..),+#if MIN_VERSION_aeson(0,11,0)+    -- GToEncoding is introduced in 0.11.0.0+    GToEncoding(..),+#endif+    genericToJSON,+#if MIN_VERSION_aeson(0,10,0)+    genericToEncoding,+#endif+    genericParseJSON,+    defaultOptions,++    -- * Inspecting @'Value's@+    withObject,+    withText,+    withArray,+    withNumber,+    withScientific,+    withBool,+    -- * Constructors and accessors+#if MIN_VERSION_aeson(0,10,0)+    Series,+    pairs,+    foldable,+#endif+    (.:),+    (.:?),+    (.:!),+    (.!=),+    object,+    -- * Parsing+    json,+    json',+    value,+    value',+    Parser,   ) where  import Prelude ()@@ -44,14 +100,15 @@ #endif   ) -#if !MIN_VERSION_aeson (0,9,0) import           Data.Aeson.Parser (value, value')++#if !MIN_VERSION_aeson (0,9,0) import qualified Data.Attoparsec.ByteString as A import qualified Data.Attoparsec.ByteString.Char8 as A (skipSpace) import qualified Data.Attoparsec.Lazy as L #endif -import           Control.Monad.Catch+import           Control.Monad.Catch (MonadThrow (..), Exception) import           Data.Aeson.Types hiding ((.:?)) import           Data.ByteString as B import qualified Data.Scientific as Scientific