All files / src/compiler/phases/3-transform/client/visitors BreakStatement.js

90.47% Statements 19/21
50% Branches 1/2
100% Functions 1/1
90% Lines 18/20

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 212x 2x 2x 2x 2x 2x 2x 2x 2x 1x     1x 1x 1x 1x 1x 1x 1x 1x  
/** @import { BreakStatement } from 'estree' */
/** @import { ComponentContext } from '../types' */
import * as b from '../../../../utils/builders.js';
 
/**
 * @param {BreakStatement} node
 * @param {ComponentContext} context
 */
export function BreakStatement(node, context) {
	if (context.state.analysis.runes || !node.label || node.label.name !== '$') {
		return;
	}
 
	const in_reactive_statement =
		context.path[1].type === 'LabeledStatement' && context.path[1].label.name === '$';
 
	if (in_reactive_statement) {
		return b.return();
	}
}