State based registration (#2194)

* fix: only register renderers for if/for when stateful

* fix: correct serialization of closures

* test: enable resume on tests that now work
This commit is contained in:
Michael Rawlings 2024-04-04 13:07:41 -04:00 committed by GitHub
parent f102dfd1a0
commit db337828c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
99 changed files with 937 additions and 315 deletions

View File

@ -0,0 +1,6 @@
---
"@marko/translator-interop-class-tags": patch
"@marko/translator-tags": patch
---
State based registration & serialization

View File

@ -7,8 +7,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _dynamicScope = _dynamicTagInput(_classLayout, {}, _register( /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`<button id=tags>${_escapeXML(count)}${_markResumeNode(_scope1_id, "#text/1")}</button>${_markResumeNode(_scope1_id, "#button/0")}`);
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count");
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber");
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});

View File

@ -21,7 +21,7 @@
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>
@ -77,7 +77,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>
@ -122,7 +122,7 @@ container.querySelector("#class").click()
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>
@ -167,7 +167,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>
@ -212,7 +212,7 @@ container.querySelector("#class").click()
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>
@ -257,7 +257,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
</div>
<script>

View File

@ -3,7 +3,7 @@
# Write
<!--M#s0--><button id=class>0</button><div><!--F#2--><button id=tags>0<!M*1 #text/1></button><!M*1 #button/0><script>M$h.push((b,s)=>({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])</script><!--F/--></div><!--M/--><script>$MC=(window.$MC||[]).concat({"g":{"componentIdToScopeId":{"s0-2":1}},"w":[["s0",0,{"renderBody":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_renderer",0]},{"f":1,"r":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_renderer",0]}]],"t":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/components/class-layout.marko"]})</script><!M]0 #text/0><script>M$h.push((b,s)=>({0:s[1]._}),[])</script>
<!--M#s0--><button id=class>0</button><div><!--F#2--><button id=tags>0<!M*1 #text/1></button><!M*1 #button/0><script>M$h.push((b,s)=>({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])</script><!--F/--></div><!--M/--><script>$MC=(window.$MC||[]).concat({"g":{"componentIdToScopeId":{"s0-2":1}},"w":[["s0",0,{"renderBody":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_renderer",0]},{"f":1,"r":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_renderer",0]}]],"t":["packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/components/class-layout.marko"]})</script><!M]0 #text/0><script>M$h.push((b,s)=>({0:s[1]._}),[])</script>
# Render "End"
@ -31,7 +31,7 @@
</button>
<!--M*1 #button/0-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-nested-tags-to-class/template.marko_1_count",])
</script>
<!--F/-->
</div>

View File

@ -7,8 +7,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _dynamicScope = _dynamicTagInput(_classLayout, {}, _register( /* @__PURE__ */_createRenderer((baseCount, message) => {
const _scope1_id = _nextScopeId();
_write(`<h1>${_escapeXML(message)}${_markResumeNode(_scope1_id, "#text/0")}</h1><button id=tags>${_escapeXML(multiplier)}${_markResumeNode(_scope1_id, "#text/2")} * <!>${_escapeXML(baseCount)}${_markResumeNode(_scope1_id, "#text/3")} = <!>${_escapeXML(multiplier * baseCount)}${_markResumeNode(_scope1_id, "#text/4")}</button>${_markResumeNode(_scope1_id, "#button/1")}`);
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier");
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber");
_writeEffect(_scope1_id, "packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier");
_writeScope(_scope1_id, {
"baseCount": baseCount,
"_": _serializedScope(_scope0_id)

View File

@ -33,7 +33,7 @@
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>
@ -101,7 +101,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>
@ -158,7 +158,7 @@ container.querySelector("#class").click()
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>
@ -217,7 +217,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>
@ -275,7 +275,7 @@ container.querySelector("#class").click()
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>
@ -334,7 +334,7 @@ container.querySelector("#tags").click()
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
</div>
<script>

View File

@ -3,7 +3,7 @@
# Write
<!--M#s0--><button id=class>0</button><div><!--F#2--><h1>hello<!M*1 #text/0></h1><button id=tags>1<!M*1 #text/2> * <!>0<!M*1 #text/3> = <!>0<!M*1 #text/4></button><!M*1 #button/1><script>M$h.push((b,s)=>({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])</script><!--F/--></div><!--M/--><script>$MC=(window.$MC||[]).concat({"g":{"componentIdToScopeId":{"s0-2":1}},"w":[["s0",0,{"renderBody":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_renderer",0]},{"f":1,"r":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_renderer",0]}]],"t":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/components/class-layout.marko"]})</script><!M]0 #text/0><script>M$h.push((b,s)=>({0:s[1]._}),[])</script>
<!--M#s0--><button id=class>0</button><div><!--F#2--><h1>hello<!M*1 #text/0></h1><button id=tags>1<!M*1 #text/2> * <!>0<!M*1 #text/3> = <!>0<!M*1 #text/4></button><!M*1 #button/1><script>M$h.push((b,s)=>({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])</script><!--F/--></div><!--M/--><script>$MC=(window.$MC||[]).concat({"g":{"componentIdToScopeId":{"s0-2":1}},"w":[["s0",0,{"renderBody":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_renderer",0]},{"f":1,"r":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_renderer",0]}]],"t":["packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/components/class-layout.marko"]})</script><!M]0 #text/0><script>M$h.push((b,s)=>({0:s[1]._}),[])</script>
# Render "End"
@ -43,7 +43,7 @@
</button>
<!--M*1 #button/1-->
<script>
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",])
M$h.push((b,s)=&gt;({1:s[1]}),[1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier/subscriber",1,"packages/translator-interop/src/__tests__/fixtures/interop-tag-params-tags-to-class/template.marko_1_multiplier",])
</script>
<!--F/-->
</div>

View File

@ -1,4 +1,4 @@
import { write as _write, createRenderer as _createRenderer, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, serializedScope as _serializedScope, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { write as _write, createRenderer as _createRenderer, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, serializedScope as _serializedScope, writeEffect as _writeEffect, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _customTag from "./components/custom-tag/index.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
@ -21,9 +21,10 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_ifScopeId = _scope2_id;
}
_write(`${_markResumeControlSingleNodeEnd(_scope1_id, "#text/0", _ifScopeId)}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/at-tag-inside-if-tag/template.marko_1_x/subscriber");
_writeScope(_scope1_id, {
"#text/0!": _scope2_,
"#text/0(": _ifRenderer,
"#text/0!": _scope2_,
"_": _serializedScope(_scope0_id)
});
const _childScope = _peekSerializedScope();
@ -31,6 +32,7 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
thing: _thing
});
_writeScope(_scope0_id, {
"x": x,
"#childScope/0": _childScope
});
});

View File

@ -1,4 +1,4 @@
import { escapeXML as _escapeXML, write as _write, createRenderer as _createRenderer, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, serializedScope as _serializedScope, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { escapeXML as _escapeXML, write as _write, createRenderer as _createRenderer, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, serializedScope as _serializedScope, writeEffect as _writeEffect, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _hello from "./components/hello/index.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
@ -20,9 +20,10 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_ifScopeId = _scope2_id;
}
_write(`${_markResumeControlSingleNodeEnd(_scope1_id, "#text/0", _ifScopeId)}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/at-tags-dynamic-with-params/template.marko_1_x/subscriber");
_writeScope(_scope1_id, {
"#text/0!": _scope2_,
"#text/0(": _ifRenderer,
"#text/0!": _scope2_,
"_": _serializedScope(_scope0_id)
});
const _childScope = _peekSerializedScope();
@ -30,6 +31,7 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
item: _item
});
_writeScope(_scope0_id, {
"x": x,
"#childScope/0": _childScope
});
});

View File

@ -1,4 +1,4 @@
import { write as _write, createRenderer as _createRenderer, serializedScope as _serializedScope, writeScope as _writeScope, nextScopeId as _nextScopeId, maybeFlush as _maybeFlush, escapeXML as _escapeXML, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { write as _write, createRenderer as _createRenderer, nextScopeId as _nextScopeId, maybeFlush as _maybeFlush, escapeXML as _escapeXML, writeScope as _writeScope, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _hello from "./components/hello/index.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
@ -17,9 +17,6 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write("foo");
})
});
_writeScope(_scope4_id, {
"_": _serializedScope(_scope3_id)
});
} else {
const _scope5_id = _nextScopeId();
_item.push({
@ -30,9 +27,6 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write("bar");
})
});
_writeScope(_scope5_id, {
"_": _serializedScope(_scope3_id)
});
}
_maybeFlush();
}
@ -49,12 +43,18 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write(`${_escapeXML(row)}`);
})
});
_writeScope(_scope10_id, {
"row": row
});
_maybeFlush();
}
_col.push({
x: i,
row: _row
});
_writeScope(_scope8_id, {
"col": col
});
_maybeFlush();
}
_col.push({

View File

@ -0,0 +1,4 @@
import { init } from "@marko/runtime-tags/debug/dom";
import "./template.marko";
import "./components/my-button.marko";
init();

View File

@ -1,4 +1,4 @@
import { escapeXML as _escapeXML, markResumeNode as _markResumeNode, write as _write, serializedScope as _serializedScope, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, createRenderer as _createRenderer, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { escapeXML as _escapeXML, markResumeNode as _markResumeNode, write as _write, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, register as _register, createRenderer as _createRenderer, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _myButton from "./components/my-button.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
@ -11,6 +11,7 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
renderBody: /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`${_escapeXML(clickCount)}${_markResumeNode(_scope1_id, "#text/0")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});

View File

@ -0,0 +1,36 @@
# Render {}
```html
<button>
0
</button>
```
# Render
container.querySelector("button").click()
```html
<button>
1
</button>
```
# Render
container.querySelector("button").click()
```html
<button>
2
</button>
```
# Render
container.querySelector("button").click()
```html
<button>
3
</button>
```

View File

@ -0,0 +1,102 @@
# Render {}
```html
<html>
<head />
<body>
<button>
<!--M[2-->
0
<!--M*2 #text/0-->
<!--M]1 #text/1-->
</button>
<!--M*1 #button/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
</script>
</body>
</html>
```
# Mutations
```
```
# Render
container.querySelector("button").click()
```html
<html>
<head />
<body>
<button>
1
<!--M]1 #text/1-->
</button>
<!--M*1 #button/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
</script>
</body>
</html>
```
# Mutations
```
inserted #document/html0/body1/button0/#text0
removed #comment after #document/html0/body1/button0/#text0
removed #text after #document/html0/body1/button0/#text0
removed #comment after #document/html0/body1/button0/#text0
#document/html0/body1/button0/#text0: " " => "1"
```
# Render
container.querySelector("button").click()
```html
<html>
<head />
<body>
<button>
2
<!--M]1 #text/1-->
</button>
<!--M*1 #button/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
</script>
</body>
</html>
```
# Mutations
```
#document/html0/body1/button0/#text0: "1" => "2"
```
# Render
container.querySelector("button").click()
```html
<html>
<head />
<body>
<button>
3
<!--M]1 #text/1-->
</button>
<!--M*1 #button/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
</script>
</body>
</html>
```
# Mutations
```
#document/html0/body1/button0/#text0: "2" => "3"
```

View File

@ -1,5 +1,5 @@
# Write
<button><!M[2>0<!M*2 #text/0><!M]1 #text/1></button><!M*1 #button/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])</script>
<button><!M[2>0<!M*2 #text/0><!M]1 #text/1></button><!M*1 #button/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])</script>
# Render "End"
@ -15,7 +15,7 @@
</button>
<!--M*1 #button/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={clickCount:0,"#childScope/0":j={"#text/1!":k={}}},1:j,2:k},j.onClick=b("packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_0/onClick",h),k._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/template.marko_1_clickCount/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/basic-component-renderBody/components/my-button.marko_0_onClick",])
</script>
</body>
</html>

View File

@ -2,6 +2,4 @@ export const steps = [{}, click, click, click];
function click(container: Element) {
container.querySelector("button")!.click();
}
export const skip_resume = true;
}

View File

@ -19,8 +19,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeScope(_scope0_id, {
"show": show,
"count": count,
"#text/2!": _scope1_,
"#text/2(": _ifRenderer
"#text/2(": _ifRenderer,
"#text/2!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko");

View File

@ -18,7 +18,7 @@
<!--M*1 #text/0-->
<!--M]0 #text/2-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>
@ -52,7 +52,7 @@ container.querySelector("button.inc").click()
<!--M*1 #text/0-->
<!--M]0 #text/2-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>
@ -81,7 +81,7 @@ container.querySelector("button.toggle").click()
<!--M*0 #button/1-->
<!--M]0 #text/2-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>
@ -116,7 +116,7 @@ container.querySelector("button.inc").click()
<!--M*0 #button/1-->
<!--M]0 #text/2-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>
@ -145,7 +145,7 @@ container.querySelector("button.toggle").click()
<!--M*0 #button/1-->
The count is 2
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>
@ -177,7 +177,7 @@ container.querySelector("button.inc").click()
<!--M*0 #button/1-->
The count is 3
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<button class=inc></button><!M*0 #button/0><button class=toggle></button><!M*0 #button/1><!M[1>The count is <!>0<!M*1 #text/0><!M]0 #text/2><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])</script>
<button class=inc></button><!M*0 #button/0><button class=toggle></button><!M*0 #button/1><!M[1>The count is <!>0<!M*1 #text/0><!M]0 #text/2><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])</script>
# Render "End"
@ -22,7 +22,7 @@
<!--M*1 #text/0-->
<!--M]0 #text/2-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter-multiple-nodes/template.marko_0_count",])
</script>
</body>
</html>

View File

@ -20,8 +20,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeScope(_scope0_id, {
"show": show,
"count": count,
"#text/2!": _scope1_,
"#text/2(": _ifRenderer
"#text/2(": _ifRenderer,
"#text/2!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko");

View File

@ -17,7 +17,7 @@
</span>
<!--M|0 #text/2 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>
@ -50,7 +50,7 @@ container.querySelector("button.inc").click()
</span>
<!--M|0 #text/2 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>
@ -79,7 +79,7 @@ container.querySelector("button.toggle").click()
<!--M*0 #button/1-->
<!--M|0 #text/2 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>
@ -110,7 +110,7 @@ container.querySelector("button.inc").click()
<!--M*0 #button/1-->
<!--M|0 #text/2 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>
@ -141,7 +141,7 @@ container.querySelector("button.toggle").click()
2
</span>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>
@ -174,7 +174,7 @@ container.querySelector("button.inc").click()
3
</span>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<button class=inc></button><!M*0 #button/0><button class=toggle></button><!M*0 #button/1><span>0<!M*1 #text/0></span><!M|0 #text/2 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])</script>
<button class=inc></button><!M*0 #button/0><button class=toggle></button><!M*0 #button/1><span>0<!M*1 #text/0></span><!M|0 #text/2 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])</script>
# Render "End"
@ -21,7 +21,7 @@
</span>
<!--M|0 #text/2 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,count:0,"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_1_renderer"),"#text/2!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_show",0,"packages/translator-tags/src/__tests__/fixtures/basic-conditional-counter/template.marko_0_count",])
</script>
</body>
</html>

View File

@ -1,4 +1,4 @@
import { data as _data, intersection as _intersection, closure as _closure, createRenderer as _createRenderer, register as _register, conditional as _conditional, inConditionalScope as _inConditionalScope, value as _value, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
import { data as _data, intersection as _intersection, closure as _closure, createRenderer as _createRenderer, conditional as _conditional, inConditionalScope as _inConditionalScope, value as _value, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
const _expr_a_b$ifBody = /* @__PURE__ */_intersection(2, _scope => {
const {
_: {
@ -10,7 +10,7 @@ const _expr_a_b$ifBody = /* @__PURE__ */_intersection(2, _scope => {
});
const _b$ifBody = /* @__PURE__ */_closure("b", null, void 0, _expr_a_b$ifBody);
const _a$ifBody = /* @__PURE__ */_closure("a", null, void 0, _expr_a_b$ifBody);
const _ifBody = _register("packages/translator-tags/src/__tests__/fixtures/basic-converge-in-if/template.marko_1_renderer", /* @__PURE__ */_createRenderer(" ", /* get */" ", void 0, [_a$ifBody, _b$ifBody]));
const _ifBody = /* @__PURE__ */_createRenderer(" ", /* get */" ", void 0, [_a$ifBody, _b$ifBody]);
const _if = /* @__PURE__ */_conditional("#text/0");
const _b = /* @__PURE__ */_value("b", null, _inConditionalScope(_b$ifBody, "#text/0"));
const _a = /* @__PURE__ */_value("a", null, _inConditionalScope(_a$ifBody, "#text/0"));

View File

@ -3,16 +3,19 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
const a = 0;
const b = 0;
let _ifScopeId, _scope1_;
if (true) {
const _scope1_id = _nextScopeId();
_write(`${_escapeXML(a + b)}${_markResumeNode(_scope1_id, "#text/0")}`);
_writeScope(_scope1_id, {
_writeScope(_scope1_id, _scope1_ = {
"_": _serializedScope(_scope0_id)
});
_ifScopeId = _scope1_id;
}
_writeScope(_scope0_id, {
"a": a,
"b": b
"b": b,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-converge-in-if/template.marko");

View File

@ -6,7 +6,7 @@
0
<!--M*1 #text/0-->
<script>
(M$h=[]).push((b,s,h)=&gt;({0:h={a:0,b:0},1:{_:h}}),[])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={a:0,b:0,"#text/0!":j={}},1:j},j._=h,k),[])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
0<!M*1 #text/0><script>(M$h=[]).push((b,s,h)=>({0:h={a:0,b:0},1:{_:h}}),[])</script>
0<!M*1 #text/0><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={a:0,b:0,"#text/0!":j={}},1:j},j._=h,k),[])</script>
# Render "End"
@ -10,7 +10,7 @@
0
<!--M*1 #text/0-->
<script>
(M$h=[]).push((b,s,h)=&gt;({0:h={a:0,b:0},1:{_:h}}),[])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={a:0,b:0,"#text/0!":j={}},1:j},j._=h,k),[])
</script>
</body>
</html>

View File

@ -19,8 +19,9 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/1", _ifScopeId)}`);
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0");
_writeScope(_scope0_id, {
"#text/1!": _scope1_,
"#text/1(": _ifRenderer
"message": message,
"#text/1(": _ifRenderer,
"#text/1!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko");

View File

@ -11,7 +11,7 @@
<!--M*1 #text/0-->
<!--M|0 #text/1 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={message:{text:"hi"},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
</script>
</body>
</html>
@ -37,7 +37,7 @@ container.querySelector("button").click()
<!--M|0 #text/1 1-->
<!--M*1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={message:{text:"hi"},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<button>hide</button><!M*0 #button/0>hi<!M*1 #text/0><!M|0 #text/1 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])</script>
<button>hide</button><!M*0 #button/0>hi<!M*1 #text/0><!M|0 #text/1 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={message:{text:"hi"},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])</script>
# Render "End"
@ -15,7 +15,7 @@
<!--M*1 #text/0-->
<!--M|0 #text/1 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={message:{text:"hi"},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/basic-execution-order/template.marko_0",])
</script>
</body>
</html>

View File

@ -29,15 +29,18 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write(`${_markResumeControlSingleNodeEnd(_scope1_id, "#text/4", _ifScopeId)}</li>${_markResumeNode(_scope1_id, "#li/0")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open");
_writeScope(_scope1_id, (_s => (_scope1_.set(i, _s), _s))({
"comment": comment,
"id": id,
"open": open,
"#text/4!": _scope2_,
"#text/4(": _ifRenderer,
"#text/4!": _scope2_,
"_": _serializedScope(_scope0_id)
}));
_maybeFlush();
}
_write(`${_markResumeControlEnd(_scope0_id, "#ul/0")}</ul>${_markResumeNode(_scope0_id, "#ul/0")}`);
_writeScope(_scope0_id, {
"input": input,
"#ul/0(": _scope1_.size ? _scope1_ : undefined
});
});

View File

@ -1,5 +1,5 @@
# Write
<ul><!M[2><li id=c-0><span>Hello World<!M*2 #text/1></span><button>[-]<!M*2 #text/3></button><!M*2 #button/2><ul><!M[5><li id=c-0-0><span>testing 123<!M*5 #text/1></span><button>[-]<!M*5 #text/3></button><!M*5 #button/2><!M|5 #text/4 ></li><!M*5 #li/0><!M]4 #ul/0></ul><!M*4 #ul/0><!M|2 #text/4 3></li><!M*2 #li/0><!M[6><li id=c-1><span>Goodbye World<!M*6 #text/1></span><button>[-]<!M*6 #text/3></button><!M*6 #button/2><!M|6 #text/4 ></li><!M*6 #li/0><!M]1 #ul/0></ul><!M*1 #ul/0><script>(M$h=[]).push((b,s,h,j,k,m,o,q,u)=>(u={0:{"#childScope/0":o={"#ul/0(":new Map([[0,k={open:!0,"#text/4!":m={"#childScope/0":h={"#ul/0(":new Map([[0,j={open:!0}]])}},"#text/4(":b("packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_2_renderer")}],[1,q={open:!0}]])}},1:o,2:k,3:m,4:h,5:j,6:q},j._=h,m._=k,k._=q._=o,u),[5,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",2,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",6,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",])</script>
<ul><!M[2><li id=c-0><span>Hello World<!M*2 #text/1></span><button>[-]<!M*2 #text/3></button><!M*2 #button/2><ul><!M[5><li id=c-0-0><span>testing 123<!M*5 #text/1></span><button>[-]<!M*5 #text/3></button><!M*5 #button/2><!M|5 #text/4 ></li><!M*5 #li/0><!M]4 #ul/0></ul><!M*4 #ul/0><!M|2 #text/4 3></li><!M*2 #li/0><!M[6><li id=c-1><span>Goodbye World<!M*6 #text/1></span><button>[-]<!M*6 #text/3></button><!M*6 #button/2><!M|6 #text/4 ></li><!M*6 #li/0><!M]1 #ul/0></ul><!M*1 #ul/0><script>(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B)=>(B={0:{"#childScope/0":x={input:{comments:[h={text:"Hello World",comments:j=[k={text:"testing 123"}]},z={text:"Goodbye World"}]},"#ul/0(":new Map([[0,q={comment:h,id:"c-0",open:!0,"#text/4(":b("packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_2_renderer"),"#text/4!":u={"#childScope/0":m={input:{comments:j,path:"c-0"},"#ul/0(":new Map([[0,o={comment:k,id:"c-0-0",open:!0}]])}}}],[1,A={comment:z,id:"c-1",open:!0}]])}},1:x,2:q,3:u,4:m,5:o,6:A},o._=m,u._=q,q._=A._=x,B),[5,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",2,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",6,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",])</script>
# Render "End"
@ -64,7 +64,7 @@
</ul>
<!--M*1 #ul/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u)=&gt;(u={0:{"#childScope/0":o={"#ul/0(":new Map([[0,k={open:!0,"#text/4!":m={"#childScope/0":h={"#ul/0(":new Map([[0,j={open:!0}]])}},"#text/4(":b("packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_2_renderer")}],[1,q={open:!0}]])}},1:o,2:k,3:m,4:h,5:j,6:q},j._=h,m._=k,k._=q._=o,u),[5,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",2,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",6,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",])
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B)=&gt;(B={0:{"#childScope/0":x={input:{comments:[h={text:"Hello World",comments:j=[k={text:"testing 123"}]},z={text:"Goodbye World"}]},"#ul/0(":new Map([[0,q={comment:h,id:"c-0",open:!0,"#text/4(":b("packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_2_renderer"),"#text/4!":u={"#childScope/0":m={input:{comments:j,path:"c-0"},"#ul/0(":new Map([[0,o={comment:k,id:"c-0-0",open:!0}]])}}}],[1,A={comment:z,id:"c-1",open:!0}]])}},1:x,2:q,3:u,4:m,5:o,6:A},o._=m,u._=q,q._=A._=x,B),[5,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",2,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",6,"packages/translator-tags/src/__tests__/fixtures/basic-inert-collapsible-tree/components/comments.marko_1_open",])
</script>
</body>
</html>

View File

@ -1,4 +1,4 @@
import { escapeXML as _escapeXML, markResumeNode as _markResumeNode, write as _write, serializedScope as _serializedScope, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { escapeXML as _escapeXML, markResumeNode as _markResumeNode, write as _write, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _layout from "./components/layout.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
@ -10,12 +10,14 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
renderBody: /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`<h1>Hello <!>${_escapeXML(name)}${_markResumeNode(_scope1_id, "#text/0")}</h1>`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-layout/template.marko_1_name/subscriber");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});
})
});
_writeScope(_scope0_id, {
"name": name,
"#childScope/0": _childScope
});
});

View File

@ -12,7 +12,7 @@
</h1>
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={name:"World","#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-layout/template.marko_1_name/subscriber",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<body><!M[2><h1>Hello <!>World<!M*2 #text/0></h1><!M]1 #text/0></body><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[])</script>
<body><!M[2><h1>Hello <!>World<!M*2 #text/0></h1><!M]1 #text/0></body><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={name:"World","#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-layout/template.marko_1_name/subscriber",])</script>
# Render "End"
@ -16,7 +16,7 @@
</h1>
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={name:"World","#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-layout/template.marko_1_name/subscriber",])
</script>
</body>
</html>

View File

@ -8,8 +8,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
renderBody: /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`<button>${_escapeXML(count)}${_markResumeNode(_scope1_id, "#text/1")}</button>${_markResumeNode(_scope1_id, "#button/0")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count");
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber");
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});

View File

@ -11,7 +11,7 @@
<!--M*2 #button/0-->
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -39,7 +39,7 @@ container.querySelector("button").click()
<!--M*2 #button/0-->
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -66,7 +66,7 @@ container.querySelector("button").click()
<!--M*2 #button/0-->
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -93,7 +93,7 @@ container.querySelector("button").click()
<!--M*2 #button/0-->
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<!M[2><button>0<!M*2 #text/1></button><!M*2 #button/0><!M]1 #text/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])</script>
<!M[2><button>0<!M*2 #text/1></button><!M*2 #button/0><!M]1 #text/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])</script>
# Render "End"
@ -15,7 +15,7 @@
<!--M*2 #button/0-->
<!--M]1 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#childScope/0":k={"#text/0!":j={}}},1:k,2:j},j._=h,m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-custom-tag/template.marko_1_count",])
</script>
</body>
</html>

View File

@ -6,8 +6,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _dynamicScope = _dynamicTagInput(false || Child, {}, _register( /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`<button>${_escapeXML(count)}${_markResumeNode(_scope1_id, "#text/1")}</button>${_markResumeNode(_scope1_id, "#button/0")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count");
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber");
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});

View File

@ -13,7 +13,7 @@
<!--M]1 #text/0-->
<!--M]0 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -45,7 +45,7 @@ container.querySelector("button").click()
<!--M]1 #text/0-->
<!--M]0 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -74,7 +74,7 @@ container.querySelector("button").click()
<!--M]1 #text/0-->
<!--M]0 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])
</script>
</body>
</html>
@ -103,7 +103,7 @@ container.querySelector("button").click()
<!--M]1 #text/0-->
<!--M]0 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<!M[1><!M[2><button>0<!M*2 #text/1></button><!M*2 #button/0><!M]1 #text/0><!M]0 #text/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])</script>
<!M[1><!M[2><button>0<!M*2 #text/1></button><!M*2 #button/0><!M]1 #text/0><!M]0 #text/0><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])</script>
# Render "End"
@ -17,7 +17,7 @@
<!--M]1 #text/0-->
<!--M]0 #text/0-->
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={count:0,"#text/0!":k={"#text/0!":j={}},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/components/child.marko")},1:k,2:j},j._=h,k["#text/0("]=b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_renderer",h),m),[2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-dynamic-tag/template.marko_1_count",])
</script>
</body>
</html>

View File

@ -20,11 +20,11 @@ const _num$forBody = /* @__PURE__ */_value("num", (_scope, num) => {
_queueEffect(_scope, _num$forBody_effect);
}, _expr_selected_num$forBody);
const _selected$forBody = /* @__PURE__ */_closure("selected", null, void 0, _expr_selected_num$forBody);
const _forBody = _register("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_renderer", /* @__PURE__ */_createRenderer("<button> </button>", /* get, next(1), get */" D ", void 0, [_selected$forBody], void 0, (_scope, _destructure, _clean) => {
const _forBody = /* @__PURE__ */_createRenderer("<button> </button>", /* get, next(1), get */" D ", void 0, [_selected$forBody], void 0, (_scope, _destructure, _clean) => {
let num;
if (!_clean) [num] = _destructure;
_num$forBody(_scope, num, _clean);
}));
});
const _for = /* @__PURE__ */_loopOf("#text/0", _forBody);
const _selected = /* @__PURE__ */_value("selected", null, _inLoopScope(_selected$forBody, "#text/0"));
const _setup = _scope => {

View File

@ -1,14 +1,12 @@
import { attr as _attr, escapeXML as _escapeXML, markResumeNode as _markResumeNode, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, write as _write, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, maybeFlush as _maybeFlush, createRenderer as _createRenderer, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { attr as _attr, escapeXML as _escapeXML, markResumeNode as _markResumeNode, write as _write, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, maybeFlush as _maybeFlush, createRenderer as _createRenderer, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
const selected = 0;
const _forScopeIds = [],
_scope1_ = new Map();
const _scope1_ = new Map();
let _i2 = 0;
for (const num of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) {
const _scope1_id = _nextScopeId();
let _i = _i2++;
_forScopeIds.push(_scope1_id);
_write(`<button${_attr("data-selected", selected === num)}${_attr("data-multiple", num % selected === 0)}>${_escapeXML(num)}</button>${_markResumeNode(_scope1_id, "#button/0")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num");
_writeScope(_scope1_id, (_s => (_scope1_.set(_i, _s), _s))({
@ -17,7 +15,6 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
}));
_maybeFlush();
}
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/0", _forScopeIds)}`);
_writeScope(_scope0_id, {
"#text/0(": _scope1_.size ? _scope1_ : undefined
});

View File

@ -51,7 +51,6 @@
12
</button>
<!--M*12 #button/0-->
<!--M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=&gt;(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])
</script>
@ -133,7 +132,6 @@ c => click(c, 2)
12
</button>
<!--M*12 #button/0-->
<!--M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=&gt;(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])
</script>
@ -217,7 +215,6 @@ c => click(c, 3)
12
</button>
<!--M*12 #button/0-->
<!--M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=&gt;(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])
</script>
@ -300,7 +297,6 @@ c => click(c, 5)
12
</button>
<!--M*12 #button/0-->
<!--M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=&gt;(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])
</script>

View File

@ -1,5 +1,5 @@
# Write
<button>1</button><!M*1 #button/0><button>2</button><!M*2 #button/0><button>3</button><!M*3 #button/0><button>4</button><!M*4 #button/0><button>5</button><!M*5 #button/0><button>6</button><!M*6 #button/0><button>7</button><!M*7 #button/0><button>8</button><!M*8 #button/0><button>9</button><!M*9 #button/0><button>10</button><!M*10 #button/0><button>11</button><!M*11 #button/0><button>12</button><!M*12 #button/0><!M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12><script>(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=>(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])</script>
<button>1</button><!M*1 #button/0><button>2</button><!M*2 #button/0><button>3</button><!M*3 #button/0><button>4</button><!M*4 #button/0><button>5</button><!M*5 #button/0><button>6</button><!M*6 #button/0><button>7</button><!M*7 #button/0><button>8</button><!M*8 #button/0><button>9</button><!M*9 #button/0><button>10</button><!M*10 #button/0><button>11</button><!M*11 #button/0><button>12</button><!M*12 #button/0><script>(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=>(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])</script>
# Render "End"
@ -55,7 +55,6 @@
12
</button>
<!--M*12 #button/0-->
<!--M|0 #text/0 1,2,3,4,5,6,7,8,9,10,11,12-->
<script>
(M$h=[]).push((b,s,h,j,k,m,o,q,u,x,z,A,B,C,D,E)=&gt;(E={0:h={"#text/0(":new Map([[0,j={num:1}],[1,k={num:2}],[2,m={num:3}],[3,o={num:4}],[4,q={num:5}],[5,u={num:6}],[6,x={num:7}],[7,z={num:8}],[8,A={num:9}],[9,B={num:10}],[10,C={num:11}],[11,D={num:12}]])},1:j,2:k,3:m,4:o,5:q,6:u,7:x,8:z,9:A,10:B,11:C,12:D},j._=k._=m._=o._=q._=u._=x._=z._=A._=B._=C._=D._=h,E),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",2,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",3,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",4,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",5,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",6,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",7,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",8,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",9,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",10,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",11,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",12,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-for/template.marko_1_num",])
</script>
@ -104,7 +103,6 @@ inserted #document/html0/body1/#comment21
inserted #document/html0/body1/button22
inserted #document/html0/body1/button22/#text0
inserted #document/html0/body1/#comment23
inserted #document/html0/body1/#comment24
inserted #document/html0/body1/script25
inserted #document/html0/body1/script25/#text0
inserted #document/html0/body1/script24
inserted #document/html0/body1/script24/#text0
```

View File

@ -25,8 +25,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/0", _ifScopeId)}</div>`);
_writeScope(_scope0_id, {
"clickCount": clickCount,
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko");

View File

@ -12,7 +12,7 @@
<!--M|0 #text/0 1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
</script>
</body>
</html>
@ -40,7 +40,7 @@ container.querySelector("button").click()
<!--M|0 #text/0 1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
</script>
</body>
</html>
@ -68,7 +68,7 @@ container.querySelector("button").click()
<!--M|0 #text/0 1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
</script>
</body>
</html>
@ -95,7 +95,7 @@ container.querySelector("button").click()
<!--M|0 #text/0 1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<div><button>0<!M*1 #text/1></button><!M*1 #button/0><!M|0 #text/0 1></div><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])</script>
<div><button>0<!M*1 #text/1></button><!M*1 #button/0><!M|0 #text/0 1></div><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])</script>
# Render "End"
@ -16,7 +16,7 @@
<!--M|0 #text/0 1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer")},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={clickCount:0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[1,"packages/translator-tags/src/__tests__/fixtures/basic-nested-scope-if/template.marko_1_clickCount",])
</script>
</body>
</html>

View File

@ -15,8 +15,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show");
_writeScope(_scope0_id, {
"show": show,
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko");

View File

@ -12,7 +12,7 @@
<!--M*0 #button/1-->
</div>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
</script>
</body>
</html>
@ -39,7 +39,7 @@ container.querySelector("button").click()
<!--M*0 #button/1-->
</div>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
</script>
</body>
</html>
@ -68,7 +68,7 @@ container.querySelector("button").click()
<!--M*0 #button/1-->
</div>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
</script>
</body>
</html>
@ -96,7 +96,7 @@ container.querySelector("button").click()
<!--M*0 #button/1-->
</div>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<div>Hello!<!M|0 #text/0 1><button>Toggle</button><!M*0 #button/1></div><script>(M$h=[]).push((b,s,h)=>({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])</script>
<div>Hello!<!M|0 #text/0 1><button>Toggle</button><!M*0 #button/1></div><script>(M$h=[]).push((b,s,h)=>({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])</script>
# Render "End"
@ -16,7 +16,7 @@
<!--M*0 #button/1-->
</div>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer")},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
(M$h=[]).push((b,s,h)=&gt;({0:{show:!0,"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/basic-toggle-show/template.marko_0_show",])
</script>
</body>
</html>

View File

@ -18,8 +18,9 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show");
_writeScope(_scope0_id, {
"show": show,
"#text/1!": _scope1_,
"#text/1(": _ifRenderer
"message": message,
"#text/1(": _ifRenderer,
"#text/1!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko");

View File

@ -11,7 +11,7 @@
</span>
<!--M|0 #text/1 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,message:"hi","#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
</script>
</body>
</html>
@ -34,7 +34,7 @@ container.querySelector("button").click()
<!--M*0 #button/0-->
<!--M|0 #text/1 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,message:"hi","#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<button></button><!M*0 #button/0><span>hi<!M*1 #text/0></span><!M|0 #text/1 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])</script>
<button></button><!M*0 #button/0><span>hi<!M*1 #text/0></span><!M|0 #text/1 1><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={show:!0,message:"hi","#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])</script>
# Render "End"
@ -15,7 +15,7 @@
</span>
<!--M|0 #text/1 1-->
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer")},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={show:!0,message:"hi","#text/1(":b("packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_1_renderer"),"#text/1!":j={}},1:j},j._=h,k),[0,"packages/translator-tags/src/__tests__/fixtures/batched-updates-cleanup/template.marko_0_show",])
</script>
</body>
</html>

View File

@ -0,0 +1,4 @@
import { init } from "@marko/runtime-tags/debug/dom";
import "./template.marko";
import "./components/display-intersection.marko";
init();

View File

@ -0,0 +1,18 @@
# Render {}
```html
<div>
0
</div>
<button />
```
# Render
container.querySelector("button").click()
```html
<div>
1
</div>
<button />
```

View File

@ -0,0 +1,48 @@
# Render {}
```html
<html>
<head />
<body>
<div>
0
<!--M*1 #text/0-->
</div>
<button />
<!--M*0 #button/1-->
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{count:0,"#childScope/0":h={value:0,dummy:{}}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/component-attrs-intersection/template.marko_0_count",])
</script>
</body>
</html>
```
# Mutations
```
```
# Render
container.querySelector("button").click()
```html
<html>
<head />
<body>
<div>
1
<!--M*1 #text/0-->
</div>
<button />
<!--M*0 #button/1-->
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{count:0,"#childScope/0":h={value:0,dummy:{}}},1:h}),[0,"packages/translator-tags/src/__tests__/fixtures/component-attrs-intersection/template.marko_0_count",])
</script>
</body>
</html>
```
# Mutations
```
#document/html0/body1/div0/#text0: "0" => "1"
```

View File

@ -3,5 +3,3 @@ export const steps = [{}, click];
function click(container: Element) {
container.querySelector("button")!.click();
}
export const skip_resume = true;

View File

@ -15,8 +15,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/dollar-global-client/template.marko_0_show");
_writeScope(_scope0_id, {
"show": show,
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/dollar-global-client/template.marko");

View File

@ -0,0 +1,24 @@
# Render {}
```html
<button />
<div>
1 2 3
</div>
<div>
1 2 3
</div>
```
# Render
container.querySelector("button").click()
```html
<button />
<div>
1 2 4
</div>
<div>
1 2 4
</div>
```

View File

@ -0,0 +1,39 @@
# Render {}
```html
<button />
<div>
1 2 3
</div>
<div>
<!---->
1 2 3
<!---->
</div>
```
# Mutations
```
inserted button0, div1, div2
```
# Render
container.querySelector("button").click()
```html
<button />
<div>
1 2 4
</div>
<div>
<!---->
1 2 4
<!---->
</div>
```
# Mutations
```
div1/#text4: "3" => "4"
div2/#text5: "3" => "4"
```

View File

@ -0,0 +1,12 @@
import { conditional as _conditional, value as _value, createRenderer as _createRenderer, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
const _dynamicTagName = /* @__PURE__ */_conditional("#text/0");
const _input = /* @__PURE__ */_value("input", (_scope, input) => _dynamicTagName(_scope, input.renderBody), void 0, _dynamicTagName);
export const args = (_scope, _destructure, _clean) => {
let input;
if (!_clean) [input] = _destructure;
_input(_scope, input, _clean);
};
export const template = "<div><!></div>";
export const walks = /* next(1), replace, out(1) */"D%l";
export const setup = function () {};
export default /* @__PURE__ */_createTemplate( /* @__PURE__ */_createRenderer(template, walks, setup, void 0, void 0, args), "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/components/custom-tag.marko");

View File

@ -0,0 +1,4 @@
import { init } from "@marko/runtime-tags/debug/dom";
import "./template.marko";
import "./components/custom-tag.marko";
init();

View File

@ -0,0 +1,40 @@
const a = 1;
import { on as _on, queueSource as _queueSource, data as _data, bindRenderer as _bindRenderer, inChild as _inChild, dynamicClosure as _dynamicClosure, registerSubscriber as _registerSubscriber, createRenderer as _createRenderer, conditional as _conditional, register as _register, dynamicSubscribers as _dynamicSubscribers, value as _value, queueEffect as _queueEffect, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
import { setup as _customTag, args as _customTag_args, template as _customTag_template, walks as _customTag_walks } from "./components/custom-tag.marko";
const _c$ifBody = _registerSubscriber("packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber", /* @__PURE__ */_dynamicClosure("c", (_scope, c) => _data(_scope["#text/2"], c), _scope => _scope._._));
const _b$ifBody = /* @__PURE__ */_dynamicClosure("b", (_scope, b) => _data(_scope["#text/1"], b), _scope => _scope._._);
const _setup$ifBody = _scope => {
_data(_scope["#text/0"], a);
};
const _ifBody2 = /* @__PURE__ */_createRenderer("<!> <!> <!>", /* replace, over(2), replace, over(2), replace */"%c%c%", _setup$ifBody, [_b$ifBody, _c$ifBody]);
const _if$ifBody = /* @__PURE__ */_conditional("#text/0");
const _setup$ifBody2 = _scope => {
_if$ifBody(_scope, Math.random() ? _ifBody2 : null);
};
const _ifBody = /* @__PURE__ */_createRenderer("<!><!><!>", /* replace */"D%D", _setup$ifBody2);
const _c$customTagBody = _registerSubscriber("packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber", /* @__PURE__ */_dynamicClosure("c", (_scope, c) => _data(_scope["#text/2"], c)));
const _b$customTagBody = /* @__PURE__ */_dynamicClosure("b", (_scope, b) => _data(_scope["#text/1"], b));
const _setup$customTagBody = _scope => {
_data(_scope["#text/0"], a);
};
const _customTagBody = _register("packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_renderer", /* @__PURE__ */_createRenderer("<!> <!> <!>", /* replace, over(2), replace, over(2), replace */"%c%c%", _setup$customTagBody, [_b$customTagBody, _c$customTagBody]));
const _if = /* @__PURE__ */_conditional("#text/2");
const _c = /* @__PURE__ */_value("c", null, _dynamicSubscribers("c"));
const _b = /* @__PURE__ */_value("b", null, _dynamicSubscribers("b"));
const _setup_effect = _register("packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0", _scope => _on(_scope["#button/0"], "click", function () {
_queueSource(_scope, _c, 4);
}));
const _setup = _scope => {
_customTag(_scope["#childScope/1"]);
_queueEffect(_scope, _setup_effect);
_b(_scope, 2);
_c(_scope, 3);
_customTag_args(_scope["#childScope/1"], [{
renderBody: /* @__PURE__ */_bindRenderer(_scope, _customTagBody)
}]);
_if(_scope, Math.random() ? _ifBody : null);
};
export const template = `<button></button>${_customTag_template}<div><!></div>`;
export const walks = /* get, over(1), beginChild, _customTag_walks, endChild, next(1), replace, out(1) */` b/${_customTag_walks}&D%l`;
export const setup = _setup;
export default /* @__PURE__ */_createTemplate( /* @__PURE__ */_createRenderer(template, walks, setup), "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko");

View File

@ -0,0 +1,12 @@
import { write as _write, dynamicTagInput as _dynamicTagInput, markResumeControlEnd as _markResumeControlEnd, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
_write("<div>");
const _dynamicScope = _dynamicTagInput(input.renderBody, {});
_write(`${_markResumeControlEnd(_scope0_id, "#text/0")}</div>`);
_writeScope(_scope0_id, {
"#text/0!": _dynamicScope,
"#text/0(": input.renderBody
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/components/custom-tag.marko");

View File

@ -0,0 +1,43 @@
const a = 1;
import { markResumeNode as _markResumeNode, write as _write, escapeXML as _escapeXML, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, peekSerializedScope as _peekSerializedScope, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import _customTag from "./components/custom-tag.marko";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
const b = 2;
const c = 3;
_write(`<button></button>${_markResumeNode(_scope0_id, "#button/0")}`);
const _childScope = _peekSerializedScope();
_customTag._({
renderBody: /* @__PURE__ */_createRenderer(() => {
const _scope1_id = _nextScopeId();
_write(`${_escapeXML(a)} ${_escapeXML(b)} <!>${_escapeXML(c)}${_markResumeNode(_scope1_id, "#text/2")}`);
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber");
_writeScope(_scope1_id, {
"_": _serializedScope(_scope0_id)
});
})
});
_write("<div>");
if (Math.random()) {
const _scope2_id = _nextScopeId();
if (Math.random()) {
const _scope3_id = _nextScopeId();
_write(`${_escapeXML(a)} ${_escapeXML(b)} <!>${_escapeXML(c)}${_markResumeNode(_scope3_id, "#text/2")}`);
_writeEffect(_scope3_id, "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber");
_writeScope(_scope3_id, {
"_": _serializedScope(_scope2_id)
});
}
_writeScope(_scope2_id, {
"_": _serializedScope(_scope0_id)
});
}
_write("</div>");
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0");
_writeScope(_scope0_id, {
"b": b,
"c": c,
"#childScope/1": _childScope
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko");

View File

@ -0,0 +1,24 @@
# Render {}
```html
<button />
<div>
1 2 3
</div>
<div>
1 2 3
</div>
```
# Render
container.querySelector("button").click()
```html
<button />
<div>
1 2 4
</div>
<div>
1 2 4
</div>
```

View File

@ -0,0 +1,69 @@
# Render {}
```html
<html>
<head />
<body>
<button />
<!--M*0 #button/0-->
<div>
<!--M[2-->
1 2
<!---->
3
<!--M*2 #text/2-->
<!--M]1 #text/0-->
</div>
<div>
1 2
<!---->
3
<!--M*4 #text/2-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m,o)=&gt;(o={0:h={b:2,c:3,"#childScope/1":k={"#text/0!":j={}}},1:k,2:j,3:m={_:h},4:{_:m}},j._=h,o),[2,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber",4,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber",0,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0",])
</script>
</body>
</html>
```
# Mutations
```
```
# Render
container.querySelector("button").click()
```html
<html>
<head />
<body>
<button />
<!--M*0 #button/0-->
<div>
<!--M[2-->
1 2
<!---->
4
<!--M*2 #text/2-->
<!--M]1 #text/0-->
</div>
<div>
1 2
<!---->
4
<!--M*4 #text/2-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m,o)=&gt;(o={0:h={b:2,c:3,"#childScope/1":k={"#text/0!":j={}}},1:k,2:j,3:m={_:h},4:{_:m}},j._=h,o),[2,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber",4,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber",0,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0",])
</script>
</body>
</html>
```
# Mutations
```
#document/html0/body1/div2/#text3: "3" => "4"
#document/html0/body1/div3/#text2: "3" => "4"
```

View File

@ -0,0 +1,10 @@
# Render "End"
```html
<button />
<div>
1 2 3
</div>
<div>
1 2 3
</div>
```

View File

@ -0,0 +1,54 @@
# Write
<button></button><!M*0 #button/0><div><!M[2>1 2 <!>3<!M*2 #text/2><!M]1 #text/0></div><div>1 2 <!>3<!M*4 #text/2></div><script>(M$h=[]).push((b,s,h,j,k,m,o)=>(o={0:h={b:2,c:3,"#childScope/1":k={"#text/0!":j={}}},1:k,2:j,3:m={_:h},4:{_:m}},j._=h,o),[2,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber",4,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber",0,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0",])</script>
# Render "End"
```html
<html>
<head />
<body>
<button />
<!--M*0 #button/0-->
<div>
<!--M[2-->
1 2
<!---->
3
<!--M*2 #text/2-->
<!--M]1 #text/0-->
</div>
<div>
1 2
<!---->
3
<!--M*4 #text/2-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m,o)=&gt;(o={0:h={b:2,c:3,"#childScope/1":k={"#text/0!":j={}}},1:k,2:j,3:m={_:h},4:{_:m}},j._=h,o),[2,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_1_c/subscriber",4,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_3_c/subscriber",0,"packages/translator-tags/src/__tests__/fixtures/dynamic-closures/template.marko_0",])
</script>
</body>
</html>
```
# Mutations
```
inserted #document/html0
inserted #document/html0/head0
inserted #document/html0/body1
inserted #document/html0/body1/button0
inserted #document/html0/body1/#comment1
inserted #document/html0/body1/div2
inserted #document/html0/body1/div2/#comment0
inserted #document/html0/body1/div2/#text1
inserted #document/html0/body1/div2/#comment2
inserted #document/html0/body1/div2/#text3
inserted #document/html0/body1/div2/#comment4
inserted #document/html0/body1/div2/#comment5
inserted #document/html0/body1/div3
inserted #document/html0/body1/div3/#text0
inserted #document/html0/body1/div3/#comment1
inserted #document/html0/body1/div3/#text2
inserted #document/html0/body1/div3/#comment3
inserted #document/html0/body1/script4
inserted #document/html0/body1/script4/#text0
```

View File

@ -0,0 +1 @@
<div><${input.renderBody}/></div>

View File

@ -0,0 +1,15 @@
static const a = 1;
const/b = 2;
let/c = 3;
<button onClick() { c = 4 }/>
<custom-tag>
${a} ${b} ${c}
</custom-tag>
<div>
<if=Math.random()>
<if=Math.random()>
${a} ${b} ${c}
</if>
</if>
</div>

View File

@ -0,0 +1,5 @@
export const steps = [{}, click];
function click(container: Element) {
container.querySelector("button")!.click();
}

View File

@ -1,16 +1,16 @@
import { data as _data, value as _value, createRenderer as _createRenderer, register as _register, loopOf as _loopOf, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
import { data as _data, value as _value, createRenderer as _createRenderer, loopOf as _loopOf, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
const _val$forBody2 = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/0"], val));
const _forBody2 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag-siblings/template.marko_2_renderer", /* @__PURE__ */_createRenderer("<div> </div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure, _clean) => {
const _forBody2 = /* @__PURE__ */_createRenderer("<div> </div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure, _clean) => {
let val;
if (!_clean) [val] = _destructure;
_val$forBody2(_scope, val, _clean);
}));
});
const _val$forBody = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/0"], val));
const _forBody = _register("packages/translator-tags/src/__tests__/fixtures/for-tag-siblings/template.marko_1_renderer", /* @__PURE__ */_createRenderer("<div> </div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
const _forBody = /* @__PURE__ */_createRenderer("<div> </div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
let val;
if (!_clean) [val] = _destructure2;
_val$forBody(_scope, val, _clean);
}));
});
const _for2 = /* @__PURE__ */_loopOf("#text/1", _forBody2);
const _for = /* @__PURE__ */_loopOf("#div/0", _forBody);
const _arrA = /* @__PURE__ */_value("arrA", (_scope, arrA) => {

View File

@ -9,12 +9,12 @@ const _forBody2 = _register("packages/translator-tags/src/__tests__/fixtures/for
}));
const _i$forBody = /* @__PURE__ */_value("i", (_scope, i) => _data(_scope["#text/0"], i));
const _val$forBody = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/1"], val));
const _forBody = _register("packages/translator-tags/src/__tests__/fixtures/for-tag-with-state/template.marko_1_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
const _forBody = /* @__PURE__ */_createRenderer("<div><!>: <!></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
let val, i;
if (!_clean) [val, i] = _destructure2;
_val$forBody(_scope, val, _clean);
_i$forBody(_scope, i, _clean);
}));
});
const _for2 = /* @__PURE__ */_loopOf("#text/1", _forBody2);
const _for = /* @__PURE__ */_loopOf("#text/0", _forBody);
const _arrB = /* @__PURE__ */_value("arrB", (_scope, arrB) => _for2(_scope, [arrB]));

View File

@ -1,26 +1,26 @@
import { data as _data, attr as _attr, createRenderer as _createRenderer, register as _register, value as _value, loopTo as _loopTo, loopIn as _loopIn, loopOf as _loopOf, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
const _forBody11 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_11_renderer", /* @__PURE__ */_createRenderer("Hello", ""));
const _forBody10 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_10_renderer", /* @__PURE__ */_createRenderer("Hello", ""));
import { data as _data, attr as _attr, createRenderer as _createRenderer, value as _value, loopTo as _loopTo, loopIn as _loopIn, loopOf as _loopOf, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/dom";
const _forBody11 = /* @__PURE__ */_createRenderer("Hello", "");
const _forBody10 = /* @__PURE__ */_createRenderer("Hello", "");
const _i$forBody7 = /* @__PURE__ */_value("i", (_scope, i) => {
_attr(_scope["#div/0"], "key", i);
_data(_scope["#text/1"], i);
_attr(_scope["#div/2"], "key", `other-${i}`);
});
const _forBody9 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_9_renderer", /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* get, next(1), get, out(1), over(1), get */" D lb ", void 0, void 0, void 0, (_scope, _destructure, _clean) => {
const _forBody9 = /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* get, next(1), get, out(1), over(1), get */" D lb ", void 0, void 0, void 0, (_scope, _destructure, _clean) => {
let i;
if (!_clean) [i] = _destructure;
_i$forBody7(_scope, i, _clean);
}));
});
const _i$forBody6 = /* @__PURE__ */_value("i", (_scope, i) => {
_attr(_scope["#div/0"], "key", i);
_data(_scope["#text/1"], i);
_attr(_scope["#div/2"], "key", `other-${i}`);
});
const _forBody8 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_8_renderer", /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* get, next(1), get, out(1), over(1), get */" D lb ", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
const _forBody8 = /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* get, next(1), get, out(1), over(1), get */" D lb ", void 0, void 0, void 0, (_scope, _destructure2, _clean) => {
let i;
if (!_clean) [i] = _destructure2;
_i$forBody6(_scope, i, _clean);
}));
});
const _for$forBody = /* @__PURE__ */_loopTo("#text/3", _forBody8);
const _i$forBody5 = /* @__PURE__ */_value("i", (_scope, i) => {
_attr(_scope["#div/0"], "key", i);
@ -30,67 +30,67 @@ const _i$forBody5 = /* @__PURE__ */_value("i", (_scope, i) => {
const _setup$forBody = _scope => {
_for$forBody(_scope, [10, 0, 2]);
};
const _forBody7 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_7_renderer", /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div><!><!>", /* get, next(1), get, out(1), over(1), get, over(1), replace */" D lb b%D", _setup$forBody, void 0, void 0, (_scope, _destructure3, _clean) => {
const _forBody7 = /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div><!><!>", /* get, next(1), get, out(1), over(1), get, over(1), replace */" D lb b%D", _setup$forBody, void 0, void 0, (_scope, _destructure3, _clean) => {
let i;
if (!_clean) [i] = _destructure3;
_i$forBody5(_scope, i, _clean);
}));
});
const _val$forBody5 = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/2"], val));
const _key$forBody2 = /* @__PURE__ */_value("key", (_scope, key) => {
_attr(_scope["#div/0"], "key", key);
_data(_scope["#text/1"], key);
_attr(_scope["#div/3"], "key", `other-${key}`);
});
const _forBody6 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_6_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* get, next(1), replace, over(2), replace, out(1), over(1), get */" D%c%lb ", void 0, void 0, void 0, (_scope, _destructure4, _clean) => {
const _forBody6 = /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* get, next(1), replace, over(2), replace, out(1), over(1), get */" D%c%lb ", void 0, void 0, void 0, (_scope, _destructure4, _clean) => {
let key, val;
if (!_clean) [key, val] = _destructure4;
_key$forBody2(_scope, key, _clean);
_val$forBody5(_scope, val, _clean);
}));
});
const _list$forBody = /* @__PURE__ */_value("list", (_scope, list) => _data(_scope["#text/1"], list.length));
const _i$forBody4 = /* @__PURE__ */_value("i", (_scope, i) => _attr(_scope["#div/0"], "key", i));
const _val$forBody4 = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/2"], val));
const _forBody5 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_5_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div>", /* get, next(1), replace, over(2), replace */" D%c%", void 0, void 0, void 0, (_scope, _destructure5, _clean) => {
const _forBody5 = /* @__PURE__ */_createRenderer("<div><!>: <!></div>", /* get, next(1), replace, over(2), replace */" D%c%", void 0, void 0, void 0, (_scope, _destructure5, _clean) => {
let val, i, list;
if (!_clean) [val, i, list] = _destructure5;
_val$forBody4(_scope, val, _clean);
_i$forBody4(_scope, i, _clean);
_list$forBody(_scope, list, _clean);
}));
});
const _i$forBody3 = /* @__PURE__ */_value("i", (_scope, i) => {
_attr(_scope["#div/0"], "key", i);
_data(_scope["#text/1"], i);
_attr(_scope["#div/3"], "key", `other-${i}`);
});
const _val$forBody3 = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/2"], val));
const _forBody4 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_4_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* get, next(1), replace, over(2), replace, out(1), over(1), get */" D%c%lb ", void 0, void 0, void 0, (_scope, _destructure6, _clean) => {
const _forBody4 = /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* get, next(1), replace, over(2), replace, out(1), over(1), get */" D%c%lb ", void 0, void 0, void 0, (_scope, _destructure6, _clean) => {
let val, i;
if (!_clean) [val, i] = _destructure6;
_val$forBody3(_scope, val, _clean);
_i$forBody3(_scope, i, _clean);
}));
});
const _i$forBody2 = /* @__PURE__ */_value("i", (_scope, i) => _data(_scope["#text/0"], i));
const _forBody3 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_3_renderer", /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure7, _clean) => {
const _forBody3 = /* @__PURE__ */_createRenderer("<div> </div><div></div><div></div>", /* next(1), get */"D ", void 0, void 0, void 0, (_scope, _destructure7, _clean) => {
let i;
if (!_clean) [i] = _destructure7;
_i$forBody2(_scope, i, _clean);
}));
});
const _val$forBody2 = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/1"], val));
const _key$forBody = /* @__PURE__ */_value("key", (_scope, key) => _data(_scope["#text/0"], key));
const _forBody2 = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_2_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure8, _clean) => {
const _forBody2 = /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure8, _clean) => {
let key, val;
if (!_clean) [key, val] = _destructure8;
_key$forBody(_scope, key, _clean);
_val$forBody2(_scope, val, _clean);
}));
});
const _i$forBody = /* @__PURE__ */_value("i", (_scope, i) => _data(_scope["#text/0"], i));
const _val$forBody = /* @__PURE__ */_value("val", (_scope, val) => _data(_scope["#text/1"], val));
const _forBody = _register("packages/translator-tags/src/__tests__/fixtures/for-tag/template.marko_1_renderer", /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure9, _clean) => {
const _forBody = /* @__PURE__ */_createRenderer("<div><!>: <!></div><div></div><div></div>", /* next(1), replace, over(2), replace */"D%c%", void 0, void 0, void 0, (_scope, _destructure9, _clean) => {
let val, i;
if (!_clean) [val, i] = _destructure9;
_val$forBody(_scope, val, _clean);
_i$forBody(_scope, i, _clean);
}));
});
const _for10 = /* @__PURE__ */_loopTo("#text/9", _forBody11);
const _for9 = /* @__PURE__ */_loopTo("#text/8", _forBody10);
const _for8 = /* @__PURE__ */_loopTo("#text/7", _forBody9);

View File

@ -15,8 +15,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeEffect(_scope0_id, "packages/translator-tags/src/__tests__/fixtures/if-default-false/template.marko_0_show");
_writeScope(_scope0_id, {
"show": show,
"#text/1!": _scope1_,
"#text/1(": _ifRenderer
"#text/1(": _ifRenderer,
"#text/1!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/if-default-false/template.marko");

View File

@ -41,12 +41,12 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
}
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/2", _ifScopeId3)}</div>`);
_writeScope(_scope0_id, {
"#text/0!": _scope1_,
"#text/0(": _ifRenderer,
"#text/1!": _scope2_,
"#text/0!": _scope1_,
"#text/1(": _ifRenderer2,
"#text/2!": _scope3_,
"#text/2(": _ifRenderer3
"#text/1!": _scope2_,
"#text/2(": _ifRenderer3,
"#text/2!": _scope3_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko");

View File

@ -12,7 +12,7 @@
<!--M|0 #text/2 3-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;({0:{"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/2!":k={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer")},1:h,2:j,3:k}),[])
(M$h=[]).push((b,s,h,j,k)=&gt;({0:{"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/0!":h={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/1!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer"),"#text/2!":k={}},1:h,2:j,3:k}),[])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
Hello<!M|0 #text/0 1>World<!M|0 #text/1 2><div>B<!M|0 #text/2 3></div><script>(M$h=[]).push((b,s,h,j,k)=>({0:{"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/2!":k={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer")},1:h,2:j,3:k}),[])</script>
Hello<!M|0 #text/0 1>World<!M|0 #text/1 2><div>B<!M|0 #text/2 3></div><script>(M$h=[]).push((b,s,h,j,k)=>({0:{"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/0!":h={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/1!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer"),"#text/2!":k={}},1:h,2:j,3:k}),[])</script>
# Render "End"
@ -16,7 +16,7 @@
<!--M|0 #text/2 3-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;({0:{"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/1!":j={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/2!":k={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer")},1:h,2:j,3:k}),[])
(M$h=[]).push((b,s,h,j,k)=&gt;({0:{"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_1_renderer"),"#text/0!":h={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_2_renderer"),"#text/1!":j={},"#text/2(":b("packages/translator-tags/src/__tests__/fixtures/if-tag/template.marko_4_renderer"),"#text/2!":k={}},1:h,2:j,3:k}),[])
</script>
</body>
</html>

View File

@ -19,8 +19,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeScope(_scope0_id, {
"x": x,
"show": show,
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/lifecycle-tag-conditional/template.marko");

View File

@ -3,7 +3,7 @@ const _setup$ifBody_effect = _register("packages/translator-tags/src/__tests__/f
const _setup$ifBody = _scope => {
_queueEffect(_scope, _setup$ifBody_effect);
};
const _ifBody = _register("packages/translator-tags/src/__tests__/fixtures/native-tag-ref-downstream-effect/template.marko_1_renderer", /* @__PURE__ */_createRenderer("", "", _setup$ifBody));
const _ifBody = /* @__PURE__ */_createRenderer("", "", _setup$ifBody);
const _if = /* @__PURE__ */_conditional("#text/1");
const _setup = _scope => {
_if(_scope, true ? _ifBody : null);

View File

@ -17,8 +17,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
}
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/0", _ifScopeId)}`);
_writeScope(_scope0_id, {
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/return-tag/template.marko");

View File

@ -1,5 +1,5 @@
# Write
<!M|0 #text/0 1><script>(M$h=[]).push((b,s,h)=>({0:{"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/return-tag/template.marko_1_renderer")},1:h}),[])</script>
<!M|0 #text/0 1><script>(M$h=[]).push((b,s,h)=>({0:{"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/return-tag/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[])</script>
# Render "End"
@ -8,7 +8,7 @@
<html>
<head>
<script>
(M$h=[]).push((b,s,h)=&gt;({0:{"#text/0!":h={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/return-tag/template.marko_1_renderer")},1:h}),[])
(M$h=[]).push((b,s,h)=&gt;({0:{"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/return-tag/template.marko_1_renderer"),"#text/0!":h={}},1:h}),[])
</script>
</head>
<body />

View File

@ -17,8 +17,9 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
}
_write(`${_markResumeControlSingleNodeEnd(_scope0_id, "#text/0", _ifScopeId)}<span></span><span></span></div>`);
_writeScope(_scope0_id, {
"#text/0!": _scope1_,
"#text/0(": _ifRenderer
"value": value,
"#text/0(": _ifRenderer,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko");

View File

@ -13,7 +13,7 @@
<span />
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer")},1:j},j._=h,k),[])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={value:"Hello","#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<div><span>Hello<!M*1 #text/0></span><!M|0 #text/0 1><span></span><span></span></div><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer")},1:j},j._=h,k),[])</script>
<div><span>Hello<!M*1 #text/0></span><!M|0 #text/0 1><span></span><span></span></div><script>(M$h=[]).push((b,s,h,j,k)=>(k={0:h={value:"Hello","#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[])</script>
# Render "End"
@ -17,7 +17,7 @@
<span />
</div>
<script>
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={"#text/0!":j={},"#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer")},1:j},j._=h,k),[])
(M$h=[]).push((b,s,h,j,k)=&gt;(k={0:h={value:"Hello","#text/0(":b("packages/translator-tags/src/__tests__/fixtures/toggle-first-child/template.marko_1_renderer"),"#text/0!":j={}},1:j},j._=h,k),[])
</script>
</body>
</html>

View File

@ -13,8 +13,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
if (inner) {
const _scope2_id = _nextScopeId();
_write(`<button id=count>${_escapeXML(count)}${_markResumeNode(_scope2_id, "#text/1")}</button>${_markResumeNode(_scope2_id, "#button/0")}`);
_writeEffect(_scope2_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count");
_writeEffect(_scope2_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber");
_writeEffect(_scope2_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count");
_writeScope(_scope2_id, _scope2_ = {
"_": _serializedScope(_scope1_id)
});
@ -25,8 +25,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_writeEffect(_scope1_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner");
_writeScope(_scope1_id, _scope1_ = {
"_": _serializedScope(_scope0_id),
"#text/1!": _scope2_,
"#text/1(": _ifRenderer
"#text/1(": _ifRenderer,
"#text/1!": _scope2_
});
_register(_ifRenderer2 = /* @__PURE__ */_createRenderer(() => {}), "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer");
}
@ -36,8 +36,8 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
"outer": outer,
"inner": inner,
"count": count,
"#text/1!": _scope1_,
"#text/1(": _ifRenderer2
"#text/1(": _ifRenderer2,
"#text/1!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko");

View File

@ -24,7 +24,7 @@
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -64,7 +64,7 @@ container.querySelector("#count").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -104,7 +104,7 @@ container.querySelector("#count").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -138,7 +138,7 @@ container.querySelector("#inner").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -178,7 +178,7 @@ container.querySelector("#inner").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -218,7 +218,7 @@ container.querySelector("#count").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -245,7 +245,7 @@ container.querySelector("#outer").click()
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -286,7 +286,7 @@ container.querySelector("#outer").click()
<!---->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>
@ -327,7 +327,7 @@ container.querySelector("#count").click()
<!---->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<div><button id=outer></button><!M*0 #button/0><!M[1><button id=inner></button><!M*1 #button/0><button id=count>0<!M*2 #text/1></button><!M*2 #button/0><!M|1 #text/1 2><!M]0 #text/1></div><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])</script>
<div><button id=outer></button><!M*0 #button/0><!M[1><button id=inner></button><!M*1 #button/0><button id=count>0<!M*2 #text/1></button><!M*2 #button/0><!M|1 #text/1 2><!M]0 #text/1></div><script>(M$h=[]).push((b,s,h,j,k,m)=>(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])</script>
# Render "End"
@ -28,7 +28,7 @@
<!--M]0 #text/1-->
</div>
<script>
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1!":j={"#text/1!":k={},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer")},"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer")},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
(M$h=[]).push((b,s,h,j,k,m)=&gt;(m={0:h={outer:!0,inner:!0,count:0,"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_renderer"),"#text/1!":j={"#text/1(":b("packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_renderer"),"#text/1!":k={}}},1:j,2:k},j._=h,k._=j,m),[2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count/subscriber",2,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_2_count",1,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_1_inner",0,"packages/translator-tags/src/__tests__/fixtures/toggle-nested-2/template.marko_0_outer",])
</script>
</body>
</html>

View File

@ -1,4 +1,4 @@
import { write as _write, markResumeScopeStart as _markResumeScopeStart, escapeXML as _escapeXML, markResumeNode as _markResumeNode, serializedScope as _serializedScope, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, markResumeControlEnd as _markResumeControlEnd, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
import { write as _write, markResumeScopeStart as _markResumeScopeStart, escapeXML as _escapeXML, markResumeNode as _markResumeNode, serializedScope as _serializedScope, writeEffect as _writeEffect, writeScope as _writeScope, nextScopeId as _nextScopeId, createRenderer as _createRenderer, register as _register, markResumeControlSingleNodeEnd as _markResumeControlSingleNodeEnd, markResumeControlEnd as _markResumeControlEnd, createTemplate as _createTemplate } from "@marko/runtime-tags/debug/html";
const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
const _scope0_id = _nextScopeId();
const {
@ -15,6 +15,7 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
if (value1) {
const _scope2_id = _nextScopeId();
_write(`<span>${_escapeXML(value1)}${_markResumeNode(_scope2_id, "#text/0")}</span>`);
_writeEffect(_scope2_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested/template.marko_2_value1/subscriber");
_writeScope(_scope2_id, _scope2_ = {
"_": _serializedScope(_scope1_id)
});
@ -26,6 +27,7 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
if (value2) {
const _scope3_id = _nextScopeId();
_write(`<span>${_escapeXML(value2)}${_markResumeNode(_scope3_id, "#text/0")}</span>`);
_writeEffect(_scope3_id, "packages/translator-tags/src/__tests__/fixtures/toggle-nested/template.marko_3_value2/subscriber");
_writeScope(_scope3_id, _scope3_ = {
"_": _serializedScope(_scope1_id)
});
@ -35,17 +37,19 @@ const _renderer = /* @__PURE__ */_createRenderer((input, _tagVar) => {
_write(`${_markResumeControlSingleNodeEnd(_scope1_id, "#text/1", _ifScopeId2)}`);
_writeScope(_scope1_id, _scope1_ = {
"_": _serializedScope(_scope0_id),
"#text/0!": _scope2_,
"#text/0(": _ifRenderer,
"#text/1!": _scope3_,
"#text/1(": _ifRenderer2
"#text/0!": _scope2_,
"#text/1(": _ifRenderer2,
"#text/1!": _scope3_
});
_register(_ifRenderer3 = /* @__PURE__ */_createRenderer(() => {}), "packages/translator-tags/src/__tests__/fixtures/toggle-nested/template.marko_1_renderer");
}
_write(`${_markResumeControlEnd(_scope0_id, "#text/0")}</div>`);
_writeScope(_scope0_id, {
"#text/0!": _scope1_,
"#text/0(": _ifRenderer3
"value1": value1,
"value2": value2,
"#text/0(": _ifRenderer3,
"#text/0!": _scope1_
});
});
export default /* @__PURE__ */_createTemplate(_renderer, "packages/translator-tags/src/__tests__/fixtures/toggle-nested/template.marko");

View File

@ -7,7 +7,7 @@
<!--M]0 #text/0-->
</div>
<script>
(M$h=[]).push((b,s)=&gt;({0:{}}),[])
(M$h=[]).push((b,s)=&gt;({0:{value1:"Hello",value2:"World"}}),[])
</script>
</body>
</html>

View File

@ -1,5 +1,5 @@
# Write
<div><!M]0 #text/0></div><script>(M$h=[]).push((b,s)=>({0:{}}),[])</script>
<div><!M]0 #text/0></div><script>(M$h=[]).push((b,s)=>({0:{value1:"Hello",value2:"World"}}),[])</script>
# Render "End"
@ -11,7 +11,7 @@
<!--M]0 #text/0-->
</div>
<script>
(M$h=[]).push((b,s)=&gt;({0:{}}),[])
(M$h=[]).push((b,s)=&gt;({0:{value1:"Hello",value2:"World"}}),[])
</script>
</body>
</html>

View File

@ -20,6 +20,7 @@ import {
getScopeIdentifier,
getSection,
startSection,
checkStatefulClosures,
} from "../../util/sections";
import {
addValue,
@ -167,6 +168,9 @@ export function exitBranchAnalyze(tag: t.NodePath<t.MarkoTag>) {
rootExtra.singleNodeOptimization = branches.every(({ tag }) => {
return tag.node.body.body.length === 1;
});
branches.forEach(({ section }) => {
section.upstreamExpression = rootExtra;
});
}
}
@ -194,9 +198,10 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
const nodeRef = rootExtra[kBinding]!;
const isStateful = isStatefulReferences(rootExtra.referencedBindings);
const singleNodeOptimization = rootExtra.singleNodeOptimization;
const hasStatefulClosures = checkStatefulClosures(bodySection, true);
if (isOutputHTML()) {
if (isStateful) {
if (isStateful || hasStatefulClosures) {
setRegisterScopeBuilder(tag, (scope: t.Expression) => {
return t.assignmentExpression(
"=",
@ -232,10 +237,6 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
);
});
if (isStateful) {
writer.setRegisterRenderer(section, true);
}
tag.remove();
if (testAttr) {
@ -268,6 +269,7 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
for (let i = branches.length; i--; ) {
const { tag, section } = branches[i];
const branchScopeIdentifier = getScopeIdentifier(section, true);
const branchHasStatefulClosures = checkStatefulClosures(section, true);
branchScopeIdentifier.name = ifScopeIdentifier.name;
if (isStateful) {
@ -287,7 +289,8 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
),
) as any,
);
}
if (isStateful || branchHasStatefulClosures) {
if (singleNodeOptimization) {
tag.node.body.body.push(
t.expressionStatement(
@ -313,7 +316,7 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
tag.remove();
}
if (!isStateful) {
if (!isStateful && !hasStatefulClosures) {
nextTag.insertBefore(statement!);
} else {
nextTag.insertBefore([
@ -323,24 +326,33 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
singleNodeOptimization &&
t.variableDeclarator(ifScopeIdIdentifier),
t.variableDeclarator(ifScopeIdentifier),
t.variableDeclarator(ifRendererIdentifier),
isStateful && t.variableDeclarator(ifRendererIdentifier),
].filter(Boolean) as t.VariableDeclarator[],
),
statement!,
]);
if (singleNodeOptimization) {
write`${callRuntime(
"markResumeControlSingleNodeEnd",
getScopeIdIdentifier(section),
getScopeAccessorLiteral(nodeRef),
ifScopeIdIdentifier,
)}`;
} else {
write`${callRuntime(
"markResumeControlEnd",
getScopeIdIdentifier(section),
getScopeAccessorLiteral(nodeRef),
)}`;
if (isStateful) {
if (singleNodeOptimization) {
write`${callRuntime(
"markResumeControlSingleNodeEnd",
getScopeIdIdentifier(section),
getScopeAccessorLiteral(nodeRef),
ifScopeIdIdentifier,
)}`;
} else {
write`${callRuntime(
"markResumeControlEnd",
getScopeIdIdentifier(section),
getScopeAccessorLiteral(nodeRef),
)}`;
}
getSerializedScopeProperties(section).set(
t.stringLiteral(
getScopeAccessorLiteral(nodeRef).value +
AccessorChar.ConditionalRenderer,
),
ifRendererIdentifier,
);
}
getSerializedScopeProperties(section).set(
t.stringLiteral(
@ -349,13 +361,6 @@ export function exitBranchTranslate(tag: t.NodePath<t.MarkoTag>) {
),
ifScopeIdentifier,
);
getSerializedScopeProperties(section).set(
t.stringLiteral(
getScopeAccessorLiteral(nodeRef).value +
AccessorChar.ConditionalRenderer,
),
ifRendererIdentifier,
);
}
}
}

View File

@ -23,6 +23,7 @@ import {
getScopeIdIdentifier,
getScopeIdentifier,
getSection,
checkStatefulClosures,
startSection,
} from "../util/sections";
import {
@ -78,6 +79,7 @@ export default {
trackParamsReferences(tagBody, BindingType.param, undefined, tagExtra);
},
exit(tag) {
const bodySection = getSection(tag.get("body"));
const extra = tag.node.extra!;
analyzeAttributeTags(tag);
@ -86,6 +88,8 @@ export default {
tag.node.attributes.map((attr) => attr.value),
);
bodySection.upstreamExpression = extra;
extra.singleNodeOptimization = tag.node.body.body.length === 1;
},
},
@ -316,6 +320,7 @@ const translateHTML = {
const block = t.blockStatement(body);
const write = writer.writeTo(tag);
const replacement: t.Node[] = [];
const hasStatefulClosures = checkStatefulClosures(bodySection, true);
let byParams: t.Expression[];
let keyExpression: t.Expression | undefined = t.identifier("NOO");
@ -323,7 +328,7 @@ const translateHTML = {
tag.parentPath.parent.extra![kSerializeMarker] = true;
}
if (isStateful || bodySection.closures) {
if (isStateful || hasStatefulClosures) {
setRegisterScopeBuilder(tag, (scope: t.Expression) => {
const tempScopeIdentifier =
currentProgramPath.scope.generateUidIdentifier("s");
@ -404,7 +409,7 @@ const translateHTML = {
valParam = tempValParam;
}
if (indexParam || isStateful || bodySection.closures) {
if (indexParam || isStateful || hasStatefulClosures) {
indexParam ??= currentProgramPath.scope.generateUidIdentifier("i");
const indexName = tag.scope.generateUidIdentifierBasedOnNode(
indexParam,
@ -462,7 +467,7 @@ const translateHTML = {
const stepName = tag.scope.generateUidIdentifier("step");
const fromName = tag.scope.generateUidIdentifier("from");
if (indexParam || isStateful || bodySection.closures) {
if (indexParam || isStateful || hasStatefulClosures) {
indexParam ??= currentProgramPath.scope.generateUidIdentifier("i");
keyExpression = indexParam as t.Identifier;
block.body.unshift(
@ -507,7 +512,7 @@ const translateHTML = {
);
}
if ((isStateful || bodySection.closures) && !hasNestedAttributeTags) {
if ((isStateful || hasStatefulClosures) && !hasNestedAttributeTags) {
const forScopeIdsIdentifier =
tag.scope.generateUidIdentifier("forScopeIds");
const forScopesIdentifier = getScopeIdentifier(bodySection);
@ -516,7 +521,8 @@ const translateHTML = {
t.variableDeclaration(
"const",
[
singleNodeOptimization &&
isStateful &&
singleNodeOptimization &&
t.variableDeclarator(
forScopeIdsIdentifier,
t.arrayExpression([]),
@ -529,27 +535,29 @@ const translateHTML = {
),
);
if (singleNodeOptimization) {
block.body.push(
t.expressionStatement(
t.callExpression(
t.memberExpression(forScopeIdsIdentifier, t.identifier("push")),
[getScopeIdIdentifier(bodySection)],
if (isStateful) {
if (singleNodeOptimization) {
block.body.push(
t.expressionStatement(
t.callExpression(
t.memberExpression(forScopeIdsIdentifier, t.identifier("push")),
[getScopeIdIdentifier(bodySection)],
),
),
),
);
write`${callRuntime(
"markResumeControlSingleNodeEnd",
getScopeIdIdentifier(tagSection),
getScopeAccessorLiteral(nodeRef),
forScopeIdsIdentifier,
)}`;
} else {
write`${callRuntime(
"markResumeControlEnd",
getScopeIdIdentifier(tagSection),
getScopeAccessorLiteral(nodeRef),
)}`;
);
write`${callRuntime(
"markResumeControlSingleNodeEnd",
getScopeIdIdentifier(tagSection),
getScopeAccessorLiteral(nodeRef),
forScopeIdsIdentifier,
)}`;
} else {
write`${callRuntime(
"markResumeControlEnd",
getScopeIdIdentifier(tagSection),
getScopeAccessorLiteral(nodeRef),
)}`;
}
}
getSerializedScopeProperties(tagSection).set(
t.stringLiteral(

View File

@ -1,5 +1,6 @@
import { types as t } from "@marko/compiler";
import { getExprRoot, getFnRoot, getMarkoRoot } from "./get-root";
import { isStatefulReferences } from "./is-stateful";
import { isOptimize } from "./marko-config";
import {
addSorted,
@ -253,13 +254,6 @@ function trackReference(
const exprExtra = (exprRoot.node.extra ??= {});
addReferenceToExpression(exprRoot, binding);
// TODO: this should be in finalizeReferences
// probably should be a set
if (section !== binding.section) {
section.closures ??= [];
section.closures.push(binding);
}
// TODO: remove
if (fnRoot) {
const name = (fnRoot.node as t.FunctionExpression).id?.name;
@ -381,12 +375,12 @@ export function finalizeReferences() {
forEach(referencedBindings, (bindingReference) => {
if (isEffect) {
bindingReference.serialize = true;
section.bindings.add(bindingReference);
}
});
}
}
// mark bindings that need to be serialized due to being in an intersection with state
for (const intersection of intersections) {
const numReferences = intersection.length;
// TODO: in some cases we should be able to short circuit this
@ -407,6 +401,28 @@ export function finalizeReferences() {
}
}
// mark bindings that need to be serialized due to being closed over by stateful sections
forEachSection((section) => {
for (const binding of section.closures) {
if (!binding.serialize) {
let serialize = false;
const sourceSection = binding.section;
let currentSection = section;
while (
currentSection !== sourceSection &&
!(serialize =
!currentSection.upstreamExpression ||
isStatefulReferences(
currentSection.upstreamExpression.referencedBindings,
))
) {
currentSection = currentSection.parent!;
}
binding.serialize = serialize;
}
}
});
forEachSection(({ id, bindings }) => {
const sortedBindings = [...bindings]
.filter((b) => b.section.id === id)
@ -488,7 +504,9 @@ function addReference(
referencedBindings: ReferencedBindings,
binding: Binding,
) {
section.bindings.add(binding);
if (section !== binding.section) {
section.closures.add(binding);
}
const newIntersection = bindingUtil.add(referencedBindings, binding);
return findReferences(section, newIntersection);
}

View File

@ -5,6 +5,7 @@ import {
} from "@marko/babel-utils";
import { types as t } from "@marko/compiler";
import { currentProgramPath } from "../visitors/program";
import { isStatefulReferences } from "./is-stateful";
import type { Binding } from "./references";
import { createSectionState } from "./state";
import analyzeTagNameType, { TagNameType } from "./tag-name-type";
@ -20,10 +21,11 @@ export type Section = {
name: string;
depth: number;
parent?: Section;
closures?: Binding[];
closures: Set<Binding>;
bindings: Set<Binding>;
startNodeContentType: ContentType;
endNodeContentType: ContentType;
upstreamExpression: t.NodeExtra | undefined;
};
declare module "@marko/compiler/dist/types" {
@ -62,9 +64,11 @@ export function startSection(
name: sectionName,
depth: parentSection ? parentSection.depth + 1 : 0,
parent: parentSection,
closures: new Set(),
bindings: new Set(),
startNodeContentType: getStartNodeContentType(path),
endNodeContentType: getEndNodeContentType(path),
upstreamExpression: undefined,
};
sections.push(section);
}
@ -217,3 +221,25 @@ function getNodeContentType(
}
return ContentType.Dynamic;
}
export const isStatefulSection = (section: Section) => {
const upstreamExpression = section.upstreamExpression;
return (
!upstreamExpression ||
isStatefulReferences(upstreamExpression.referencedBindings)
);
};
export const checkStatefulClosures = (
section: Section,
immediateOnly: boolean,
) => {
for (const binding of section.closures) {
if (
(!immediateOnly || section.parent === binding.section) &&
isStatefulReferences(binding)
) {
return true;
}
}
};

View File

@ -7,6 +7,7 @@ import {
currentProgramPath,
scopeIdentifier,
} from "../visitors/program";
import { isStatefulReferences } from "./is-stateful";
import { isOutputHTML } from "./marko-config";
import { type Opt, push } from "./optional";
import {
@ -642,7 +643,10 @@ export function writeSignals(section: Section) {
);
}
if (signal.isDynamicClosure) {
if (
signal.isDynamicClosure &&
isStatefulReferences(signal.referencedBindings)
) {
value = callRuntime(
"registerSubscriber",
t.stringLiteral(
@ -719,10 +723,9 @@ export function writeHTMLResumeStatements(
const section = getSection(path);
const allSignals = Array.from(getSignals(section).values());
const scopeIdIdentifier = getScopeIdIdentifier(section);
const closures = section.closures;
if (closures) {
for (const closure of closures) {
for (const closure of section.closures) {
if (isStatefulReferences(closure)) {
let currentSection = section;
while (currentSection !== closure.section) {
getSerializedScopeProperties(currentSection).set(
@ -733,6 +736,27 @@ export function writeHTMLResumeStatements(
),
);
}
setForceResumeScope(closure.section);
const isImmediateOwner = section.parent?.id === closure.section.id;
// TODO: getSubscribeBuilder is not the right check
// the builder shouldn't get set for the HTML output
// we're setting it to an empty builder from if/for purely for this check
const isDynamicClosure =
!getSubscribeBuilder(section) || !isImmediateOwner;
if (isDynamicClosure) {
path.pushContainer(
"body",
t.expressionStatement(
callRuntime(
"writeEffect",
scopeIdIdentifier,
t.stringLiteral(
getResumeRegisterId(section, closure, "subscriber"),
),
),
),
);
}
}
}
@ -758,37 +782,10 @@ export function writeHTMLResumeStatements(
section.bindings.forEach((binding) => {
if (binding.serialize && binding.type !== BindingType.dom) {
const accessor = getScopeAccessorLiteral(binding);
if (binding.section.id === section.id) {
serializedProperties.push(
t.objectProperty(accessor, t.identifier(binding.name)),
);
accessors.add(accessor.value);
} else {
const isImmediateOwner = section.parent?.id === binding.section.id;
// TODO: getSubscribeBuilder is not the right check
// the builder shouldn't get set for the HTML output
// we're setting it to an empty builder from if/for purely for this check
const isDynamicClosure =
!getSubscribeBuilder(section) || !isImmediateOwner;
if (isDynamicClosure) {
path.pushContainer(
"body",
t.expressionStatement(
callRuntime(
"writeEffect",
scopeIdIdentifier,
t.stringLiteral(
getResumeRegisterId(section, binding, "subscriber"),
),
),
),
);
}
getSerializedScopeProperties(binding.section).set(
accessor,
t.identifier(binding.name),
);
}
serializedProperties.push(
t.objectProperty(accessor, t.identifier(binding.name)),
);
accessors.add(accessor.value);
}
});

View File

@ -31,13 +31,6 @@ const [getWrites] = createSectionState<(string | t.Expression)[]>(
() => [""],
);
const [getRegisterRenderer, setRegisterRenderer] = createSectionState<boolean>(
"registerRenderer",
() => false,
);
export { setRegisterRenderer };
export function writeTo(path: t.NodePath<any>) {
const section = getSection(path);
return (
@ -104,7 +97,6 @@ export function getSectionMeta(section: Section) {
writes:
toTemplateOrStringLiteral([writePrefix, ...writes, writePostfix]) ||
t.stringLiteral(""),
register: getRegisterRenderer(section),
};
}

View File

@ -5,6 +5,7 @@ import {
forEachSectionReverse,
getSection,
getSectionPath,
isStatefulSection,
} from "../../util/sections";
import {
getClosures,
@ -38,8 +39,7 @@ export default {
writeSignals(childSection);
if (childSection !== section) {
const { walks, writes, setup, register } =
writer.getSectionMeta(childSection);
const { walks, writes, setup } = writer.getSectionMeta(childSection);
const closures = getClosures(childSection);
const identifier = writer.getRenderer(childSection);
const renderer = callRuntime(
@ -55,8 +55,7 @@ export default {
t.variableDeclaration("const", [
t.variableDeclarator(
identifier,
//eslint-disable-next-line no-constant-condition
register || true
isStatefulSection(childSection)
? callRuntime(
"register",
t.stringLiteral(