yesod-pnotify 0.4.0.1 → 0.4.1.0
raw patch · 2 files changed
+27/−6 lines, 2 filesdep +resourcetPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies added: resourcet
API changes (from Hackage documentation)
- Yesod.Goodies.PNotify: getPNotify :: HandlerT site IO (Maybe [PNotify])
+ Yesod.Goodies.PNotify: getPNotify :: (MonadThrow m, MonadUnsafeIO m, MonadBaseControl IO m, MonadIO m) => HandlerT site m (Maybe [PNotify])
- Yesod.Goodies.PNotify: pnotify :: YesodJqueryPnotify site => site -> WidgetT site IO ()
+ Yesod.Goodies.PNotify: pnotify :: (YesodJqueryPnotify site, MonadThrow m, MonadUnsafeIO m, MonadBaseControl IO m, MonadIO m) => site -> WidgetT site m ()
- Yesod.Goodies.PNotify: setPNotify :: PNotify -> HandlerT site IO ()
+ Yesod.Goodies.PNotify: setPNotify :: (Monad m, MonadThrow m, MonadUnsafeIO m, MonadBaseControl IO m, MonadIO m) => PNotify -> HandlerT site m ()
Files
- Yesod/Goodies/PNotify.hs +24/−5
- yesod-pnotify.cabal +3/−1
Yesod/Goodies/PNotify.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE OverloadedStrings, QuasiQuotes, TemplateHaskell, MultiParamTypeClasses, TypeFamilies #-}+{-# LANGUAGE OverloadedStrings, QuasiQuotes, TemplateHaskell, MultiParamTypeClasses, TypeFamilies, FlexibleContexts #-} module Yesod.Goodies.PNotify ( PNotify(..) , NotifyType(..)@@ -17,6 +17,7 @@ import Data.Monoid ((<>), mempty) import qualified Data.Text as T import qualified Data.Text.Lazy as TL+import Control.Monad.Trans.Resource import Control.Monad.Trans.Maybe import Data.Char (toLower) import Text.Julius (RawJS(..))@@ -46,21 +47,39 @@ notifyKey :: Text notifyKey = "_PNotify" -_setPNotify :: [PNotify] -> HandlerT site IO ()+_setPNotify :: (MonadThrow m, + MonadUnsafeIO m,+ MonadBaseControl IO m,+ MonadIO m) => + [PNotify] -> HandlerT site m () _setPNotify = setSession notifyKey . T.concat . TL.toChunks . TL.pack . show -getPNotify :: HandlerT site IO (Maybe [PNotify])+getPNotify :: (MonadThrow m, + MonadUnsafeIO m,+ MonadBaseControl IO m,+ MonadIO m) => + HandlerT site m (Maybe [PNotify]) getPNotify = runMaybeT $ do ns <- MaybeT $ lookupSession notifyKey lift $ deleteSession notifyKey return $ read $ T.unpack ns -setPNotify :: PNotify -> HandlerT site IO ()+setPNotify :: (Monad m,+ MonadThrow m,+ MonadUnsafeIO m,+ MonadBaseControl IO m,+ MonadIO m) =>+ PNotify -> HandlerT site m () setPNotify n = do mns <- getPNotify _setPNotify (n:maybe [] id mns) -pnotify :: YesodJqueryPnotify site => site -> WidgetT site IO ()+pnotify :: (YesodJqueryPnotify site, + MonadThrow m, + MonadUnsafeIO m, + MonadBaseControl IO m,+ MonadIO m) => + site -> WidgetT site m () pnotify y = do mnotify <- handlerToWidget getPNotify case mnotify of
yesod-pnotify.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: yesod-pnotify-version: 0.4.0.1+version: 0.4.1.0 synopsis: Yet another getMessage/setMessage using pnotify jquery plugins description: Yet another getMessage/setMessage using pnotify jquery plugins homepage: https://github.com/cutsea110/yesod-pnotify@@ -24,3 +24,5 @@ , text >= 0.11 && < 0.12 , transformers >= 0.3 && < 0.4 , shakespeare-js >= 1.1 && < 1.2+ , resourcet >= 0.4 && < 0.5+