Move SomeMessage to yesod-core

This commit is contained in:
Michael Snoyman 2011-08-09 19:23:59 +03:00
parent 2435dc0b82
commit 3f5c8f1dd3
6 changed files with 9 additions and 8 deletions

View File

@ -2,10 +2,12 @@
{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE ExistentialQuantification #-}
module Yesod.Message module Yesod.Message
( mkMessage ( mkMessage
, RenderMessage (..) , RenderMessage (..)
, ToMessage (..) , ToMessage (..)
, SomeMessage (..)
) where ) where
import Language.Haskell.TH.Syntax import Language.Haskell.TH.Syntax
@ -248,3 +250,5 @@ parseVar s =
case break (== '@') s of case break (== '@') s of
(x, '@':y) -> (x, Just y) (x, '@':y) -> (x, Just y)
_ -> (s, Nothing) _ -> (s, Nothing)
data SomeMessage master = forall msg. RenderMessage master msg => SomeMessage msg

View File

@ -30,7 +30,7 @@ module Yesod.Form.Fields
import Yesod.Form.Types import Yesod.Form.Types
import Yesod.Widget import Yesod.Widget
import Yesod.Message (RenderMessage) import Yesod.Message (RenderMessage, SomeMessage (..))
import Text.Hamlet import Text.Hamlet
import Text.Blaze (ToHtml (..), preEscapedString, unsafeByteString) import Text.Blaze (ToHtml (..), preEscapedString, unsafeByteString)
import Text.Cassius import Text.Cassius

View File

@ -41,7 +41,7 @@ import Control.Monad.Trans.Class (lift)
import Control.Monad (liftM, join) import Control.Monad (liftM, join)
import Text.Blaze (Html, toHtml) import Text.Blaze (Html, toHtml)
import Yesod.Handler (GHandler, GGHandler, getRequest, runRequestBody, newIdent, getYesod) import Yesod.Handler (GHandler, GGHandler, getRequest, runRequestBody, newIdent, getYesod)
import Yesod.Core (RenderMessage, liftIOHandler) import Yesod.Core (RenderMessage, liftIOHandler, SomeMessage (..))
import Yesod.Widget (GWidget, whamlet) import Yesod.Widget (GWidget, whamlet)
import Yesod.Request (reqNonce, reqWaiRequest, reqGetParams, languages) import Yesod.Request (reqNonce, reqWaiRequest, reqGetParams, languages)
import Network.Wai (requestMethod) import Network.Wai (requestMethod)

View File

@ -15,7 +15,7 @@ import Control.Applicative (Applicative (..))
import Yesod.Handler (GHandler, GGHandler, invalidArgs, runRequestBody, getRequest, getYesod, liftIOHandler) import Yesod.Handler (GHandler, GGHandler, invalidArgs, runRequestBody, getRequest, getYesod, liftIOHandler)
import Yesod.Request (reqGetParams, languages) import Yesod.Request (reqGetParams, languages)
import Control.Monad (liftM) import Control.Monad (liftM)
import Yesod.Message (RenderMessage (..)) import Yesod.Message (RenderMessage (..), SomeMessage (..))
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Maybe (fromMaybe) import Data.Maybe (fromMaybe)

View File

@ -27,7 +27,7 @@ import Text.Julius (julius)
import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Class (lift)
import Data.Text (Text, pack, unpack) import Data.Text (Text, pack, unpack)
import Data.Monoid (mconcat) import Data.Monoid (mconcat)
import Yesod.Core (RenderMessage) import Yesod.Core (RenderMessage, SomeMessage (..))
#if __GLASGOW_HASKELL__ >= 700 #if __GLASGOW_HASKELL__ >= 700
#define HTML html #define HTML html

View File

@ -12,7 +12,6 @@ module Yesod.Form.Types
, Form , Form
, AForm (..) , AForm (..)
-- * Build forms -- * Build forms
, SomeMessage (..)
, Field (..) , Field (..)
, FieldSettings (..) , FieldSettings (..)
, FieldView (..) , FieldView (..)
@ -26,7 +25,7 @@ import Text.Blaze (Html, ToHtml (toHtml))
import Control.Applicative ((<$>), Applicative (..)) import Control.Applicative ((<$>), Applicative (..))
import Control.Monad (liftM) import Control.Monad (liftM)
import Data.String (IsString (..)) import Data.String (IsString (..))
import Yesod.Core (RenderMessage, GGHandler, GWidget) import Yesod.Core (GGHandler, GWidget, SomeMessage)
import qualified Data.Map as Map import qualified Data.Map as Map
-- | A form can produce three different results: there was no data available, -- | A form can produce three different results: there was no data available,
@ -113,8 +112,6 @@ data FieldView sub master = FieldView
, fvRequired :: Bool , fvRequired :: Bool
} }
data SomeMessage master = forall msg. RenderMessage master msg => SomeMessage msg
data Field sub master a = Field data Field sub master a = Field
{ fieldParse :: [Text] -> GGHandler sub master IO (Either (SomeMessage master) (Maybe a)) { fieldParse :: [Text] -> GGHandler sub master IO (Either (SomeMessage master) (Maybe a))
-- | ID, name, (invalid text OR legimiate result), required? -- | ID, name, (invalid text OR legimiate result), required?