packages feed

jmacro-rpc-happstack 0.3.1 → 0.3.2

raw patch · 2 files changed

+5/−4 lines, 2 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Network.JMacroRPC.Happstack: mkConversationPage :: (Monad m, Functor m, MonadIO m) => IO timestamp -> (IntMap (timestamp, s) -> IO (IntMap (timestamp, s))) -> (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response)
+ Network.JMacroRPC.Happstack: mkConversationPage :: (Monad m, Functor m, MonadIO m, MonadPlus m) => IO timestamp -> (IntMap (timestamp, s) -> IO (IntMap (timestamp, s))) -> (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response)
- Network.JMacroRPC.Happstack: mkConversationPageNoCulling :: (Monad m, Functor m, MonadIO m) => (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response)
+ Network.JMacroRPC.Happstack: mkConversationPageNoCulling :: (Monad m, Functor m, MonadIO m, MonadPlus m) => (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response)
- Network.JMacroRPC.Happstack: panelToPage :: (Monad m, Functor m, MonadIO m) => Maybe String -> String -> Panel (ServerPartT m) -> ServerPartT m Response
+ Network.JMacroRPC.Happstack: panelToPage :: (Monad m, Functor m, MonadIO m, MonadPlus m) => Maybe String -> String -> Panel (ServerPartT m) -> ServerPartT m Response

Files

Network/JMacroRPC/Happstack.hs view
@@ -69,6 +69,7 @@ import Data.IntMap(IntMap) import Data.Aeson import qualified Text.Blaze.Html as H+import Control.Monad  instance (ToJSON b, Monad m, Functor m) => ToJsonRPC (ServerPartT m (Either String b)) (ServerPartT m) where     toJsonRPC_ f = \ _ -> fmap (fmap toJSON) $ f@@ -83,7 +84,7 @@ serveSimpleRpcs rpcs = serveRpcs (const $ return ()) rpcs  -- | This general handler allows explicit culling of conversation state.-mkConversationPage :: forall m s timestamp. (Monad m, Functor m, MonadIO m) =>+mkConversationPage :: forall m s timestamp. (Monad m, Functor m, MonadIO m, MonadPlus m) =>                             IO timestamp -- ^ Get an abstract timestamp                             -> (IntMap (timestamp,s) -> IO (IntMap (timestamp,s))) -- ^ Cull a map of conversations based on a timestamp                             -> (JStat -> ServerPartT m Response) -- ^ Take some JMacro Javascript and splice it into some generated page.@@ -93,10 +94,10 @@ mkConversationPage getStamp cullMap pageFun emptyState rpcs = (\(rpcPage, mainPage) -> dir "jrpcs"  rpcPage `mappend` mainPage) <$> mkConversationPageGen getStamp cullMap serveRpcs pageFun emptyState rpcs  -- | This simple handler allows conversation state to grow without bounds.-mkConversationPageNoCulling :: forall m s. (Monad m, Functor m, MonadIO m) => (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response)+mkConversationPageNoCulling :: forall m s. (Monad m, Functor m, MonadIO m, MonadPlus m) => (JStat -> ServerPartT m Response) -> IO s -> [JsonRPC (ServerPartT m) s] -> IO (ServerPartT m Response) mkConversationPageNoCulling pageFun emptyState rpcs = mkConversationPage (return ()) return pageFun emptyState rpcs  -- | Render a Panel as a @ServerPartT m Response@.-panelToPage :: (Monad m, Functor m, MonadIO m) => Maybe String -> String -> Panel (ServerPartT m) -> ServerPartT m Response+panelToPage :: (Monad m, Functor m, MonadIO m, MonadPlus m) => Maybe String -> String -> Panel (ServerPartT m) -> ServerPartT m Response panelToPage jqLoc title p = dir "jrpcs" updateHandler `mappend` drawHandler     where (updateHandler, drawHandler) = panelToPageGen (serveRpcs $ const (return ())) (return . toResponse . H.preEscapedToHtml) jqLoc title p
jmacro-rpc-happstack.cabal view
@@ -1,5 +1,5 @@ Name:                jmacro-rpc-happstack-Version:             0.3.1+Version:             0.3.2 Homepage:            http://hub.darcs.net/gershomb/jmacro-rpc License:             BSD3 License-file:        LICENSE