Home / Function/ build_attribute_value() — svelte Function Reference

build_attribute_value() — svelte Function Reference

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

Function javascript Compiler Transformer calls 3 called by 11

Entity Profile

Dependency Diagram

graph TD
  e31bc2c2_91c1_b9a9_f78a_2832bddce6c5["build_attribute_value()"]
  7880f852_1b7b_9ea3_4e22_732f4a684bbe["element.js"]
  e31bc2c2_91c1_b9a9_f78a_2832bddce6c5 -->|defined in| 7880f852_1b7b_9ea3_4e22_732f4a684bbe
  059abfac_6785_3551_13a8_b20c40ff070b["BindDirective()"]
  059abfac_6785_3551_13a8_b20c40ff070b -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  1e3b81f2_cd53_e5a5_0140_a9af38facf99["RegularElement()"]
  1e3b81f2_cd53_e5a5_0140_a9af38facf99 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  4fce48f1_e9d7_958a_ce38_30799ece4fc7["build_style_directives_object()"]
  4fce48f1_e9d7_958a_ce38_30799ece4fc7 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  e0b7227f_e61b_faf8_5693_879c87a34300["build_custom_element_attribute_update_assignment()"]
  e0b7227f_e61b_faf8_5693_879c87a34300 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  e962c3e1_86a1_deae_f6f6_e1f565fa9687["build_element_special_value_attribute()"]
  e962c3e1_86a1_deae_f6f6_e1f565fa9687 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  a56e6575_408a_3fdf_8d40_43c862426641["SlotElement()"]
  a56e6575_408a_3fdf_8d40_43c862426641 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  2bb483c4_1076_90c3_46bb_acc4dec02b3b["SvelteElement()"]
  2bb483c4_1076_90c3_46bb_acc4dec02b3b -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  2b6a1e4d_7060_eb43_d939_71517fa01ad9["build_component()"]
  2b6a1e4d_7060_eb43_d939_71517fa01ad9 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  ef858948_a3b7_f31d_ad40_16743e642d00["build_attribute_effect()"]
  ef858948_a3b7_f31d_ad40_16743e642d00 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  573f9041_7062_5e5d_80e6_7292990c13c5["build_set_class()"]
  573f9041_7062_5e5d_80e6_7292990c13c5 -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  9e463b1e_1f97_8c97_f5f2_bccfb0ffe03b["build_set_style()"]
  9e463b1e_1f97_8c97_f5f2_bccfb0ffe03b -->|calls| e31bc2c2_91c1_b9a9_f78a_2832bddce6c5
  66243dec_e2be_a66d_3992_3ea42cf964b5["build_expression()"]
  e31bc2c2_91c1_b9a9_f78a_2832bddce6c5 -->|calls| 66243dec_e2be_a66d_3992_3ea42cf964b5
  3b2a4fcc_2df2_7057_21b4_4cac59b8df61["is_async()"]
  e31bc2c2_91c1_b9a9_f78a_2832bddce6c5 -->|calls| 3b2a4fcc_2df2_7057_21b4_4cac59b8df61
  style e31bc2c2_91c1_b9a9_f78a_2832bddce6c5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js lines 109–130

export function build_attribute_value(value, context, memoize = (value) => value) {
	if (value === true) {
		return { value: b.true, has_state: false };
	}

	if (!Array.isArray(value) || value.length === 1) {
		const chunk = Array.isArray(value) ? value[0] : value;

		if (chunk.type === 'Text') {
			return { value: b.literal(chunk.data), has_state: false };
		}

		let expression = build_expression(context, chunk.expression, chunk.metadata.expression);

		return {
			value: memoize(expression, chunk.metadata.expression),
			has_state: chunk.metadata.expression.has_state || chunk.metadata.expression.is_async()
		};
	}

	return build_template_chunk(value, context, context.state, memoize);
}

Domain

Subdomains

Frequently Asked Questions

What does build_attribute_value() do?
build_attribute_value() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js.
Where is build_attribute_value() defined?
build_attribute_value() is defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/element.js at line 109.
What does build_attribute_value() call?
build_attribute_value() calls 3 function(s): build_expression, build_template_chunk, is_async.
What calls build_attribute_value()?
build_attribute_value() is called by 11 function(s): BindDirective, RegularElement, SlotElement, SvelteElement, build_attribute_effect, build_component, build_custom_element_attribute_update_assignment, build_element_special_value_attribute, and 3 more.

Analyze Your Own Codebase

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

Try Supermodel Free