Home / File/ set.test.ts — svelte Source File

set.test.ts — svelte Source File

Architecture documentation for set.test.ts, a typescript file in the svelte codebase. 7 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  b4a6f564_9aa8_4c6b_ce31_932a89e33306["set.test.ts"]
  1ae6fa4e_16ee_acdf_5e28_17eb0819fddb["effects.js"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> 1ae6fa4e_16ee_acdf_5e28_17eb0819fddb
  7494b934_a3b8_689e_91b6_8435e26461c5["render_effect"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> 7494b934_a3b8_689e_91b6_8435e26461c5
  cf74814c_38ff_1817_80eb_cbc1bb490472["effect_root"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> cf74814c_38ff_1817_80eb_cbc1bb490472
  717fc8d5_bdb4_4b73_d6c5_c4a367a60cf2["index-client.js"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> 717fc8d5_bdb4_4b73_d6c5_c4a367a60cf2
  4906f61a_c290_2722_44b4_523e6fa121db["set.js"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> 4906f61a_c290_2722_44b4_523e6fa121db
  eea73370_3158_afe8_bb16_b4ffb58d476f["SvelteSet"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> eea73370_3158_afe8_bb16_b4ffb58d476f
  b63ddb92_634c_990b_eb1b_0bad8a4d434e["vitest"]
  b4a6f564_9aa8_4c6b_ce31_932a89e33306 --> b63ddb92_634c_990b_eb1b_0bad8a4d434e
  style b4a6f564_9aa8_4c6b_ce31_932a89e33306 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { render_effect, effect_root } from '../internal/client/reactivity/effects.js';
import { flushSync } from '../index-client.js';
import { SvelteSet } from './set.js';
import { assert, test } from 'vitest';

test('set.values()', () => {
	const set = new SvelteSet([1, 2, 3, 4, 5]);

	const log: any = [];

	const cleanup = effect_root(() => {
		render_effect(() => {
			log.push(set.size);
		});

		render_effect(() => {
			log.push(set.has(3));
		});

		render_effect(() => {
			log.push(Array.from(set));
		});
	});

	flushSync(() => {
		set.delete(3);
	});

	flushSync(() => {
		set.clear();
	});

	assert.deepEqual(log, [5, true, [1, 2, 3, 4, 5], 4, false, [1, 2, 4, 5], 0, false, []]);

	cleanup();
});

test('set.has(...)', () => {
	const set = new SvelteSet([1, 2, 3]);

	const log: any = [];

	const cleanup = effect_root(() => {
		render_effect(() => {
			log.push('has 1', set.has(1));
		});

		render_effect(() => {
			log.push('has 2', set.has(2));
		});

		render_effect(() => {
			log.push('has 3', set.has(3));
		});
	});

	flushSync(() => {
		set.delete(2);
	});

// ... (100 more lines)

Frequently Asked Questions

What does set.test.ts do?
set.test.ts is a source file in the svelte codebase, written in typescript. It belongs to the SharedInternal domain.
What does set.test.ts depend on?
set.test.ts imports 7 module(s): SvelteSet, effect_root, effects.js, index-client.js, render_effect, set.js, vitest.
Where is set.test.ts in the architecture?
set.test.ts is located at packages/svelte/src/reactivity/set.test.ts (domain: SharedInternal, directory: packages/svelte/src/reactivity).

Analyze Your Own Codebase

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

Try Supermodel Free