Home / File/ batch.js — svelte Source File

batch.js — svelte Source File

Architecture documentation for batch.js, a javascript file in the svelte codebase. 29 imports, 17 dependents.

File javascript ClientRuntime Reactivity 29 imports 17 dependents 13 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f["batch.js"]
  3c211218_0172_f6af_dd4f_da8028a531fc["index.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 3c211218_0172_f6af_dd4f_da8028a531fc
  cb946435_ce66_d1e8_6bee_287bdb07e7c5["utils.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> cb946435_ce66_d1e8_6bee_287bdb07e7c5
  ca823eda_572f_96a7_a6c1_3275230578c1["deferred"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> ca823eda_572f_96a7_a6c1_3275230578c1
  bde4209f_8ffc_1594_4024_b1835a44bcf6["runtime.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> bde4209f_8ffc_1594_4024_b1835a44bcf6
  a08b6cc5_af73_1be4_d02f_3113cf8a8305["get"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> a08b6cc5_af73_1be4_d02f_3113cf8a8305
  4af42bfc_fe4c_0160_eada_7d109f39af3a["increment_write_version"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 4af42bfc_fe4c_0160_eada_7d109f39af3a
  9d7b1994_c635_b82f_ff1f_b19fc461c425["is_dirty"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 9d7b1994_c635_b82f_ff1f_b19fc461c425
  19374192_7fff_dd82_3581_d62b472dfbdd["update_effect"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 19374192_7fff_dd82_3581_d62b472dfbdd
  ff387d97_d6d2_81e0_e731_656552709d27["errors.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> ff387d97_d6d2_81e0_e731_656552709d27
  8e9a8b22_9754_09a3_8bf1_af0aeb68deca["task.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 8e9a8b22_9754_09a3_8bf1_af0aeb68deca
  2971ce9b_3ec0_83be_f33b_e82e216aeeb3["flush_tasks"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 2971ce9b_3ec0_83be_f33b_e82e216aeeb3
  2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 2cab0f64_6d19_d981_66e2_d2555c252702
  a502a1d2_db34_608a_1001_5401b198ec66["error-handling.js"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> a502a1d2_db34_608a_1001_5401b198ec66
  623c7d5f_8856_1cec_42aa_d58e310da5d1["invoke_error_boundary"]
  d8e42d9d_2e3c_635c_19d3_b946a4341c0f --> 623c7d5f_8856_1cec_42aa_d58e310da5d1
  style d8e42d9d_2e3c_635c_19d3_b946a4341c0f fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/** @import { Fork } from 'svelte' */
/** @import { Derived, Effect, Reaction, Source, Value } from '#client' */
/** @import { Boundary } from '../dom/blocks/boundary' */
import {
	BLOCK_EFFECT,
	BRANCH_EFFECT,
	CLEAN,
	DESTROYED,
	DIRTY,
	EFFECT,
	ASYNC,
	INERT,
	RENDER_EFFECT,
	ROOT_EFFECT,
	MAYBE_DIRTY,
	DERIVED,
	BOUNDARY_EFFECT,
	EAGER_EFFECT,
	HEAD_EFFECT,
	ERROR_VALUE,
	MANAGED_EFFECT
} from '#client/constants';
import { async_mode_flag } from '../../flags/index.js';
import { deferred, define_property, includes } from '../../shared/utils.js';
import {
	active_effect,
	get,
	increment_write_version,
	is_dirty,
	update_effect
} from '../runtime.js';
import * as e from '../errors.js';
import { flush_tasks, queue_micro_task } from '../dom/task.js';
import { DEV } from 'esm-env';
import { invoke_error_boundary } from '../error-handling.js';
import { flush_eager_effects, old_values, set_eager_effects, source, update } from './sources.js';
import { eager_effect, unlink_effect } from './effects.js';
import { defer_effect } from './utils.js';
import { UNINITIALIZED } from '../../../constants.js';
import { set_signal_status } from './status.js';

/** @type {Set<Batch>} */
const batches = new Set();

/** @type {Batch | null} */
export let current_batch = null;

/**
 * This is needed to avoid overwriting inputs in non-async mode
 * TODO 6.0 remove this, as non-async mode will go away
 * @type {Batch | null}
 */
export let previous_batch = null;

/**
 * When time travelling (i.e. working in one batch, while other batches
 * still have ongoing work), we ignore the real values of affected
 * signals in favour of their values within the batch
 * @type {Map<Value, any> | null}
 */
// ... (1004 more lines)

Domain

Subdomains

Classes

Frequently Asked Questions

What does batch.js do?
batch.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 batch.js?
batch.js defines 13 function(s): clear, depends_on, eager, eager_flush, flushSync, flush_effects, flush_queued_effects, fork, infinite_loop_guard, mark_eager_effects, and 3 more.
What does batch.js depend on?
batch.js imports 29 module(s): constants, constants.js, defer_effect, deferred, eager_effect, effects.js, error-handling.js, errors.js, and 21 more.
What files import batch.js?
batch.js is imported by 17 file(s): async.js, async.js, await.js, boundary.js, branches.js, deriveds.js, each.js, effects.js, and 9 more.
Where is batch.js in the architecture?
batch.js is located at packages/svelte/src/internal/client/reactivity/batch.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