diff --git a/.changeset/fix-wait-export.md b/.changeset/fix-wait-export.md new file mode 100644 index 0000000000..e0ab97207c --- /dev/null +++ b/.changeset/fix-wait-export.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: export `wait` function from internal client index diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index 0f20ce300d..1d9f7dfff7 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -103,7 +103,8 @@ export { run, save, track_reactivity_loss, - run_after_blockers + run_after_blockers, + wait } from './reactivity/async.js'; export { eager, flushSync as flush } from './reactivity/batch.js'; export { diff --git a/packages/svelte/tests/runtime-runes/samples/async-const-wait/_config.js b/packages/svelte/tests/runtime-runes/samples/async-const-wait/_config.js new file mode 100644 index 0000000000..fe85c0393a --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/async-const-wait/_config.js @@ -0,0 +1,18 @@ +import { tick } from 'svelte'; +import { test } from '../../test'; + +export default test({ + mode: ['client'], + + props: { + a_promise: Promise.resolve(10), + b_promise: Promise.resolve(20) + }, + + async test({ assert, target }) { + await tick(); + await tick(); + + assert.htmlEqual(target.innerHTML, `
30
`); + } +}); diff --git a/packages/svelte/tests/runtime-runes/samples/async-const-wait/main.svelte b/packages/svelte/tests/runtime-runes/samples/async-const-wait/main.svelte new file mode 100644 index 0000000000..b5e6d90f7c --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/async-const-wait/main.svelte @@ -0,0 +1,16 @@ + + +{sum}
+ {/if} +