aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Dylan Conway <35280289+dylan-conway@users.noreply.github.com> 2023-05-19 16:04:38 -0700
committerGravatar GitHub <noreply@github.com> 2023-05-19 16:04:38 -0700
commitaa34529b5b713ba856db47f253f66f651903c438 (patch)
tree7b0fe5c003fc00b64f8895f174ddc61fc30133fa /src
parent4101eeabdefa5f49631e675e4a1ade797e4264c3 (diff)
downloadbun-aa34529b5b713ba856db47f253f66f651903c438.tar.gz
bun-aa34529b5b713ba856db47f253f66f651903c438.tar.zst
bun-aa34529b5b713ba856db47f253f66f651903c438.zip
resolve rope string for multipart template (#2963)
* resolve rope for multipart template * fix tests * clone template part if it is `e_string` and folded * clone string only * don't clone data again
Diffstat (limited to 'src')
-rw-r--r--src/js_ast.zig5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/js_ast.zig b/src/js_ast.zig
index a3fb81402..fbf699483 100644
--- a/src/js_ast.zig
+++ b/src/js_ast.zig
@@ -2428,11 +2428,10 @@ pub const E = struct {
if (part.value.data == .e_string and part.tail.cooked.isUTF8() and part.value.data.e_string.isUTF8()) {
if (parts.items.len == 0) {
if (part.value.data.e_string.len() > 0) {
- head.data.e_string.push(part.value.data.e_string);
+ head.data.e_string.push(Expr.init(E.String, part.value.data.e_string.*, logger.Loc.Empty).data.e_string);
}
if (part.tail.cooked.len() > 0) {
- head.data.e_string.resolveRopeIfNeeded(allocator);
head.data.e_string.push(Expr.init(E.String, part.tail.cooked, part.tail_loc).data.e_string);
}
@@ -2443,7 +2442,7 @@ pub const E = struct {
if (prev_part.tail.cooked.isUTF8()) {
if (part.value.data.e_string.len() > 0) {
- prev_part.tail.cooked.push(part.value.data.e_string);
+ prev_part.tail.cooked.push(Expr.init(E.String, part.value.data.e_string.*, logger.Loc.Empty).data.e_string);
}
if (part.tail.cooked.len() > 0) {