web-routes-hsp 0.19 → 0.20
raw patch · 2 files changed
+23/−2 lines, 2 filesdep +textdep ~hsx
Dependencies added: text
Dependency ranges changed: hsx
Files
- Web/Routes/XMLGenT.hs +21/−0
- web-routes-hsp.cabal +2/−2
Web/Routes/XMLGenT.hs view
@@ -4,6 +4,8 @@ import HSP import Control.Applicative ((<$>))+import qualified Data.Text as T+import qualified Data.Text.Lazy as TL import qualified HSX.XMLGenerator as HSX import Web.Routes.RouteT (RouteT, ShowURL(showURL), URL) @@ -21,6 +23,7 @@ childer ) xmlToChild = UChild+ pcdataToChild = HSX.xmlToChild . pcdata flattenCDATA :: [XML] -> [XML] flattenCDATA cxml = @@ -36,6 +39,12 @@ (CDATA e1 s1, CDATA e2 s2) | e1 == e2 -> flP (CDATA e1 (s1++s2) : xs) bs _ -> flP (y:xs) (x:bs) +instance (Monad m, Functor m) => IsAttrValue (RouteT url m) T.Text where+ toAttrValue = toAttrValue . T.unpack++instance (Monad m, Functor m) => IsAttrValue (RouteT url m) TL.Text where+ toAttrValue = toAttrValue . TL.unpack+ instance (Functor m, Monad m) => HSX.EmbedAsAttr (RouteT url m) Attribute where asAttr = return . (:[]) . UAttr @@ -52,11 +61,23 @@ instance (Functor m, Monad m) => HSX.EmbedAsAttr (RouteT url m) (Attr String Int) where asAttr (n := i) = asAttr $ MkAttr (toName n, pAttrVal (show i)) +instance (Monad m, Functor m, IsName n) => (EmbedAsAttr (RouteT url m) (Attr n TL.Text)) where+ asAttr (n := a) = asAttr $ MkAttr (toName n, pAttrVal $ TL.unpack a)++instance (Monad m, Functor m, IsName n) => (EmbedAsAttr (RouteT url m) (Attr n T.Text)) where+ asAttr (n := a) = asAttr $ MkAttr (toName n, pAttrVal $ T.unpack a)+ instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) Char where asChild = XMLGenT . return . (:[]) . UChild . pcdata . (:[]) instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) String where asChild = XMLGenT . return . (:[]) . UChild . pcdata++instance (Monad m, Functor m) => (EmbedAsChild (RouteT url m) TL.Text) where+ asChild = asChild . TL.unpack++instance (Monad m, Functor m) => (EmbedAsChild (RouteT url m) T.Text) where+ asChild = asChild . T.unpack instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) XML where asChild = XMLGenT . return . (:[]) . UChild
web-routes-hsp.cabal view
@@ -1,5 +1,5 @@ Name: web-routes-hsp-Version: 0.19+Version: 0.20 License: BSD3 Author: jeremy@seereason.com Maintainer: partners@seereason.com@@ -10,7 +10,7 @@ Build-type: Simple Library- Build-Depends: base >= 4 && < 5, hsx, hsp, web-routes >= 0.19+ Build-Depends: base >= 4 && < 5, hsx >= 0.7.0, hsp, web-routes >= 0.19, text Exposed-Modules: Web.Routes.XMLGenT source-repository head