From 9192bbba1e7c41c7f9cfc0627eb873f0977f0dc0 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Tue, 9 Jul 2024 10:27:49 -0400 Subject: [PATCH] tweak --- .../src/internal/client/dom/blocks/svelte-element.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/internal/client/dom/blocks/svelte-element.js b/packages/svelte/src/internal/client/dom/blocks/svelte-element.js index 66cade2848..6ff35ae97e 100644 --- a/packages/svelte/src/internal/client/dom/blocks/svelte-element.js +++ b/packages/svelte/src/internal/client/dom/blocks/svelte-element.js @@ -1,4 +1,4 @@ -/** @import { Effect, TemplateNode } from '#client' */ +/** @import { Effect, EffectNodes, TemplateNode } from '#client' */ import { namespace_svg } from '../../../../constants.js'; import { hydrate_next, @@ -20,6 +20,7 @@ import { current_each_item, set_current_each_item } from './each.js'; import { current_component_context, current_effect } from '../../runtime.js'; import { DEV } from 'esm-env'; import { EFFECT_TRANSPARENT } from '../../constants.js'; +import { assign_nodes } from '../template.js'; /** * @param {Comment | Element} node @@ -116,6 +117,8 @@ export function element(node, get_tag, is_svg, render_fn, get_namespace, locatio }; } + assign_nodes(element, element); + if (render_fn) { // If hydrating, use the existing ssr comment as the anchor so that the // inner open and close methods can pick up the existing nodes correctly @@ -138,8 +141,8 @@ export function element(node, get_tag, is_svg, render_fn, get_namespace, locatio render_fn(element, child_anchor); } - // we do this after calling `render_fn` so that child effects don't override `nodes` - /** @type {Effect} */ (current_effect).nodes = { start: element, end: element }; + // we do this after calling `render_fn` so that child effects don't override `nodes.end` + /** @type {Effect & { nodes: EffectNodes }} */ (current_effect).nodes.end = element; anchor.before(element); });