From 6798efacb2045356e5630b1a6dffcf6ab5a1161d Mon Sep 17 00:00:00 2001 From: Elliott Johnson Date: Wed, 17 Sep 2025 17:30:23 -0600 Subject: [PATCH] chore: Rename Payload to Renderer (#16786) --- .../3-transform/server/transform-server.js | 22 +- .../3-transform/server/visitors/AwaitBlock.js | 6 +- .../3-transform/server/visitors/EachBlock.js | 8 +- .../3-transform/server/visitors/IfBlock.js | 8 +- .../server/visitors/RegularElement.js | 16 +- .../3-transform/server/visitors/RenderTag.js | 2 +- .../server/visitors/SlotElement.js | 6 +- .../server/visitors/SnippetBlock.js | 4 +- .../server/visitors/SvelteBoundary.js | 2 +- .../server/visitors/SvelteElement.js | 4 +- .../3-transform/server/visitors/SvelteHead.js | 2 +- .../server/visitors/TitleElement.js | 2 +- .../server/visitors/shared/component.js | 10 +- .../server/visitors/shared/element.js | 6 +- .../server/visitors/shared/utils.js | 12 +- packages/svelte/src/index-server.js | 4 +- .../src/internal/server/blocks/snippet.js | 6 +- packages/svelte/src/internal/server/dev.js | 28 +-- packages/svelte/src/internal/server/index.js | 134 +++++----- .../server/{payload.js => renderer.js} | 172 ++++++------- .../{payload.test.ts => renderer.test.ts} | 238 +++++++++--------- .../svelte/src/internal/server/types.d.ts | 6 +- .../_expected/server/index.svelte.js | 18 +- .../_expected/server/index.svelte.js | 12 +- .../_expected/server/index.svelte.js | 14 +- .../_expected/server/index.svelte.js | 14 +- .../_expected/server/index.svelte.js | 8 +- .../_expected/server/index.svelte.js | 20 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 8 +- .../_expected/server/main.svelte.js | 4 +- .../_expected/server/index.svelte.js | 8 +- .../_expected/server/index.svelte.js | 8 +- .../_expected/server/index.svelte.js | 8 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- .../hmr/_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 2 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- .../purity/_expected/server/index.svelte.js | 8 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- .../_expected/server/index.svelte.js | 4 +- 46 files changed, 438 insertions(+), 436 deletions(-) rename packages/svelte/src/internal/server/{payload.js => renderer.js} (70%) rename packages/svelte/src/internal/server/{payload.test.ts => renderer.test.ts} (52%) diff --git a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js index 4486c6e7a3..4a1ba17238 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/transform-server.js @@ -40,7 +40,7 @@ import { TitleElement } from './visitors/TitleElement.js'; import { UpdateExpression } from './visitors/UpdateExpression.js'; import { VariableDeclaration } from './visitors/VariableDeclaration.js'; import { SvelteBoundary } from './visitors/SvelteBoundary.js'; -import { call_child_payload, call_component_payload } from './visitors/shared/utils.js'; +import { call_child_renderer, call_component_renderer } from './visitors/shared/utils.js'; /** @type {Visitors} */ const global_visitors = { @@ -188,21 +188,21 @@ export function server_component(analysis, options) { template.body = [ ...snippets, b.let('$$settled', b.true), - b.let('$$inner_payload'), + b.let('$$inner_renderer'), b.function_declaration( b.id('$$render_inner'), - [b.id('$$payload')], + [b.id(' $$renderer')], b.block(/** @type {Statement[]} */ (rest)) ), b.do_while( b.unary('!', b.id('$$settled')), b.block([ b.stmt(b.assignment('=', b.id('$$settled'), b.true)), - b.stmt(b.assignment('=', b.id('$$inner_payload'), b.call('$$payload.copy'))), - b.stmt(b.call('$$render_inner', b.id('$$inner_payload'))) + b.stmt(b.assignment('=', b.id('$$inner_renderer'), b.call(' $$renderer.copy'))), + b.stmt(b.call('$$render_inner', b.id('$$inner_renderer'))) ]) ), - b.stmt(b.call('$$payload.subsume', b.id('$$inner_payload'))) + b.stmt(b.call(' $$renderer.subsume', b.id('$$inner_renderer'))) ]; } @@ -244,7 +244,7 @@ export function server_component(analysis, options) { ]); if (analysis.instance.has_await) { - component_block = b.block([call_child_payload(component_block, true)]); + component_block = b.block([call_child_renderer(component_block, true)]); } // trick esrap into including comments @@ -253,7 +253,7 @@ export function server_component(analysis, options) { if (analysis.props_id) { // need to be placed on first line of the component for hydration component_block.body.unshift( - b.const(analysis.props_id, b.call('$.props_id', b.id('$$payload'))) + b.const(analysis.props_id, b.call('$.props_id', b.id(' $$renderer'))) ); } @@ -261,7 +261,7 @@ export function server_component(analysis, options) { if (should_inject_context) { component_block = b.block([ - call_component_payload(component_block, dev && b.id(component_name)) + call_component_renderer(component_block, dev && b.id(component_name)) ]); } @@ -301,7 +301,7 @@ export function server_component(analysis, options) { const code = b.literal(render_stylesheet(analysis.source, analysis, options).code); body.push(b.const('$$css', b.object([b.init('hash', hash), b.init('code', code)]))); - component_block.body.unshift(b.stmt(b.call('$$payload.global.css.add', b.id('$$css')))); + component_block.body.unshift(b.stmt(b.call(' $$renderer.global.css.add', b.id('$$css')))); } let should_inject_props = @@ -315,7 +315,7 @@ export function server_component(analysis, options) { const component_function = b.function_declaration( b.id(analysis.name), - should_inject_props ? [b.id('$$payload'), b.id('$$props')] : [b.id('$$payload')], + should_inject_props ? [b.id(' $$renderer'), b.id('$$props')] : [b.id(' $$renderer')], component_block ); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/AwaitBlock.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/AwaitBlock.js index ea60c95f68..1de64c62f5 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/AwaitBlock.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/AwaitBlock.js @@ -2,7 +2,7 @@ /** @import { AST } from '#compiler' */ /** @import { ComponentContext } from '../types.js' */ import * as b from '#compiler/builders'; -import { block_close, call_child_payload } from './shared/utils.js'; +import { block_close, call_child_renderer } from './shared/utils.js'; /** * @param {AST.AwaitBlock} node @@ -13,7 +13,7 @@ export function AwaitBlock(node, context) { let statement = b.stmt( b.call( '$.await', - b.id('$$payload'), + b.id(' $$renderer'), /** @type {Expression} */ (context.visit(node.expression)), b.thunk( node.pending ? /** @type {BlockStatement} */ (context.visit(node.pending)) : b.block([]) @@ -26,7 +26,7 @@ export function AwaitBlock(node, context) { ); if (node.metadata.expression.has_await) { - statement = call_child_payload(b.block([statement]), true); + statement = call_child_renderer(b.block([statement]), true); } context.state.template.push(statement, block_close); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js index eb0da55657..dc7cf3e73a 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/EachBlock.js @@ -2,7 +2,7 @@ /** @import { AST } from '#compiler' */ /** @import { ComponentContext } from '../types.js' */ import * as b from '#compiler/builders'; -import { block_close, block_open, block_open_else, call_child_payload } from './shared/utils.js'; +import { block_close, block_open, block_open_else, call_child_renderer } from './shared/utils.js'; /** * @param {AST.EachBlock} node @@ -45,11 +45,11 @@ export function EachBlock(node, context) { ); if (node.fallback) { - const open = b.stmt(b.call(b.id('$$payload.push'), block_open)); + const open = b.stmt(b.call(b.id(' $$renderer.push'), block_open)); const fallback = /** @type {BlockStatement} */ (context.visit(node.fallback)); - fallback.body.unshift(b.stmt(b.call(b.id('$$payload.push'), block_open_else))); + fallback.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open_else))); block.body.push( b.if( @@ -64,7 +64,7 @@ export function EachBlock(node, context) { } if (node.metadata.expression.has_await) { - state.template.push(call_child_payload(block, true), block_close); + state.template.push(call_child_renderer(block, true), block_close); } else { state.template.push(...block.body, block_close); } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/IfBlock.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/IfBlock.js index 37d4585900..d16f13092b 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/IfBlock.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/IfBlock.js @@ -2,7 +2,7 @@ /** @import { AST } from '#compiler' */ /** @import { ComponentContext } from '../types.js' */ import * as b from '#compiler/builders'; -import { block_close, block_open, block_open_else, call_child_payload } from './shared/utils.js'; +import { block_close, block_open, block_open_else, call_child_renderer } from './shared/utils.js'; /** * @param {AST.IfBlock} node @@ -16,15 +16,15 @@ export function IfBlock(node, context) { ? /** @type {BlockStatement} */ (context.visit(node.alternate)) : b.block([]); - consequent.body.unshift(b.stmt(b.call(b.id('$$payload.push'), block_open))); + consequent.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open))); - alternate.body.unshift(b.stmt(b.call(b.id('$$payload.push'), block_open_else))); + alternate.body.unshift(b.stmt(b.call(b.id(' $$renderer.push'), block_open_else))); /** @type {Statement} */ let statement = b.if(test, consequent, alternate); if (node.metadata.expression.has_await) { - statement = call_child_payload(b.block([statement]), true); + statement = call_child_renderer(b.block([statement]), true); } context.state.template.push(statement, block_close); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js index 29aad94a31..52e06612c7 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RegularElement.js @@ -12,7 +12,7 @@ import { process_children, build_template, build_attribute_value, - call_child_payload + call_child_renderer } from './shared/utils.js'; /** @@ -68,7 +68,7 @@ export function RegularElement(node, context) { b.stmt( b.call( '$.push_element', - b.id('$$payload'), + b.id(' $$renderer'), b.literal(node.name), b.literal(location.line), b.literal(location.column) @@ -97,7 +97,7 @@ export function RegularElement(node, context) { b.stmt( b.assignment( '=', - b.id('$$payload.local.select_value'), + b.id(' $$renderer.local.select_value'), b.member( build_spread_object( node, @@ -125,7 +125,7 @@ export function RegularElement(node, context) { ); } - const left = b.id('$$payload.local.select_value'); + const left = b.id(' $$renderer.local.select_value'); if (value.type === 'Attribute') { state.template.push( b.stmt(b.assignment('=', left, build_attribute_value(value.value, context))) @@ -160,7 +160,7 @@ export function RegularElement(node, context) { b.stmt( b.call( '$.simple_valueless_option', - b.id('$$payload'), + b.id(' $$renderer'), b.thunk( node.metadata.synthetic_value_node.expression, node.metadata.synthetic_value_node.metadata.expression.has_await @@ -175,9 +175,9 @@ export function RegularElement(node, context) { b.stmt( b.call( '$.valueless_option', - b.id('$$payload'), + b.id(' $$renderer'), b.arrow( - [b.id('$$payload')], + [b.id(' $$renderer')], b.block([...inner_state.init, ...build_template(inner_state.template)]) ) ) @@ -216,7 +216,7 @@ export function RegularElement(node, context) { // element hadn't resolved prior to hitting the second element. const elements = state.template.splice(template_start, Infinity); state.template.push( - call_child_payload(b.block(build_template(elements)), select_with_value_async) + call_child_renderer(b.block(build_template(elements)), select_with_value_async) ); } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RenderTag.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RenderTag.js index dd2ede3ba3..591f95cc6f 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/RenderTag.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/RenderTag.js @@ -23,7 +23,7 @@ export function RenderTag(node, context) { b.stmt( (node.expression.type === 'CallExpression' ? b.call : b.maybe_call)( snippet_function, - b.id('$$payload'), + b.id(' $$renderer'), ...snippet_args ) ) diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SlotElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SlotElement.js index 2d16a07b4e..9865317daf 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SlotElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SlotElement.js @@ -6,7 +6,7 @@ import { empty_comment, build_attribute_value, PromiseOptimiser, - call_child_payload + call_child_renderer } from './shared/utils.js'; /** @@ -57,7 +57,7 @@ export function SlotElement(node, context) { const slot = b.call( '$.slot', - b.id('$$payload'), + b.id(' $$renderer'), b.id('$$props'), name, props_expression, @@ -66,7 +66,7 @@ export function SlotElement(node, context) { const statement = optimiser.expressions.length > 0 - ? call_child_payload(b.block([optimiser.apply(), b.stmt(slot)]), true) + ? call_child_renderer(b.block([optimiser.apply(), b.stmt(slot)]), true) : b.stmt(slot); context.state.template.push(empty_comment, statement, empty_comment); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SnippetBlock.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SnippetBlock.js index 238485e665..38cf38deaf 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SnippetBlock.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SnippetBlock.js @@ -11,7 +11,7 @@ import * as b from '#compiler/builders'; export function SnippetBlock(node, context) { let fn = b.function_declaration( node.expression, - [b.id('$$payload'), ...node.parameters], + [b.id(' $$renderer'), ...node.parameters], /** @type {BlockStatement} */ (context.visit(node.body)) ); @@ -21,7 +21,7 @@ export function SnippetBlock(node, context) { const statements = node.metadata.can_hoist ? context.state.hoisted : context.state.init; if (dev) { - fn.body.body.unshift(b.stmt(b.call('$.validate_snippet_args', b.id('$$payload')))); + fn.body.body.unshift(b.stmt(b.call('$.validate_snippet_args', b.id(' $$renderer')))); statements.push(b.stmt(b.call('$.prevent_snippet_stringification', fn.id))); } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js index 355b33aea7..44114a5b2c 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteBoundary.js @@ -24,7 +24,7 @@ export function SvelteBoundary(node, context) { const pending = pending_attribute ? b.call( build_attribute_value(pending_attribute.value, context, false, true), - b.id('$$payload') + b.id(' $$renderer') ) : /** @type {BlockStatement} */ (context.visit(pending_snippet.body)); diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteElement.js index fd16219860..5fa842a9af 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteElement.js @@ -45,7 +45,7 @@ export function SvelteElement(node, context) { b.stmt( b.call( '$.push_element', - b.id('$$payload'), + b.id(' $$renderer'), tag, b.literal(location.line), b.literal(location.column) @@ -61,7 +61,7 @@ export function SvelteElement(node, context) { b.stmt( b.call( '$.element', - b.id('$$payload'), + b.id(' $$renderer'), tag, attributes.body.length > 0 && b.thunk(attributes), children.body.length > 0 && b.thunk(children) diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteHead.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteHead.js index 7d064ffbf5..6ca797669c 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteHead.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/SvelteHead.js @@ -11,6 +11,6 @@ export function SvelteHead(node, context) { const block = /** @type {BlockStatement} */ (context.visit(node.fragment)); context.state.template.push( - b.stmt(b.call('$.head', b.id('$$payload'), b.arrow([b.id('$$payload')], block))) + b.stmt(b.call('$.head', b.id(' $$renderer'), b.arrow([b.id(' $$renderer')], block))) ); } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/TitleElement.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/TitleElement.js index a3ffb2df3d..06e0a3b4c0 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/TitleElement.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/TitleElement.js @@ -14,6 +14,6 @@ export function TitleElement(node, context) { template.push(b.literal('')); context.state.init.push( - b.stmt(b.call('$.build_title', b.id('$$payload'), b.thunk(b.block(build_template(template))))) + b.stmt(b.call('$.build_title', b.id(' $$renderer'), b.thunk(b.block(build_template(template))))) ); } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/component.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/component.js index 614a2ed258..5eeb5e3a0f 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/component.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/component.js @@ -4,7 +4,7 @@ import { empty_comment, build_attribute_value, - call_child_payload, + call_child_renderer, PromiseOptimiser } from './utils.js'; import * as b from '#compiler/builders'; @@ -215,7 +215,7 @@ export function build_inline_component(node, expression, context) { if (block.body.length === 0) continue; /** @type {Pattern[]} */ - const params = [b.id('$$payload')]; + const params = [b.id(' $$renderer')]; if (lets[slot_name].length > 0) { const pattern = b.object_pattern( @@ -292,7 +292,7 @@ export function build_inline_component(node, expression, context) { let statement = b.stmt( (node.type === 'SvelteComponent' ? b.maybe_call : b.call)( expression, - b.id('$$payload'), + b.id(' $$renderer'), props_expression ) ); @@ -308,7 +308,7 @@ export function build_inline_component(node, expression, context) { statement = b.stmt( b.call( '$.css_props', - b.id('$$payload'), + b.id(' $$renderer'), b.literal(context.state.namespace === 'svg' ? false : true), b.object(custom_css_props), b.thunk(b.block([statement])), @@ -318,7 +318,7 @@ export function build_inline_component(node, expression, context) { } if (optimiser.expressions.length > 0) { - statement = call_child_payload(b.block([optimiser.apply(), statement]), true); + statement = call_child_renderer(b.block([optimiser.apply(), statement]), true); } if (dynamic && custom_css_props.length === 0) { diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js index 84692fca9c..ddcc5f7901 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js @@ -207,7 +207,7 @@ export function build_element_attributes(node, context) { context.state.template.push( b.call( '$.maybe_selected', - b.id('$$payload'), + b.id(' $$renderer'), b.member( build_spread_object( node, @@ -264,7 +264,7 @@ export function build_element_attributes(node, context) { context.state.template.push( b.call( '$.maybe_selected', - b.id('$$payload'), + b.id(' $$renderer'), literal_value != null ? b.literal(/** @type {any} */ (literal_value)) : b.void0 ) ); @@ -296,7 +296,7 @@ export function build_element_attributes(node, context) { } if (name === 'value' && node.name === 'option') { - context.state.template.push(b.call('$.maybe_selected', b.id('$$payload'), value)); + context.state.template.push(b.call('$.maybe_selected', b.id(' $$renderer'), value)); } } } diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js index a48c19ae7c..971df1de93 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js @@ -80,7 +80,7 @@ export function process_children(nodes, { visit, state }) { flush(); const visited = /** @type {Expression} */ (visit(node.expression)); state.template.push( - b.stmt(b.call('$$payload.push', b.thunk(b.call('$.escape', visited), true))) + b.stmt(b.call(' $$renderer.push', b.thunk(b.call('$.escape', visited), true))) ); } else if (node.type === 'Text' || node.type === 'Comment' || node.type === 'ExpressionTag') { sequence.push(node); @@ -119,7 +119,7 @@ export function build_template(template) { statements.push( b.stmt( b.call( - b.id('$$payload.push'), + b.id(' $$renderer.push'), b.template( strings.map((cooked, i) => b.quasi(cooked, i === strings.length - 1)), expressions @@ -266,8 +266,8 @@ export function build_getter(node, state) { * @param {boolean} async * @returns {Statement} */ -export function call_child_payload(body, async) { - return b.stmt(b.call('$$payload.child', b.arrow([b.id('$$payload')], body, async))); +export function call_child_renderer(body, async) { + return b.stmt(b.call(' $$renderer.child', b.arrow([b.id(' $$renderer')], body, async))); } /** @@ -275,9 +275,9 @@ export function call_child_payload(body, async) { * @param {Identifier | false} component_fn_id * @returns {Statement} */ -export function call_component_payload(body, component_fn_id) { +export function call_component_renderer(body, component_fn_id) { return b.stmt( - b.call('$$payload.component', b.arrow([b.id('$$payload')], body, false), component_fn_id) + b.call(' $$renderer.component', b.arrow([b.id(' $$renderer')], body, false), component_fn_id) ); } diff --git a/packages/svelte/src/index-server.js b/packages/svelte/src/index-server.js index 0b05fb6d12..f193c46894 100644 --- a/packages/svelte/src/index-server.js +++ b/packages/svelte/src/index-server.js @@ -1,12 +1,12 @@ /** @import { SSRContext } from '#server' */ -/** @import { Payload } from './internal/server/payload.js' */ +/** @import { Renderer } from './internal/server/renderer.js' */ import { ssr_context } from './internal/server/context.js'; import { noop } from './internal/shared/utils.js'; import * as e from './internal/server/errors.js'; /** @param {() => void} fn */ export function onDestroy(fn) { - /** @type {Payload} */ (/** @type {SSRContext} */ (ssr_context).r).on_destroy(fn); + /** @type {Renderer} */ (/** @type {SSRContext} */ (ssr_context).r).on_destroy(fn); } export { diff --git a/packages/svelte/src/internal/server/blocks/snippet.js b/packages/svelte/src/internal/server/blocks/snippet.js index 109dbf683a..80a5f7f467 100644 --- a/packages/svelte/src/internal/server/blocks/snippet.js +++ b/packages/svelte/src/internal/server/blocks/snippet.js @@ -1,5 +1,5 @@ /** @import { Snippet } from 'svelte' */ -/** @import { Payload } from '../payload' */ +/** @import { Renderer } from '../renderer' */ /** @import { Getters } from '#shared' */ /** @@ -13,9 +13,9 @@ */ export function createRawSnippet(fn) { // @ts-expect-error the types are a lie - return (/** @type {Payload} */ payload, /** @type {Params} */ ...args) => { + return (/** @type {Renderer} */ renderer, /** @type {Params} */ ...args) => { var getters = /** @type {Getters} */ (args.map((value) => () => value)); - payload.push( + renderer.push( fn(...getters) .render() .trim() diff --git a/packages/svelte/src/internal/server/dev.js b/packages/svelte/src/internal/server/dev.js index cc9f6496c0..66dff0fde2 100644 --- a/packages/svelte/src/internal/server/dev.js +++ b/packages/svelte/src/internal/server/dev.js @@ -6,7 +6,7 @@ import { } from '../../html-tree-validation.js'; import { set_ssr_context, ssr_context } from './context.js'; import * as e from './errors.js'; -import { Payload } from './payload.js'; +import { Renderer } from './renderer.js'; // TODO move this /** @@ -26,10 +26,10 @@ import { Payload } from './payload.js'; export let seen; /** - * @param {Payload} payload + * @param {Renderer} renderer * @param {string} message */ -function print_error(payload, message) { +function print_error(renderer, message) { message = `node_invalid_placement_ssr: ${message}\n\n` + 'This can cause content to shift around as the browser repairs the HTML, and will likely result in a `hydration_mismatch` warning.'; @@ -39,19 +39,19 @@ function print_error(payload, message) { // eslint-disable-next-line no-console console.error(message); - payload.child( - (payload) => payload.push(``), + renderer.child( + (renderer) => renderer.push(``), 'head' ); } /** - * @param {Payload} payload + * @param {Renderer} renderer * @param {string} tag * @param {number} line * @param {number} column */ -export function push_element(payload, tag, line, column) { +export function push_element(renderer, tag, line, column) { var context = /** @type {SSRContext} */ (ssr_context); var filename = context.function[FILENAME]; var parent = context.element; @@ -67,7 +67,7 @@ export function push_element(payload, tag, line, column) { : undefined; const message = is_tag_valid_with_parent(tag, parent.tag, child_loc, parent_loc); - if (message) print_error(payload, message); + if (message) print_error(renderer, message); while (ancestor != null) { ancestors.push(ancestor.tag); @@ -76,7 +76,7 @@ export function push_element(payload, tag, line, column) { : undefined; const message = is_tag_valid_with_ancestor(tag, ancestors, child_loc, ancestor_loc); - if (message) print_error(payload, message); + if (message) print_error(renderer, message); ancestor = ancestor.parent; } @@ -90,13 +90,13 @@ export function pop_element() { } /** - * @param {Payload} payload + * @param {Renderer} renderer */ -export function validate_snippet_args(payload) { +export function validate_snippet_args(renderer) { if ( - typeof payload !== 'object' || - // for some reason typescript consider the type of payload as never after the first instanceof - !(payload instanceof Payload) + typeof renderer !== 'object' || + // for some reason typescript consider the type of renderer as never after the first instanceof + !(renderer instanceof Renderer) ) { e.invalid_snippet_arguments(); } diff --git a/packages/svelte/src/internal/server/index.js b/packages/svelte/src/internal/server/index.js index 13a0706549..618e75f932 100644 --- a/packages/svelte/src/internal/server/index.js +++ b/packages/svelte/src/internal/server/index.js @@ -1,7 +1,7 @@ /** @import { ComponentType, SvelteComponent, Component } from 'svelte' */ /** @import { RenderOutput } from '#server' */ /** @import { Store } from '#shared' */ -/** @import { AccumulatedContent } from './payload.js' */ +/** @import { AccumulatedContent } from './renderer.js' */ export { FILENAME, HMR } from '../../constants.js'; import { attr, clsx, to_class, to_style } from '../shared/attributes.js'; import { is_promise, noop } from '../shared/utils.js'; @@ -17,7 +17,7 @@ import { DEV } from 'esm-env'; import { EMPTY_COMMENT, BLOCK_CLOSE, BLOCK_OPEN, BLOCK_OPEN_ELSE } from './hydration.js'; import { validate_store } from '../shared/validate.js'; import { is_boolean_attribute, is_raw_text_element, is_void } from '../../utils.js'; -import { Payload } from './payload.js'; +import { Renderer } from './renderer.js'; // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 // https://infra.spec.whatwg.org/#noncharacter @@ -25,30 +25,30 @@ const INVALID_ATTR_NAME_CHAR_REGEX = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; /** - * @param {Payload} payload + * @param {Renderer} renderer * @param {string} tag * @param {() => void} attributes_fn * @param {() => void} children_fn * @returns {void} */ -export function element(payload, tag, attributes_fn = noop, children_fn = noop) { - payload.push(''); +export function element(renderer, tag, attributes_fn = noop, children_fn = noop) { + renderer.push(''); if (tag) { - payload.push(`<${tag}`); + renderer.push(`<${tag}`); attributes_fn(); - payload.push(`>`); + renderer.push(`>`); if (!is_void(tag)) { children_fn(); if (!is_raw_text_element(tag)) { - payload.push(EMPTY_COMMENT); + renderer.push(EMPTY_COMMENT); } - payload.push(``); + renderer.push(``); } } - payload.push(''); + renderer.push(''); } /** @@ -60,49 +60,49 @@ export function element(payload, tag, attributes_fn = noop, children_fn = noop) * @returns {RenderOutput} */ export function render(component, options = {}) { - return Payload.render(/** @type {Component} */ (component), options); + return Renderer.render(/** @type {Component} */ (component), options); } /** - * @param {Payload} payload - * @param {(payload: Payload) => Promise | void} fn + * @param {Renderer} renderer + * @param {(renderer: Renderer) => Promise | void} fn * @returns {void} */ -export function head(payload, fn) { - payload.child((payload) => { - payload.push(BLOCK_OPEN); - payload.child(fn); - payload.push(BLOCK_CLOSE); +export function head(renderer, fn) { + renderer.child((renderer) => { + renderer.push(BLOCK_OPEN); + renderer.child(fn); + renderer.push(BLOCK_CLOSE); }, 'head'); } /** - * @param {Payload} payload + * @param {Renderer} renderer * @param {boolean} is_html * @param {Record} props * @param {() => void} component * @param {boolean} dynamic * @returns {void} */ -export function css_props(payload, is_html, props, component, dynamic = false) { +export function css_props(renderer, is_html, props, component, dynamic = false) { const styles = style_object_to_string(props); if (is_html) { - payload.push(``); + renderer.push(``); } else { - payload.push(``); + renderer.push(``); } if (dynamic) { - payload.push(''); + renderer.push(''); } component(); if (is_html) { - payload.push(``); + renderer.push(``); } else { - payload.push(``); + renderer.push(``); } } @@ -304,14 +304,14 @@ export function unsubscribe_stores(store_values) { } /** - * @param {Payload} payload + * @param {Renderer} renderer * @param {Record} $$props * @param {string} name * @param {Record} slot_props * @param {null | (() => void)} fallback_fn * @returns {void} */ -export function slot(payload, $$props, name, slot_props, fallback_fn) { +export function slot(renderer, $$props, name, slot_props, fallback_fn) { var slot_fn = $$props.$$slots?.[name]; // Interop: Can use snippets to fill slots if (slot_fn === true) { @@ -319,7 +319,7 @@ export function slot(payload, $$props, name, slot_props, fallback_fn) { } if (slot_fn !== undefined) { - slot_fn(payload, slot_props); + slot_fn(renderer, slot_props); } else { fallback_fn?.(); } @@ -387,21 +387,21 @@ export function bind_props(props_parent, props_now) { /** * @template V - * @param {Payload} payload + * @param {Renderer} renderer * @param {Promise} promise * @param {null | (() => void)} pending_fn * @param {(value: V) => void} then_fn * @returns {void} */ -function await_block(payload, promise, pending_fn, then_fn) { +function await_block(renderer, promise, pending_fn, then_fn) { if (is_promise(promise)) { - payload.push(BLOCK_OPEN); + renderer.push(BLOCK_OPEN); promise.then(null, noop); if (pending_fn !== null) { pending_fn(); } } else if (then_fn !== null) { - payload.push(BLOCK_OPEN_ELSE); + renderer.push(BLOCK_OPEN_ELSE); then_fn(promise); } } @@ -443,12 +443,12 @@ export function once(get_value) { /** * Create an unique ID - * @param {Payload} payload + * @param {Renderer} renderer * @returns {string} */ -export function props_id(payload) { - const uid = payload.global.uid(); - payload.push(''); +export function props_id(renderer) { + const uid = renderer.global.uid(); + renderer.push(''); return uid; } @@ -496,11 +496,11 @@ export function derived(fn) { /** * - * @param {Payload} payload + * @param {Renderer} renderer * @param {unknown} value */ -export function maybe_selected(payload, value) { - return value === payload.local.select_value ? ' selected' : ''; +export function maybe_selected(renderer, value) { + return value === renderer.local.select_value ? ' selected' : ''; } /** @@ -508,25 +508,25 @@ export function maybe_selected(payload, value) { * content as its `value` to determine whether we should apply the `selected` attribute. * This has to be done at runtime, for hopefully obvious reasons. It is also complicated, * for sad reasons. - * @param {Payload} payload - * @param {((payload: Payload) => void | Promise)} children + * @param {Renderer} renderer + * @param {((renderer: Renderer) => void | Promise)} children * @returns {void} */ -export function valueless_option(payload, children) { - const i = payload.length; +export function valueless_option(renderer, children) { + const i = renderer.length; - // prior to children, `payload` has some combination of string/unresolved payload that ends in `