packages feed

servant-foreign 0.15 → 0.15.1

raw patch · 3 files changed

+87/−10 lines, 3 filesdep ~servantPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: servant

API changes (from Hackage documentation)

+ Servant.Foreign.Internal: instance forall k1 k (lang :: k) ftype (method :: k1). (Servant.Foreign.Internal.HasForeignType lang ftype Servant.API.ContentTypes.NoContent, Servant.API.Verbs.ReflectMethod method) => Servant.Foreign.Internal.HasForeign lang ftype (Servant.API.Verbs.NoContentVerb method)
- Servant.Foreign: _Cap :: forall f_ak6H f_aklw. Prism (SegmentType f_aklw) (SegmentType f_ak6H) (Arg f_aklw) (Arg f_ak6H)
+ Servant.Foreign: _Cap :: forall f_akkw f_akzl. Prism (SegmentType f_akzl) (SegmentType f_akkw) (Arg f_akzl) (Arg f_akkw)
- Servant.Foreign: _HeaderArg :: forall f_al2x. Prism' (HeaderArg f_al2x) (Arg f_al2x)
+ Servant.Foreign: _HeaderArg :: forall f_algq. Prism' (HeaderArg f_algq) (Arg f_algq)
- Servant.Foreign: _ReplaceHeaderArg :: forall f_al2x. Prism' (HeaderArg f_al2x) (Arg f_al2x, Text)
+ Servant.Foreign: _ReplaceHeaderArg :: forall f_algq. Prism' (HeaderArg f_algq) (Arg f_algq, Text)
- Servant.Foreign: _Static :: forall f_ak6H. Prism' (SegmentType f_ak6H) PathSegment
+ Servant.Foreign: _Static :: forall f_akkw. Prism' (SegmentType f_akkw) PathSegment
- Servant.Foreign: argName :: forall f_ahEu. Lens' (Arg f_ahEu) PathSegment
+ Servant.Foreign: argName :: forall f_ahQw. Lens' (Arg f_ahQw) PathSegment
- Servant.Foreign: argType :: forall f_ahEu f_ak6s. Lens (Arg f_ahEu) (Arg f_ak6s) f_ahEu f_ak6s
+ Servant.Foreign: argType :: forall f_ahQw f_akkh. Lens (Arg f_ahQw) (Arg f_akkh) f_ahQw f_akkh
- Servant.Foreign: headerArg :: forall f_al2x f_albx. Lens (HeaderArg f_al2x) (HeaderArg f_albx) (Arg f_al2x) (Arg f_albx)
+ Servant.Foreign: headerArg :: forall f_algq f_alpq. Lens (HeaderArg f_algq) (HeaderArg f_alpq) (Arg f_algq) (Arg f_alpq)
- Servant.Foreign: path :: forall f_alds. Lens' (Url f_alds) (Path f_alds)
+ Servant.Foreign: path :: forall f_alrl. Lens' (Url f_alrl) (Path f_alrl)
- Servant.Foreign: queryArgName :: forall f_akFj f_al2h. Lens (QueryArg f_akFj) (QueryArg f_al2h) (Arg f_akFj) (Arg f_al2h)
+ Servant.Foreign: queryArgName :: forall f_akTc f_alga. Lens (QueryArg f_akTc) (QueryArg f_alga) (Arg f_akTc) (Arg f_alga)
- Servant.Foreign: queryArgType :: forall f_akFj. Lens' (QueryArg f_akFj) ArgType
+ Servant.Foreign: queryArgType :: forall f_akTc. Lens' (QueryArg f_akTc) ArgType
- Servant.Foreign: queryStr :: forall f_alds. Lens' (Url f_alds) [QueryArg f_alds]
+ Servant.Foreign: queryStr :: forall f_alrl. Lens' (Url f_alrl) [QueryArg f_alrl]
- Servant.Foreign: reqBody :: forall f_almQ. Lens' (Req f_almQ) (Maybe f_almQ)
+ Servant.Foreign: reqBody :: forall f_alAJ. Lens' (Req f_alAJ) (Maybe f_alAJ)
- Servant.Foreign: reqBodyContentType :: forall f_almQ. Lens' (Req f_almQ) ReqBodyContentType
+ Servant.Foreign: reqBodyContentType :: forall f_alAJ. Lens' (Req f_alAJ) ReqBodyContentType
- Servant.Foreign: reqFuncName :: forall f_almQ. Lens' (Req f_almQ) FunctionName
+ Servant.Foreign: reqFuncName :: forall f_alAJ. Lens' (Req f_alAJ) FunctionName
- Servant.Foreign: reqHeaders :: forall f_almQ. Lens' (Req f_almQ) [HeaderArg f_almQ]
+ Servant.Foreign: reqHeaders :: forall f_alAJ. Lens' (Req f_alAJ) [HeaderArg f_alAJ]
- Servant.Foreign: reqMethod :: forall f_almQ. Lens' (Req f_almQ) Method
+ Servant.Foreign: reqMethod :: forall f_alAJ. Lens' (Req f_alAJ) Method
- Servant.Foreign: reqReturnType :: forall f_almQ. Lens' (Req f_almQ) (Maybe f_almQ)
+ Servant.Foreign: reqReturnType :: forall f_alAJ. Lens' (Req f_alAJ) (Maybe f_alAJ)
- Servant.Foreign: reqUrl :: forall f_almQ. Lens' (Req f_almQ) (Url f_almQ)
+ Servant.Foreign: reqUrl :: forall f_alAJ. Lens' (Req f_alAJ) (Url f_alAJ)
- Servant.Foreign.Internal: _Cap :: forall f_ak6H f_aklw. Prism (SegmentType f_aklw) (SegmentType f_ak6H) (Arg f_aklw) (Arg f_ak6H)
+ Servant.Foreign.Internal: _Cap :: forall f_akkw f_akzl. Prism (SegmentType f_akzl) (SegmentType f_akkw) (Arg f_akzl) (Arg f_akkw)
- Servant.Foreign.Internal: _HeaderArg :: forall f_al2x. Prism' (HeaderArg f_al2x) (Arg f_al2x)
+ Servant.Foreign.Internal: _HeaderArg :: forall f_algq. Prism' (HeaderArg f_algq) (Arg f_algq)
- Servant.Foreign.Internal: _ReplaceHeaderArg :: forall f_al2x. Prism' (HeaderArg f_al2x) (Arg f_al2x, Text)
+ Servant.Foreign.Internal: _ReplaceHeaderArg :: forall f_algq. Prism' (HeaderArg f_algq) (Arg f_algq, Text)
- Servant.Foreign.Internal: _Segment :: forall f_aklG f_akxz. Iso (Segment f_akxz) (Segment f_aklG) (SegmentType f_akxz) (SegmentType f_aklG)
+ Servant.Foreign.Internal: _Segment :: forall f_akzv f_akLs. Iso (Segment f_akLs) (Segment f_akzv) (SegmentType f_akLs) (SegmentType f_akzv)
- Servant.Foreign.Internal: _Static :: forall f_ak6H. Prism' (SegmentType f_ak6H) PathSegment
+ Servant.Foreign.Internal: _Static :: forall f_akkw. Prism' (SegmentType f_akkw) PathSegment
- Servant.Foreign.Internal: argName :: forall f_ahEu. Lens' (Arg f_ahEu) PathSegment
+ Servant.Foreign.Internal: argName :: forall f_ahQw. Lens' (Arg f_ahQw) PathSegment
- Servant.Foreign.Internal: argType :: forall f_ahEu f_ak6s. Lens (Arg f_ahEu) (Arg f_ak6s) f_ahEu f_ak6s
+ Servant.Foreign.Internal: argType :: forall f_ahQw f_akkh. Lens (Arg f_ahQw) (Arg f_akkh) f_ahQw f_akkh
- Servant.Foreign.Internal: headerArg :: forall f_al2x f_albx. Lens (HeaderArg f_al2x) (HeaderArg f_albx) (Arg f_al2x) (Arg f_albx)
+ Servant.Foreign.Internal: headerArg :: forall f_algq f_alpq. Lens (HeaderArg f_algq) (HeaderArg f_alpq) (Arg f_algq) (Arg f_alpq)
- Servant.Foreign.Internal: headerPattern :: forall f_al2x. Traversal' (HeaderArg f_al2x) Text
+ Servant.Foreign.Internal: headerPattern :: forall f_algq. Traversal' (HeaderArg f_algq) Text
- Servant.Foreign.Internal: path :: forall f_alds. Lens' (Url f_alds) (Path f_alds)
+ Servant.Foreign.Internal: path :: forall f_alrl. Lens' (Url f_alrl) (Path f_alrl)
- Servant.Foreign.Internal: queryArgName :: forall f_akFj f_al2h. Lens (QueryArg f_akFj) (QueryArg f_al2h) (Arg f_akFj) (Arg f_al2h)
+ Servant.Foreign.Internal: queryArgName :: forall f_akTc f_alga. Lens (QueryArg f_akTc) (QueryArg f_alga) (Arg f_akTc) (Arg f_alga)
- Servant.Foreign.Internal: queryArgType :: forall f_akFj. Lens' (QueryArg f_akFj) ArgType
+ Servant.Foreign.Internal: queryArgType :: forall f_akTc. Lens' (QueryArg f_akTc) ArgType
- Servant.Foreign.Internal: queryStr :: forall f_alds. Lens' (Url f_alds) [QueryArg f_alds]
+ Servant.Foreign.Internal: queryStr :: forall f_alrl. Lens' (Url f_alrl) [QueryArg f_alrl]
- Servant.Foreign.Internal: reqBody :: forall f_almQ. Lens' (Req f_almQ) (Maybe f_almQ)
+ Servant.Foreign.Internal: reqBody :: forall f_alAJ. Lens' (Req f_alAJ) (Maybe f_alAJ)
- Servant.Foreign.Internal: reqBodyContentType :: forall f_almQ. Lens' (Req f_almQ) ReqBodyContentType
+ Servant.Foreign.Internal: reqBodyContentType :: forall f_alAJ. Lens' (Req f_alAJ) ReqBodyContentType
- Servant.Foreign.Internal: reqFuncName :: forall f_almQ. Lens' (Req f_almQ) FunctionName
+ Servant.Foreign.Internal: reqFuncName :: forall f_alAJ. Lens' (Req f_alAJ) FunctionName
- Servant.Foreign.Internal: reqHeaders :: forall f_almQ. Lens' (Req f_almQ) [HeaderArg f_almQ]
+ Servant.Foreign.Internal: reqHeaders :: forall f_alAJ. Lens' (Req f_alAJ) [HeaderArg f_alAJ]
- Servant.Foreign.Internal: reqMethod :: forall f_almQ. Lens' (Req f_almQ) Method
+ Servant.Foreign.Internal: reqMethod :: forall f_alAJ. Lens' (Req f_alAJ) Method
- Servant.Foreign.Internal: reqReturnType :: forall f_almQ. Lens' (Req f_almQ) (Maybe f_almQ)
+ Servant.Foreign.Internal: reqReturnType :: forall f_alAJ. Lens' (Req f_alAJ) (Maybe f_alAJ)
- Servant.Foreign.Internal: reqUrl :: forall f_almQ. Lens' (Req f_almQ) (Url f_almQ)
+ Servant.Foreign.Internal: reqUrl :: forall f_alAJ. Lens' (Req f_alAJ) (Url f_alAJ)

Files

CHANGELOG.md view
@@ -1,6 +1,69 @@ [The latest version of this document is on GitHub.](https://github.com/haskell-servant/servant/blob/master/servant-foreign/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.15.1+------++* Support `servant-0.17`++0.15+----++- *servant-foreign* Add support so `HasForeign` can be implemented for+  `MultipartForm` from [`servant-multipart`](http://hackage.haskell.org/package/servant-multipart)+  [#1035](https://github.com/haskell-servant/servant/pull/1035)++- Drop support for GHC older than 8.0+  [#1008](https://github.com/haskell-servant/servant/pull/1008)+  [#1009](https://github.com/haskell-servant/servant/pull/1009)+++0.11.1+------++- Add missing `Semigroup` instances++0.11+----++### Breaking changes++- *servant* Add `Servant.API.Modifiers`+  ([#873](https://github.com/haskell-servant/servant/pull/873))+- Make foreign client Header arguments have the representation of 'Maybe' in those languages+  ([#843](https://github.com/haskell-servant/servant/pull/843))++0.10.2+------++### Changes++* Add instances for `Description` and `Summary` combinators+  ([#767](https://github.com/haskell-servant/servant/pull/767))+* Derive Data for all types+  ([#809](https://github.com/haskell-servant/servant/pull/809))++0.10.1+------++### Changes++* Don't drop samples in `HasDocs ReqBody` instance+  ([#755](https://github.com/haskell-servant/servant/pull/755/files)).+  *Breaking change in an `Internal` module*.++0.10+----++### Breaking changes++* Do not apply JavaScript specific mangling to the names.+  ([#191](https://github.com/haskell-servant/servant/issues/191))++0.7.1+-----++* Support GHC 8.0 0.15 ---- 
servant-foreign.cabal view
@@ -1,6 +1,6 @@ cabal-version:       >=1.10 name:                servant-foreign-version:             0.15+version:             0.15.1  synopsis:            Helpers for generating clients for servant APIs in any programming language category:            Servant, Web@@ -13,19 +13,20 @@   .   <https://github.com/haskell-servant/servant/blob/master/servant-foreign/CHANGELOG.md CHANGELOG> -homepage:            http://haskell-servant.readthedocs.org/+homepage:            http://docs.servant.dev/ bug-reports:         http://github.com/haskell-servant/servant/issues license:             BSD3 license-file:        LICENSE author:              Servant Contributors maintainer:          haskell-servant-maintainers@googlegroups.com-copyright:           2015-2018 Servant Contributors+copyright:           2015-2019 Servant Contributors build-type:          Simple tested-with:   GHC ==8.0.2    || ==8.2.2    || ==8.4.4-   || ==8.6.2+   || ==8.6.5+   || ==8.8.2  extra-source-files:   CHANGELOG.md@@ -45,18 +46,18 @@   --   -- note: mtl lower bound is so low because of GHC-7.8   build-depends:-      base        >= 4.9     && < 4.13+      base        >= 4.9     && < 4.14     , text        >= 1.2.3.0 && < 1.3    -- Servant dependencies   build-depends:-      servant            == 0.15.*+      servant            >=0.17 && <0.18    -- 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:-      base-compat >= 0.10.5  && < 0.11-    , lens        >= 4.17    && < 4.18+      base-compat >= 0.10.5  && < 0.12+    , lens        >= 4.17    && < 4.19     , http-types  >= 0.12.2  && < 0.13    hs-source-dirs:      src@@ -78,8 +79,8 @@    -- Additonal dependencies   build-depends:-    hspec >= 2.6.0 && <2.7+    hspec >= 2.6.0 && <2.8    build-tool-depends:-    hspec-discover:hspec-discover >=2.6.0 && <2.7+    hspec-discover:hspec-discover >=2.6.0 && <2.8   default-language:  Haskell2010
src/Servant/Foreign/Internal.hs view
@@ -244,6 +244,19 @@       method   = reflectMethod (Proxy :: Proxy method)       methodLC = toLower $ decodeUtf8 method +instance (HasForeignType lang ftype NoContent, ReflectMethod method)+  => HasForeign lang ftype (NoContentVerb method) where+  type Foreign ftype (NoContentVerb method) = Req ftype++  foreignFor lang Proxy Proxy req =+    req & reqFuncName . _FunctionName %~ (methodLC :)+        & reqMethod .~ method+        & reqReturnType .~ Just retType+    where+      retType  = typeFor lang (Proxy :: Proxy ftype) (Proxy :: Proxy NoContent)+      method   = reflectMethod (Proxy :: Proxy method)+      methodLC = toLower $ decodeUtf8 method+ -- | TODO: doesn't taking framing into account. instance (ct ~ JSON, HasForeignType lang ftype a, ReflectMethod method)   => HasForeign lang ftype (Stream method status framing ct a) where