servant-yaml 0.1.0.0 → 0.1.0.1
raw patch · 3 files changed
+52/−44 lines, 3 filesdep ~aesondep ~basedep ~base-compatPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: aeson, base, base-compat, bytestring, http-media, servant, servant-server, wai, warp, yaml
API changes (from Hackage documentation)
- Servant.Yaml: instance Data.Aeson.Types.Class.FromJSON a => Servant.API.ContentTypes.MimeUnrender Servant.Yaml.YAML a
- Servant.Yaml: instance Data.Aeson.Types.Class.ToJSON a => Servant.API.ContentTypes.MimeRender Servant.Yaml.YAML a
+ Servant.Yaml: instance Data.Aeson.Types.FromJSON.FromJSON a => Servant.API.ContentTypes.MimeUnrender Servant.Yaml.YAML a
+ Servant.Yaml: instance Data.Aeson.Types.ToJSON.ToJSON a => Servant.API.ContentTypes.MimeRender Servant.Yaml.YAML a
Files
- example/Main.hs +15/−10
- servant-yaml.cabal +26/−26
- src/Servant/Yaml.hs +11/−8
example/Main.hs view
@@ -3,17 +3,22 @@ {-# LANGUAGE TypeOperators #-} module Main (main) where -import Prelude ()-import Prelude.Compat+import Prelude ()+import Prelude.Compat -import Data.Aeson.TH-import Data.Char (toLower)-import Data.Maybe (fromMaybe)-import Network.Wai (Application)-import Servant-import Servant.Yaml-import System.Environment (getArgs, lookupEnv)-import Text.Read (readMaybe)+import Data.Aeson.TH+import Data.Char+ (toLower)+import Data.Maybe+ (fromMaybe)+import Network.Wai+ (Application)+import Servant+import Servant.Yaml+import System.Environment+ (getArgs, lookupEnv)+import Text.Read+ (readMaybe) import qualified Network.Wai.Handler.Warp as Warp
servant-yaml.cabal view
@@ -1,39 +1,39 @@--- This file has been generated from package.yaml by hpack version 0.8.0.------ see: https://github.com/sol/hpack- name: servant-yaml-version: 0.1.0.0+version: 0.1.0.1 synopsis: Servant support for yaml-description: Servant support for yaml-category: Web-homepage: https://github.com/phadej/servant-yaml#readme-bug-reports: https://github.com/phadej/servant-yaml/issues+description: Servant support for yaml.+category: Web, Servant+homepage: https://github.com/haskell-servant/servant-yaml#readme+bug-reports: https://github.com/haskell-servant/servant-yaml/issues author: Oleg Grenrus <oleg.grenrus@iki.fi> maintainer: Oleg Grenrus <oleg.grenrus@iki.fi> license: BSD3 license-file: LICENSE-tested-with: GHC==7.8.4, GHC==7.10.2 build-type: Simple cabal-version: >= 1.10+tested-with:+ GHC ==8.0.2+ || ==8.2.2+ || ==8.4.4+ || ==8.6.2 extra-source-files: README.md source-repository head type: git- location: https://github.com/phadej/servant-yaml+ location: https://github.com/haskell-servant/servant-yaml library hs-source-dirs: src ghc-options: -Wall build-depends:- base >=4.7 && <4.9- , bytestring >=0.10.4.0 && <0.11- , http-media >=0.6.2 && <0.7- , servant >=0.4.4.5 && <0.5- , yaml >=0.8.12 && <0.9+ base >=4.9 && <4.13+ , bytestring >=0.10.8.1 && <0.11+ , http-media >=0.7.1.3 && <0.8+ , servant >=0.15 && <0.16+ , yaml >=0.11 && <0.12 exposed-modules: Servant.Yaml default-language: Haskell2010@@ -45,15 +45,15 @@ example ghc-options: -Wall build-depends:- base >=4.7 && <4.9- , bytestring >=0.10.4.0 && <0.11- , http-media >=0.6.2 && <0.7- , servant >=0.4.4.5 && <0.5- , yaml >=0.8.12 && <0.9+ base+ , bytestring+ , http-media+ , servant+ , yaml , servant-yaml- , servant-server >=0.4.4.5 && <0.5- , base-compat >=0.6.0 && <0.9- , aeson >=0.8.0.2 && <0.11- , wai >=3.0.3.0 && <3.1- , warp >=3.0.13.1 && <3.2+ , servant-server >=0.15 && <0.16+ , base-compat >=0.10.5 && <0.11+ , aeson >=1.4.1.0 && <1.5+ , wai >=3.2.1.2 && <3.3+ , warp >=3.2.25 && <3.3 default-language: Haskell2010
src/Servant/Yaml.hs view
@@ -1,7 +1,7 @@-{-# LANGUAGE AutoDeriveTypeable #-}+{-# LANGUAGE AutoDeriveTypeable #-}+{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE OverloadedStrings #-} -- | -- Module : Servant.Yaml -- License : BSD-3-Clause@@ -16,13 +16,16 @@ -- Will then check that @a@ has a `ToJSON` instance (`Value` has). module Servant.Yaml where -import Data.Yaml (FromJSON, ToJSON, decodeEither, encode)-import Servant.API (Accept (..), MimeRender (..), MimeUnrender (..))+import Data.Yaml+ (FromJSON, ToJSON, decodeEither', encode,+ prettyPrintParseException)+import Servant.API+ (Accept (..), MimeRender (..), MimeUnrender (..)) import qualified Data.ByteString.Lazy as LBS-import qualified Network.HTTP.Media as M+import qualified Network.HTTP.Media as M -data YAML -- deriving Typeable+data YAML -- | @application/x-yaml@ instance Accept YAML where@@ -34,4 +37,4 @@ -- | `decodeEither` instance FromJSON a => MimeUnrender YAML a where- mimeUnrender _ = decodeEither . LBS.toStrict+ mimeUnrender _ = either (Left . prettyPrintParseException) Right . decodeEither' . LBS.toStrict