truncate() — svelte Function Reference
Architecture documentation for the truncate() function in css-prune.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD a446abce_d160_6f0a_0d38_aca50a65af3e["truncate()"] cb1bf043_dade_7352_cc2b_976ffa2968d8["css-prune.js"] a446abce_d160_6f0a_0d38_aca50a65af3e -->|defined in| cb1bf043_dade_7352_cc2b_976ffa2968d8 93e4e2a8_d367_c800_840d_5097d02af978["get_relative_selectors()"] 93e4e2a8_d367_c800_840d_5097d02af978 -->|calls| a446abce_d160_6f0a_0d38_aca50a65af3e 44fb7f7e_7a78_eedb_fde3_53e386135788["relative_selector_might_apply_to_node()"] 44fb7f7e_7a78_eedb_fde3_53e386135788 -->|calls| a446abce_d160_6f0a_0d38_aca50a65af3e style a446abce_d160_6f0a_0d38_aca50a65af3e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js lines 163–186
function truncate(node) {
const i = node.children.findLastIndex(({ metadata, selectors }) => {
const first = selectors[0];
return (
// not after a :global selector
!metadata.is_global_like &&
!(first.type === 'PseudoClassSelector' && first.name === 'global' && first.args === null) &&
// not a :global(...) without a :has/is/where(...) modifier that is scoped
!metadata.is_global
);
});
return node.children.slice(0, i + 1).map((child) => {
// In case of `:root.y:has(...)`, `y` is unscoped, but everything in `:has(...)` should be scoped (if not global).
// To properly accomplish that, we gotta filter out all selector types except `:has`.
const root = child.selectors.find((s) => s.type === 'PseudoClassSelector' && s.name === 'root');
if (!root || child.metadata.is_global_like) return child;
return {
...child,
selectors: child.selectors.filter((s) => s.type === 'PseudoClassSelector' && s.name === 'has')
};
});
}
Domain
Subdomains
Source
Frequently Asked Questions
What does truncate() do?
truncate() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js.
Where is truncate() defined?
truncate() is defined in packages/svelte/src/compiler/phases/2-analyze/css/css-prune.js at line 163.
What calls truncate()?
truncate() is called by 2 function(s): get_relative_selectors, relative_selector_might_apply_to_node.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free