packages feed

servant-swagger-ui-redoc 0.3.3.1.22.3 → 0.3.4.1.22.3

raw patch · 2 files changed

+38/−10 lines, 2 filesdep +aesondep −swagger2dep ~basedep ~bytestringdep ~servantnew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: aeson

Dependencies removed: swagger2

Dependency ranges changed: base, bytestring, servant, servant-server, servant-swagger-ui-core, text

API changes (from Hackage documentation)

+ Servant.Swagger.UI.ReDoc: redocSchemaUIServerT :: (Monad m, ServerT api m ~ m Value, ToJSON a) => a -> ServerT (SwaggerSchemaUI' dir api) m
+ Servant.Swagger.UI.ReDoc: redocSchemaUIServerT' :: Monad m => ServerT api m -> ServerT (SwaggerSchemaUI' dir api) m
- Servant.Swagger.UI.ReDoc: redocSchemaUIServer :: Server api ~ Handler Swagger => Swagger -> Server (SwaggerSchemaUI' dir api)
+ Servant.Swagger.UI.ReDoc: redocSchemaUIServer :: (Server api ~ Handler Value, ToJSON a) => a -> Server (SwaggerSchemaUI' dir api)
- Servant.Swagger.UI.ReDoc: type SwaggerSchemaUI (dir :: Symbol) (schema :: Symbol) = SwaggerSchemaUI' dir schema :> Get JSON : ([] :: [Type]) Swagger
+ Servant.Swagger.UI.ReDoc: type SwaggerSchemaUI (dir :: Symbol) (schema :: Symbol) = SwaggerSchemaUI' dir schema :> Get '[JSON] Value
- Servant.Swagger.UI.ReDoc: type SwaggerSchemaUI' (dir :: Symbol) api = api :<|> dir :> Get HTML : ([] :: [Type]) SwaggerUiHtml dir api :<|> "index.html" :> Get HTML : ([] :: [Type]) SwaggerUiHtml dir api :<|> Raw
+ Servant.Swagger.UI.ReDoc: type SwaggerSchemaUI' (dir :: Symbol) api = api :<|> dir :> Get '[HTML] SwaggerUiHtml dir api :<|> "index.html" :> Get '[HTML] SwaggerUiHtml dir api :<|> Raw

Files

servant-swagger-ui-redoc.cabal view
@@ -1,6 +1,6 @@ cabal-version:      1.12 name:               servant-swagger-ui-redoc-version:            0.3.3.1.22.3+version:            0.3.4.1.22.3 synopsis:           Servant swagger ui: ReDoc theme category:           Web, Servant, Swagger description:@@ -18,7 +18,7 @@ license-file:       LICENSE build-type:         Simple tested-with:-  GHC ==7.8.4 || ==7.10.3 || ==8.0.2 || ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.1+  GHC ==8.2.2 || ==8.4.4 || ==8.6.5 || ==8.8.4 || ==8.10.4  extra-source-files:   redoc-dist-1.22.3/redoc.min.js@@ -32,14 +32,14 @@ library   hs-source-dirs:   src   ghc-options:      -Wall-  build-depends:    servant-swagger-ui-core >=0.3.3 && <0.4+  build-depends:    servant-swagger-ui-core >=0.3.5 && <0.4   build-depends:-      base             >=4.7      && <4.14+      base             >=4.7      && <4.15+    , aeson            >=0.8.0.2  && <1.6     , bytestring       >=0.10.4.0 && <0.11     , file-embed-lzma  >=0        && <0.1-    , servant          >=0.14     && <0.17-    , servant-server   >=0.14     && <0.17-    , swagger2         >=2.3.0.1  && <2.5+    , servant          >=0.14     && <0.19+    , servant-server   >=0.14     && <0.19     , text             >=1.2.3.0  && <1.3    exposed-modules:  Servant.Swagger.UI.ReDoc
src/Servant/Swagger/UI/ReDoc.hs view
@@ -46,7 +46,9 @@     SwaggerSchemaUI,     SwaggerSchemaUI',     redocSchemaUIServer,+    redocSchemaUIServerT,     redocSchemaUIServer',+    redocSchemaUIServerT',      -- ** ReDoc theme     redocIndexTemplate,@@ -55,8 +57,8 @@  import Servant.Swagger.UI.Core +import Data.Aeson      (ToJSON, Value) import Data.ByteString (ByteString)-import Data.Swagger    (Swagger) import Data.Text       (Text) import FileEmbedLzma import Servant@@ -65,17 +67,43 @@ -- -- See <https://github.com/Rebilly/ReDoc/tree/v1.x> redocSchemaUIServer-    :: (Server api ~ Handler Swagger)-    => Swagger -> Server (SwaggerSchemaUI' dir api)+    :: (Server api ~ Handler Value, ToJSON a)+    => a -> Server (SwaggerSchemaUI' dir api) redocSchemaUIServer =     swaggerSchemaUIServerImpl redocIndexTemplate redocFiles +-- | Serve Redoc Swagger UI on @/dir@ using @api@ as a Swagger spec source.+--+-- Generalized to 'ServerT'+--+-- @+-- redocSchemaUIServerT :: Swagger -> ServerT (SwaggerSchemaUI schema dir) m+-- @+redocSchemaUIServerT+    :: (Monad m, ServerT api m ~ m Value, ToJSON a)+    => a -> ServerT (SwaggerSchemaUI' dir api) m+redocSchemaUIServerT =+    swaggerSchemaUIServerImpl redocIndexTemplate redocFiles+ -- | Use a custom server to serve the Swagger spec source. redocSchemaUIServer'     :: Server api -> Server (SwaggerSchemaUI' dir api) redocSchemaUIServer' =     swaggerSchemaUIServerImpl' redocIndexTemplate redocFiles +-- | Use a custom server to serve the Redoc Swagger spec source.+--+-- This allows even more control over how the spec source is served.+-- It allows, for instance, serving the spec source with authentication,+-- customizing the response based on the client or serving a swagger.yaml+-- instead.+--+-- Generalized to 'ServerT'+--+redocSchemaUIServerT'+    :: Monad m => ServerT api m -> ServerT (SwaggerSchemaUI' dir api) m+redocSchemaUIServerT' =+    swaggerSchemaUIServerImpl' redocIndexTemplate redocFiles  redocIndexTemplate :: Text redocIndexTemplate = $(embedText "redoc.index.html.tmpl")