utils.js — svelte Source File
Architecture documentation for utils.js, a javascript file in the svelte codebase. 3 imports, 2 dependents.
Entity Profile
Dependency Diagram
graph LR 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4["utils.js"] 75905fba_56c6_c9fc_1dbc_6e53bfb2ebc5["status.js"] 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 --> 75905fba_56c6_c9fc_1dbc_6e53bfb2ebc5 6479f832_c1d7_7636_b658_b3f9c70d9af0["set_signal_status"] 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 --> 6479f832_c1d7_7636_b658_b3f9c70d9af0 54c2bfce_50b6_b8cc_4371_e1e14f283fb3["constants"] 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 --> 54c2bfce_50b6_b8cc_4371_e1e14f283fb3 6d3d606a_fb7a_54af_1ece_f1eb12f174d1["boundary.js"] 6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 d8e42d9d_2e3c_635c_19d3_b946a4341c0f["batch.js"] d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 style 5a859a0f_eee2_e7f4_f1cd_3c52fb468bd4 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { Derived, Effect, Value } from '#client' */
import { CLEAN, DERIVED, DIRTY, MAYBE_DIRTY, WAS_MARKED } from '#client/constants';
import { set_signal_status } from './status.js';
/**
* @param {Value[] | null} deps
*/
function clear_marked(deps) {
if (deps === null) return;
for (const dep of deps) {
if ((dep.f & DERIVED) === 0 || (dep.f & WAS_MARKED) === 0) {
continue;
}
dep.f ^= WAS_MARKED;
clear_marked(/** @type {Derived} */ (dep).deps);
}
}
/**
* @param {Effect} effect
* @param {Set<Effect>} dirty_effects
* @param {Set<Effect>} maybe_dirty_effects
*/
export function defer_effect(effect, dirty_effects, maybe_dirty_effects) {
if ((effect.f & DIRTY) !== 0) {
dirty_effects.add(effect);
} else if ((effect.f & MAYBE_DIRTY) !== 0) {
maybe_dirty_effects.add(effect);
}
// Since we're not executing these effects now, we need to clear any WAS_MARKED flags
// so that other batches can correctly reach these effects during their own traversal
clear_marked(effect.deps);
// mark as clean so they get scheduled if they depend on pending async state
set_signal_status(effect, CLEAN);
}
Domain
Subdomains
Functions
Dependencies
- constants
- set_signal_status
- status.js
Imported By
Source
Frequently Asked Questions
What does utils.js do?
utils.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, Reactivity subdomain.
What functions are defined in utils.js?
utils.js defines 2 function(s): clear_marked, defer_effect.
What does utils.js depend on?
utils.js imports 3 module(s): constants, set_signal_status, status.js.
What files import utils.js?
utils.js is imported by 2 file(s): batch.js, boundary.js.
Where is utils.js in the architecture?
utils.js is located at packages/svelte/src/internal/client/reactivity/utils.js (domain: ClientRuntime, subdomain: Reactivity, directory: packages/svelte/src/internal/client/reactivity).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free