build_spread_object() — svelte Function Reference
Architecture documentation for the build_spread_object() function in element.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 959bef75_9552_0e6a_5eb8_b82a31b18562["build_spread_object()"] b25fbb61_695c_e699_cbac_73059624d603["element.js"] 959bef75_9552_0e6a_5eb8_b82a31b18562 -->|defined in| b25fbb61_695c_e699_cbac_73059624d603 b6b60d37_35c9_2ea4_dd94_b777d0860ea8["prepare_element_spread()"] b6b60d37_35c9_2ea4_dd94_b777d0860ea8 -->|calls| 959bef75_9552_0e6a_5eb8_b82a31b18562 804afe56_25d1_9f41_dafe_adc75e952134["object()"] 959bef75_9552_0e6a_5eb8_b82a31b18562 -->|calls| 804afe56_25d1_9f41_dafe_adc75e952134 6f6a3489_4061_e976_4be8_4905a2ae23cc["get_attribute_name()"] 959bef75_9552_0e6a_5eb8_b82a31b18562 -->|calls| 6f6a3489_4061_e976_4be8_4905a2ae23cc 9f24c33c_da34_a132_f273_3ffd2f6e5cf8["build_attribute_value()"] 959bef75_9552_0e6a_5eb8_b82a31b18562 -->|calls| 9f24c33c_da34_a132_f273_3ffd2f6e5cf8 style 959bef75_9552_0e6a_5eb8_b82a31b18562 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js lines 301–334
export function build_spread_object(element, attributes, context, transform) {
const object = b.object(
attributes.map((attribute) => {
if (attribute.type === 'Attribute') {
const name = get_attribute_name(element, attribute);
const value = build_attribute_value(
attribute.value,
context,
transform,
WHITESPACE_INSENSITIVE_ATTRIBUTES.includes(name)
);
return b.prop('init', b.key(name), value);
} else if (attribute.type === 'BindDirective') {
const name = get_attribute_name(element, attribute);
const value =
attribute.expression.type === 'SequenceExpression'
? b.call(attribute.expression.expressions[0])
: /** @type {Expression} */ (context.visit(attribute.expression));
return b.prop('init', b.key(name), value);
}
return b.spread(
transform(
/** @type {Expression} */ (context.visit(attribute)),
attribute.metadata.expression
)
);
})
);
return object;
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does build_spread_object() do?
build_spread_object() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js.
Where is build_spread_object() defined?
build_spread_object() is defined in packages/svelte/src/compiler/phases/3-transform/server/visitors/shared/element.js at line 301.
What does build_spread_object() call?
build_spread_object() calls 3 function(s): build_attribute_value, get_attribute_name, object.
What calls build_spread_object()?
build_spread_object() is called by 1 function(s): prepare_element_spread.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free