renderer.js — svelte Source File
Architecture documentation for renderer.js, a javascript file in the svelte codebase. 22 imports, 4 dependents.
Entity Profile
Dependency Diagram
graph LR 25166256_49ce_81f2_0877_fdbc689bed91["renderer.js"] 3c211218_0172_f6af_dd4f_da8028a531fc["index.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 3c211218_0172_f6af_dd4f_da8028a531fc 58cbf64d_c2fb_d044_5d52_15a038a16954["abort-signal.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 58cbf64d_c2fb_d044_5d52_15a038a16954 572ea79b_f4bf_a24e_0f5b_954657c97e84["abort"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 572ea79b_f4bf_a24e_0f5b_954657c97e84 54c11eb3_9f61_b300_a3b1_1e9710d714ea["context.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 54c11eb3_9f61_b300_a3b1_1e9710d714ea df0cdd9c_f6ec_a739_2719_d244ec719eb0["pop"] 25166256_49ce_81f2_0877_fdbc689bed91 --> df0cdd9c_f6ec_a739_2719_d244ec719eb0 fdf60e1d_a02e_0392_dd90_c7667cd3b6fa["push"] 25166256_49ce_81f2_0877_fdbc689bed91 --> fdf60e1d_a02e_0392_dd90_c7667cd3b6fa fd36db6e_7997_3606_5582_56b6e78ced09["set_ssr_context"] 25166256_49ce_81f2_0877_fdbc689bed91 --> fd36db6e_7997_3606_5582_56b6e78ced09 0a9a4c5d_b0cb_29b6_9270_06116be9838e["save"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 0a9a4c5d_b0cb_29b6_9270_06116be9838e aa72dc21_2f0c_e44b_b27f_dee45869de27["errors.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> aa72dc21_2f0c_e44b_b27f_dee45869de27 71b259bd_5f72_cc6d_b70f_26cc5271a43c["warnings.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 71b259bd_5f72_cc6d_b70f_26cc5271a43c bb0c9dd4_b592_cf45_1390_8cfbd8a288ec["hydration.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> bb0c9dd4_b592_cf45_1390_8cfbd8a288ec 1c4bc493_24af_177e_7307_a999997aceac["index.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 1c4bc493_24af_177e_7307_a999997aceac 30cd611d_dc10_8cb7_0b6a_cde40be8727a["attributes"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 30cd611d_dc10_8cb7_0b6a_cde40be8727a 006232e6_7197_38b5_bd13_0b28c51c2ac8["render-context.js"] 25166256_49ce_81f2_0877_fdbc689bed91 --> 006232e6_7197_38b5_bd13_0b28c51c2ac8 style 25166256_49ce_81f2_0877_fdbc689bed91 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
/** @import { Component } from 'svelte' */
/** @import { Csp, HydratableContext, RenderOutput, SSRContext, SyncRenderOutput, Sha256Source } from './types.js' */
/** @import { MaybePromise } from '#shared' */
import { async_mode_flag } from '../flags/index.js';
import { abort } from './abort-signal.js';
import { pop, push, set_ssr_context, ssr_context, save } from './context.js';
import * as e from './errors.js';
import * as w from './warnings.js';
import { BLOCK_CLOSE, BLOCK_OPEN } from './hydration.js';
import { attributes } from './index.js';
import { get_render_context, with_render_context, init_render_context } from './render-context.js';
import { sha256 } from './crypto.js';
import * as devalue from 'devalue';
import { noop } from '../shared/utils.js';
/** @typedef {'head' | 'body'} RendererType */
/** @typedef {{ [key in RendererType]: string }} AccumulatedContent */
/**
* @typedef {string | Renderer} RendererItem
*/
/**
* Renderers are basically a tree of `string | Renderer`s, where each `Renderer` in the tree represents
* work that may or may not have completed. A renderer can be {@link collect}ed to aggregate the
* content from itself and all of its children, but this will throw if any of the children are
* performing asynchronous work. To asynchronously collect a renderer, just `await` it.
*
* The `string` values within a renderer are always associated with the {@link type} of that renderer. To switch types,
* call {@link child} with a different `type` argument.
*/
export class Renderer {
/**
* The contents of the renderer.
* @type {RendererItem[]}
*/
#out = [];
/**
* Any `onDestroy` callbacks registered during execution of this renderer.
* @type {(() => void)[] | undefined}
*/
#on_destroy = undefined;
/**
* Whether this renderer is a component body.
* @type {boolean}
*/
#is_component_body = false;
/**
* The type of string content that this renderer is accumulating.
* @type {RendererType}
*/
type;
/** @type {Renderer | undefined} */
#parent;
/**
// ... (722 more lines)
Domain
Subdomains
Dependencies
Imported By
Source
Frequently Asked Questions
What does renderer.js do?
renderer.js is a source file in the svelte codebase, written in javascript. It belongs to the ServerRuntime domain, Renderer subdomain.
What does renderer.js depend on?
renderer.js imports 22 module(s): abort, abort-signal.js, attributes, context.js, crypto.js, devalue, errors.js, get_render_context, and 14 more.
What files import renderer.js?
renderer.js is imported by 4 file(s): dev.js, index.js, renderer.test.ts, types.d.ts.
Where is renderer.js in the architecture?
renderer.js is located at packages/svelte/src/internal/server/renderer.js (domain: ServerRuntime, subdomain: Renderer, 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