From 067f91b4653a61227aeb0eddef39d0251f677295 Mon Sep 17 00:00:00 2001 From: Leo Horie Date: Fri, 7 Nov 2014 23:36:50 -0500 Subject: [PATCH] #308 fix template compiler m->Mithril case --- docs/layout/tools/template-compiler.sjs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/docs/layout/tools/template-compiler.sjs b/docs/layout/tools/template-compiler.sjs index 9963c11f..ae1eb7eb 100644 --- a/docs/layout/tools/template-compiler.sjs +++ b/docs/layout/tools/template-compiler.sjs @@ -6,7 +6,7 @@ Installation: npm install -g sweet.js Usage: sjs --module /template-compiler.sjs --output .js .js */ -macro m { +macro m_impl { case { _ ($selector, $dynAttrs ..., $children ...) } => { var selectorSyntax = #{$selector}; var selector = unwrapSyntax(selectorSyntax); @@ -47,7 +47,7 @@ macro m { return #{ ({tag: $tag, attrs: $attrs , children: $children ...}) }; } catch (e) { - return #{ m($tag, {}, [$dynAttrs ..., $children ...]) } + return #{ m_impl($tag, {}, [$dynAttrs ..., $children ...]) } } } case { _ ($selector, $partial ...) } => { @@ -55,17 +55,29 @@ macro m { try { var partial = unwrapSyntax(partialSyntax); var isTag = partial.inner && partial.inner.length > 2 && (partial.inner[0].token.value == "tag" && partial.inner[1].token.value == ":") - return !isTag ? #{m($selector, $partial ..., [])} : #{m($selector, {}, $partial ...)}; + return !isTag ? #{m_impl($selector, $partial ..., [])} : #{m_impl($selector, {}, $partial ...)}; } catch (e) { - return #{m($selector, {}, $partial ...)} + return #{m_impl($selector, {}, $partial ...)} } } case { _ ($selector) } => { - return #{m($selector, {}, [])}; + return #{m_impl($selector, {}, [])}; + } +} + +let m = macro { + case { _ ($selector, $dynAttrs ..., $children ...) } => { + return #{m_impl($selector, $dynAttrs ..., $children ...)} + } + case { _ ($selector, $partial ...) } => { + return #{m_impl($selector, $partial ...)} + } + case { _ ($selector) } => { + return #{m_impl($selector, {}, [])}; } case { _ } => { - return #{Mithril}; + return #{m}; } }