Home / File/ _config.js — svelte Source File

_config.js — svelte Source File

Architecture documentation for _config.js, a javascript file in the svelte codebase. 2 imports, 0 dependents.

Entity Profile

Dependency Diagram

graph LR
  9eee2e7b_d837_691d_23b6_70457d67ff99["_config.js"]
  d952c6b0_fdc4_6752_d5aa_0b4adfa256ee["test.ts"]
  9eee2e7b_d837_691d_23b6_70457d67ff99 --> d952c6b0_fdc4_6752_d5aa_0b4adfa256ee
  4ead6623_c53e_ab40_5690_64903d5addf1["svelte"]
  9eee2e7b_d837_691d_23b6_70457d67ff99 --> 4ead6623_c53e_ab40_5690_64903d5addf1
  style 9eee2e7b_d837_691d_23b6_70457d67ff99 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import { flushSync } from 'svelte';
import { test } from '../../test';

export default test({
	async test({ assert, target }) {
		const [b1, b2, b3] = target.querySelectorAll('button');

		// not flushing means we wait a tick before showing the pending state ...
		b2.click();
		await Promise.resolve();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button>`
		);

		// ... and show the then state directly if the promise resolved by then
		await Promise.resolve();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button> then`
		);

		// reset
		b1.click();
		flushSync();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button>`
		);

		// flushing means we show the pending state immediately
		b2.click();
		flushSync();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button> pending`
		);

		await Promise.resolve();
		b1.click();
		flushSync();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button>`
		);

		// when not flushing ...
		b3.click();
		await Promise.resolve();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button>`
		);

		// ... we show the pending state after a tick when the promise hasn't resolved by then
		await Promise.resolve();
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button> pending`
		);

		await new Promise((r) => setTimeout(r, 110));
		assert.htmlEqual(
			target.innerHTML,
			`<button>Clear</button> <button>Immediate</button> <button>Takes time</button> then`
		);
	}
});

Domain

Subdomains

Functions

Dependencies

Frequently Asked Questions

What does _config.js do?
_config.js is a source file in the svelte codebase, written in javascript. It belongs to the BuildSystem domain, MessageProcessor subdomain.
What functions are defined in _config.js?
_config.js defines 1 function(s): default.test.
What does _config.js depend on?
_config.js imports 2 module(s): svelte, test.ts.
Where is _config.js in the architecture?
_config.js is located at packages/svelte/tests/runtime-runes/samples/await-pending-wait/_config.js (domain: BuildSystem, subdomain: MessageProcessor, directory: packages/svelte/tests/runtime-runes/samples/await-pending-wait).

Analyze Your Own Codebase

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

Try Supermodel Free