build_attribute_value() — svelte Function Reference
Architecture documentation for the build_attribute_value() function in utils.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 9f24c33c_da34_a132_f273_3ffd2f6e5cf8["build_attribute_value()"] 74eddc85_a390_2aab_af5a_ef32b77d5430["utils.js"] 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 -->|defined in| 74eddc85_a390_2aab_af5a_ef32b77d5430 c88b27a0_3d9f_b698_35fc_60bb9608fbad["SlotElement()"] c88b27a0_3d9f_b698_35fc_60bb9608fbad -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 7fdec420_5da7_caf6_9113_d56e2e3c9e8e["SvelteBoundary()"] 7fdec420_5da7_caf6_9113_d56e2e3c9e8e -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 1077eb85_3310_4a9b_f350_d205c6451bd2["build_inline_component()"] 1077eb85_3310_4a9b_f350_d205c6451bd2 -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 17370b4c_df64_f183_35da_1de383ea4963["build_element_attributes()"] 17370b4c_df64_f183_35da_1de383ea4963 -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 959bef75_9552_0e6a_5eb8_b82a31b18562["build_spread_object()"] 959bef75_9552_0e6a_5eb8_b82a31b18562 -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 b6b60d37_35c9_2ea4_dd94_b777d0860ea8["prepare_element_spread()"] b6b60d37_35c9_2ea4_dd94_b777d0860ea8 -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 56e39a84_7975_d0b0_be8b_b9f011cd018f["build_attr_style()"] 56e39a84_7975_d0b0_be8b_b9f011cd018f -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 d6dfd043_7103_f2c7_aab3_9660fb0a5f75["escape_html()"] 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 -->|calls| d6dfd043_7103_f2c7_aab3_9660fb0a5f75 style 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js lines 190–248
export function build_attribute_value(
value,
context,
transform,
trim_whitespace = false,
is_component = false
) {
if (value === true) {
return b.true;
}
if (!Array.isArray(value) || value.length === 1) {
const chunk = Array.isArray(value) ? value[0] : value;
if (chunk.type === 'Text') {
const data = trim_whitespace
? chunk.data.replace(regex_whitespaces_strict, ' ').trim()
: chunk.data;
return b.literal(is_component ? data : escape_html(data, true));
}
return transform(
/** @type {Expression} */ (context.visit(chunk.expression)),
chunk.metadata.expression
);
}
let quasi = b.quasi('', false);
const quasis = [quasi];
/** @type {Expression[]} */
const expressions = [];
for (let i = 0; i < value.length; i++) {
const node = value[i];
if (node.type === 'Text') {
quasi.value.raw += trim_whitespace
? node.data.replace(regex_whitespaces_strict, ' ')
: node.data;
} else {
expressions.push(
b.call(
'$.stringify',
transform(
/** @type {Expression} */ (context.visit(node.expression)),
node.metadata.expression
)
)
);
quasi = b.quasi('', i + 1 === value.length);
quasis.push(quasi);
}
}
return b.template(quasis, expressions);
}
Domain
Subdomains
Calls
Called By
Source
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/server/visitors/shared/utils.js.
Where is build_attribute_value() defined?
build_attribute_value() is defined in packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/utils.js at line 190.
What does build_attribute_value() call?
build_attribute_value() calls 1 function(s): escape_html.
What calls build_attribute_value()?
build_attribute_value() is called by 7 function(s): SlotElement, SvelteBoundary, build_attr_style, build_element_attributes, build_inline_component, build_spread_object, prepare_element_spread.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free