Home / File/ boundary.js — svelte Source File

boundary.js — svelte Source File

Architecture documentation for boundary.js, a javascript file in the svelte codebase. 43 imports, 5 dependents.

File javascript ClientRuntime Hydration 43 imports 5 dependents 3 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1["boundary.js"]
  73865c3c_2786_c9ac_d34f_b51d28b3a29e["constants.js"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 73865c3c_2786_c9ac_d34f_b51d28b3a29e
  48cf26f8_bf34_fd7a_3d52_cc963051e167["context.js"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 48cf26f8_bf34_fd7a_3d52_cc963051e167
  7a5dcc8e_a227_a041_3278_04368ddf1422["set_component_context"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 7a5dcc8e_a227_a041_3278_04368ddf1422
  a502a1d2_db34_608a_1001_5401b198ec66["error-handling.js"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> a502a1d2_db34_608a_1001_5401b198ec66
  6c1ccbf4_9a62_285e_f0c7_95d2b223818c["handle_error"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 6c1ccbf4_9a62_285e_f0c7_95d2b223818c
  623c7d5f_8856_1cec_42aa_d58e310da5d1["invoke_error_boundary"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 623c7d5f_8856_1cec_42aa_d58e310da5d1
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb
  1bd7dd6f_4c22_6f44_9747_fc5ea0deaa7b["block"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 1bd7dd6f_4c22_6f44_9747_fc5ea0deaa7b
  4ca1b5f2_087e_afec_72d9_534a30fbfe1f["branch"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 4ca1b5f2_087e_afec_72d9_534a30fbfe1f
  410f774f_2d1a_7114_fcba_b292ed7cae3a["destroy_effect"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 410f774f_2d1a_7114_fcba_b292ed7cae3a
  73cebc52_ca9e_1263_8a9a_afbc3e5f5b01["move_effect"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 73cebc52_ca9e_1263_8a9a_afbc3e5f5b01
  27507f0c_dcab_c3a5_2ce6_5e4b1ef9df3d["pause_effect"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> 27507f0c_dcab_c3a5_2ce6_5e4b1ef9df3d
  bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> bde4209f_8ffc_1594_4024_b1835a44bcf6
  a08b6cc5_af73_1be4_d02f_3113cf8a8305["get"]
  6d3d606a_fb7a_54af_1ece_f1eb12f174d1 --> a08b6cc5_af73_1be4_d02f_3113cf8a8305
  style 6d3d606a_fb7a_54af_1ece_f1eb12f174d1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Effect, Source, TemplateNode, } from '#client' */
import {
	BLOCK_EFFECT,
	BOUNDARY_EFFECT,
	COMMENT_NODE,
	DIRTY,
	EFFECT_PRESERVED,
	EFFECT_TRANSPARENT,
	MAYBE_DIRTY
} from '#client/constants';
import { HYDRATION_START_ELSE } from '../../../../constants.js';
import { component_context, set_component_context } from '../../context.js';
import { handle_error, invoke_error_boundary } from '../../error-handling.js';
import {
	block,
	branch,
	destroy_effect,
	move_effect,
	pause_effect
} from '../../reactivity/effects.js';
import {
	active_effect,
	active_reaction,
	get,
	set_active_effect,
	set_active_reaction
} from '../../runtime.js';
import {
	hydrate_next,
	hydrate_node,
	hydrating,
	next,
	skip_nodes,
	set_hydrate_node
} from '../hydration.js';
import { queue_micro_task } from '../task.js';
import * as e from '../../errors.js';
import * as w from '../../warnings.js';
import { DEV } from 'esm-env';
import { Batch, schedule_effect } from '../../reactivity/batch.js';
import { internal_set, source } from '../../reactivity/sources.js';
import { tag } from '../../dev/tracing.js';
import { createSubscriber } from '../../../../reactivity/create-subscriber.js';
import { create_text } from '../operations.js';
import { defer_effect } from '../../reactivity/utils.js';
import { set_signal_status } from '../../reactivity/status.js';

/**
 * @typedef {{
 * 	 onerror?: (error: unknown, reset: () => void) => void;
 *   failed?: (anchor: Node, error: () => unknown, reset: () => () => void) => void;
 *   pending?: (anchor: Node) => void;
 * }} BoundaryProps
 */

var flags = EFFECT_TRANSPARENT | EFFECT_PRESERVED | BOUNDARY_EFFECT;

/**
 * @param {TemplateNode} node
 * @param {BoundaryProps} props
// ... (444 more lines)

Domain

Subdomains

Classes

Frequently Asked Questions

What does boundary.js do?
boundary.js is a source file in the svelte codebase, written in javascript. It belongs to the ClientRuntime domain, Hydration subdomain.
What functions are defined in boundary.js?
boundary.js defines 3 function(s): boundary, get_boundary, pending.
What does boundary.js depend on?
boundary.js imports 43 module(s): Batch, batch.js, block, branch, constants, constants.js, context.js, create-subscriber.js, and 35 more.
What files import boundary.js?
boundary.js is imported by 5 file(s): async.js, async.js, deriveds.js, render.js, types.d.ts.
Where is boundary.js in the architecture?
boundary.js is located at packages/svelte/src/internal/client/dom/blocks/boundary.js (domain: ClientRuntime, subdomain: Hydration, directory: packages/svelte/src/internal/client/dom/blocks).

Analyze Your Own Codebase

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

Try Supermodel Free