update_effect() — svelte Function Reference
Architecture documentation for the update_effect() function in runtime.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD 19374192_7fff_dd82_3581_d62b472dfbdd["update_effect()"] bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|defined in| bde4209f_8ffc_1594_4024_b1835a44bcf6 c19ea0c4_0909_9915_ac53_f65d5af69919["root()"] c19ea0c4_0909_9915_ac53_f65d5af69919 -->|calls| 19374192_7fff_dd82_3581_d62b472dfbdd 3991a63f_13e1_fb44_3044_00252e1380f3["flush_queued_effects()"] 3991a63f_13e1_fb44_3044_00252e1380f3 -->|calls| 19374192_7fff_dd82_3581_d62b472dfbdd 9764bb93_860c_6dee_2112_890b69ee0aa3["create_effect()"] 9764bb93_860c_6dee_2112_890b69ee0aa3 -->|calls| 19374192_7fff_dd82_3581_d62b472dfbdd 804fc9e9_e855_0cc1_9d2e_7104f9cfa1f9["legacy_pre_effect_reset()"] 804fc9e9_e855_0cc1_9d2e_7104f9cfa1f9 -->|calls| 19374192_7fff_dd82_3581_d62b472dfbdd 8cbd2617_a90a_da93_cf30_82f21876749c["flush_eager_effects()"] 8cbd2617_a90a_da93_cf30_82f21876749c -->|calls| 19374192_7fff_dd82_3581_d62b472dfbdd 6479f832_c1d7_7636_b658_b3f9c70d9af0["set_signal_status()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 6479f832_c1d7_7636_b658_b3f9c70d9af0 3b5b04b8_bc64_dc87_37e2_2191011816f5["set_dev_current_component_function()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 3b5b04b8_bc64_dc87_37e2_2191011816f5 0fccb27b_7aac_6445_e857_e807f2ce0d7d["set_dev_stack()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 0fccb27b_7aac_6445_e857_e807f2ce0d7d 4ea05c55_65be_458d_6860_73b27d2a8b46["destroy_block_effect_children()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 4ea05c55_65be_458d_6860_73b27d2a8b46 5ca6cce3_c139_2ec0_550b_59f1139f113b["destroy_effect_children()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 5ca6cce3_c139_2ec0_550b_59f1139f113b fcb0bcf2_766c_0be2_4fa0_0e3c7e97e0a0["execute_effect_teardown()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| fcb0bcf2_766c_0be2_4fa0_0e3c7e97e0a0 9e5743e3_8b9e_0ad6_5140_1a5ffaca62cd["update_reaction()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 9e5743e3_8b9e_0ad6_5140_1a5ffaca62cd 4af42bfc_fe4c_0160_eada_7d109f39af3a["increment_write_version()"] 19374192_7fff_dd82_3581_d62b472dfbdd -->|calls| 4af42bfc_fe4c_0160_eada_7d109f39af3a style 19374192_7fff_dd82_3581_d62b472dfbdd fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/runtime.js lines 423–477
export function update_effect(effect) {
var flags = effect.f;
if ((flags & DESTROYED) !== 0) {
return;
}
set_signal_status(effect, CLEAN);
var previous_effect = active_effect;
var was_updating_effect = is_updating_effect;
active_effect = effect;
is_updating_effect = true;
if (DEV) {
var previous_component_fn = dev_current_component_function;
set_dev_current_component_function(effect.component_function);
var previous_stack = /** @type {any} */ (dev_stack);
// only block effects have a dev stack, keep the current one otherwise
set_dev_stack(effect.dev_stack ?? dev_stack);
}
try {
if ((flags & (BLOCK_EFFECT | MANAGED_EFFECT)) !== 0) {
destroy_block_effect_children(effect);
} else {
destroy_effect_children(effect);
}
execute_effect_teardown(effect);
var teardown = update_reaction(effect);
effect.teardown = typeof teardown === 'function' ? teardown : null;
effect.wv = write_version;
// In DEV, increment versions of any sources that were written to during the effect,
// so that they are correctly marked as dirty when the effect re-runs
if (DEV && tracing_mode_flag && (effect.f & DIRTY) !== 0 && effect.deps !== null) {
for (var dep of effect.deps) {
if (dep.set_during_effect) {
dep.wv = increment_write_version();
dep.set_during_effect = false;
}
}
}
} finally {
is_updating_effect = was_updating_effect;
active_effect = previous_effect;
if (DEV) {
set_dev_current_component_function(previous_component_fn);
set_dev_stack(previous_stack);
}
}
}
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does update_effect() do?
update_effect() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/runtime.js.
Where is update_effect() defined?
update_effect() is defined in packages/svelte/src/internal/client/runtime.js at line 423.
What does update_effect() call?
update_effect() calls 8 function(s): destroy_block_effect_children, destroy_effect_children, execute_effect_teardown, increment_write_version, set_dev_current_component_function, set_dev_stack, set_signal_status, update_reaction.
What calls update_effect()?
update_effect() is called by 5 function(s): create_effect, flush_eager_effects, flush_queued_effects, legacy_pre_effect_reset, root.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free