simplify effect-order-7

pull/16630/head
Rich Harris 3 weeks ago
parent d61b3e8772
commit 0ea096e763

@ -1,9 +1,9 @@
<script>
import B from './B.svelte';
let { boolean, closed } = $props();
let { boolean, closed, close } = $props();
</script>
<span>{boolean}</span>
<span>{boolean} {closed}</span>
<B {closed} />
<B {closed} {close} />

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

@ -1,20 +0,0 @@
<script module>
let object = $state();
export function open() {
object = { nested: { boolean: true } };
}
export function close() {
object = undefined;
}
</script>
<script>
let { children } = $props();
</script>
{#if object?.nested}
<!-- error occurs here, this is executed when the if should already make it falsy -->
{@render children(object.nested)}
{/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,8 +24,6 @@
<hr>
<Child>
{#snippet children(nested)}
<A {closed} boolean={nested.boolean} />
{/snippet}
</Child>
{#if object}
<A {close} {closed} boolean={object.boolean} />
{/if}

Loading…
Cancel
Save