Home / Class/ ScopeRoot Class — svelte Architecture

ScopeRoot Class — svelte Architecture

Architecture documentation for the ScopeRoot class in scope.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  5ab2ae3d_beff_8842_c392_152eeae68035["ScopeRoot"]
  ee93d8a6_6fde_b1c1_e15b_3a4da5326305["scope.js"]
  5ab2ae3d_beff_8842_c392_152eeae68035 -->|defined in| ee93d8a6_6fde_b1c1_e15b_3a4da5326305
  9148edcb_b5eb_bf41_8087_a1d28bac7f4d["unique()"]
  5ab2ae3d_beff_8842_c392_152eeae68035 -->|method| 9148edcb_b5eb_bf41_8087_a1d28bac7f4d

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/scope.js lines 845–865

export class ScopeRoot {
	/** @type {Set<string>} */
	conflicts = new Set();

	/**
	 * @param {string} preferred_name
	 */
	unique(preferred_name) {
		preferred_name = preferred_name.replace(/[^a-zA-Z0-9_$]/g, '_');
		let final_name = preferred_name;
		let n = 1;

		while (this.conflicts.has(final_name)) {
			final_name = `${preferred_name}_${n++}`;
		}

		this.conflicts.add(final_name);
		const id = b.id(final_name);
		return id;
	}
}

Domain

Frequently Asked Questions

What is the ScopeRoot class?
ScopeRoot is a class in the svelte codebase, defined in packages/svelte/src/compiler/phases/scope.js.
Where is ScopeRoot defined?
ScopeRoot is defined in packages/svelte/src/compiler/phases/scope.js at line 845.

Analyze Your Own Codebase

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

Try Supermodel Free