context.js — svelte Source File
Architecture documentation for context.js, a javascript file in the svelte codebase. 8 imports, 21 dependents.
Entity Profile
Dependency Diagram
graph LR 48cf26f8_bf34_fd7a_3d52_cc963051e167["context.js"] ff387d97_d6d2_81e0_e731_656552709d27["errors.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> ff387d97_d6d2_81e0_e731_656552709d27 bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> bde4209f_8ffc_1594_4024_b1835a44bcf6 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb 13759887_b861_b51d_34c2_eae058e70740["create_user_effect"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> 13759887_b861_b51d_34c2_eae058e70740 3c211218_0172_f6af_dd4f_da8028a531fc["index.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> 3c211218_0172_f6af_dd4f_da8028a531fc 73865c3c_2786_c9ac_d34f_b51d28b3a29e["constants.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> 73865c3c_2786_c9ac_d34f_b51d28b3a29e 984fb981_b6f6_b4f9_e92f_deca1946ed7f["constants.js"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> 984fb981_b6f6_b4f9_e92f_deca1946ed7f c9866d91_a204_fa55_a9e3_6bcc6aaaec1e["esm-env"] 48cf26f8_bf34_fd7a_3d52_cc963051e167 --> c9866d91_a204_fa55_a9e3_6bcc6aaaec1e 717fc8d5_bdb4_4b73_d6c5_c4a367a60cf2["index-client.js"] 717fc8d5_bdb4_4b73_d6c5_c4a367a60cf2 --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 3ab252dc_d6ce_1bc4_5889_915271359ea9["elements.js"] 3ab252dc_d6ce_1bc4_5889_915271359ea9 --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 e70d565a_b58f_b8a3_6358_70d749ddae50["legacy.js"] e70d565a_b58f_b8a3_6358_70d749ddae50 --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 ad878f27_7e4b_5069_1b06_1750c58a617d["ownership.js"] ad878f27_7e4b_5069_1b06_1750c58a617d --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 277e61a1_318f_c1a6_cf40_f6e1a0f3aa2f["await.js"] 277e61a1_318f_c1a6_cf40_f6e1a0f3aa2f --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 6d3d606a_fb7a_54af_1ece_f1eb12f174d1["boundary.js"] 6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 48cf26f8_bf34_fd7a_3d52_cc963051e167 style 48cf26f8_bf34_fd7a_3d52_cc963051e167 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { ComponentContext, DevStackEntry, Effect } from '#client' */
import { DEV } from 'esm-env';
import * as e from './errors.js';
import { active_effect, active_reaction } from './runtime.js';
import { create_user_effect } from './reactivity/effects.js';
import { async_mode_flag, legacy_mode_flag } from '../flags/index.js';
import { FILENAME } from '../../constants.js';
import { BRANCH_EFFECT, EFFECT_RAN } from './constants.js';
/** @type {ComponentContext | null} */
export let component_context = null;
/** @param {ComponentContext | null} context */
export function set_component_context(context) {
component_context = context;
}
/** @type {DevStackEntry | null} */
export let dev_stack = null;
/** @param {DevStackEntry | null} stack */
export function set_dev_stack(stack) {
dev_stack = stack;
}
/**
* Execute a callback with a new dev stack entry
* @param {() => any} callback - Function to execute
* @param {DevStackEntry['type']} type - Type of block/component
* @param {any} component - Component function
* @param {number} line - Line number
* @param {number} column - Column number
* @param {Record<string, any>} [additional] - Any additional properties to add to the dev stack entry
* @returns {any}
*/
export function add_svelte_meta(callback, type, component, line, column, additional) {
const parent = dev_stack;
dev_stack = {
type,
file: component[FILENAME],
line,
column,
parent,
...additional
};
try {
return callback();
} finally {
dev_stack = parent;
}
}
/**
* The current component function. Different from current component context:
* ```html
* <!-- App.svelte -->
* <Foo>
* <Bar /> <!-- context == Foo.svelte, function == App.svelte -->
// ... (199 more lines)
Domain
Subdomains
Functions
Dependencies
Imported By
- packages/svelte/src/internal/client/reactivity/async.js
- packages/svelte/src/internal/client/dom/blocks/await.js
- packages/svelte/src/internal/client/dom/blocks/boundary.js
- packages/svelte/src/internal/client/reactivity/deriveds.js
- packages/svelte/src/internal/client/reactivity/effects.js
- packages/svelte/src/internal/client/dev/elements.js
- packages/svelte/src/internal/client/dom/blocks/html.js
- packages/svelte/src/index-client.js
- packages/svelte/src/internal/client/dom/elements/bindings/input.js
- packages/svelte/src/internal/client/dom/blocks/key.js
- packages/svelte/src/legacy/legacy-client.js
- packages/svelte/src/internal/client/dev/legacy.js
- packages/svelte/src/internal/client/dom/legacy/lifecycle.js
- packages/svelte/src/internal/client/dev/ownership.js
- packages/svelte/src/internal/client/render.js
- packages/svelte/src/internal/client/runtime.js
- packages/svelte/src/internal/client/dom/blocks/snippet.js
- packages/svelte/src/internal/client/reactivity/sources.js
- packages/svelte/src/internal/client/dom/blocks/svelte-element.js
- packages/svelte/tests/signals/test.ts
- packages/svelte/src/internal/client/validate.js
Source
Frequently Asked Questions
What does context.js do?
context.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, LegacyBridge subdomain.
What functions are defined in context.js?
context.js defines 14 function(s): add_svelte_meta, createContext, getAllContexts, getContext, get_or_init_context_map, get_parent_context, hasContext, is_runes, pop, push, and 4 more.
What does context.js depend on?
context.js imports 8 module(s): constants.js, constants.js, create_user_effect, effects.js, errors.js, esm-env, index.js, runtime.js.
What files import context.js?
context.js is imported by 21 file(s): async.js, await.js, boundary.js, deriveds.js, effects.js, elements.js, html.js, index-client.js, and 13 more.
Where is context.js in the architecture?
context.js is located at packages/svelte/src/internal/client/context.js (domain: ClientRuntime, subdomain: LegacyBridge, directory: packages/svelte/src/internal/client).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free