Home / Function/ decrement() — svelte Function Reference

decrement() — svelte Function Reference

Architecture documentation for the decrement() function in batch.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  d3725093_785a_922d_c180_94a562b1a49b["decrement()"]
  517c145b_769f_b163_6854_d8f2a4412e11["Batch"]
  d3725093_785a_922d_c180_94a562b1a49b -->|defined in| 517c145b_769f_b163_6854_d8f2a4412e11
  4de7f5ce_83b2_1bef_8e42_34d4dcb4c29f["async()"]
  4de7f5ce_83b2_1bef_8e42_34d4dcb4c29f -->|calls| d3725093_785a_922d_c180_94a562b1a49b
  9a4a3f08_7a6a_f871_c243_a35a6690f3f7["run()"]
  9a4a3f08_7a6a_f871_c243_a35a6690f3f7 -->|calls| d3725093_785a_922d_c180_94a562b1a49b
  a387a36f_f417_a149_0b1a_ee4a1da63440["async_derived()"]
  a387a36f_f417_a149_0b1a_ee4a1da63440 -->|calls| d3725093_785a_922d_c180_94a562b1a49b
  67fa511b_0187_f041_2ace_159bdaf811ae["deferred_template_effect()"]
  67fa511b_0187_f041_2ace_159bdaf811ae -->|calls| d3725093_785a_922d_c180_94a562b1a49b
  4774c826_f54f_963c_c1ab_fc51e1b4c790["is_deferred()"]
  d3725093_785a_922d_c180_94a562b1a49b -->|calls| 4774c826_f54f_963c_c1ab_fc51e1b4c790
  4a5c85d2_dfaa_8eed_83a2_1b140cad91fb["revive()"]
  d3725093_785a_922d_c180_94a562b1a49b -->|calls| 4a5c85d2_dfaa_8eed_83a2_1b140cad91fb
  ec59c019_2fd3_2a1c_3cf5_7cd95b795a96["flush()"]
  d3725093_785a_922d_c180_94a562b1a49b -->|calls| ec59c019_2fd3_2a1c_3cf5_7cd95b795a96
  2cab0f64_6d19_d981_66e2_d2555c252702["queue_micro_task()"]
  d3725093_785a_922d_c180_94a562b1a49b -->|calls| 2cab0f64_6d19_d981_66e2_d2555c252702
  style d3725093_785a_922d_c180_94a562b1a49b fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/src/internal/client/reactivity/batch.js lines 465–485

	decrement(blocking) {
		this.#pending -= 1;
		if (blocking) this.#blocking_pending -= 1;

		if (this.#decrement_queued) return;
		this.#decrement_queued = true;

		queue_micro_task(() => {
			this.#decrement_queued = false;

			if (!this.is_deferred()) {
				// we only reschedule previously-deferred effects if we expect
				// to be able to run them after processing the batch
				this.revive();
			} else if (queued_root_effects.length > 0) {
				// if other effects are scheduled, process the batch _without_
				// rescheduling the previously-deferred effects
				this.flush();
			}
		});
	}

Domain

Subdomains

Frequently Asked Questions

What does decrement() do?
decrement() is a function in the svelte codebase, defined in packages/svelte/src/internal/client/reactivity/batch.js.
Where is decrement() defined?
decrement() is defined in packages/svelte/src/internal/client/reactivity/batch.js at line 465.
What does decrement() call?
decrement() calls 4 function(s): flush, is_deferred, queue_micro_task, revive.
What calls decrement()?
decrement() is called by 4 function(s): async, async_derived, deferred_template_effect, run.

Analyze Your Own Codebase

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

Try Supermodel Free