packages feed

servant-docs 0.11.1 → 0.11.2

raw patch · 4 files changed

+59/−30 lines, 4 filesdep ~aesondep ~aeson-prettydep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aeson, aeson-pretty, base, base-compat, bytestring, case-insensitive, control-monad-omega, hashable, hspec, http-media, http-types, lens, semigroups, servant, string-conversions, text, unordered-containers

API changes (from Hackage documentation)

- Servant.Docs.Internal: instance (Servant.Docs.Internal.GToSample p, Servant.Docs.Internal.GToSample q) => Servant.Docs.Internal.GToSample (p GHC.Generics.:*: q)
- Servant.Docs.Internal: instance (Servant.Docs.Internal.GToSample p, Servant.Docs.Internal.GToSample q) => Servant.Docs.Internal.GToSample (p GHC.Generics.:+: q)
- Servant.Docs.Internal: instance Servant.Docs.Internal.GToSample f => Servant.Docs.Internal.GToSample (GHC.Generics.M1 i a f)
- Servant.Docs.Internal: instance forall k (api :: k). Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Data.Vault.Lazy.Vault Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (api :: k). Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Network.HTTP.Types.Version.HttpVersion Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (api :: k). Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (api :: k). Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (desc :: GHC.Types.Symbol) (api :: k). (GHC.TypeLits.KnownSymbol desc, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Description.Description desc Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (desc :: GHC.Types.Symbol) (api :: k). (GHC.TypeLits.KnownSymbol desc, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Description.Summary desc Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (path :: GHC.Types.Symbol) (api :: k). (GHC.TypeLits.KnownSymbol path, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (path Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (realm :: GHC.Types.Symbol) usr (api :: k). (Servant.Docs.Internal.ToAuthInfo (Servant.API.BasicAuth.BasicAuth realm usr), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.BasicAuth.BasicAuth realm usr Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (sym :: GHC.Types.Symbol) (api :: k) a. (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Header.Header sym a Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k (sym :: GHC.Types.Symbol) (api :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryFlag sym), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryFlag sym Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k a ct (cts :: [GHC.Types.*]) (api :: k). (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.ReqBody.ReqBody (ct : cts) a Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k k1 (sym :: GHC.Types.Symbol) (a :: k1) (api :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToCapture (Servant.API.Capture.Capture sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Capture.Capture sym a Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k k1 (sym :: GHC.Types.Symbol) (a :: k1) (api :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryParam sym a Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k k1 (sym :: GHC.Types.Symbol) (a :: k1) (api :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParams sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryParams sym a Servant.API.Sub.:> api)
- Servant.Docs.Internal: instance forall k k1 (sym :: GHC.Types.Symbol) (a :: k1) (sublayout :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToCapture (Servant.API.Capture.CaptureAll sym a), Servant.Docs.Internal.HasDocs sublayout) => Servant.Docs.Internal.HasDocs (Servant.API.Capture.CaptureAll sym a Servant.API.Sub.:> sublayout)
- Servant.Docs.Internal: instance forall k1 a ct (cts :: [GHC.Types.*]) (status :: GHC.Types.Nat) (method :: k1) (ls :: [*]). (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, GHC.TypeLits.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.Docs.Internal.AllHeaderSamples ls, Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.HList ls)) => Servant.Docs.Internal.HasDocs (Servant.API.Verbs.Verb method status (ct : cts) (Servant.API.ResponseHeaders.Headers ls a))
- Servant.Docs.Internal: instance forall k1 a ct (cts :: [GHC.Types.*]) (status :: GHC.Types.Nat) (method :: k1). (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, GHC.TypeLits.KnownNat status, Servant.API.Verbs.ReflectMethod method) => Servant.Docs.Internal.HasDocs (Servant.API.Verbs.Verb method status (ct : cts) a)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol desc, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Description.Description desc Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol desc, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Description.Summary desc Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol path, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (path Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToCapture (Servant.API.Capture.Capture sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Capture.Capture' mods sym a Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToCapture (Servant.API.Capture.CaptureAll sym a), Servant.Docs.Internal.HasDocs sublayout) => Servant.Docs.Internal.HasDocs (Servant.API.Capture.CaptureAll sym a Servant.API.Sub.:> sublayout)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryFlag sym), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryFlag sym Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParam' mods sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryParam' mods sym a Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.ToParam (Servant.API.QueryParam.QueryParams sym a), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.QueryParam.QueryParams sym a Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (Servant.Docs.Internal.ToAuthInfo (Servant.API.BasicAuth.BasicAuth realm usr), Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.BasicAuth.BasicAuth realm usr Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.ReqBody.ReqBody' mods (ct : cts) a Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Data.Vault.Lazy.Vault Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Network.HTTP.Types.Version.HttpVersion Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Servant.API.IsSecure.IsSecure Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance Servant.Docs.Internal.HasDocs api => Servant.Docs.Internal.HasDocs (Servant.API.RemoteHost.RemoteHost Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance forall k (f :: k -> *) i (a :: GHC.Generics.Meta). Servant.Docs.Internal.GToSample f => Servant.Docs.Internal.GToSample (GHC.Generics.M1 i a f)
+ Servant.Docs.Internal: instance forall k (p :: k -> *) (q :: k -> *). (Servant.Docs.Internal.GToSample p, Servant.Docs.Internal.GToSample q) => Servant.Docs.Internal.GToSample (p GHC.Generics.:*: q)
+ Servant.Docs.Internal: instance forall k (p :: k -> *) (q :: k -> *). (Servant.Docs.Internal.GToSample p, Servant.Docs.Internal.GToSample q) => Servant.Docs.Internal.GToSample (p GHC.Generics.:+: q)
+ Servant.Docs.Internal: instance forall k (sym :: GHC.Types.Symbol) api (mods :: [*]) (a :: k). (GHC.TypeLits.KnownSymbol sym, Servant.Docs.Internal.HasDocs api) => Servant.Docs.Internal.HasDocs (Servant.API.Header.Header' mods sym a Servant.API.Sub.:> api)
+ Servant.Docs.Internal: instance forall k1 a ct (cts :: [*]) (status :: GHC.Types.Nat) (method :: k1) (ls :: [*]). (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, GHC.TypeNats.KnownNat status, Servant.API.Verbs.ReflectMethod method, Servant.Docs.Internal.AllHeaderSamples ls, Servant.API.ResponseHeaders.GetHeaders (Servant.API.ResponseHeaders.HList ls)) => Servant.Docs.Internal.HasDocs (Servant.API.Verbs.Verb method status (ct : cts) (Servant.API.ResponseHeaders.Headers ls a))
+ Servant.Docs.Internal: instance forall k1 a ct (cts :: [*]) (status :: GHC.Types.Nat) (method :: k1). (Servant.Docs.Internal.ToSample a, Servant.API.ContentTypes.AllMimeRender (ct : cts) a, GHC.TypeNats.KnownNat status, Servant.API.Verbs.ReflectMethod method) => Servant.Docs.Internal.HasDocs (Servant.API.Verbs.Verb method status (ct : cts) a)
- Servant.Docs: class ToSample a where toSamples = defaultSamples
+ Servant.Docs: class ToSample a
- Servant.Docs.Internal: class ToSample a where toSamples = defaultSamples
+ Servant.Docs.Internal: class ToSample a

Files

CHANGELOG.md view
@@ -1,6 +1,13 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-docs/CHANGELOG.md) [Changelog for `servant` package contains significant entries for all core packages.](https://github.com/haskell-servant/servant/blob/master/servant/CHANGELOG.md) +0.11.2+------++* Allow `servant-0.13`:+  - Doesn't have instances for streaming.+  - Servant.API.Modifiers extra information isn't used.+ 0.11.1 ------ 
servant-docs.cabal view
@@ -1,5 +1,5 @@ name:                servant-docs-version:             0.11.1+version:             0.11.2 synopsis:            generate API docs for your servant webservice description:   Library for generating API docs from a servant API definition.@@ -19,7 +19,7 @@   GHC==7.8.4   GHC==7.10.3   GHC==8.0.2-  GHC==8.2.1+  GHC==8.2.2 homepage:            http://haskell-servant.readthedocs.org/ Bug-reports:         http://github.com/haskell-servant/servant/issues extra-source-files:@@ -35,25 +35,39 @@       Servant.Docs     , Servant.Docs.Internal     , Servant.Docs.Internal.Pretty++  -- Bundled with GHC: Lower bound to not force re-installs+  -- text and mtl are bundled starting with GHC-8.4+  --+  -- note: mtl lower bound is so low because of GHC-7.8   build-depends:-      base >=4.7 && <5-    , base-compat >= 0.9.1 && <0.10-    , aeson-    , aeson-pretty-    , bytestring-    , case-insensitive-    , hashable-    , http-media >= 0.6-    , http-types >= 0.7-    , lens-    , servant == 0.12.*-    , string-conversions-    , text-    , unordered-containers-    , control-monad-omega == 0.3.*+      base       >= 4.7      && < 4.11+    , bytestring >= 0.10.4.0 && < 0.11+    , text       >= 1.2.3.0  && < 1.3+   if !impl(ghc >= 8.0)     build-depends:-      semigroups          >=0.17 && <0.19+      semigroups          >=0.18.3 && <0.19++  -- Servant dependencies+  build-depends:+      servant            == 0.13.*++  -- Other dependencies: Lower bound around what is in the latest Stackage LTS.+  -- Here can be exceptions if we really need features from the newer versions.+  build-depends:+      aeson                >= 1.2.3.0  && < 1.3+    , aeson-pretty         >= 0.8.5    && < 0.9+    , base-compat          >= 0.9.3    && < 0.10+    , case-insensitive     >= 1.2.0.10 && < 1.3+    , control-monad-omega  >= 0.3.1    && < 0.4+    , hashable             >= 1.2.6.1  && < 1.3+    , http-media           >= 0.7.1.1  && < 0.8+    , http-types           >= 0.12     && < 0.13+    , lens                 >= 4.15.4   && < 4.17+    , string-conversions   >= 0.4.0.1  && < 0.5+    , unordered-containers >= 0.2.8.0  && < 0.3+   hs-source-dirs: src   default-language: Haskell2010   ghc-options: -Wall@@ -76,19 +90,25 @@   default-language: Haskell2010  test-suite spec+  default-language: Haskell2010   type: exitcode-stdio-1.0   main-is: Spec.hs   other-modules: Servant.DocsSpec-  build-tool-depends:-    hspec-discover:hspec-discover   hs-source-dirs: test   ghc-options: -Wall++  -- Dependencies inherited from the library. No need to specify bounds.   build-depends:       base     , aeson-    , hspec     , lens     , servant     , servant-docs     , string-conversions-  default-language: Haskell2010++  -- Additonal dependencies+  build-depends:+      hspec                >= 2.4.4    && < 2.5++  build-tool-depends:+    hspec-discover:hspec-discover >=2.4.4 && <2.5
src/Servant/Docs/Internal.hs view
@@ -534,7 +534,7 @@ -- -- Example of an instance: ----- > instance ToParam (QueryParam "capital" Bool) where+-- > instance ToParam (QueryParam' mods "capital" Bool) where -- >   toParam _ = -- >     DocQueryParam "capital" -- >                   ["true", "false"]@@ -795,7 +795,7 @@ -- | @"books" :> 'Capture' "isbn" Text@ will appear as -- @/books/:isbn@ in the docs. instance (KnownSymbol sym, ToCapture (Capture sym a), HasDocs api)-      => HasDocs (Capture sym a :> api) where+      => HasDocs (Capture' mods sym a :> api) where    docsFor Proxy (endpoint, action) =     docsFor subApiP (endpoint', action')@@ -859,7 +859,7 @@           p = Proxy :: Proxy a  instance (KnownSymbol sym, HasDocs api)-      => HasDocs (Header sym a :> api) where+      => HasDocs (Header' mods sym a :> api) where   docsFor Proxy (endpoint, action) =     docsFor subApiP (endpoint, action') @@ -867,14 +867,14 @@           action' = over headers (|> headername) action           headername = T.pack $ symbolVal (Proxy :: Proxy sym) -instance (KnownSymbol sym, ToParam (QueryParam sym a), HasDocs api)-      => HasDocs (QueryParam sym a :> api) where+instance (KnownSymbol sym, ToParam (QueryParam' mods sym a), HasDocs api)+      => HasDocs (QueryParam' mods sym a :> api) where    docsFor Proxy (endpoint, action) =     docsFor subApiP (endpoint, action')      where subApiP = Proxy :: Proxy api-          paramP = Proxy :: Proxy (QueryParam sym a)+          paramP = Proxy :: Proxy (QueryParam' mods sym a)           action' = over params (|> toParam paramP) action  instance (KnownSymbol sym, ToParam (QueryParams sym a), HasDocs api)@@ -929,7 +929,7 @@ -- 'AllMimeUnrender' and 'AllMimeRender' actually agree (or to suppose that -- both are even defined) for any particular type. instance (ToSample a, AllMimeRender (ct ': cts) a, HasDocs api)-      => HasDocs (ReqBody (ct ': cts) a :> api) where+      => HasDocs (ReqBody' mods (ct ': cts) a :> api) where    docsFor Proxy (endpoint, action) opts@DocOptions{..} =     docsFor subApiP (endpoint, action') opts
test/Servant/DocsSpec.hs view
@@ -33,7 +33,9 @@ -- This declaration simply checks that all instances are in place. _ = docs comprehensiveAPI -instance ToParam (QueryParam "foo" Int) where+instance ToParam (QueryParam' mods "foo" Int) where+  toParam = error "unused"+instance ToParam (QueryParam' mods "bar" Int) where   toParam = error "unused" instance ToParam (QueryParams "foo" Int) where   toParam = error "unused"