packages feed

servant-swagger-ui 0.2.1.2.2.8 → 0.2.2.2.2.8

raw patch · 4 files changed

+45/−42 lines, 4 filesdep ~aesondep ~basedep ~blaze-markupPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson, base, blaze-markup, servant, servant-server, servant-swagger, swagger2, text, transformers, transformers-compat

API changes (from Hackage documentation)

- Servant.Swagger.UI: instance (GHC.TypeLits.KnownSymbol dir, Servant.Utils.Links.HasLink api, Network.URI.URI ~ Servant.Utils.Links.MkLink api, Servant.Utils.Links.IsElem api api) => Text.Blaze.ToMarkup (Servant.Swagger.UI.SwaggerUiHtml dir api)
+ Servant.Swagger.UI: instance (GHC.TypeLits.KnownSymbol dir, Servant.Utils.Links.HasLink api, Servant.Utils.Links.Link ~ Servant.Utils.Links.MkLink api, Servant.API.TypeLevel.IsElem api api) => Text.Blaze.ToMarkup (Servant.Swagger.UI.SwaggerUiHtml dir api)
- Servant.Swagger.UI: jensolegSwaggerSchemaUIServer :: (Server api ~ ExceptT ServantErr IO Swagger) => Swagger -> Server (SwaggerSchemaUI' dir api)
+ Servant.Swagger.UI: jensolegSwaggerSchemaUIServer :: (Server api ~ Handler Swagger) => Swagger -> Server (SwaggerSchemaUI' dir api)
- Servant.Swagger.UI: swaggerSchemaUIServer :: (Server api ~ ExceptT ServantErr IO Swagger) => Swagger -> Server (SwaggerSchemaUI' dir api)
+ Servant.Swagger.UI: swaggerSchemaUIServer :: (Server api ~ Handler Swagger) => Swagger -> Server (SwaggerSchemaUI' dir api)
- Servant.Swagger.UI: swaggerSchemaUIServerImpl :: (Server api ~ ExceptT ServantErr IO Swagger) => Text -> [(FilePath, ByteString)] -> Swagger -> Server (SwaggerSchemaUI' dir api)
+ Servant.Swagger.UI: swaggerSchemaUIServerImpl :: (Server api ~ Handler Swagger) => Text -> [(FilePath, ByteString)] -> Swagger -> Server (SwaggerSchemaUI' dir api)

Files

CHANGELOG.md view
@@ -1,3 +1,6 @@+- 0.2.2.2.2.8+    - Support `servant-0.10`+ - 0.2.1.2.2.8     - Update to `swagger-ui-2.2.8`     - Add support for [jensoleg](https://github.com/jensoleg/swagger-ui>) theme
example/Main.hs view
@@ -32,13 +32,19 @@  import qualified Network.Wai.Handler.Warp as Warp +#if MIN_VERSION_servant(0,7,0)+-- do nothing+#else #if MIN_VERSION_servant(0,5,0) import Control.Monad.Trans.Except (ExceptT)+#define Handler ExceptT ServantErr IO #else import Control.Monad.Trans.Either (EitherT)-#define ExceptT EitherT+#define Handler EitherT ServantErr IO #endif+#endif + -- data types data Cat = Cat { catName :: CatName, catIsMale :: Bool }     deriving (Generic, Show)@@ -106,7 +112,7 @@         -- Unfortunately we have to specify the basePath manually atm.      schemaUiServer-        :: (Server api ~ ExceptT ServantErr IO Swagger)+        :: (Server api ~ Handler Swagger)         => Swagger -> Server (SwaggerSchemaUI' dir api)     schemaUiServer = case uiFlavour of         Original -> swaggerSchemaUIServer
servant-swagger-ui.cabal view
@@ -1,9 +1,5 @@--- This file has been generated from package.yaml by hpack version 0.15.0.------ see: https://github.com/sol/hpack- name:           servant-swagger-ui-version:        0.2.1.2.2.8+version:        0.2.2.2.2.8 synopsis:       Servant swagger ui description:    Provide embedded swagger UI for servant and swagger (i.e. servant-swagger) category:       Web@@ -13,7 +9,7 @@ maintainer:     Oleg Grenrus <oleg.grenrus@iki.fi> license:        BSD3 license-file:   LICENSE-tested-with:    GHC==7.8.4, GHC==7.10.3, GHC==8.0.1+tested-with:    GHC==7.8.4, GHC==7.10.3, GHC==8.0.2 build-type:     Simple cabal-version:  >= 1.10 @@ -138,15 +134,15 @@   ghc-options: -Wall   build-depends:       base              >=4.7      && <4.10-    , blaze-markup      >=0.7.0.2  && <0.8+    , blaze-markup      >=0.7.0.2  && <0.9     , bytestring        >=0.10.4.0 && <0.11-    , directory         >=1.2.1.0  && <1.3+    , directory         >=1.2.1.0  && <1.4     , file-embed        >=0.0.9    && <0.1     , filepath          >=1.3.0.2  && <1.5     , http-media        >=0.6.2    && <0.8-    , servant           >=0.4.4.5  && <0.10+    , servant           >=0.4.4.5  && <0.11     , servant-blaze     >=0.4.4.5  && <0.9-    , servant-server    >=0.4.4.5  && <0.10+    , servant-server    >=0.4.4.5  && <0.11     , servant-swagger   >=1.0.3    && <1.2     , swagger2          >=2.0.1    && <2.2     , template-haskell  >=2.9      && <2.12@@ -173,35 +169,20 @@       example   ghc-options: -Wall   build-depends:-      base              >=4.7      && <4.10-    , blaze-markup      >=0.7.0.2  && <0.8-    , bytestring        >=0.10.4.0 && <0.11-    , directory         >=1.2.1.0  && <1.3-    , file-embed        >=0.0.9    && <0.1-    , filepath          >=1.3.0.2  && <1.5-    , http-media        >=0.6.2    && <0.8-    , servant           >=0.4.4.5  && <0.10-    , servant-blaze     >=0.4.4.5  && <0.9-    , servant-server    >=0.4.4.5  && <0.10-    , servant-swagger   >=1.0.3    && <1.2-    , swagger2          >=2.0.1    && <2.2-    , template-haskell  >=2.9      && <2.12-    , text              >=1.2.0.6  && <1.3-    , wai-app-static    >=3.0.1.1  && <3.2+      base+    , servant+    , servant-server+    , servant-swagger     , servant-swagger-ui-    , servant-server >=0.4.4.5  && <0.10-    , aeson          >=0.8.0.2  && <1.1+    , swagger2+    , text+    , aeson          >=0.8.0.2  && <1.2     , base-compat    >=0.6.0    && <0.10     , lens           >=4.7.0.1  && <4.16     , wai            >=3.0.3.0  && <3.3     , warp           >=3.0.13.1 && <3.3   if flag(servant-0-5)-    build-depends:-        servant              >=0.5-      , transformers         >=0.3 && <0.6-      , transformers-compat  >=0.3 && <0.6+    build-depends: transformers, transformers-compat   else-    build-depends:-        servant                       <0.5-      , either+    build-depends: either   default-language: Haskell2010
src/Servant/Swagger/UI.hs view
@@ -74,12 +74,17 @@  import qualified Data.Text as T +#if MIN_VERSION_servant(0,7,0)+-- do nothing+#else #if MIN_VERSION_servant(0,5,0) import Control.Monad.Trans.Except (ExceptT)+#define Handler ExceptT ServantErr IO #else import Control.Monad.Trans.Either (EitherT)-#define ExceptT EitherT+#define Handler EitherT ServantErr IO #endif+#endif  -- | Swagger schema + ui api. --@@ -113,7 +118,15 @@ -- to find schema file automatically. data SwaggerUiHtml (dir :: Symbol) (api :: *) = SwaggerUiHtml T.Text -instance (KnownSymbol dir, HasLink api, URI ~ MkLink api, IsElem api api)+#if MIN_VERSION_servant(0,10,0)+#define LINK Link+#define LINKPATH uriPath . linkURI+#else+#define LINK URI+#define LINKPATH uriPath+#endif++instance (KnownSymbol dir, HasLink api, LINK ~ MkLink api, IsElem api api)     => ToMarkup (SwaggerUiHtml dir api)   where     toMarkup (SwaggerUiHtml template) = preEscapedToMarkup@@ -121,7 +134,7 @@         $ T.replace "SERVANT_SWAGGER_UI_DIR" dir         $ template       where-        schema = T.pack $ uriPath $ safeLink proxyApi proxyApi+        schema = T.pack $ LINKPATH $ safeLink proxyApi proxyApi         dir    = T.pack $ symbolVal (Proxy :: Proxy dir)         proxyApi = Proxy :: Proxy api @@ -131,7 +144,7 @@ -- swaggerSchemaUIServer :: Swagger -> Server (SwaggerSchemaUI schema dir) -- @ swaggerSchemaUIServer-    :: (Server api ~ ExceptT ServantErr IO Swagger)+    :: (Server api ~ Handler Swagger)     => Swagger -> Server (SwaggerSchemaUI' dir api) swaggerSchemaUIServer =     swaggerSchemaUIServerImpl swaggerUiIndexTemplate swaggerUiFiles@@ -140,13 +153,13 @@ -- -- See <https://github.com/jensoleg/swagger-ui> jensolegSwaggerSchemaUIServer-    :: (Server api ~ ExceptT ServantErr IO Swagger)+    :: (Server api ~ Handler Swagger)     => Swagger -> Server (SwaggerSchemaUI' dir api) jensolegSwaggerSchemaUIServer =     swaggerSchemaUIServerImpl jensolegIndexTemplate jensolegFiles  swaggerSchemaUIServerImpl-    :: (Server api ~ ExceptT ServantErr IO Swagger)+    :: (Server api ~ Handler Swagger)     => T.Text -> [(FilePath, ByteString)]     -> Swagger -> Server (SwaggerSchemaUI' dir api) swaggerSchemaUIServerImpl indexTemplate files swagger = return swagger