Skip to content

Commit 75759db

Browse files
authored
fix: allow deleting non-existent $$restProps properties (#12971)
fixes #12966
1 parent 213258b commit 75759db

File tree

3 files changed

+8
-1
lines changed

3 files changed

+8
-1
lines changed

.changeset/light-tigers-smoke.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: allow deleting non-existent `$$restProps` properties

packages/svelte/src/internal/client/reactivity/props.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ const legacy_rest_props_handler = {
130130
},
131131
deleteProperty(target, key) {
132132
// Svelte 4 allowed for deletions on $$restProps
133-
if (target.exclude.includes(key)) return false;
133+
if (target.exclude.includes(key)) return true;
134134
target.exclude.push(key);
135135
update(target.version);
136136
return true;

packages/svelte/tests/runtime-legacy/samples/rest-props-delete/App.svelte

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
function prune() {
33
$$restProps.a
44
delete $$restProps.a
5+
// should be idempotent
6+
delete $$restProps.a
57
}
68
</script>
79

0 commit comments

Comments
 (0)