Home / File/ deriveds.js — svelte Source File

deriveds.js — svelte Source File

Architecture documentation for deriveds.js, a javascript file in the svelte codebase. 36 imports, 7 dependents.

File javascript ClientRuntime Reactivity 36 imports 7 dependents 9 functions

Entity Profile

Dependency Diagram

graph LR
  2fb8b3eb_7c25_3930_a184_09fab29d537f["deriveds.js"]
  bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> bde4209f_8ffc_1594_4024_b1835a44bcf6
  9e5743e3_8b9e_0ad6_5140_1a5ffaca62cd["update_reaction"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 9e5743e3_8b9e_0ad6_5140_1a5ffaca62cd
  4af42bfc_fe4c_0160_eada_7d109f39af3a["increment_write_version"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 4af42bfc_fe4c_0160_eada_7d109f39af3a
  55623862_10b7_5361_e30b_34ec6941f1a7["set_active_effect"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 55623862_10b7_5361_e30b_34ec6941f1a7
  e1a089d3_d96f_8635_4bb8_56903e891a87["push_reaction_value"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> e1a089d3_d96f_8635_4bb8_56903e891a87
  9068d26c_037d_ff15_43b8_824380424345["equality.js"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 9068d26c_037d_ff15_43b8_824380424345
  cba02be5_1b7d_ad21_f54b_8a8a90da7e59["equals"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> cba02be5_1b7d_ad21_f54b_8a8a90da7e59
  8af5e1a6_b6b2_236e_29b9_c4c73b51d253["safe_equals"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 8af5e1a6_b6b2_236e_29b9_c4c73b51d253
  ff387d97_d6d2_81e0_e731_656552709d27["errors.js"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> ff387d97_d6d2_81e0_e731_656552709d27
  df278ca2_0a6c_fefe_09f2_b397500fe3c2["warnings.js"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> df278ca2_0a6c_fefe_09f2_b397500fe3c2
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb
  b2eacc8a_e339_c7cd_329a_2445c4d5ac44["async_effect"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> b2eacc8a_e339_c7cd_329a_2445c4d5ac44
  410f774f_2d1a_7114_fcba_b292ed7cae3a["destroy_effect"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 410f774f_2d1a_7114_fcba_b292ed7cae3a
  461d1f5f_ffa4_d984_98a4_868566c66f30["effect_tracking"]
  2fb8b3eb_7c25_3930_a184_09fab29d537f --> 461d1f5f_ffa4_d984_98a4_868566c66f30
  style 2fb8b3eb_7c25_3930_a184_09fab29d537f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Derived, Effect, Source } from '#client' */
/** @import { Batch } from './batch.js'; */
import { DEV } from 'esm-env';
import {
	ERROR_VALUE,
	DERIVED,
	DIRTY,
	EFFECT_PRESERVED,
	STALE_REACTION,
	ASYNC,
	WAS_MARKED,
	DESTROYED,
	CLEAN
} from '#client/constants';
import {
	active_reaction,
	active_effect,
	update_reaction,
	increment_write_version,
	set_active_effect,
	push_reaction_value,
	is_destroying_effect
} from '../runtime.js';
import { equals, safe_equals } from './equality.js';
import * as e from '../errors.js';
import * as w from '../warnings.js';
import { async_effect, destroy_effect, effect_tracking, teardown } from './effects.js';
import { eager_effects, internal_set, set_eager_effects, source } from './sources.js';
import { get_error } from '../../shared/dev.js';
import { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';
import { Boundary } from '../dom/blocks/boundary.js';
import { component_context } from '../context.js';
import { UNINITIALIZED } from '../../../constants.js';
import { batch_values, current_batch } from './batch.js';
import { unset_context } from './async.js';
import { deferred, includes } from '../../shared/utils.js';
import { set_signal_status, update_derived_status } from './status.js';

/** @type {Effect | null} */
export let current_async_effect = null;

/** @param {Effect | null} v */
export function set_from_async_derived(v) {
	current_async_effect = v;
}

export const recent_async_deriveds = new Set();

/**
 * @template V
 * @param {() => V} fn
 * @returns {Derived<V>}
 */
/*#__NO_SIDE_EFFECTS__*/
export function derived(fn) {
	var flags = DERIVED | DIRTY;
	var parent_derived =
		active_reaction !== null && (active_reaction.f & DERIVED) !== 0
			? /** @type {Derived} */ (active_reaction)
			: null;
// ... (335 more lines)

Domain

Subdomains

Frequently Asked Questions

What does deriveds.js do?
deriveds.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 deriveds.js?
deriveds.js defines 9 function(s): async_derived, derived, derived_safe_equal, destroy_derived_effects, execute_derived, get_derived_parent_effect, set_from_async_derived, update_derived, user_derived.
What does deriveds.js depend on?
deriveds.js imports 36 module(s): Boundary, async.js, async_effect, batch.js, boundary.js, constants, constants.js, context.js, and 28 more.
What files import deriveds.js?
deriveds.js is imported by 7 file(s): async.js, each.js, lifecycle.js, props.js, runtime.js, sources.js, test.ts.
Where is deriveds.js in the architecture?
deriveds.js is located at packages/svelte/src/internal/client/reactivity/deriveds.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