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 FlexibleInstances #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE ExistentialQuantification #-}
module Yesod.Message
( mkMessage
, RenderMessage (..)
, ToMessage (..)
, SomeMessage (..)
) where
import Language.Haskell.TH.Syntax
@ -248,3 +250,5 @@ parseVar s =
case break (== '@') s of
(x, '@':y) -> (x, Just y)
_ -> (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.Widget
import Yesod.Message (RenderMessage)
import Yesod.Message (RenderMessage, SomeMessage (..))
import Text.Hamlet
import Text.Blaze (ToHtml (..), preEscapedString, unsafeByteString)
import Text.Cassius

View File

@ -41,7 +41,7 @@ import Control.Monad.Trans.Class (lift)
import Control.Monad (liftM, join)
import Text.Blaze (Html, toHtml)
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.Request (reqNonce, reqWaiRequest, reqGetParams, languages)
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.Request (reqGetParams, languages)
import Control.Monad (liftM)
import Yesod.Message (RenderMessage (..))
import Yesod.Message (RenderMessage (..), SomeMessage (..))
import qualified Data.Map as Map
import Data.Maybe (fromMaybe)

View File

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

View File

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