update/simplify test

pull/16630/head
Rich Harris 1 month ago
parent 036d4588ab
commit e648e423d4

@ -1,11 +1,12 @@
<script> <script>
import B from './B.svelte'; import B from './B.svelte';
let { boolean, closed } = $props(); let { boolean, closed, close } = $props();
// this runs after the effect in B, because child effects run first
$effect(() => { $effect(() => {
console.log(boolean); console.log(boolean, closed);
}); });
</script> </script>
<B {closed} /> <B {closed} {close} />

@ -1,7 +1,5 @@
<script> <script>
import { close } from './Child.svelte'; let { closed, close } = $props();
let { closed } = $props();
$effect(() => { $effect(() => {
if (closed) close(); if (closed) close();

@ -1,20 +0,0 @@
<script module>
let object = $state();
export function open() {
object = { boolean: true };
}
export function close() {
object = undefined;
}
</script>
<script>
let { children } = $props();
</script>
{#if object?.boolean}
<!-- error occurs here, this is executed when the if should already make it falsy -->
{@render children(object.boolean)}
{/if}

@ -1,6 +1,15 @@
<script> <script>
import A from './A.svelte'; import A from './A.svelte';
import Child, { open } from './Child.svelte';
let object = $state();
function open() {
object = { boolean: true };
}
function close() {
object = undefined;
}
let closed = $state(false); let closed = $state(false);
</script> </script>
@ -15,9 +24,6 @@
<hr> <hr>
<Child> {#if object}
{#snippet children(boolean)} <A {closed} {close} boolean={object.boolean} />
<A {closed} {boolean} /> {/if}
{/snippet}
</Child>

Loading…
Cancel
Save