Home / Function/ Text() — svelte Function Reference

Text() — svelte Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  e511a3c6_68c7_d02e_710d_edc19c11b9e3["Text()"]
  f8debeb0_6284_1c94_22a8_0f28192b28a5["Text.js"]
  e511a3c6_68c7_d02e_710d_edc19c11b9e3 -->|defined in| f8debeb0_6284_1c94_22a8_0f28192b28a5
  b52e7925_73b5_1187_beab_fb7eb59cc45d["is_tag_valid_with_parent()"]
  e511a3c6_68c7_d02e_710d_edc19c11b9e3 -->|calls| b52e7925_73b5_1187_beab_fb7eb59cc45d
  83398170_c952_50c5_93ea_2776bbf2a83b["node_invalid_placement()"]
  e511a3c6_68c7_d02e_710d_edc19c11b9e3 -->|calls| 83398170_c952_50c5_93ea_2776bbf2a83b
  4422a3ac_4abf_f704_22f3_7d5d175ce307["extract_svelte_ignore()"]
  e511a3c6_68c7_d02e_710d_edc19c11b9e3 -->|calls| 4422a3ac_4abf_f704_22f3_7d5d175ce307
  5c39e57e_956e_b5ee_0df5_2c5f096c6212["bidirectional_control_characters()"]
  e511a3c6_68c7_d02e_710d_edc19c11b9e3 -->|calls| 5c39e57e_956e_b5ee_0df5_2c5f096c6212
  style e511a3c6_68c7_d02e_710d_edc19c11b9e3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/2-analyze/visitors/Text.js lines 13–52

export function Text(node, context) {
	const parent = /** @type {AST.SvelteNode} */ (context.path.at(-1));

	if (
		parent.type === 'Fragment' &&
		context.state.parent_element &&
		regex_not_whitespace.test(node.data)
	) {
		const message = is_tag_valid_with_parent('#text', context.state.parent_element);
		if (message) {
			e.node_invalid_placement(node, message);
		}
	}

	regex_bidirectional_control_characters.lastIndex = 0;
	for (const match of node.data.matchAll(regex_bidirectional_control_characters)) {
		let is_ignored = false;

		// if we have a svelte-ignore comment earlier in the text, bail
		// (otherwise we can only use svelte-ignore on parent elements/blocks)
		if (parent.type === 'Fragment') {
			for (const child of parent.nodes) {
				if (child === node) break;

				if (child.type === 'Comment') {
					is_ignored ||= extract_svelte_ignore(
						child.start + 4,
						child.data,
						context.state.analysis.runes
					).includes('bidirectional_control_characters');
				}
			}
		}

		if (!is_ignored) {
			let start = match.index + node.start;
			w.bidirectional_control_characters({ start, end: start + match[0].length });
		}
	}
}

Domain

Subdomains

Frequently Asked Questions

What does Text() do?
Text() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/2-analyze/visitors/Text.js.
Where is Text() defined?
Text() is defined in packages/svelte/src/compiler/phases/2-analyze/visitors/Text.js at line 13.
What does Text() call?
Text() calls 4 function(s): bidirectional_control_characters, extract_svelte_ignore, is_tag_valid_with_parent, node_invalid_placement.

Analyze Your Own Codebase

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

Try Supermodel Free