packages feed

aeson-schemas 1.0.2 → 1.0.3

raw patch · 6 files changed

+26/−9 lines, 6 filesdep ~first-class-familiesdep ~megaparsecdep ~template-haskellPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: first-class-families, megaparsec, template-haskell

API changes (from Hackage documentation)

- Data.Aeson.Schema.Internal: parseFail :: forall (schema :: SchemaType) m a. (Monad m, Typeable schema) => [Text] -> Value -> m a
+ Data.Aeson.Schema.Internal: parseFail :: forall (schema :: SchemaType) m a. (MonadFail m, Typeable schema) => [Text] -> Value -> m a

Files

CHANGELOG.md view
@@ -1,5 +1,9 @@ ## Upcoming +## 1.0.3++Support GHC 8.8+ ## 1.0.2  Bundle test data files in release tarball
aeson-schemas.cabal view
@@ -4,10 +4,10 @@ -- -- see: https://github.com/sol/hpack ----- hash: 492943d0169b4a3f5457ebaf335ee3b3630cfbfa520d699dd098450a55875d1a+-- hash: c2bdf380b742a87fa9d09969246278d74fefaa1c713dc1b131df3e2016de3fa0  name:           aeson-schemas-version:        1.0.2+version:        1.0.3 synopsis:       Easily consume JSON data on-demand with type-safety description:    Parse JSON data easily and safely without defining new data types. Useful                 for deeply nested JSON data, which is difficult to parse using the default@@ -119,11 +119,13 @@     , bytestring >=0.10.8.1 && <0.11     , first-class-families >=0.3.0.0 && <0.6.1     , megaparsec >=6.0.0 && <7.1-    , template-haskell >=2.12.0.0 && <2.15+    , template-haskell >=2.12.0.0 && <2.16     , text >=1.2.2.2 && <1.3     , unordered-containers >=0.2.8.0 && <0.3   if impl(ghc >= 8.0)-    ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances+    ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances+  if impl(ghc < 8.8)+    ghc-options: -Wnoncanonical-monadfail-instances   default-language: Haskell2010  test-suite aeson-schemas-test@@ -148,10 +150,12 @@     , raw-strings-qq >=1.1 && <1.2     , tasty >=0.11.3 && <1.3     , tasty-golden >=2.3.1.2 && <2.4-    , template-haskell >=2.12.0.0 && <2.15+    , template-haskell >=2.12.0.0 && <2.16     , text >=1.2.2.2 && <1.3     , th-test-utils >=1.0.0 && <1.1     , unordered-containers >=0.2.8.0 && <0.3   if impl(ghc >= 8.0)-    ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances -Wnoncanonical-monadfail-instances+    ghc-options: -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wnoncanonical-monad-instances+  if impl(ghc < 8.8)+    ghc-options: -Wnoncanonical-monadfail-instances   default-language: Haskell2010
src/Data/Aeson/Schema/Internal.hs view
@@ -7,6 +7,7 @@ Internal definitions for declaring JSON schemas. -} {-# LANGUAGE AllowAmbiguousTypes #-}+{-# LANGUAGE CPP #-} {-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE DefaultSignatures #-}@@ -28,6 +29,9 @@ module Data.Aeson.Schema.Internal where  import Control.Applicative ((<|>))+#if !MIN_VERSION_base(4,13,0)+import Control.Monad.Fail (MonadFail)+#endif import Data.Aeson (FromJSON(..), Value(..)) import Data.Aeson.Types (Parser) import Data.Bifunctor (first)@@ -190,7 +194,7 @@       pair = "\"" ++ key ++ "\": " ++ value  -- | A helper for creating fail messages when parsing a schema.-parseFail :: forall (schema :: SchemaType) m a. (Monad m, Typeable schema) => [Text] -> Value -> m a+parseFail :: forall (schema :: SchemaType) m a. (MonadFail m, Typeable schema) => [Text] -> Value -> m a parseFail path value = fail $ msg ++ ": " ++ ellipses 200 (show value)   where     msg = if null path
src/Data/Aeson/Schema/TH/Parse.hs view
@@ -16,6 +16,9 @@ import Control.Applicative (empty) #endif import Control.Monad (void)+#if !MIN_VERSION_base(4,13,0)+import Control.Monad.Fail (MonadFail)+#endif import Data.Functor (($>)) import Data.List (intercalate) import Data.Void (Void)@@ -32,7 +35,7 @@ errorBundlePretty = parseErrorPretty #endif -parse :: Monad m => Parser a -> String -> m a+parse :: MonadFail m => Parser a -> String -> m a parse parser s = either (fail . errorBundlePretty) return $ runParser parser s s  {- Parser primitives -}
test/AllTypes.hs view
@@ -2,12 +2,13 @@ {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeApplications #-}  module AllTypes where  import Data.Aeson (FromJSON(..), withText) import Data.Aeson.Schema-import Data.Aeson.Schema.TH (mkEnum, mkGetter)+import Data.Aeson.Schema.TH (mkEnum) import qualified Data.Text as Text  import Util (getMockedResult)
test/Main.hs view
@@ -3,6 +3,7 @@ {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-}  import Data.Aeson.Schema (Object, get, unwrap)