lens-aeson 1.0.0.4 → 1.0.0.5
raw patch · 3 files changed
+21/−15 lines, 3 filesdep ~aesondep ~vectorPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, vector
API changes (from Hackage documentation)
- Data.Aeson.Lens: instance AsJSON ByteString
- Data.Aeson.Lens: instance AsJSON String
- Data.Aeson.Lens: instance AsJSON Text
- Data.Aeson.Lens: instance AsJSON Value
- Data.Aeson.Lens: instance AsNumber ByteString
- Data.Aeson.Lens: instance AsNumber Primitive
- Data.Aeson.Lens: instance AsNumber Scientific
- Data.Aeson.Lens: instance AsNumber String
- Data.Aeson.Lens: instance AsNumber Text
- Data.Aeson.Lens: instance AsNumber Value
- Data.Aeson.Lens: instance AsPrimitive ByteString
- Data.Aeson.Lens: instance AsPrimitive Primitive
- Data.Aeson.Lens: instance AsPrimitive String
- Data.Aeson.Lens: instance AsPrimitive Text
- Data.Aeson.Lens: instance AsPrimitive Value
- Data.Aeson.Lens: instance AsValue ByteString
- Data.Aeson.Lens: instance AsValue String
- Data.Aeson.Lens: instance AsValue Text
- Data.Aeson.Lens: instance AsValue Value
- Data.Aeson.Lens: instance Data Primitive
- Data.Aeson.Lens: instance Eq Primitive
- Data.Aeson.Lens: instance Ixed Value
- Data.Aeson.Lens: instance Ord Primitive
- Data.Aeson.Lens: instance Plated Value
- Data.Aeson.Lens: instance Show Primitive
- Data.Aeson.Lens: instance Typeable Primitive
+ Data.Aeson.Lens: instance Control.Lens.At.Ixed Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Control.Lens.Plated.Plated Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON Data.ByteString.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON Data.ByteString.Lazy.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON Data.Text.Internal.Lazy.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON Data.Text.Internal.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsJSON GHC.Base.String
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.Aeson.Lens.Primitive
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.ByteString.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.ByteString.Lazy.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.Scientific.Scientific
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.Text.Internal.Lazy.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber Data.Text.Internal.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsNumber GHC.Base.String
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.Aeson.Lens.Primitive
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.ByteString.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.ByteString.Lazy.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.Text.Internal.Lazy.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive Data.Text.Internal.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsPrimitive GHC.Base.String
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue Data.Aeson.Types.Internal.Value
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue Data.ByteString.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue Data.ByteString.Lazy.Internal.ByteString
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue Data.Text.Internal.Lazy.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue Data.Text.Internal.Text
+ Data.Aeson.Lens: instance Data.Aeson.Lens.AsValue GHC.Base.String
+ Data.Aeson.Lens: instance Data.Data.Data Data.Aeson.Lens.Primitive
+ Data.Aeson.Lens: instance GHC.Classes.Eq Data.Aeson.Lens.Primitive
+ Data.Aeson.Lens: instance GHC.Classes.Ord Data.Aeson.Lens.Primitive
+ Data.Aeson.Lens: instance GHC.Show.Show Data.Aeson.Lens.Primitive
- Data.Aeson.Lens: _Number :: AsNumber t => Prism' t Scientific
+ Data.Aeson.Lens: _Number :: (AsNumber t, AsPrimitive t) => Prism' t Scientific
- Data.Aeson.Lens: _Primitive :: AsPrimitive t => Prism' t Primitive
+ Data.Aeson.Lens: _Primitive :: (AsPrimitive t, AsValue t) => Prism' t Primitive
Files
- CHANGELOG.markdown +6/−0
- lens-aeson.cabal +4/−7
- src/Data/Aeson/Lens.hs +11/−8
CHANGELOG.markdown view
@@ -1,3 +1,9 @@+1.0.0.5+----+* Fix tests to work against vector-0.11+* Documentation fixes+* No functional changes since 1.0.0.4+ 1.0.0.3 ---- * Move lens upper bound to < 5 like the other packages in the family
lens-aeson.cabal view
@@ -1,7 +1,7 @@ name: lens-aeson category: Numeric-version: 1.0.0.4-license: BSD3+version: 1.0.0.5+license: MIT cabal-version: >= 1.8 license-file: LICENSE author: Edward A. Kmett@@ -42,11 +42,11 @@ base >= 4.5 && < 5, lens >= 4.4 && < 5, text >= 0.11.1.10 && < 1.3,- vector >= 0.9 && < 0.11,+ vector >= 0.9 && < 0.12, unordered-containers >= 0.2.3 && < 0.3, attoparsec >= 0.10 && < 0.14, bytestring >= 0.9 && < 0.11,- aeson >= 0.7.0.5 && < 0.9,+ aeson >= 0.7.0.5 && < 0.10, scientific >= 0.3.2 && < 0.4 exposed-modules:@@ -72,6 +72,3 @@ generic-deriving, semigroups >= 0.9, simple-reflect >= 0.3.1-- if impl(ghc<7.6.1)- ghc-options: -Werror
src/Data/Aeson/Lens.hs view
@@ -16,6 +16,8 @@ -- Stability : experimental -- Portability: non-portable --+-- This module also exports orphan @'Ixed' 'Value'@ and+-- @'Plated' 'Value'@ instances. -------------------------------------------------------------------- module Data.Aeson.Lens (@@ -55,6 +57,7 @@ -- $setup -- >>> import Data.ByteString.Char8 as Strict.Char8+-- >>> import qualified Data.Vector as Vector -- >>> :set -XOverloadedStrings ------------------------------------------------------------------------------@@ -174,7 +177,7 @@ -- >>> "{\"a\": \"xyz\", \"b\": true}" ^? key "b" . _String -- Nothing --- -- >>> _Object._Wrapped # [("key" :: Text, _String # "value")]+ -- >>> _Object._Wrapped # [("key" :: Text, _String # "value")] :: String -- "{\"key\":\"value\"}" _String :: Prism' t Text _String = _Primitive.prism StringPrim (\v -> case v of StringPrim s -> Right s; _ -> Left v)@@ -187,10 +190,10 @@ -- >>> "{\"a\": \"xyz\", \"b\": true}" ^? key "a" . _Bool -- Nothing --- -- >>> _Bool # True+ -- >>> _Bool # True :: String -- "true" --- -- >>> _Bool # False+ -- >>> _Bool # False :: String -- "false" _Bool :: Prism' t Bool _Bool = _Primitive.prism BoolPrim (\v -> case v of BoolPrim b -> Right b; _ -> Left v)@@ -203,7 +206,7 @@ -- >>> "{\"a\": \"xyz\", \"b\": null}" ^? key "a" . _Null -- Nothing --- -- >>> _Null # ()+ -- >>> _Null # () :: String -- "null" _Null :: Prism' t () _Null = _Primitive.prism (const NullPrim) (\v -> case v of NullPrim -> Right (); _ -> Left v)@@ -262,8 +265,8 @@ class AsPrimitive t => AsValue t where -- |- -- >>> "[1,2,3]" ^? _Value- -- Just (Array (fromList [Number 1.0,Number 2.0,Number 3.0]))+ -- >>> preview _Value "[1,2,3]" == Just (Array (Vector.fromList [Number 1.0,Number 2.0,Number 3.0]))+ -- True _Value :: Prism' t Value -- |@@ -280,8 +283,8 @@ {-# INLINE _Object #-} -- |- -- >>> "[1,2,3]" ^? _Array- -- Just (fromList [Number 1.0,Number 2.0,Number 3.0])+ -- >>> preview _Array "[1,2,3]" == Just (Vector.fromList [Number 1.0,Number 2.0,Number 3.0])+ -- True _Array :: Prism' t (Vector Value) _Array = _Value.prism Array (\v -> case v of Array a -> Right a; _ -> Left v) {-# INLINE _Array #-}