diff --git a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
index c8c9d254d..323b9df78 100644
--- a/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/__snapshots__/compile.spec.ts.snap
@@ -1,12 +1,13 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compile > bindings 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
-const t0 = _template("
", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx, $props, $emit, $attrs, $slots) {
const n0 = t0()
- _renderEffect(() => _setText(n0, "count is ", _ctx.count, "."))
+ const x0 = _child(n0)
+ _renderEffect(() => _setText(x0, "count is " + _toDisplayString(_ctx.count) + "."))
return n0
}"
`;
@@ -148,7 +149,7 @@ export function render(_ctx, $props, $emit, $attrs, $slots) {
`;
exports[`compile > directives > v-pre > should not affect siblings after it 1`] = `
-"import { resolveComponent as _resolveComponent, createComponentWithFallback as _createComponentWithFallback, createTextNode as _createTextNode, insert as _insert, setProp as _setProp, renderEffect as _renderEffect, template as _template } from 'vue';
+"import { resolveComponent as _resolveComponent, createComponentWithFallback as _createComponentWithFallback, createTextNode as _createTextNode, insert as _insert, toDisplayString as _toDisplayString, setText as _setText, setProp as _setProp, renderEffect as _renderEffect, template as _template } from 'vue';
const t0 = _template("
{{ bar }}
")
const t1 = _template("")
@@ -157,33 +158,37 @@ export function render(_ctx, $props, $emit, $attrs, $slots) {
const n0 = t0()
const n3 = t1()
const n1 = _createComponentWithFallback(_component_Comp)
- const n2 = _createTextNode(() => [_ctx.bar])
+ const n2 = _createTextNode()
_insert([n1, n2], n3)
- _renderEffect(() => _setProp(n3, "id", _ctx.foo))
+ _renderEffect(() => {
+ _setText(n2, _toDisplayString(_ctx.bar))
+ _setProp(n3, "id", _ctx.foo)
+ })
return [n0, n3]
}"
`;
exports[`compile > dynamic root 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString } from 'vue';
export function render(_ctx) {
- const n0 = _createTextNode(() => [1, 2])
+ const n0 = _createTextNode(_toDisplayString(1) + _toDisplayString(2))
return n0
}"
`;
exports[`compile > dynamic root nodes and interpolation 1`] = `
-"import { setText as _setText, setProp as _setProp, renderEffect as _renderEffect, delegateEvents as _delegateEvents, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, setProp as _setProp, renderEffect as _renderEffect, delegateEvents as _delegateEvents, template as _template } from 'vue';
+const t0 = _template("", true)
_delegateEvents("click")
export function render(_ctx) {
const n0 = t0()
+ const x0 = _child(n0)
n0.$evtclick = e => _ctx.handleClick(e)
_renderEffect(() => {
const _count = _ctx.count
- _setText(n0, _count, "foo", _count, "foo", _count)
+ _setText(x0, _toDisplayString(_count) + "foo" + _toDisplayString(_count) + "foo" + _toDisplayString(_count))
_setProp(n0, "id", _count)
})
return n0
@@ -192,7 +197,8 @@ export function render(_ctx) {
exports[`compile > expression parsing > interpolation 1`] = `
"
- const n0 = _createTextNode(() => [a + b.value])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(a + b.value)))
return n0
"
`;
@@ -223,10 +229,10 @@ export function render(_ctx) {
`;
exports[`compile > static + dynamic root 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString } from 'vue';
export function render(_ctx) {
- const n0 = _createTextNode(() => [1, 2, "3", 4, 5, "6", 7, 8, "9", 'A', 'B'])
+ const n0 = _createTextNode(_toDisplayString(1) + _toDisplayString(2) + "3" + _toDisplayString(4) + _toDisplayString(5) + "6" + _toDisplayString(7) + _toDisplayString(8) + "9" + 'A' + 'B')
return n0
}"
`;
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/expression.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/expression.spec.ts.snap
index 53e0ed772..ec449cbd2 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/expression.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/expression.spec.ts.snap
@@ -1,28 +1,31 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: expression > basic 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect } from 'vue';
export function render(_ctx) {
- const n0 = _createTextNode(() => [_ctx.a])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_ctx.a)))
return n0
}"
`;
exports[`compiler: expression > props 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect } from 'vue';
export function render(_ctx, $props, $emit, $attrs, $slots) {
- const n0 = _createTextNode(() => [$props.foo])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString($props.foo)))
return n0
}"
`;
exports[`compiler: expression > props aliased 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect } from 'vue';
export function render(_ctx, $props, $emit, $attrs, $slots) {
- const n0 = _createTextNode(() => [$props['bar']])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString($props['bar'])))
return n0
}"
`;
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformChildren.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformChildren.spec.ts.snap
index f8c5da21b..373b0795b 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformChildren.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformChildren.spec.ts.snap
@@ -1,42 +1,48 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: children transform > children & sibling references 1`] = `
-"import { child as _child, nextn as _nextn, next as _next, createTextNode as _createTextNode, insert as _insert, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
-const t0 = _template("
", true)
+"import { child as _child, nextn as _nextn, next as _next, createTextNode as _createTextNode, insert as _insert, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+const t0 = _template("
", true)
+"import { child as _child, next as _next, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+const t0 = _template("
x
", true)
export function render(_ctx) {
const n3 = t0()
- const _n0 = _next(_child(n3))
- const n0 = _child(_n0)
- const _n1 = _next(_n0)
- const n1 = _child(_n1)
- const _n2 = _next(_n1)
- const n2 = _child(_n2)
+ const p0 = _next(_child(n3))
+ const n0 = _child(p0)
+ const p1 = _next(p0)
+ const n1 = _child(p1)
+ const p2 = _next(p1)
+ const n2 = _child(p2)
+ const x0 = _child(n0)
+ const x1 = _child(n1)
+ const x2 = _child(n2)
_renderEffect(() => {
const _msg = _ctx.msg
- _setText(n0, _msg)
- _setText(n1, _msg)
- _setText(n2, _msg)
+ _setText(x0, _toDisplayString(_msg))
+ _setText(x1, _toDisplayString(_msg))
+ _setText(x2, _toDisplayString(_msg))
})
return n3
}"
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap
index cdc698483..706b44c9a 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/transformText.spec.ts.snap
@@ -1,10 +1,11 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: text transform > consecutive text 1`] = `
-"import { createTextNode as _createTextNode } from 'vue';
+"import { createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect } from 'vue';
export function render(_ctx) {
- const n0 = _createTextNode(() => [_ctx.msg])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_ctx.msg)))
return n0
}"
`;
@@ -13,7 +14,7 @@ exports[`compiler: text transform > no consecutive text 1`] = `
"import { createTextNode as _createTextNode } from 'vue';
export function render(_ctx) {
- const n0 = _createTextNode(["hello world"])
+ const n0 = _createTextNode("hello world")
return n0
}"
`;
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
index 183a3b726..d7e763e84 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vFor.spec.ts.snap
@@ -1,13 +1,14 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: v-for > array de-structured value (with rest) 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.list), (_for_item0, _for_key0) => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _for_item0.value[0] + _for_item0.value.slice(1) + _for_key0.value))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value[0] + _for_item0.value.slice(1) + _for_key0.value)))
return n2
}, ([id, ...other], index) => (id))
return n0
@@ -15,13 +16,14 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > array de-structured value 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.list), (_for_item0, _for_key0) => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _for_item0.value[0] + _for_item0.value[1] + _for_key0.value))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value[0] + _for_item0.value[1] + _for_key0.value)))
return n2
}, ([id, other], index) => (id))
return n0
@@ -29,15 +31,16 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > basic v-for 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createFor as _createFor, delegateEvents as _delegateEvents, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, delegateEvents as _delegateEvents, template as _template } from 'vue';
+const t0 = _template("
", true)
_delegateEvents("click")
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.items), (_for_item0) => {
const n2 = t0()
+ const x2 = _child(n2)
n2.$evtclick = () => (_ctx.remove(_for_item0.value))
- _renderEffect(() => _setText(n2, _for_item0.value))
+ _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value)))
return n2
}, (item) => (item.id))
return n0
@@ -62,8 +65,8 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > nested v-for 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createFor as _createFor, insert as _insert, template as _template } from 'vue';
-const t0 = _template("")
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, insert as _insert, template as _template } from 'vue';
+const t0 = _template("")
const t1 = _template("", true)
export function render(_ctx) {
@@ -71,7 +74,8 @@ export function render(_ctx) {
const n5 = t1()
const n2 = _createFor(() => (_for_item0.value), (_for_item1) => {
const n4 = t0()
- _renderEffect(() => _setText(n4, _for_item1.value+_for_item0.value))
+ const x4 = _child(n4)
+ _renderEffect(() => _setText(x4, _toDisplayString(_for_item1.value+_for_item0.value)))
return n4
}, null, null, null, true)
_insert(n2, n5)
@@ -82,13 +86,14 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > object de-structured value (with rest) 1`] = `
-"import { getRestElement as _getRestElement, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { getRestElement as _getRestElement, child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.list), (_for_item0, _for_key0) => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _for_item0.value.id + _getRestElement(_for_item0.value, ["id"]) + _for_key0.value))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value.id + _getRestElement(_for_item0.value, ["id"]) + _for_key0.value)))
return n2
}, ({ id, ...other }, index) => (id))
return n0
@@ -96,13 +101,14 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > object de-structured value 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
+const t0 = _template("", true)
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.items), (_for_item0) => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _for_item0.value.id, _for_item0.value.value))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_for_item0.value.id) + _toDisplayString(_for_item0.value.value)))
return n2
}, ({ id, value }) => (id))
return n0
@@ -110,13 +116,14 @@ export function render(_ctx) {
`;
exports[`compiler: v-for > v-for aliases w/ complex expressions 1`] = `
-"import { getDefaultValue as _getDefaultValue, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { getDefaultValue as _getDefaultValue, child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createFor as _createFor, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx) {
const n0 = _createFor(() => (_ctx.list), (_for_item0) => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _getDefaultValue(_for_item0.value.foo, _ctx.bar) + _ctx.bar + _ctx.baz + _getDefaultValue(_for_item0.value.baz[0], _ctx.quux) + _ctx.quux))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_getDefaultValue(_for_item0.value.foo, _ctx.bar) + _ctx.bar + _ctx.baz + _getDefaultValue(_for_item0.value.baz[0], _ctx.quux) + _ctx.quux)))
return n2
})
return n0
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vIf.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vIf.spec.ts.snap
index a01ec4774..360823cdc 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vIf.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vIf.spec.ts.snap
@@ -1,13 +1,14 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
exports[`compiler: v-if > basic v-if 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createIf as _createIf, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createIf as _createIf, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx) {
const n0 = _createIf(() => (_ctx.ok), () => {
const n2 = t0()
- _renderEffect(() => _setText(n2, _ctx.msg))
+ const x2 = _child(n2)
+ _renderEffect(() => _setText(x2, _toDisplayString(_ctx.msg)))
return n2
})
return n0
@@ -15,13 +16,13 @@ export function render(_ctx) {
`;
exports[`compiler: v-if > comment between branches 1`] = `
-"import { createIf as _createIf, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+"import { createIf as _createIf, child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
const t0 = _template("")
const t1 = _template("")
const t2 = _template("")
const t3 = _template("")
const t4 = _template("fine")
-const t5 = _template("")
+const t5 = _template("
")
export function render(_ctx) {
const n13 = t5()
@@ -37,7 +38,8 @@ export function render(_ctx) {
const n11 = t4()
return [n10, n11]
}))
- _renderEffect(() => _setText(n13, _ctx.text))
+ const x13 = _child(n13)
+ _renderEffect(() => _setText(x13, _toDisplayString(_ctx.text)))
return [n0, n13]
}"
`;
@@ -60,17 +62,18 @@ export function render(_ctx) {
`;
exports[`compiler: v-if > template v-if 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, createIf as _createIf, template as _template } from 'vue';
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createIf as _createIf, template as _template } from 'vue';
const t0 = _template("")
const t1 = _template("hello")
-const t2 = _template("", true)
+const t2 = _template("
", true)
export function render(_ctx) {
const n0 = _createIf(() => (_ctx.ok), () => {
const n2 = t0()
const n3 = t1()
const n4 = t2()
- _renderEffect(() => _setText(n4, _ctx.msg))
+ const x4 = _child(n4)
+ _renderEffect(() => _setText(x4, _toDisplayString(_ctx.msg)))
return [n2, n3, n4]
})
return n0
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap
index 15abf38f9..94fd13958 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vOnce.spec.ts.snap
@@ -12,13 +12,13 @@ export function render(_ctx) {
`;
exports[`compiler: v-once > basic 1`] = `
-"import { child as _child, createTextNode as _createTextNode, setClass as _setClass, prepend as _prepend, template as _template } from 'vue';
+"import { child as _child, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setClass as _setClass, prepend as _prepend, template as _template } from 'vue';
const t0 = _template("
", true)
export function render(_ctx, $props, $emit, $attrs, $slots) {
const n2 = t0()
const n1 = _child(n2)
- const n0 = _createTextNode([_ctx.msg, " "])
+ const n0 = _createTextNode(_toDisplayString(_ctx.msg) + " ")
_setClass(n1, _ctx.clz)
_prepend(n2, n0)
return n2
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap
index 334efa745..bab5c1046 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vSlot.spec.ts.snap
@@ -22,7 +22,7 @@ export function render(_ctx) {
`;
exports[`compiler: transform slot > dynamic slots name w/ v-for 1`] = `
-"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, createForSlots as _createForSlots, createComponentWithFallback as _createComponentWithFallback } from 'vue';
+"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createForSlots as _createForSlots, createComponentWithFallback as _createComponentWithFallback } from 'vue';
export function render(_ctx) {
const _component_Comp = _resolveComponent("Comp")
@@ -31,7 +31,8 @@ export function render(_ctx) {
() => (_createForSlots(_ctx.list, (item) => ({
name: item,
fn: (_slotProps0) => {
- const n0 = _createTextNode(() => [_slotProps0["bar"]])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_slotProps0["bar"])))
return n0
}
})))
@@ -157,7 +158,7 @@ export function render(_ctx) {
`;
exports[`compiler: transform slot > nested slots scoping 1`] = `
-"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, createComponentWithFallback as _createComponentWithFallback, template as _template } from 'vue';
+"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createComponentWithFallback as _createComponentWithFallback, template as _template } from 'vue';
const t0 = _template(" ")
export function render(_ctx) {
@@ -168,11 +169,13 @@ export function render(_ctx) {
const n2 = t0()
const n1 = _createComponentWithFallback(_component_Inner, null, {
"default": (_slotProps1) => {
- const n0 = _createTextNode(() => [_slotProps0["foo"] + _slotProps1["bar"] + _ctx.baz])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_slotProps0["foo"] + _slotProps1["bar"] + _ctx.baz)))
return n0
}
})
- const n3 = _createTextNode(() => [_slotProps0["foo"] + _ctx.bar + _ctx.baz])
+ const n3 = _createTextNode()
+ _renderEffect(() => _setText(n3, _toDisplayString(_slotProps0["foo"] + _ctx.bar + _ctx.baz)))
return [n1, n2, n3]
}
}, true)
@@ -181,7 +184,7 @@ export function render(_ctx) {
`;
exports[`compiler: transform slot > on component dynamically named slot 1`] = `
-"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, createComponentWithFallback as _createComponentWithFallback } from 'vue';
+"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createComponentWithFallback as _createComponentWithFallback } from 'vue';
export function render(_ctx) {
const _component_Comp = _resolveComponent("Comp")
@@ -190,7 +193,8 @@ export function render(_ctx) {
() => ({
name: _ctx.named,
fn: (_slotProps0) => {
- const n0 = _createTextNode(() => [_slotProps0["foo"] + _ctx.bar])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_slotProps0["foo"] + _ctx.bar)))
return n0
}
})
@@ -201,13 +205,14 @@ export function render(_ctx) {
`;
exports[`compiler: transform slot > on component named slot 1`] = `
-"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, createComponentWithFallback as _createComponentWithFallback } from 'vue';
+"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createComponentWithFallback as _createComponentWithFallback } from 'vue';
export function render(_ctx) {
const _component_Comp = _resolveComponent("Comp")
const n1 = _createComponentWithFallback(_component_Comp, null, {
"named": (_slotProps0) => {
- const n0 = _createTextNode(() => [_slotProps0["foo"] + _ctx.bar])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_slotProps0["foo"] + _ctx.bar)))
return n0
}
}, true)
@@ -216,13 +221,14 @@ export function render(_ctx) {
`;
exports[`compiler: transform slot > on-component default slot 1`] = `
-"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, createComponentWithFallback as _createComponentWithFallback } from 'vue';
+"import { resolveComponent as _resolveComponent, createTextNode as _createTextNode, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, createComponentWithFallback as _createComponentWithFallback } from 'vue';
export function render(_ctx) {
const _component_Comp = _resolveComponent("Comp")
const n1 = _createComponentWithFallback(_component_Comp, null, {
"default": (_slotProps0) => {
- const n0 = _createTextNode(() => [_slotProps0["foo"] + _ctx.bar])
+ const n0 = _createTextNode()
+ _renderEffect(() => _setText(n0, _toDisplayString(_slotProps0["foo"] + _ctx.bar)))
return n0
}
}, true)
diff --git a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vText.spec.ts.snap b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vText.spec.ts.snap
index 5ae5b2a74..9a3b88acb 100644
--- a/packages/compiler-vapor/__tests__/transforms/__snapshots__/vText.spec.ts.snap
+++ b/packages/compiler-vapor/__tests__/transforms/__snapshots__/vText.spec.ts.snap
@@ -1,23 +1,25 @@
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`v-text > should convert v-text to textContent 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
-const t0 = _template("", true)
+exports[`v-text > should convert v-text to setText 1`] = `
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+const t0 = _template("
", true)
export function render(_ctx, $props, $emit, $attrs, $slots) {
const n0 = t0()
- _renderEffect(() => _setText(n0, _ctx.str))
+ const x0 = _child(n0)
+ _renderEffect(() => _setText(x0, _toDisplayString(_ctx.str)))
return n0
}"
`;
exports[`v-text > should raise error and ignore children when v-text is present 1`] = `
-"import { setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
-const t0 = _template("", true)
+"import { child as _child, toDisplayString as _toDisplayString, setText as _setText, renderEffect as _renderEffect, template as _template } from 'vue';
+const t0 = _template("