Skip to content

Commit a212b0f

Browse files
committed
simplify
1 parent ebe2ede commit a212b0f

File tree

1 file changed

+12
-33
lines changed
  • packages/svelte/src/compiler/phases/3-transform/client/visitors

1 file changed

+12
-33
lines changed

packages/svelte/src/compiler/phases/3-transform/client/visitors/template.js

Lines changed: 12 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -459,53 +459,32 @@ function serialize_element_attribute_update_assignment(element, node_id, attribu
459459
}
460460
}
461461

462-
let grouped_value = value;
463-
464462
if (name === 'autofocus') {
465463
state.init.push(b.stmt(b.call('$.autofocus', node_id, value)));
466464
return false;
467465
}
468466

467+
/** @type {import('estree').Statement} */
468+
let update;
469+
469470
if (name === 'class') {
470-
grouped_value = b.call('$.to_class', value);
471+
update = b.stmt(b.call(is_svg ? '$.svg_class_name' : '$.class_name', node_id, value));
472+
} else if (DOMProperties.includes(name)) {
473+
update = b.stmt(b.assignment('=', b.member(node_id, b.id(name)), value));
474+
} else {
475+
const callee = name.startsWith('xlink') ? '$.xlink_attr' : '$.attr';
476+
update = b.stmt(b.call(callee, node_id, b.literal(name), value));
471477
}
472478

473-
/**
474-
* @param {import('estree').Expression} grouped
475-
* @param {import('estree').Expression} [singular]
476-
*/
477-
const assign = (grouped, singular) => {
478-
if (name === 'class') {
479-
if (singular) {
480-
return b.stmt(b.call(is_svg ? '$.svg_class_name' : '$.class_name', node_id, singular));
481-
}
482-
return b.stmt(b.call(is_svg ? '$.svg_class_name' : '$.class_name', node_id, value));
483-
}
484-
485-
if (DOMProperties.includes(name)) {
486-
return b.stmt(b.assignment('=', b.member(node_id, b.id(name)), grouped));
487-
}
488-
489-
return b.stmt(
490-
b.call(
491-
name.startsWith('xlink') ? '$.xlink_attr' : '$.attr',
492-
node_id,
493-
b.literal(name),
494-
grouped
495-
)
496-
);
497-
};
498-
499479
if (attribute.metadata.dynamic) {
500-
const grouped = assign(grouped_value, value);
501480
if (contains_call_expression) {
502-
state.init.push(serialize_update(grouped));
481+
state.init.push(serialize_update(update));
503482
} else {
504-
state.update.push(grouped);
483+
state.update.push(update);
505484
}
506485
return true;
507486
} else {
508-
state.init.push(assign(grouped_value));
487+
state.init.push(update);
509488
return false;
510489
}
511490
}

0 commit comments

Comments
 (0)