Home / Function/ is_equal() — svelte Function Reference

is_equal() — svelte Function Reference

Architecture documentation for the is_equal() function in assert.js from the svelte codebase.

Entity Profile

Dependency Diagram

graph TD
  b08cf1c0_84bb_cd18_5de6_c153149952c6["is_equal()"]
  2a2d28a9_d1e5_6b47_9375_279552e7c7f8["assert.js"]
  b08cf1c0_84bb_cd18_5de6_c153149952c6 -->|defined in| 2a2d28a9_d1e5_6b47_9375_279552e7c7f8
  4fefbd08_d272_ff47_898c_b7a7dd40c288["deepEqual()"]
  4fefbd08_d272_ff47_898c_b7a7dd40c288 -->|calls| b08cf1c0_84bb_cd18_5de6_c153149952c6
  style b08cf1c0_84bb_cd18_5de6_c153149952c6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/svelte/tests/runtime-browser/assert.js lines 22–40

function is_equal(a, b) {
	if (a && typeof a === 'object') {
		const is_array = Array.isArray(a);
		if (Array.isArray(b) !== is_array) return false;

		if (is_array) {
			if (a.length !== b.length) return false;
			return a.every((value, i) => is_equal(value, b[i]));
		}

		const a_keys = Object.keys(a).sort();
		const b_keys = Object.keys(b).sort();
		if (a_keys.join(',') !== b_keys.join(',')) return false;

		return a_keys.every((key) => is_equal(a[key], b[key]));
	}

	return a === b;
}

Domain

Subdomains

Called By

Frequently Asked Questions

What does is_equal() do?
is_equal() is a function in the svelte codebase, defined in packages/svelte/tests/runtime-browser/assert.js.
Where is is_equal() defined?
is_equal() is defined in packages/svelte/tests/runtime-browser/assert.js at line 22.
What calls is_equal()?
is_equal() is called by 1 function(s): deepEqual.

Analyze Your Own Codebase

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

Try Supermodel Free