WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 2264941

Browse files
committed
fix: prevent UNINITIALIZED from leaking in get()
1 parent 75d6e72 commit 2264941

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

packages/svelte/src/internal/client/runtime.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,10 @@ export function is_dirty(reaction) {
163163
}
164164

165165
if (flags & DERIVED) {
166+
// UNINITIALIZED deriveds need computation
167+
if (/** @type {Derived} */ (reaction).v === UNINITIALIZED) {
168+
return true;
169+
}
166170
reaction.f &= ~WAS_MARKED;
167171
}
168172

@@ -642,6 +646,10 @@ export function get(signal) {
642646
throw signal.v;
643647
}
644648

649+
if (signal.v === UNINITIALIZED) {
650+
return /** @type {V} */ (undefined);
651+
}
652+
645653
return signal.v;
646654
}
647655

0 commit comments

Comments
 (0)