Home / File/ effects.js — svelte Source File

effects.js — svelte Source File

Architecture documentation for effects.js, a javascript file in the svelte codebase. 24 imports, 52 dependents.

File javascript ClientRuntime Reactivity 24 imports 52 dependents 33 functions

Entity Profile

Dependency Diagram

graph LR
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"]
  bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> bde4209f_8ffc_1594_4024_b1835a44bcf6
  9d7b1994_c635_b82f_ff1f_b19fc461c425["is_dirty"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 9d7b1994_c635_b82f_ff1f_b19fc461c425
  19374192_7fff_dd82_3581_d62b472dfbdd["update_effect"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 19374192_7fff_dd82_3581_d62b472dfbdd
  a08b6cc5_af73_1be4_d02f_3113cf8a8305["get"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> a08b6cc5_af73_1be4_d02f_3113cf8a8305
  1ffeab26_17a7_43c8_1f19_a6f67d2606ea["remove_reactions"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 1ffeab26_17a7_43c8_1f19_a6f67d2606ea
  311ef9f4_9b68_c178_c1db_3b8696f7d964["set_active_reaction"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 311ef9f4_9b68_c178_c1db_3b8696f7d964
  1dc3a916_92e3_846f_1b68_d77f1a23d3a8["set_is_destroying_effect"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 1dc3a916_92e3_846f_1b68_d77f1a23d3a8
  a814b193_e12a_4037_c3c8_dfd45f3bd0bb["untrack"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> a814b193_e12a_4037_c3c8_dfd45f3bd0bb
  ff387d97_d6d2_81e0_e731_656552709d27["errors.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> ff387d97_d6d2_81e0_e731_656552709d27
  cb946435_ce66_d1e8_6bee_287bdb07e7c5["utils.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> cb946435_ce66_d1e8_6bee_287bdb07e7c5
  9a9bbc27_46b6_021c_6d77_f736ed4b40f0["operations.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 9a9bbc27_46b6_021c_6d77_f736ed4b40f0
  4776c976_30bb_448d_921d_ee70a7fa0135["get_next_sibling"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 4776c976_30bb_448d_921d_ee70a7fa0135
  48cf26f8_bf34_fd7a_3d52_cc963051e167["context.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> 48cf26f8_bf34_fd7a_3d52_cc963051e167
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f["batch.js"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb --> d8e42d9d_2e3c_635c_19d3_b946a4341c0f
  style 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Blocker, ComponentContext, ComponentContextLegacy, Derived, Effect, TemplateNode, TransitionManager } from '#client' */
import {
	is_dirty,
	active_effect,
	active_reaction,
	update_effect,
	get,
	is_destroying_effect,
	remove_reactions,
	set_active_reaction,
	set_is_destroying_effect,
	untrack,
	untracking
} from '../runtime.js';
import {
	DIRTY,
	BRANCH_EFFECT,
	RENDER_EFFECT,
	EFFECT,
	DESTROYED,
	INERT,
	EFFECT_RAN,
	BLOCK_EFFECT,
	ROOT_EFFECT,
	EFFECT_TRANSPARENT,
	DERIVED,
	CLEAN,
	EAGER_EFFECT,
	HEAD_EFFECT,
	MAYBE_DIRTY,
	EFFECT_PRESERVED,
	STALE_REACTION,
	USER_EFFECT,
	ASYNC,
	CONNECTED,
	MANAGED_EFFECT
} from '#client/constants';
import * as e from '../errors.js';
import { DEV } from 'esm-env';
import { define_property } from '../../shared/utils.js';
import { get_next_sibling } from '../dom/operations.js';
import { component_context, dev_current_component_function, dev_stack } from '../context.js';
import { Batch, current_batch, schedule_effect } from './batch.js';
import { flatten } from './async.js';
import { without_reactive_context } from '../dom/elements/bindings/shared.js';
import { set_signal_status } from './status.js';

/**
 * @param {'$effect' | '$effect.pre' | '$inspect'} rune
 */
export function validate_effect(rune) {
	if (active_effect === null) {
		if (active_reaction === null) {
			e.effect_orphan(rune);
		}

		e.effect_in_unowned_derived();
	}

	if (is_destroying_effect) {
// ... (658 more lines)

Domain

Subdomains

Imported By

Frequently Asked Questions

What does effects.js do?
effects.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 effects.js?
effects.js defines 33 function(s): aborted, async_effect, block, branch, component_root, create_effect, create_user_effect, deferred_template_effect, destroy_block_effect_children, destroy_effect, and 23 more.
What does effects.js depend on?
effects.js imports 24 module(s): Batch, async.js, batch.js, constants, context.js, errors.js, esm-env, flatten, and 16 more.
What files import effects.js?
effects.js is imported by 52 file(s): actions.js, async.js, attachments.js, attributes.js, await.js, batch.js, boundary.js, branches.js, and 44 more.
Where is effects.js in the architecture?
effects.js is located at packages/svelte/src/internal/client/reactivity/effects.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