update/simplify test

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

@ -1,11 +1,12 @@
<script>
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(() => {
console.log(boolean);
console.log(boolean, closed);
});
</script>
<B {closed} />
<B {closed} {close} />

@ -1,7 +1,5 @@
<script>
import { close } from './Child.svelte';
let { closed } = $props();
let { closed, close } = $props();
$effect(() => {
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>
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);
</script>
@ -15,9 +24,6 @@
<hr>
<Child>
{#snippet children(boolean)}
<A {closed} {boolean} />
{/snippet}
</Child>
{#if object}
<A {closed} {close} boolean={object.boolean} />
{/if}

Loading…
Cancel
Save