packages feed

hsx-jmacro 7.0.1 → 7.1.0

raw patch · 3 files changed

+13/−16 lines, 3 filesdep ~happstack-hspdep ~hsxdep ~mtl

Dependency ranges changed: happstack-hsp, hsx, mtl

Files

HSX/JMacroT.hs view
@@ -30,7 +30,7 @@ import qualified Data.Text        as Strict import qualified Data.Text.Lazy   as Lazy import HSX.XMLGenerator           (Attr(..), XMLGen(..), XMLGenT(..), XMLGenerator, AppendChild(..), EmbedAsAttr(..), EmbedAsChild(..), Name(..), SetAttr(..), unXMLGenT)-import qualified HSX.XMLGenerator as HSX+ import Language.Javascript.JMacro (ToJExpr(..), JExpr(..), JStat(..), ToStat(..), jmacroE, jLam, jVarTy)  -- | isomorphic to IdentityT, but used for generating javascript that generates XML/HTML@@ -59,9 +59,9 @@     toJExpr = toJExpr . evalJMacroM  instance (Functor m, Monad m) => XMLGen (JMacroT m) where-    type XML          (JMacroT m) = JExpr-    newtype Child     (JMacroT m) = JMChild { unJMChild :: JExpr }-    newtype Attribute (JMacroT m) = JMAttr  { unJMAttr  :: JExpr }+    type XMLType          (JMacroT m) = JExpr+    newtype ChildType     (JMacroT m) = JMChild { unJMChild :: JExpr }+    newtype AttributeType (JMacroT m) = JMAttr  { unJMAttr  :: JExpr }     genElement        = element     xmlToChild        = JMChild     pcdataToChild str = JMChild $ [jmacroE| document.createTextNode(`(str)`) |]
example.hs view
@@ -19,13 +19,10 @@ main :: IO () main =     do let html :: DOMNode-           html = <p>Generate javascript from <span class="foo" id="h">HTML & XML</span>. <% cdata "<em>foo</em><em>bar</em>" %></p>--           xml = evalIdentity html+           html = <p>Generate javascript from <span class="foo" id="h">HTML & XML</span>.</p>             js :: JStat-           js = [jmacro| document.getElementById('main').appendChild(`(XMLToDOM xml)`);-                         document.getElementById('main').appendChild(document.createTextNode("i like <em>em</em>"));+           js = [jmacro| document.getElementById('main').appendChild(`(html)`);                        |]             handler :: ServerPart XML
hsx-jmacro.cabal view
@@ -1,5 +1,5 @@ Name:                hsx-jmacro-Version:             7.0.1+Version:             7.1.0 Synopsis:            hsx+jmacro support Description:         HSX allows for the use of literal XML in Haskell program text. JMacro allows for the use of javascript-syntax for generating javascript in Haskell. This library makes it easy to embed JMacro generated javascript in HSX templates. Homepage:            http://www.happstack.com/@@ -19,10 +19,10 @@                      HSX.JMacroT    Build-depends:-                     base >4 && <5,-                     happstack-hsp,-                     hsx,-                     jmacro >= 0.5 && < 0.6,-                     mtl,+                     base            > 4      && <5,+                     happstack-hsp  == 7.1.*,+                     hsx            >= 0.10.2 && <0.11,+                     jmacro         >= 0.5    && < 0.6,+                     mtl            >= 2.0    && < 2.2,                      pretty,-                     text   == 0.11.*+                     text           == 0.11.*