From bbc64f951510c18708fd22917a7b71d60e315d29 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 5 Aug 2025 21:10:07 -0400 Subject: [PATCH] handle non-iterables --- packages/svelte/src/internal/client/reactivity/async.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/svelte/src/internal/client/reactivity/async.js b/packages/svelte/src/internal/client/reactivity/async.js index fb6bc15c84..def112f6d8 100644 --- a/packages/svelte/src/internal/client/reactivity/async.js +++ b/packages/svelte/src/internal/client/reactivity/async.js @@ -140,6 +140,10 @@ export async function* for_await_track_reactivity_loss(iterable) { // @ts-ignore const iterator = iterable[Symbol.asyncIterator]?.() ?? iterable[Symbol.iterator]?.(); + if (iterator === undefined) { + throw new TypeError('value is not async iterable'); + } + /** Whether the completion of the iterator was "normal", meaning it wasn't ended via `break` or a similar method */ let normal_completion = false; try {