From 63519cd77baeab7fa2964792d7e389e4ebef3b5b Mon Sep 17 00:00:00 2001 From: teobgeno Date: Fri, 18 Aug 2023 16:51:23 +0300 Subject: [PATCH] fix: spread attributes not work as expected --- .../compile/render_dom/wrappers/Element/index.js | 2 +- .../test/js/samples/svelte-element/expected.js | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/packages/svelte/src/compiler/compile/render_dom/wrappers/Element/index.js b/packages/svelte/src/compiler/compile/render_dom/wrappers/Element/index.js index 23666aeaf5..c4f91b5337 100644 --- a/packages/svelte/src/compiler/compile/render_dom/wrappers/Element/index.js +++ b/packages/svelte/src/compiler/compile/render_dom/wrappers/Element/index.js @@ -993,7 +993,7 @@ export default class ElementWrapper extends Wrapper { if (attr instanceof SpreadAttributeWrapper) { const { name } = flatten_reference(attr.node.expression.node); const snippet = { type: 'SpreadElement', argument: attr.node.expression.manipulate(block) }; - static_attributes.push(p`${name}: {${snippet}}`); + static_attributes.push(p`${snippet}`); } else { const name = attr.property_name || attr.name; static_attributes.push(p`${name}: ${attr.get_value(block)}`); diff --git a/packages/svelte/test/js/samples/svelte-element/expected.js b/packages/svelte/test/js/samples/svelte-element/expected.js index ed50e770ed..8744ade5b1 100644 --- a/packages/svelte/test/js/samples/svelte-element/expected.js +++ b/packages/svelte/test/js/samples/svelte-element/expected.js @@ -21,12 +21,7 @@ function create_dynamic_element_3(ctx) { return { c() { svelte_element = element(static_value); - - set_dynamic_element_data(static_value)(svelte_element, { - static_value, - static_obj: { .../*static_obj*/ ctx[2] } - }); - + set_dynamic_element_data(static_value)(svelte_element, { static_value, .../*static_obj*/ ctx[2] }); toggle_class(svelte_element, "foo", static_value); }, m(target, anchor) { @@ -48,12 +43,7 @@ function create_dynamic_element_2(ctx) { return { c() { svelte_element = element(/*dynamic_value*/ ctx[0]); - - set_dynamic_element_data(/*dynamic_value*/ ctx[0])(svelte_element, { - static_value, - static_obj: { .../*static_obj*/ ctx[2] } - }); - + set_dynamic_element_data(/*dynamic_value*/ ctx[0])(svelte_element, { static_value, .../*static_obj*/ ctx[2] }); toggle_class(svelte_element, "foo", static_value); }, m(target, anchor) {