diff --git a/src/shared/lib/helpers/createDebouncedState/createDebouncedState.svelte.ts b/src/shared/lib/helpers/createDebouncedState/createDebouncedState.svelte.ts index 047f676..93840cc 100644 --- a/src/shared/lib/helpers/createDebouncedState/createDebouncedState.svelte.ts +++ b/src/shared/lib/helpers/createDebouncedState/createDebouncedState.svelte.ts @@ -1,5 +1,28 @@ import { debounce } from '$shared/lib/utils'; +/** + * Creates reactive state with immediate and debounced values. + * + * Useful for UI inputs that need instant feedback but debounced logic + * (e.g., search fields with API calls). The immediate value updates on + * every change for UI binding, while debounced updates after a delay. + * + * @param initialValue - Initial value for both immediate and debounced state + * @param wait - Delay in milliseconds before updating debounced value (default: 300) + * @returns Object with immediate/debounced getters, immediate setter, and reset method + * + * @example + * ```svelte + * + * + * + * + *
Typing: {search.immediate}
+ *Searching: {search.debounced}
+ * ``` + */ export function createDebouncedState