Home / File/ context.js — svelte Source File

context.js — svelte Source File

Architecture documentation for context.js, a javascript file in the svelte codebase. 2 imports, 3 dependents.

File javascript ServerRuntime Serialization 2 imports 3 dependents 11 functions

Entity Profile

Dependency Diagram

graph LR
  54c11eb3_9f61_b300_a3b1_1e9710d714ea["context.js"]
  aa72dc21_2f0c_e44b_b27f_dee45869de27["errors.js"]
  54c11eb3_9f61_b300_a3b1_1e9710d714ea --> aa72dc21_2f0c_e44b_b27f_dee45869de27
  c9866d91_a204_fa55_a9e3_6bcc6aaaec1e["esm-env"]
  54c11eb3_9f61_b300_a3b1_1e9710d714ea --> c9866d91_a204_fa55_a9e3_6bcc6aaaec1e
  8cc0d8dc_e5ce_948a_44b5_69c173cc6f73["index-server.js"]
  8cc0d8dc_e5ce_948a_44b5_69c173cc6f73 --> 54c11eb3_9f61_b300_a3b1_1e9710d714ea
  4440efa2_b84c_d186_53ca_534b0add2937["dev.js"]
  4440efa2_b84c_d186_53ca_534b0add2937 --> 54c11eb3_9f61_b300_a3b1_1e9710d714ea
  25166256_49ce_81f2_0877_fdbc689bed91["renderer.js"]
  25166256_49ce_81f2_0877_fdbc689bed91 --> 54c11eb3_9f61_b300_a3b1_1e9710d714ea
  style 54c11eb3_9f61_b300_a3b1_1e9710d714ea fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { SSRContext } from '#server' */
import { DEV } from 'esm-env';
import * as e from './errors.js';

/** @type {SSRContext | null} */
export var ssr_context = null;

/** @param {SSRContext | null} v */
export function set_ssr_context(v) {
	ssr_context = v;
}

/**
 * @template T
 * @returns {[() => T, (context: T) => T]}
 * @since 5.40.0
 */
export function createContext() {
	const key = {};

	return [
		() => {
			if (!hasContext(key)) {
				e.missing_context();
			}

			return getContext(key);
		},
		(context) => setContext(key, context)
	];
}

/**
 * @template T
 * @param {any} key
 * @returns {T}
 */
export function getContext(key) {
	const context_map = get_or_init_context_map('getContext');
	const result = /** @type {T} */ (context_map.get(key));

	return result;
}

/**
 * @template T
 * @param {any} key
 * @param {T} context
 * @returns {T}
 */
export function setContext(key, context) {
	get_or_init_context_map('setContext').set(key, context);
	return context;
}

/**
 * @param {any} key
 * @returns {boolean}
 */
export function hasContext(key) {
// ... (73 more lines)

Domain

Subdomains

Dependencies

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 ServerRuntime domain, Serialization subdomain.
What functions are defined in context.js?
context.js defines 11 function(s): createContext, getAllContexts, getContext, get_or_init_context_map, get_parent_context, hasContext, pop, push, save, setContext, and 1 more.
What does context.js depend on?
context.js imports 2 module(s): errors.js, esm-env.
What files import context.js?
context.js is imported by 3 file(s): dev.js, index-server.js, renderer.js.
Where is context.js in the architecture?
context.js is located at packages/svelte/src/internal/server/context.js (domain: ServerRuntime, subdomain: Serialization, directory: packages/svelte/src/internal/server).

Analyze Your Own Codebase

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

Try Supermodel Free