pull/10948/head
Rich Harris 2 years ago
parent b77e58f7d7
commit 9ba60e5330

@ -1,7 +1,6 @@
import { hydrate_anchor, hydrate_nodes, hydrating, set_hydrate_nodes } from '../hydration.js'; import { hydrate_anchor, hydrate_nodes, hydrating, set_hydrate_nodes } from '../hydration.js';
import { empty } from '../operations.js'; import { empty } from '../operations.js';
import { block } from '../../reactivity/effects.js'; import { block } from '../../reactivity/effects.js';
import { remove } from '../reconciler.js';
/** /**
* @param {(anchor: Node) => import('#client').Dom | void} render_fn * @param {(anchor: Node) => import('#client').Dom | void} render_fn
@ -27,23 +26,7 @@ export function head(render_fn) {
var anchor = document.head.appendChild(empty()); var anchor = document.head.appendChild(empty());
try { try {
/** @type {import('#client').Dom | null} */ block(() => render_fn(anchor));
var dom = null;
const head_effect = block(() => {
if (dom !== null) {
remove(dom);
head_effect.dom = dom = null;
}
dom = render_fn(anchor) ?? null;
});
head_effect.ondestroy = () => {
if (dom !== null) {
remove(dom);
}
};
} finally { } finally {
if (was_hydrating) { if (was_hydrating) {
set_hydrate_nodes(/** @type {import('#client').TemplateNode[]} */ (previous_hydrate_nodes)); set_hydrate_nodes(/** @type {import('#client').TemplateNode[]} */ (previous_hydrate_nodes));

Loading…
Cancel
Save