packages feed

web-routes-hsp 0.23.0 → 0.24.0

raw patch · 2 files changed

+28/−27 lines, 2 filesdep ~hsp

Dependency ranges changed: hsp

Files

Web/Routes/XMLGenT.hs view
@@ -1,16 +1,17 @@-{-# LANGUAGE CPP, MultiParamTypeClasses, TypeSynonymInstances, FlexibleInstances, TypeFamilies #-}+{-# LANGUAGE CPP, MultiParamTypeClasses, TypeSynonymInstances, FlexibleContexts, FlexibleInstances, TypeFamilies, OverloadedStrings #-} {-# OPTIONS_GHC -fno-warn-orphans #-} module Web.Routes.XMLGenT where -import HSP import Control.Applicative ((<$>))+import Data.Monoid ((<>)) import qualified Data.Text as T import qualified Data.Text.Lazy as TL-import {- qualified -} HSX.XMLGenerator -- as HSX+import HSP import Web.Routes.RouteT (RouteT, MonadRoute(..), showURL, URL)  instance (Functor m, Monad m) => XMLGen (RouteT url m) where-    type XMLType (RouteT url m) = XML+    type XMLType (RouteT url m)    = XML+    type StringType (RouteT url m) = TL.Text     newtype ChildType (RouteT url m) = UChild { unUChild :: XML }     newtype AttributeType (RouteT url m) = UAttr { unUAttr :: Attribute }     genElement n attrs children =@@ -35,56 +36,56 @@         flP [] bs = reverse bs         flP [x] bs = reverse (x:bs)         flP (x:y:xs) bs = case (x,y) of-                           (CDATA e1 s1, CDATA e2 s2) | e1 == e2 -> flP (CDATA e1 (s1++s2) : xs) bs+                           (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) => EmbedAsAttr (RouteT url m) Attribute where     asAttr = return . (:[]) . UAttr  instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String Char) where-    asAttr (n := c)  = asAttr (n := [c])+    asAttr (n := c)  = asAttr (TL.pack n := TL.singleton c)  instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String String) where-    asAttr (n := str)  = asAttr $ MkAttr (toName n, pAttrVal str)+    asAttr (n := str)  = asAttr $ MkAttr (toName $ TL.pack n, pAttrVal $ TL.pack str) -instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String Bool) where+instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr TL.Text Bool) where     asAttr (n := True)  = asAttr $ MkAttr (toName n, pAttrVal "true")     asAttr (n := False) = asAttr $ MkAttr (toName n, pAttrVal "false") -instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String Int) where-    asAttr (n := i)  = asAttr $ MkAttr (toName n, pAttrVal (show i))+instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr TL.Text Int) where+    asAttr (n := i)  = asAttr $ MkAttr (toName n, pAttrVal (TL.pack $ show i)) -instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String Integer) where-    asAttr (n := i)  = asAttr $ MkAttr (toName n, pAttrVal (show i))+instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr TL.Text Integer) where+    asAttr (n := i)  = asAttr $ MkAttr (toName n, pAttrVal (TL.pack $ 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 TL.Text) => (EmbedAsAttr (RouteT url m) (Attr n TL.Text)) where+    asAttr (n := a) = asAttr $ MkAttr (toName n, pAttrVal 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 (Monad m, Functor m, IsName n TL.Text) => (EmbedAsAttr (RouteT url m) (Attr n T.Text)) where+    asAttr (n := a) = asAttr $ MkAttr (toName n, pAttrVal $ TL.fromStrict a) -instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr String url) where+instance (Functor m, Monad m) => EmbedAsAttr (RouteT url m) (Attr TL.Text url) where     asAttr (n := u) =         do url <- showURL u-           asAttr $ MkAttr (toName n, pAttrVal (T.unpack url))+           asAttr $ MkAttr (toName n, pAttrVal (TL.fromStrict url))  instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) Char where-    asChild = XMLGenT . return . (:[]) . UChild . pcdata . (:[])+    asChild = XMLGenT . return . (:[]) . UChild . pcdata . TL.singleton  instance (Functor m, Monad m) => EmbedAsChild (RouteT url m) String where-    asChild = XMLGenT . return . (:[]) . UChild . pcdata+    asChild = XMLGenT . return . (:[]) . UChild . pcdata . TL.pack  instance (Monad m, Functor m) => (EmbedAsChild (RouteT url m) TL.Text) where-    asChild = asChild . TL.unpack+    asChild = XMLGenT . return . (:[]) . UChild . pcdata  instance (Monad m, Functor m) => (EmbedAsChild (RouteT url m) T.Text) where-    asChild = asChild . T.unpack+    asChild = asChild . TL.fromStrict  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.23.0+Version:          0.24.0 License:          BSD3 License-File:     LICENSE Author:           jeremy@seereason.com@@ -13,7 +13,7 @@ Library         Build-Depends:    base       >= 4      && < 5,                           hsx        >= 0.10.2 && < 0.11,-                          hsp        >= 0.7.1  && < 0.8,+                          hsp        >= 0.9  && < 0.10,                           text       == 0.11.*,                           web-routes >= 0.26   && < 0.28 @@ -22,4 +22,4 @@ source-repository head     type:     darcs     subdir:   web-routes-hsp-    location: http://src.seereason.com/web-routes/+    location: http://hub.darcs.net/stepcut/web-routes