json-schema 0.7.4.1 → 0.7.4.2
raw patch · 11 files changed
+61/−43 lines, 11 filesdep +base-compat-batteriesdep −aeson-utilsdep −ghc-primdep −taggeddep ~aesondep ~base
Dependencies added: base-compat-batteries
Dependencies removed: aeson-utils, ghc-prim, tagged
Dependency ranges changed: aeson, base
Files
- CHANGELOG.md +4/−0
- examples/Example.hs +3/−2
- json-schema.cabal +29/−27
- src/Data/JSON/Schema.hs +1/−1
- src/Data/JSON/Schema/Combinators.hs +2/−0
- src/Data/JSON/Schema/Generic.hs +3/−2
- src/Data/JSON/Schema/Types.hs +5/−3
- src/Data/JSON/Schema/Validate.hs +4/−2
- tests/Main.hs +3/−1
- tests/Test/Util.hs +5/−4
- tests/Test/Validate.hs +2/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # Changelog +#### 0.7.4.2++* Add `base-compat-batteries` dependency, and remove test dependency on `aeson-utils`.+ #### 0.7.4.1 * aeson-0.10 produces new error messages so the test-suite was updated to reflect this.
examples/Example.hs view
@@ -4,8 +4,9 @@ #-} module Example where -import Control.Applicative-import Control.Monad+import Prelude.Compat++import Control.Monad.Compat import Data.Aeson hiding (Object) import Data.Text (Text) import GHC.Generics
json-schema.cabal view
@@ -1,5 +1,5 @@ name: json-schema-version: 0.7.4.1+version: 0.7.4.2 synopsis: Types and type classes for defining JSON schemas. description: Types and type classes for defining JSON schemas. .@@ -13,7 +13,14 @@ maintainer: code@silk.co category: Data build-type: Simple-cabal-version: >=1.8+cabal-version: >=1.10+tested-with:+ GHC == 7.6.3+ , GHC == 7.8.4+ , GHC == 7.10.3+ , GHC == 8.0.2+ , GHC == 8.2.2+ , GHC == 8.4.3 extra-source-files: CHANGELOG.md@@ -25,8 +32,10 @@ location: https://github.com/silkapp/json-schema.git library- ghc-options: -Wall- hs-source-dirs: src+ ghc-options: -Wall+ hs-source-dirs: src+ default-extensions: NoImplicitPrelude+ default-language: Haskell2010 exposed-modules: Data.JSON.Schema Data.JSON.Schema.Combinators@@ -35,46 +44,39 @@ Data.JSON.Schema.Validate build-depends: base >= 4.4 && < 5- , aeson >= 0.7 && < 0.11+ , base-compat-batteries == 0.10.*+ , aeson >= 0.7 && < 1.5 , containers >= 0.3 && < 0.6 , generic-aeson == 0.2.*- , generic-deriving >= 1.6 && < 1.10+ , generic-deriving >= 1.6 && < 1.13 , mtl >= 2.1 && < 2.3 , scientific == 0.3.* , text >= 0.10 && < 1.3- , time >= 1.2 && < 1.6+ , time >= 1.2 && < 1.9 , unordered-containers == 0.2.*- , vector >= 0.10 && < 0.12- -- Data.Proxy.Proxy- if impl(ghc < 7.8)- build-depends: tagged >= 0.2 && < 0.9- -- GHC Generics- if impl(ghc < 7.6)- build-depends: ghc-prim == 0.2.*+ , vector >= 0.10 && < 0.13 test-suite json-schema-generic-aeson-tests- ghc-options: -Wall- hs-source-dirs: tests, examples- main-is: Main.hs- type: exitcode-stdio-1.0+ ghc-options: -Wall+ default-extensions: NoImplicitPrelude+ default-language: Haskell2010+ hs-source-dirs: tests, examples+ main-is: Main.hs+ type: exitcode-stdio-1.0 other-modules: Example Test.Util Test.Validate build-depends: base >= 4.4 && < 5- , aeson >= 0.7 && < 0.11- , aeson-utils >= 0.2 && < 0.4+ , base-compat-batteries == 0.10.*+ , aeson >= 0.9 && < 1.5 , attoparsec >= 0.10 && < 0.14 , bytestring >= 0.10 && < 0.12 , generic-aeson == 0.2.* , json-schema- , tasty >= 0.10 && < 0.12- , tasty-hunit == 0.9.*+ , tasty >= 0.10 && < 1.2+ , tasty-hunit >= 0.9 && < 0.11 , tasty-th == 0.1.* , text >= 0.10 && < 1.3- , vector >= 0.10 && < 0.12- if impl(ghc < 7.8)- build-depends: tagged >= 0.2 && < 0.9- if impl(ghc < 7.6)- build-depends: ghc-prim == 0.2.*+ , vector >= 0.10 && < 0.13
src/Data/JSON/Schema.hs view
@@ -6,4 +6,4 @@ import Data.JSON.Schema.Generic import Data.JSON.Schema.Types-import Data.Proxy+import Data.Proxy.Compat
src/Data/JSON/Schema/Combinators.hs view
@@ -17,6 +17,8 @@ , nullable ) where +import Prelude.Compat+ import Data.JSON.Schema.Types import Data.Text (Text) import qualified Data.Aeson as Aeson
src/Data/JSON/Schema/Generic.hs view
@@ -17,11 +17,12 @@ , gSchemaWithSettings ) where -import Control.Applicative hiding (empty, (<|>))+import Prelude.Compat+ import Data.JSON.Schema.Combinators import Data.JSON.Schema.Types import Data.Maybe-import Data.Proxy+import Data.Proxy.Compat import Data.Text (Text) import GHC.Generics import Generics.Deriving.ConNames
src/Data/JSON/Schema/Types.hs view
@@ -15,16 +15,18 @@ , unboundedLength ) where +import Prelude.Compat+ import Data.Fixed import Data.Int import Data.Maybe-import Data.Proxy+import Data.Proxy.Compat import Data.Scientific-import Data.String+import Data.String.Compat import Data.Text (Text) import Data.Time.Clock (UTCTime) import Data.Vector (Vector)-import Data.Word+import Data.Word.Compat import qualified Data.Aeson.Types as Aeson import qualified Data.HashMap.Strict as H import qualified Data.Map as M
src/Data/JSON/Schema/Validate.hs view
@@ -9,8 +9,10 @@ , ErrorType (..) ) where -import Control.Applicative-import Control.Monad.RWS.Strict+import Prelude.Compat++import Control.Monad.Compat+import Control.Monad.RWS.Strict (MonadReader, MonadWriter, RWS, ask, local, runRWS, tell) import Data.Aeson (Value) import Data.HashMap.Strict (HashMap) import Data.Scientific
tests/Main.hs view
@@ -9,8 +9,10 @@ #-} module Main (main) where +import Prelude.Compat+ import Data.Aeson hiding (Result)-import Data.Proxy+import Data.Proxy.Compat import GHC.Generics (Generic) import Generics.Generic.Aeson import Test.Tasty
tests/Test/Util.hs view
@@ -6,14 +6,15 @@ #-} module Test.Util where +import Prelude.Compat+ import Data.Aeson hiding (Result) import Data.Aeson.Parser ()-import Data.Aeson.Utils (eitherDecodeV) import Data.Attoparsec.Lazy import Data.ByteString.Lazy (ByteString) import Data.ByteString.Lazy.Char8 (unpack)-import Data.List (intersperse)-import Data.Proxy+import Data.List.Compat (intersperse)+import Data.Proxy.Compat import Test.Tasty.HUnit import qualified Data.Aeson.Parser as A import qualified Data.Aeson.Types as A@@ -25,7 +26,7 @@ -- | Serializes a value to an aeson Value and validates that against the type's schema valid :: forall a . (Show a, ToJSON a, FromJSON a, JSONSchema a) => a -> Assertion valid v = do- case eitherDecodeV (encode v) of+ case eitherDecode (encode v) of Left err -> error err Right r -> case V.toList $ validate sch r of [] -> assertBool "x" True
tests/Test/Validate.hs view
@@ -5,9 +5,10 @@ #-} module Test.Validate (tests) where +import Prelude.Compat+ import Data.ByteString.Lazy import Data.Vector as V- import Test.Tasty import Test.Tasty.HUnit import Test.Tasty.TH