TitleElement() — svelte Function Reference
Architecture documentation for the TitleElement() function in TitleElement.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD fc471bd0_caed_35be_8561_9d55a2505105["TitleElement()"] f8561a4f_8669_f7da_9b3c_fd7e65e998a5["TitleElement.js"] fc471bd0_caed_35be_8561_9d55a2505105 -->|defined in| f8561a4f_8669_f7da_9b3c_fd7e65e998a5 f3280f06_553d_66c3_8ca2_c3c36dcdda64["build_template_chunk()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| f3280f06_553d_66c3_8ca2_c3c36dcdda64 5ff7d39f_78e8_c057_8c8e_279f6e72149e["add()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| 5ff7d39f_78e8_c057_8c8e_279f6e72149e 10046df1_7862_0e3a_2d28_14faf64ff123["apply()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| 10046df1_7862_0e3a_2d28_14faf64ff123 6f7809e4_1338_fe87_a5b2_2bb5d1626fdf["sync_values()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| 6f7809e4_1338_fe87_a5b2_2bb5d1626fdf 3c8a9b45_1c84_b995_7438_57a8885c67ba["async_values()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| 3c8a9b45_1c84_b995_7438_57a8885c67ba c8d80c9d_ab6c_13c0_c85e_a9b120f82f45["blockers()"] fc471bd0_caed_35be_8561_9d55a2505105 -->|calls| c8d80c9d_ab6c_13c0_c85e_a9b120f82f45 style fc471bd0_caed_35be_8561_9d55a2505105 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/compiler/phases/3-transform/client/visitors/TitleElement.js lines 10–48
export function TitleElement(node, context) {
const memoizer = new Memoizer();
const { has_state, value } = build_template_chunk(
/** @type {any} */ (node.fragment.nodes),
context,
context.state,
(value, metadata) => memoizer.add(value, metadata)
);
const evaluated = context.state.scope.evaluate(value);
const statement = b.stmt(
b.assignment(
'=',
b.member(b.id('$.document'), b.id('title', node.name_loc)),
evaluated.is_known
? b.literal(evaluated.value)
: evaluated.is_defined
? value
: b.logical('??', value, b.literal(''))
)
);
// Make sure it only changes the title once async work is done
if (has_state) {
context.state.after_update.push(
b.stmt(
b.call(
'$.deferred_template_effect',
b.arrow(memoizer.apply(), b.block([statement])),
memoizer.sync_values(),
memoizer.async_values(),
memoizer.blockers()
)
)
);
} else {
context.state.after_update.push(b.stmt(b.call('$.effect', b.thunk(b.block([statement])))));
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does TitleElement() do?
TitleElement() is a function in the svelte codebase, defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/TitleElement.js.
Where is TitleElement() defined?
TitleElement() is defined in packages/svelte/src/compiler/phases/3-transform/client/visitors/TitleElement.js at line 10.
What does TitleElement() call?
TitleElement() calls 6 function(s): add, apply, async_values, blockers, build_template_chunk, sync_values.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free