hsx 0.10.2 → 0.10.3
raw patch · 2 files changed
+12/−6 lines, 2 files
Files
- hsx.cabal +1/−1
- src/HSX/Transform.hs +11/−5
hsx.cabal view
@@ -1,5 +1,5 @@ Name: hsx-Version: 0.10.2+Version: 0.10.3 License: BSD3 License-File: LICENSE Author: Niklas Broberg, Joel Bjornson
src/HSX/Transform.hs view
@@ -407,8 +407,10 @@ mkAttr :: XAttr -> Exp mkAttr (XAttr name e) =- paren (metaMkName name `metaAssign` e)-+ paren (metaMkName name `metaAssign` (stringTypeSig e))+ where+ stringTypeSig e@(Lit (String _)) = ExpTypeSig noLoc e (TyCon (UnQual (Ident "String")))+ stringTypeSig e = e -- | Transform pattern bind declarations inside a @let@-expression by transforming -- subterms that could appear as regular patterns, as well as transforming the bound@@ -1912,6 +1914,7 @@ -- | Create an attribute by applying the overloaded @asAttr@ metaAsAttr :: Exp -> Exp+metaAsAttr e@(Lit (String _)) = metaFunction "asAttr" [ExpTypeSig noLoc e (TyCon (UnQual (Ident "String")))] metaAsAttr e = metaFunction "asAttr" [e] argAsAttr :: Exp@@ -1920,7 +1923,7 @@ -- | Create a property from an attribute and a value. metaAssign :: Exp -> Exp -> Exp metaAssign e1 e2 = infixApp e1 assignOp e2- where assignOp = QVarOp $ UnQual $ Symbol ":="+ where assignOp = QConOp $ UnQual $ Symbol ":=" -- | Make xml out of some expression by applying the overloaded function -- @asChild@.@@ -1951,5 +1954,8 @@ metaMkName :: XName -> Exp metaMkName n = case n of- XName s -> strE s- XDomName d s -> tuple [strE d, strE s]+ XName s -> stringTypeSig (strE s)+ XDomName d s -> tuple [stringTypeSig $ strE d, stringTypeSig $ strE s]+ where+ stringTypeSig e = ExpTypeSig noLoc e (TyCon (UnQual (Ident "String")))+