only generate hydratables when there's some amount of content

pull/17124/head
Elliott Johnson 1 month ago
parent 25210c2cfa
commit 9c7da6c9eb

@ -476,7 +476,10 @@ export class Renderer {
const renderer = Renderer.#open_render('async', component, options); const renderer = Renderer.#open_render('async', component, options);
const content = await renderer.#collect_content_async(); const content = await renderer.#collect_content_async();
content.head = (await renderer.#collect_hydratables()) + content.head; const hydratables = await renderer.#collect_hydratables();
if (hydratables !== null) {
content.head = hydratables + content.head;
}
return Renderer.#close_render(content, renderer); return Renderer.#close_render(content, renderer);
} finally { } finally {
abort(); abort();
@ -535,6 +538,7 @@ export class Renderer {
// sequential await is okay here -- all the work is already kicked off // sequential await is okay here -- all the work is already kicked off
entries.push([k, serialize(await v.value)]); entries.push([k, serialize(await v.value)]);
} }
if (entries.length === 0) return null;
return Renderer.#hydratable_block(JSON.stringify(entries)); return Renderer.#hydratable_block(JSON.stringify(entries));
} }

Loading…
Cancel
Save