Home / Function/ match_bracket() — svelte Function Reference

match_bracket() — svelte Function Reference

Architecture documentation for the match_bracket() function in bracket.js from the svelte codebase.

Function javascript Compiler Transformer calls 3 called by 3

Entity Profile

Dependency Diagram

graph TD
  dacf5984_89ce_530d_f035_1eac4b0b8e1f["match_bracket()"]
  0d221a90_b1cc_5826_235e_98f5216d6400["bracket.js"]
  dacf5984_89ce_530d_f035_1eac4b0b8e1f -->|defined in| 0d221a90_b1cc_5826_235e_98f5216d6400
  6a786ac5_79fd_078b_6df2_8e1e4a370161["read_pattern()"]
  6a786ac5_79fd_078b_6df2_8e1e4a370161 -->|calls| dacf5984_89ce_530d_f035_1eac4b0b8e1f
  f9386464_dab0_7aa2_cfd0_969e973dc903["open()"]
  f9386464_dab0_7aa2_cfd0_969e973dc903 -->|calls| dacf5984_89ce_530d_f035_1eac4b0b8e1f
  bcf5e2ea_c071_00bf_777f_2798696fe093["match_quote()"]
  bcf5e2ea_c071_00bf_777f_2798696fe093 -->|calls| dacf5984_89ce_530d_f035_1eac4b0b8e1f
  bcf5e2ea_c071_00bf_777f_2798696fe093["match_quote()"]
  dacf5984_89ce_530d_f035_1eac4b0b8e1f -->|calls| bcf5e2ea_c071_00bf_777f_2798696fe093
  7cef41bd_b7cf_112a_875e_5ca7e892c65e["expected_token()"]
  dacf5984_89ce_530d_f035_1eac4b0b8e1f -->|calls| 7cef41bd_b7cf_112a_875e_5ca7e892c65e
  feea79ed_c6f7_4068_9c81_9734e5dcbfb7["unexpected_eof()"]
  dacf5984_89ce_530d_f035_1eac4b0b8e1f -->|calls| feea79ed_c6f7_4068_9c81_9734e5dcbfb7
  style dacf5984_89ce_530d_f035_1eac4b0b8e1f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/1-parse/utils/bracket.js lines 149–180

export function match_bracket(parser, start, brackets = default_brackets) {
	const close = Object.values(brackets);
	const bracket_stack = [];

	let i = start;

	while (i < parser.template.length) {
		let char = parser.template[i++];

		if (char === "'" || char === '"' || char === '`') {
			i = match_quote(parser, i, char);
			continue;
		}

		if (char in brackets) {
			bracket_stack.push(char);
		} else if (close.includes(char)) {
			const popped = /** @type {string} */ (bracket_stack.pop());
			const expected = /** @type {string} */ (brackets[popped]);

			if (char !== expected) {
				e.expected_token(i - 1, expected);
			}

			if (bracket_stack.length === 0) {
				return i;
			}
		}
	}

	e.unexpected_eof(parser.template.length);
}

Domain

Subdomains

Frequently Asked Questions

What does match_bracket() do?
match_bracket() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/1-parse/utils/bracket.js.
Where is match_bracket() defined?
match_bracket() is defined in packages/svelte/src/compiler/phases/1-parse/utils/bracket.js at line 149.
What does match_bracket() call?
match_bracket() calls 3 function(s): expected_token, match_quote, unexpected_eof.
What calls match_bracket()?
match_bracket() is called by 3 function(s): match_quote, open, read_pattern.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free