deriveds.js — svelte Source File
Architecture documentation for deriveds.js, a javascript file in the svelte codebase. 36 imports, 7 dependents.
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
Functions
Dependencies
- Boundary
- async.js
- async_effect
- batch.js
- boundary.js
- constants
- constants.js
- context.js
- deferred
- destroy_effect
- dev.js
- effect_tracking
- effects.js
- equality.js
- equals
- errors.js
- esm-env
- get_error
- increment_write_version
- index.js
- internal_set
- push_reaction_value
- runtime.js
- safe_equals
- set_active_effect
- set_eager_effects
- set_signal_status
- source
- sources.js
- status.js
- teardown
- unset_context
- update_derived_status
- update_reaction
- utils.js
- warnings.js
Imported By
- packages/svelte/src/internal/client/reactivity/async.js
- packages/svelte/src/internal/client/dom/blocks/each.js
- packages/svelte/src/internal/client/dom/legacy/lifecycle.js
- packages/svelte/src/internal/client/reactivity/props.js
- packages/svelte/src/internal/client/runtime.js
- packages/svelte/src/internal/client/reactivity/sources.js
- packages/svelte/tests/signals/test.ts
Source
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