Home / Function/ find_matching_bracket() — svelte Function Reference

find_matching_bracket() — svelte Function Reference

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

Function javascript Compiler Transformer calls 3 called by 1

Entity Profile

Dependency Diagram

graph TD
  b3551700_3c95_8e19_dbb3_fb1e46ccae14["find_matching_bracket()"]
  0d221a90_b1cc_5826_235e_98f5216d6400["bracket.js"]
  b3551700_3c95_8e19_dbb3_fb1e46ccae14 -->|defined in| 0d221a90_b1cc_5826_235e_98f5216d6400
  f001e0ed_0281_6ed5_61c2_bc914a036974["get_loose_identifier()"]
  f001e0ed_0281_6ed5_61c2_bc914a036974 -->|calls| b3551700_3c95_8e19_dbb3_fb1e46ccae14
  bbaadf8f_cb8e_0082_28bb_f261c7f717f9["find_string_end()"]
  b3551700_3c95_8e19_dbb3_fb1e46ccae14 -->|calls| bbaadf8f_cb8e_0082_28bb_f261c7f717f9
  a8136f6b_c56d_1bc6_ae33_5d5fa070d0a8["infinity_if_negative()"]
  b3551700_3c95_8e19_dbb3_fb1e46ccae14 -->|calls| a8136f6b_c56d_1bc6_ae33_5d5fa070d0a8
  5a0d0871_ba0d_09d2_f4be_d2bedf1d0d6d["find_regex_end()"]
  b3551700_3c95_8e19_dbb3_fb1e46ccae14 -->|calls| 5a0d0871_ba0d_09d2_f4be_d2bedf1d0d6d
  style b3551700_3c95_8e19_dbb3_fb1e46ccae14 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/1-parse/utils/bracket.js lines 94–135

export function find_matching_bracket(template, index, open) {
	const close = default_brackets[open];
	let brackets = 1;
	let i = index;
	while (brackets > 0 && i < template.length) {
		const char = template[i];
		switch (char) {
			case "'":
			case '"':
			case '`':
				i = find_string_end(template, i + 1, char) + 1;
				continue;
			case '/': {
				const next_char = template[i + 1];
				if (!next_char) continue;
				if (next_char === '/') {
					i = infinity_if_negative(template.indexOf('\n', i + 1)) + '\n'.length;
					continue;
				}
				if (next_char === '*') {
					i = infinity_if_negative(template.indexOf('*/', i + 1)) + '*/'.length;
					continue;
				}
				i = find_regex_end(template, i + 1) + '/'.length;
				continue;
			}
			default: {
				const char = template[i];
				if (char === open) {
					brackets++;
				} else if (char === close) {
					brackets--;
				}
				if (brackets === 0) {
					return i;
				}
				i++;
			}
		}
	}
	return undefined;
}

Domain

Subdomains

Frequently Asked Questions

What does find_matching_bracket() do?
find_matching_bracket() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/1-parse/utils/bracket.js.
Where is find_matching_bracket() defined?
find_matching_bracket() is defined in packages/svelte/src/compiler/phases/1-parse/utils/bracket.js at line 94.
What does find_matching_bracket() call?
find_matching_bracket() calls 3 function(s): find_regex_end, find_string_end, infinity_if_negative.
What calls find_matching_bracket()?
find_matching_bracket() is called by 1 function(s): get_loose_identifier.

Analyze Your Own Codebase

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

Try Supermodel Free