twiml-0.1.0.0: src/Text/XML/Twiml.hs
{-#LANGUAGE FlexibleContexts #-}
{-#LANGUAGE FlexibleInstances #-}
{-#LANGUAGE MultiParamTypeClasses #-}
{-#LANGUAGE RankNTypes #-}
module Text.XML.Twiml
( Response
, respond
, module Text.XML.Twiml.Verbs
, module Text.XML.Twiml.Types
, module Text.XML.Twiml.Internal
) where
import Text.XML.Twiml.Internal
import Text.XML.Twiml.Verbs
import Text.XML.Twiml.Types hiding
( Lens
, Lens'
, lens
, (^.)
, over
, to'
, Fix
, Foldable
, Base
, Yes
, No
)
{- Twiml Response -}
-- | The root element of Twilio's XML Markup is the @\<Response\>@ element. See
-- <https://www.twilio.com/docs/api/twiml/your_response#response-element>.
newtype Response = Response { fromResponse :: Twiml' Response }
instance Twiml Response Response where
toTwiml' = fromResponse
instance Show Response where
show = show . toTwiml'
respond :: Twiml Response t => t -> Response
respond = Response . toTwiml'