Home / Function/ idleDirective() — astro Function Reference

idleDirective() — astro Function Reference

Architecture documentation for the idleDirective() function in idle.ts from the astro codebase.

Entity Profile

Dependency Diagram

graph TD
  1a79b563_97a7_16e0_5740_a4310f841deb["idleDirective()"]
  4718c958_d72d_990e_1f87_0d5462348a88["idle.ts"]
  1a79b563_97a7_16e0_5740_a4310f841deb -->|defined in| 4718c958_d72d_990e_1f87_0d5462348a88
  style 1a79b563_97a7_16e0_5740_a4310f841deb fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/astro/src/runtime/client/idle.ts lines 3–21

const idleDirective: ClientDirective = (load, options) => {
	const cb = async () => {
		const hydrate = await load();
		await hydrate();
	};

	const rawOptions =
		typeof options.value === 'object' ? (options.value as IdleRequestOptions) : undefined;

	const idleOptions: IdleRequestOptions = {
		timeout: rawOptions?.timeout,
	};

	if ('requestIdleCallback' in window) {
		(window as any).requestIdleCallback(cb, idleOptions);
	} else {
		setTimeout(cb, idleOptions.timeout || 200);
	}
};

Domain

Subdomains

Frequently Asked Questions

What does idleDirective() do?
idleDirective() is a function in the astro codebase, defined in packages/astro/src/runtime/client/idle.ts.
Where is idleDirective() defined?
idleDirective() is defined in packages/astro/src/runtime/client/idle.ts at line 3.

Analyze Your Own Codebase

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

Try Supermodel Free