urlencoded 0.4.2.0 → 0.5.0.0
raw patch · 4 files changed
+25/−18 lines, 4 filesdep ~QuickCheckdep ~basedep ~mtlPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: QuickCheck, base, mtl
API changes (from Hackage documentation)
- Data.URLEncoded: instance Data.Semigroup.Semigroup Data.URLEncoded.URLEncoded
- Data.URLEncoded: instance Data.URLEncoded.URLEncode a => Data.URLEncoded.URLEncode (GHC.Base.Maybe a)
+ Data.URLEncoded: infixr 6 %?
+ Data.URLEncoded: instance Data.URLEncoded.URLEncode a => Data.URLEncoded.URLEncode (GHC.Maybe.Maybe a)
+ Data.URLEncoded: instance GHC.Base.Semigroup Data.URLEncoded.URLEncoded
- Data.URLEncoded: importString :: MonadError e m => String -> m URLEncoded
+ Data.URLEncoded: importString :: MonadFail m => String -> m URLEncoded
- Data.URLEncoded: importURI :: MonadError e m => URI -> m URLEncoded
+ Data.URLEncoded: importURI :: MonadFail m => URI -> m URLEncoded
- Data.URLEncoded: lookup1 :: (URLShow a, MonadError e m) => a -> URLEncoded -> m String
+ Data.URLEncoded: lookup1 :: (URLShow a, MonadFail m) => a -> URLEncoded -> m String
Files
- CHANGELOG.md +5/−0
- src/Data/URLEncoded.hs +6/−8
- test/TestDriver.hs +3/−5
- urlencoded.cabal +11/−5
+ CHANGELOG.md view
@@ -0,0 +1,5 @@+# Revision history for urlencoded++## 0.5.0.0 -- 2021-07-11++* Switch from MonadError to MonadFail
src/Data/URLEncoded.hs view
@@ -41,11 +41,6 @@ import Data.List.Split ( splitOn ) import Control.Monad ( liftM ) import Control.Arrow ( (>>>) )-#if MIN_VERSION_base(4,8,0)-import Control.Monad.Except ( MonadError )-#else-import Control.Monad.Error ( MonadError )-#endif import Network.URI ( unEscapeString, escapeURIString, isUnreserved, URI(uriQuery) ) import Data.Monoid ( Monoid, mappend ) #if MIN_VERSION_base(4,9,0)@@ -177,7 +172,8 @@ showsPrec _ q = (export q ++) -- |Parse this string as x-www-urlencoded-importString :: MonadError e m => String -> m URLEncoded+-- @since 0.5.0.0+importString :: MonadFail m => String -> m URLEncoded importString "" = return empty importString s = liftM importList $ mapM parsePair $ splitOn "&" s where parsePair p =@@ -189,7 +185,8 @@ unknown -> error $ "impossible: " ++ show unknown unesc = unEscapeString . intercalate "%20" . splitOn "+" -importURI :: MonadError e m => URI -> m URLEncoded+-- | @since 0.5.0.0+importURI :: MonadFail m => URI -> m URLEncoded importURI u = case uriQuery u of ('?':s) -> importString s [] -> return empty@@ -197,7 +194,8 @@ -- |Return the /first/ value for the given key, or throw an error if the -- key is not present in the URLEncoded data.-lookup1 :: (URLShow a, MonadError e m) => a -> URLEncoded -> m String+-- @since 0.5.0.0+lookup1 :: (URLShow a, MonadFail m) => a -> URLEncoded -> m String lookup1 k = lookup k >>> maybe missing return where missing = fail $ "Key not found: " ++ urlShow k
test/TestDriver.hs view
@@ -77,11 +77,11 @@ main :: IO () main = mapM_ quickCheck [ property $ \u ->- importString (export u) == (Right u :: Either String URLEncoded)+ importString (export u) == (Just u :: Maybe URLEncoded) , property $ \u -> let s = export u- expected = Right s :: Either String String+ expected = Just s in (export `liftM` importString s) == expected , property $ \u1 u2 ->@@ -122,7 +122,5 @@ , forAll (multiLists "repeated") $ \(_, u) -> length (lookupAll "repeated" u) > 0 - , property $ \u -> case lookup1 (badKey u) u :: Either String String of- Left _ -> True- Right _ -> False+ , property $ \u -> lookup1 (badKey u) u == Nothing ]
urlencoded.cabal view
@@ -1,6 +1,6 @@ name: urlencoded-Cabal-Version: >= 1.8-version: 0.4.2.0+Cabal-Version: 1.18+version: 0.5.0.0 synopsis: Generate or process x-www-urlencoded data description: Generate or process x-www-urlencoded data as it@@ -13,8 +13,12 @@ license: BSD3 license-file: LICENSE author: Josh Hoyt, Philip Weaver-maintainer: francygazz@gmail.com+maintainer: Francesco Gazzetta <fgaz@fgaz.me> build-type: Simple+extra-doc-files: CHANGELOG.md+tested-with: GHC==9.0.1+ , GHC==8.10.4+ , GHC==8.8.4 source-repository head type: git@@ -25,7 +29,7 @@ default: True Library- build-depends: base >= 4.7 && <4.12+ build-depends: base >= 4.13 && <4.16 , mtl >= 1.1 && <2.3 , split == 0.2.* if flag(network-uri)@@ -37,11 +41,12 @@ ghc-options: -Wall hs-source-dirs: src exposed-modules: Data.URLEncoded+ default-language: Haskell2010 Test-suite test type: exitcode-stdio-1.0 build-depends: base- , QuickCheck >= 2.11 && < 2.12+ , QuickCheck >= 2.11 && < 2.15 , urlencoded if flag(network-uri) build-depends: network-uri >= 2.6@@ -53,4 +58,5 @@ GHC-Options: -Wall Main-is: TestDriver.hs HS-Source-Dirs: test+ default-language: Haskell2010