packages feed

swagger2 2.3 → 2.3.0.1

raw patch · 7 files changed

+82/−23 lines, 7 filesdep +utf8-stringdep −aeson-qqdep ~QuickCheckdep ~aesondep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: utf8-string

Dependencies removed: aeson-qq

Dependency ranges changed: QuickCheck, aeson, base, base-compat-batteries, bytestring, containers, generics-sop, hspec, insert-ordered-containers, network, quickcheck-instances, scientific, template-haskell, uuid-types

API changes (from Hackage documentation)

- Data.Swagger.Lens: _Inline :: forall a_axzV a_a1Xom. Prism (Referenced a_a1Xom) (Referenced a_axzV) a_a1Xom a_axzV
+ Data.Swagger.Lens: _Inline :: forall a_axAf a_a1XoG. Prism (Referenced a_a1XoG) (Referenced a_axAf) a_a1XoG a_axAf
- Data.Swagger.Lens: _Ref :: forall a_axzV. Prism' (Referenced a_axzV) Reference
+ Data.Swagger.Lens: _Ref :: forall a_axAf. Prism' (Referenced a_axAf) Reference

Files

CHANGELOG.md view
@@ -1,3 +1,8 @@+2.3.0.1+-------++- Support GHC-8.6+ 2.3 --- 
swagger2.cabal view
@@ -1,8 +1,9 @@ cabal-version:       >=1.10 name:                swagger2-version:             2.3+version:             2.3.0.1  synopsis:            Swagger 2.0 data model+category:            Web, Swagger description:   This library is inteded to be used for decoding and encoding Swagger 2.0 API   specifications as well as manipulating them.@@ -16,14 +17,19 @@ author:              Nickolay Kudasov maintainer:          nickolay@getshoptv.com copyright:           (c) 2015-2016, GetShopTV-category:            Web, Swagger build-type:          Custom extra-source-files:     README.md   , CHANGELOG.md   , examples/*.hs   , include/overlapping-compat.h-tested-with:         GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2, GHC==8.4.3+tested-with:+  GHC ==7.8.4+   || ==7.10.3+   || ==8.0.2+   || ==8.2.2+   || ==8.4.3+   || ==8.6.1  custom-setup   setup-depends:@@ -53,12 +59,12 @@    -- GHC boot libraries   build-depends:-      base             >=4.7     && <4.12-    , bytestring       >=0.10.4  && <0.11-    , containers       >=0.5.5.1 && <0.6-    , template-haskell >=2.9.0.0 && <2.14-    , time             >=1.4.2   && <1.9-    , transformers     >=0.3.0.0 && <0.6+      base             >=4.7      && <4.13+    , bytestring       >=0.10.4.0 && <0.11+    , containers       >=0.5.5.1  && <0.7+    , template-haskell >=2.9.0.0  && <2.15+    , time             >=1.4.2    && <1.9+    , transformers     >=0.3.0.0  && <0.6    build-depends:       mtl              >=2.1     && <2.3@@ -66,18 +72,18 @@    -- other dependencies   build-depends:-      base-compat-batteries     >=0.10.1   && <0.11-    , aeson                     >=1.0.0.0  && <1.5+      base-compat-batteries     >=0.10.4   && <0.11+    , aeson                     >=1.3.1.1  && <1.5     , generics-sop              >=0.3.2.0  && <0.4     , hashable                  >=1.2.7.0  && <1.3     , http-media                >=0.7.1.2  && <0.8-    , insert-ordered-containers >=0.1.0.0  && <0.3+    , insert-ordered-containers >=0.2.1.0  && <0.3     , lens                      >=4.16.1   && <4.18     , network                   >=2.6.3.5  && <2.8-    , scientific                >=0.3.5.3  && <0.4+    , scientific                >=0.3.6.2  && <0.4     , transformers-compat       >=0.3      && <0.7     , unordered-containers      >=0.2.9.0  && <0.3-    , uuid-types                >=1.0.2    && <1.1+    , uuid-types                >=1.0.3    && <1.1     , vector                    >=0.12.0.1 && <0.13    default-language:    Haskell2010@@ -100,6 +106,7 @@     , insert-ordered-containers     , lens     , mtl+    , template-haskell     , text     , time     , unordered-containers@@ -107,15 +114,15 @@    -- test-suite only dependencies   build-depends:-      aeson-qq             >=0.8.2   && <0.9-    , hspec                >=2.4.8   && <2.6+      hspec                >=2.5.5   && <2.6     , HUnit                >=1.6.0.0 && <1.7-    , QuickCheck           >=2.10.1  && <2.12-    , quickcheck-instances >=0.3.18  && <0.14+    , QuickCheck           >=2.11.3  && <2.12+    , quickcheck-instances >=0.3.19  && <0.14+    , utf8-string          >=1.0.1.1 && <1.1    -- https://github.com/haskell/cabal/issues/3708   build-tool-depends:-    hspec-discover:hspec-discover >=2.4.8 && <2.6+    hspec-discover:hspec-discover >=2.5.5 && <2.6    other-modules:     SpecCommon@@ -124,6 +131,8 @@     Data.Swagger.ParamSchemaSpec     Data.Swagger.SchemaSpec     Data.Swagger.Schema.ValidationSpec++    Data.Aeson.QQ.Simple   default-language: Haskell2010  test-suite doctests
+ test/Data/Aeson/QQ/Simple.hs view
@@ -0,0 +1,45 @@+{-# LANGUAGE TemplateHaskell #-}+-- | Like "Data.Aeson.QQ" but without interpolation.+module Data.Aeson.QQ.Simple where++import           Data.Aeson+import           Data.ByteString.Lazy.UTF8  as UTF8+import qualified Data.HashMap.Strict        as HM+import qualified Data.Text                  as T+import qualified Data.Vector                as V+import           Language.Haskell.TH+import           Language.Haskell.TH.Quote+import           Language.Haskell.TH.Syntax (Lift (..))+import           Prelude                    ()+import           Prelude.Compat++aesonQQ :: QuasiQuoter+aesonQQ = QuasiQuoter+    { quoteExp  = aesonExp+    , quotePat  = const $ error "No quotePat defined for jsonQQ"+    , quoteType = const $ error "No quoteType defined for jsonQQ"+    , quoteDec  = const $ error "No quoteDec defined for jsonQQ"+    }++aesonExp :: String -> ExpQ+aesonExp txt =+  case eitherDecode $ UTF8.fromString txt of+    Left err  -> error $ "Error in aesonExp: " ++ show err+    Right val -> liftValue val++liftValue :: Value -> ExpQ+liftValue (String str) = [| String $(liftText str) |]+liftValue Null         = [| Null |]+liftValue (Number n)   = [| Number (fromRational $(return $ LitE $ RationalL (toRational n))) |]+liftValue (Bool b)     = [| Bool b |]+liftValue (Array arr)  = [| Array $ V.fromList $(ListE <$> traverse liftValue (V.toList arr)) |]+liftValue (Object obj) = [| object $jsList |]+    where+      jsList :: ExpQ+      jsList = ListE <$> traverse objs2list (HM.toList obj)++      objs2list :: (T.Text, Value) -> ExpQ+      objs2list (key, value) =  [| ($(liftText key), $(liftValue value)) |]++liftText :: T.Text -> ExpQ+liftText t = [| T.pack $(lift $ T.unpack t) |]
test/Data/Swagger/CommonTestTypes.hs view
@@ -8,7 +8,7 @@ import           Prelude.Compat  import           Data.Aeson            (ToJSON (..), ToJSONKey (..), Value)-import           Data.Aeson.QQ+import           Data.Aeson.QQ.Simple import           Data.Aeson.Types      (toJSONKeyText) import           Data.Char import           Data.Map              (Map)
test/Data/Swagger/ParamSchemaSpec.hs view
@@ -6,7 +6,7 @@ module Data.Swagger.ParamSchemaSpec where  import Data.Aeson (Value)-import Data.Aeson.QQ+import Data.Aeson.QQ.Simple import Data.Char import Data.Proxy import GHC.Generics
test/Data/Swagger/SchemaSpec.hs view
@@ -10,7 +10,7 @@ import Control.Lens ((^.)) import Data.Aeson (Value, ToJSON(..), ToJSONKey(..)) import Data.Aeson.Types (toJSONKeyText)-import Data.Aeson.QQ+import Data.Aeson.QQ.Simple import Data.Char import qualified Data.HashMap.Strict.InsOrd as InsOrdHashMap import Data.Proxy
test/Data/SwaggerSpec.hs view
@@ -10,7 +10,7 @@ import Control.Lens  import Data.Aeson-import Data.Aeson.QQ+import Data.Aeson.QQ.Simple import Data.HashMap.Strict (HashMap) import qualified Data.Set as Set import Data.Text (Text)