All files / src/compiler/phases/3-transform/server/visitors SvelteFragment.js

100% Statements 26/26
100% Branches 3/3
100% Functions 1/1
100% Lines 26/26

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 272x 2x 2x 2x 2x 2x 2x 2x 2x 31x 31x 31x 31x 31x 31x 52x 24x 24x 24x 24x 52x 31x 31x 31x 31x 31x  
/** @import { BlockStatement, ExpressionStatement } from 'estree' */
/** @import { SvelteFragment } from '#compiler' */
/** @import { ComponentContext } from '../types' */
 
/**
 * @param {SvelteFragment} node
 * @param {ComponentContext} context
 */
export function SvelteFragment(node, context) {
	const child_state = {
		...context.state,
		getters: { ...context.state.getters }
	};
 
	for (const attribute of node.attributes) {
		if (attribute.type === 'LetDirective') {
			context.state.template.push(
				/** @type {ExpressionStatement} */ (context.visit(attribute, child_state))
			);
		}
	}
 
	const block = /** @type {BlockStatement} */ (context.visit(node.fragment, child_state));
 
	context.state.template.push(block);
}