packages feed

urlpath 3.2.1.1 → 3.3.0

raw patch · 2 files changed

+38/−21 lines, 2 files

Files

src/Data/Url.hs view
@@ -41,114 +41,127 @@   locUrl    :: Location b t             -> m String   symbolUrl :: ( ToLocation s b t-               ) => s-                 -> m String+               , MonadThrow m+               ) => s -> m String  instance MonadUrl b IO where   pathUrl   = pure . toFilePath   locUrl    = pure . show-  symbolUrl = pure . show . toLocation+  symbolUrl x = show <$> toLocation x  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (MaybeT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (ListT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (ResourceT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (IdentityT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (LoggingT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (NoLoggingT m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl   instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (ReaderT r m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          , Monoid w          ) => MonadUrl b (WriterT w m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (StateT s m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          , Error e          ) => MonadUrl b (ErrorT e m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (ContT r m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          ) => MonadUrl b (ExceptT e m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl  instance ( MonadUrl b m          , Monad m+         , MonadThrow m          , Monoid w          ) => MonadUrl b (RWST r w s m) where   pathUrl   = lift . pathUrl   locUrl    = lift . locUrl-  symbolUrl = lift . symbolUrl+  symbolUrl = symbolUrl   -- | Make an instance for your own stringless route type to use your symbols -- instead of strings or @Path@. class ToLocation a b t | a -> b t where-  toLocation :: a -> Location b t+  toLocation :: MonadThrow m => a -> m (Location b t)  -- | Overload extraction for deployment transformers. class UrlReader m where@@ -214,7 +227,7 @@          ) => MonadUrl Rel (RelativeUrlT m) where   pathUrl x   = pure (toFilePath x)   locUrl x    = pure (show x)-  symbolUrl x = pure (show (toLocation x))+  symbolUrl x = show <$> toLocation x  instance UrlReader (RelativeUrlT m) where   type RunUrlReader (RelativeUrlT m) = m@@ -329,10 +342,11 @@   liftIO = lift . liftIO  instance ( Applicative m+         , MonadThrow m          ) => MonadUrl Abs (GroundedUrlT m) where   pathUrl x   = pure (toFilePath x)   locUrl x    = pure (show x)-  symbolUrl x = pure (show (toLocation x))+  symbolUrl x = show <$> toLocation x  instance UrlReader (GroundedUrlT m) where   type RunUrlReader (GroundedUrlT m) = m@@ -447,10 +461,13 @@   liftIO = lift . liftIO  instance ( Applicative m+         , MonadThrow m          ) => MonadUrl Abs (AbsoluteUrlT m) where   pathUrl x   = AbsoluteUrlT (\h -> pure $ show h ++ toFilePath x)   locUrl x    = AbsoluteUrlT (\h -> pure $ show h ++ show x)-  symbolUrl x = AbsoluteUrlT (\h -> pure $ show h ++ show (toLocation x))+  symbolUrl x = AbsoluteUrlT $ \h -> do+    x' <- toLocation x+    return $ show h ++ show x'  instance UrlReader (AbsoluteUrlT m) where   type RunUrlReader (AbsoluteUrlT m) = m
urlpath.cabal view
@@ -1,5 +1,5 @@ Name:                   urlpath-Version:                3.2.1.1+Version:                3.3.0 Author:                 Athan Clark <athan.clark@gmail.com> Maintainer:             Athan Clark <athan.clark@gmail.com> License:                MIT