packages feed

web-routes 0.27.9 → 0.27.10

raw patch · 2 files changed

+13/−14 lines, 2 filesdep +hspecdep −test-frameworkdep −test-framework-hunitdep −test-framework-quickcheck2dep ~basedep ~http-typesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: hspec

Dependencies removed: test-framework, test-framework-hunit, test-framework-quickcheck2, test-framework-th

Dependency ranges changed: base, http-types

API changes (from Hackage documentation)

- Web.Routes.PathInfo: instance (GPathInfo a, Constructor c) => GPathInfo (C1 c a)
- Web.Routes.PathInfo: instance (GPathInfo a, GPathInfo b) => GPathInfo (a :*: b)
- Web.Routes.PathInfo: instance (GPathInfo a, GPathInfo b) => GPathInfo (a :+: b)
- Web.Routes.PathInfo: instance GPathInfo U1
- Web.Routes.PathInfo: instance GPathInfo a => GPathInfo (D1 c a)
- Web.Routes.PathInfo: instance GPathInfo a => GPathInfo (S1 c a)
- Web.Routes.PathInfo: instance PathInfo Int
- Web.Routes.PathInfo: instance PathInfo Integer
- Web.Routes.PathInfo: instance PathInfo String
- Web.Routes.PathInfo: instance PathInfo Text
- Web.Routes.PathInfo: instance PathInfo [String]
- Web.Routes.PathInfo: instance PathInfo [Text]
- Web.Routes.PathInfo: instance PathInfo a => GPathInfo (K1 i a)
- Web.Routes.RouteT: instance (MonadPlus m, Monad (RouteT url m)) => MonadPlus (RouteT url m)
- Web.Routes.RouteT: instance Alternative m => Alternative (RouteT url m)
- Web.Routes.RouteT: instance Applicative m => Applicative (RouteT url m)
- Web.Routes.RouteT: instance Functor m => Functor (RouteT url m)
- Web.Routes.RouteT: instance Monad m => Monad (RouteT url m)
- Web.Routes.RouteT: instance Monad m => MonadRoute (RouteT url m)
- Web.Routes.RouteT: instance MonadCatch m => MonadCatch (RouteT url m)
- Web.Routes.RouteT: instance MonadCont m => MonadCont (RouteT url m)
- Web.Routes.RouteT: instance MonadError e m => MonadError e (RouteT url m)
- Web.Routes.RouteT: instance MonadFix m => MonadFix (RouteT url m)
- Web.Routes.RouteT: instance MonadIO m => MonadIO (RouteT url m)
- Web.Routes.RouteT: instance MonadRWS r w s m => MonadRWS r w s (RouteT url m)
- Web.Routes.RouteT: instance MonadReader r m => MonadReader r (RouteT url m)
- Web.Routes.RouteT: instance MonadState s m => MonadState s (RouteT url m)
- Web.Routes.RouteT: instance MonadThrow m => MonadThrow (RouteT url m)
- Web.Routes.RouteT: instance MonadTrans (RouteT url)
- Web.Routes.RouteT: instance MonadWriter w m => MonadWriter w (RouteT url m)
- Web.Routes.RouteT: unRouteT :: RouteT url m a -> (url -> [(Text, Maybe Text)] -> Text) -> m a
- Web.Routes.Site: formatPathSegments :: Site url a -> url -> ([Text], [(Text, Maybe Text)])
- Web.Routes.Site: handleSite :: Site url a -> (url -> [(Text, Maybe Text)] -> Text) -> url -> a
- Web.Routes.Site: instance Functor (Site url)
- Web.Routes.Site: parsePathSegments :: Site url a -> [Text] -> Either String url
+ Web.Routes.PathInfo: instance (Web.Routes.PathInfo.GPathInfo a, GHC.Generics.Constructor c) => Web.Routes.PathInfo.GPathInfo (GHC.Generics.C1 c a)
+ Web.Routes.PathInfo: instance (Web.Routes.PathInfo.GPathInfo a, Web.Routes.PathInfo.GPathInfo b) => Web.Routes.PathInfo.GPathInfo (a GHC.Generics.:*: b)
+ Web.Routes.PathInfo: instance (Web.Routes.PathInfo.GPathInfo a, Web.Routes.PathInfo.GPathInfo b) => Web.Routes.PathInfo.GPathInfo (a GHC.Generics.:+: b)
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.GPathInfo GHC.Generics.U1
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.GPathInfo a => Web.Routes.PathInfo.GPathInfo (GHC.Generics.D1 c a)
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.GPathInfo a => Web.Routes.PathInfo.GPathInfo (GHC.Generics.S1 c a)
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo Data.Text.Internal.Text
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo GHC.Base.String
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo GHC.Integer.Type.Integer
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo GHC.Types.Int
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo [Data.Text.Internal.Text]
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo [GHC.Base.String]
+ Web.Routes.PathInfo: instance Web.Routes.PathInfo.PathInfo a => Web.Routes.PathInfo.GPathInfo (GHC.Generics.K1 i a)
+ Web.Routes.RouteT: [unRouteT] :: RouteT url m a -> (url -> [(Text, Maybe Text)] -> Text) -> m a
+ Web.Routes.RouteT: instance (GHC.Base.MonadPlus m, GHC.Base.Monad (Web.Routes.RouteT.RouteT url m)) => GHC.Base.MonadPlus (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Catch.MonadCatch m => Control.Monad.Catch.MonadCatch (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Catch.MonadThrow m => Control.Monad.Catch.MonadThrow (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Cont.Class.MonadCont m => Control.Monad.Cont.Class.MonadCont (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Error.Class.MonadError e m => Control.Monad.Error.Class.MonadError e (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Fix.MonadFix m => Control.Monad.Fix.MonadFix (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.IO.Class.MonadIO m => Control.Monad.IO.Class.MonadIO (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.RWS.Class.MonadRWS r w s m => Control.Monad.RWS.Class.MonadRWS r w s (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Reader.Class.MonadReader r m => Control.Monad.Reader.Class.MonadReader r (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.State.Class.MonadState s m => Control.Monad.State.Class.MonadState s (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance Control.Monad.Trans.Class.MonadTrans (Web.Routes.RouteT.RouteT url)
+ Web.Routes.RouteT: instance Control.Monad.Writer.Class.MonadWriter w m => Control.Monad.Writer.Class.MonadWriter w (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance GHC.Base.Alternative m => GHC.Base.Alternative (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance GHC.Base.Applicative m => GHC.Base.Applicative (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance GHC.Base.Functor m => GHC.Base.Functor (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance GHC.Base.Monad m => GHC.Base.Monad (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.RouteT: instance GHC.Base.Monad m => Web.Routes.RouteT.MonadRoute (Web.Routes.RouteT.RouteT url m)
+ Web.Routes.Site: [formatPathSegments] :: Site url a -> url -> ([Text], [(Text, Maybe Text)])
+ Web.Routes.Site: [handleSite] :: Site url a -> (url -> [(Text, Maybe Text)] -> Text) -> url -> a
+ Web.Routes.Site: [parsePathSegments] :: Site url a -> [Text] -> Either String url
+ Web.Routes.Site: instance GHC.Base.Functor (Web.Routes.Site.Site url)
- Web.Routes.PathInfo: fromPathInfo :: PathInfo url => ByteString -> Either String url
+ Web.Routes.PathInfo: fromPathInfo :: (PathInfo url) => ByteString -> Either String url
- Web.Routes.PathInfo: mkSitePI :: PathInfo url => ((url -> [(Text, Maybe Text)] -> Text) -> url -> a) -> Site url a
+ Web.Routes.PathInfo: mkSitePI :: (PathInfo url) => ((url -> [(Text, Maybe Text)] -> Text) -> url -> a) -> Site url a
- Web.Routes.PathInfo: stripOverlap :: Eq a => [a] -> [a] -> [a]
+ Web.Routes.PathInfo: stripOverlap :: (Eq a) => [a] -> [a] -> [a]
- Web.Routes.PathInfo: toPathInfo :: PathInfo url => url -> Text
+ Web.Routes.PathInfo: toPathInfo :: (PathInfo url) => url -> Text
- Web.Routes.PathInfo: toPathInfoParams :: PathInfo url => url -> [(Text, Maybe Text)] -> Text
+ Web.Routes.PathInfo: toPathInfoParams :: (PathInfo url) => url -> [(Text, Maybe Text)] -> Text
- Web.Routes.RouteT: askRouteT :: Monad m => RouteT url m (url -> [(Text, Maybe Text)] -> Text)
+ Web.Routes.RouteT: askRouteT :: (Monad m) => RouteT url m (url -> [(Text, Maybe Text)] -> Text)
- Web.Routes.RouteT: class Monad m => MonadRoute m where type family URL m
+ Web.Routes.RouteT: class (Monad m) => MonadRoute m where type family URL m
- Web.Routes.RouteT: showURL :: MonadRoute m => URL m -> m Text
+ Web.Routes.RouteT: showURL :: (MonadRoute m) => URL m -> m Text
- Web.Routes.RouteT: showURLParams :: MonadRoute m => URL m -> [(Text, Maybe Text)] -> m Text
+ Web.Routes.RouteT: showURLParams :: (MonadRoute m) => URL m -> [(Text, Maybe Text)] -> m Text

Files

test/Test.hs view
@@ -2,11 +2,10 @@  module Main (main) where -import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2-import Test.Framework.TH import Test.HUnit import Test.QuickCheck+import Test.Hspec+import Test.Hspec.QuickCheck import Web.Routes  newtype ArticleId = ArticleId Int deriving (Eq, Show, Num, PathInfo, Arbitrary)@@ -38,4 +37,7 @@          url    -> assertFailure $ "expected a Left, but got: " ++ show url  main :: IO ()-main = $defaultMainGenerator+main = hspec $ do+ prop "toPathInfo" case_toPathInfo+ prop "fromPathInfo" case_fromPathInfo+ prop "PathInfo_isomorphism"  prop_PathInfo_isomorphism
web-routes.cabal view
@@ -1,14 +1,16 @@ Name:             web-routes-Version:          0.27.9+Version:          0.27.10 License:          BSD3 License-File:     LICENSE Author:           jeremy@seereason.com Maintainer:       partners@seereason.com Category:         Web, Language-Synopsis:         Library for maintaining correctness and composability of URLs within an application.+Synopsis:         portable, type-safe URL routing Description:      A collection of types and functions that ensure that URLs generated by an application are valid. Need more properties here.+Homepage:         http://www.happstack.com/docs/crashcourse/index.html#web-routes Cabal-Version:    >= 1.8 Build-type:       Simple+tested-with:      GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3  test-suite Test   type             : exitcode-stdio-1.0@@ -16,11 +18,8 @@   hs-source-dirs   : test   build-depends    : base == 4.*,                      HUnit,+                     hspec,                      QuickCheck,-                     test-framework,-                     test-framework-hunit,-                     test-framework-quickcheck2,-                     test-framework-th,                      web-routes  Library@@ -28,7 +27,7 @@                           blaze-builder >= 0.2  && < 0.5,                           parsec        >= 2    && < 4,                           bytestring    >= 0.9  && < 0.11,-                          http-types    >= 0.6  && < 0.9,+                          http-types    >= 0.6  && < 0.10,                           mtl           >= 2.0  && < 2.3,                           text          >= 0.11 && < 1.3,                           utf8-string   >= 0.3  && < 1.1,@@ -42,11 +41,9 @@                           Web.Routes.RouteT                           Web.Routes.Site -        Extensions:       TemplateHaskell,-                          FlexibleContexts,+        Extensions:       FlexibleContexts,                           CPP  source-repository head     type:     git     location: https://github.com/Happstack/web-routes.git-    subdir:   web-routes