schedule_effect() — svelte Function Reference
Architecture documentation for the schedule_effect() function in batch.js from the svelte codebase.
Entity Profile
Dependency Diagram
graph TD e3c23578_a277_4ec0_656f_1000b1fa503b["schedule_effect()"] d8e42d9d_2e3c_635c_19d3_b946a4341c0f["batch.js"] e3c23578_a277_4ec0_656f_1000b1fa503b -->|defined in| d8e42d9d_2e3c_635c_19d3_b946a4341c0f a50e548b_3d25_da25_5809_14d318b33cb2["d()"] a50e548b_3d25_da25_5809_14d318b33cb2 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b 4884c8a4_7cc6_1b32_b689_ac96e3d81e91["unskip_effect()"] 4884c8a4_7cc6_1b32_b689_ac96e3d81e91 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b 4a5c85d2_dfaa_8eed_83a2_1b140cad91fb["revive()"] 4a5c85d2_dfaa_8eed_83a2_1b140cad91fb -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b 75a146bb_c458_4453_bba5_066eec39b494["mark_effects()"] 75a146bb_c458_4453_bba5_066eec39b494 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b 9764bb93_860c_6dee_2112_890b69ee0aa3["create_effect()"] 9764bb93_860c_6dee_2112_890b69ee0aa3 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b 6f8f529a_4ea8_0edd_6a63_9acc29cbd4ac["resume_children()"] 6f8f529a_4ea8_0edd_6a63_9acc29cbd4ac -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b b81807e3_a940_6fda_f1f2_243d04126552["mark_reactions()"] b81807e3_a940_6fda_f1f2_243d04126552 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b e18484c6_b89d_ae11_a28b_147e60713b71["schedule_possible_effect_self_invalidation()"] e18484c6_b89d_ae11_a28b_147e60713b71 -->|calls| e3c23578_a277_4ec0_656f_1000b1fa503b style e3c23578_a277_4ec0_656f_1000b1fa503b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/svelte/src/internal/client/reactivity/batch.js lines 837–863
export function schedule_effect(signal) {
var effect = (last_scheduled_effect = signal);
while (effect.parent !== null) {
effect = effect.parent;
var flags = effect.f;
// if the effect is being scheduled because a parent (each/await/etc) block
// updated an internal source, or because a branch is being unskipped,
// bail out or we'll cause a second flush
if (
is_flushing &&
effect === active_effect &&
(flags & BLOCK_EFFECT) !== 0 &&
(flags & HEAD_EFFECT) === 0
) {
return;
}
if ((flags & (ROOT_EFFECT | BRANCH_EFFECT)) !== 0) {
if ((flags & CLEAN) === 0) return;
effect.f ^= CLEAN;
}
}
queued_root_effects.push(effect);
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does schedule_effect() do?
schedule_effect() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/reactivity/batch.js.
Where is schedule_effect() defined?
schedule_effect() is defined in packages/svelte/src/internal/client/reactivity/batch.js at line 837.
What calls schedule_effect()?
schedule_effect() is called by 8 function(s): create_effect, d, mark_effects, mark_reactions, resume_children, revive, schedule_possible_effect_self_invalidation, unskip_effect.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free