Home / Function/ user_effect() — svelte Function Reference

user_effect() — svelte Function Reference

Architecture documentation for the user_effect() function in effects.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  61387353_b966_b4f7_d65e_52c75ac7ff61["user_effect()"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"]
  61387353_b966_b4f7_d65e_52c75ac7ff61 -->|defined in| 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb
  2bef4c90_800a_61a0_724e_32f34a823482["init()"]
  2bef4c90_800a_61a0_724e_32f34a823482 -->|calls| 61387353_b966_b4f7_d65e_52c75ac7ff61
  b78cad2e_34cc_9fa8_80d7_78a1f69d3539["validate_effect()"]
  61387353_b966_b4f7_d65e_52c75ac7ff61 -->|calls| b78cad2e_34cc_9fa8_80d7_78a1f69d3539
  a985ae40_8ef8_7ef2_adad_116fbf97e70c["effect()"]
  61387353_b966_b4f7_d65e_52c75ac7ff61 -->|calls| a985ae40_8ef8_7ef2_adad_116fbf97e70c
  ea5280ff_3b87_42ee_3823_3570b76a5779["push()"]
  61387353_b966_b4f7_d65e_52c75ac7ff61 -->|calls| ea5280ff_3b87_42ee_3823_3570b76a5779
  13759887_b861_b51d_34c2_eae058e70740["create_user_effect()"]
  61387353_b966_b4f7_d65e_52c75ac7ff61 -->|calls| 13759887_b861_b51d_34c2_eae058e70740
  style 61387353_b966_b4f7_d65e_52c75ac7ff61 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/internal/client/reactivity/effects.js lines 197–219

export function user_effect(fn) {
	validate_effect('$effect');

	if (DEV) {
		define_property(fn, 'name', {
			value: '$effect'
		});
	}

	// Non-nested `$effect(...)` in a component should be deferred
	// until the component is mounted
	var flags = /** @type {Effect} */ (active_effect).f;
	var defer = !active_reaction && (flags & BRANCH_EFFECT) !== 0 && (flags & EFFECT_RAN) === 0;

	if (defer) {
		// Top-level `$effect(...)` in an unmounted component — defer until mount
		var context = /** @type {ComponentContext} */ (component_context);
		(context.e ??= []).push(fn);
	} else {
		// Everything else — create immediately
		return create_user_effect(fn);
	}
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does user_effect() do?
user_effect() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/reactivity/effects.js.
Where is user_effect() defined?
user_effect() is defined in packages/svelte/src/internal/client/reactivity/effects.js at line 197.
What does user_effect() call?
user_effect() calls 4 function(s): create_user_effect, effect, push, validate_effect.
What calls user_effect()?
user_effect() is called by 1 function(s): init.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free