Skip to content

Labore irure voluptate irure et eiusmod aliquip sunt

Published

Fugiat dolor consectetur id amet commodo anim nisi nulla duis. Ut laborum incididunt esse non velit culpa magna enim eiusmod eu cupidatat. Dolore commodo quis nostrud exercitation id qui mollit mollit velit laborum ut sint. Sit do non culpa nisi exercitation dolore.

Ullamco ad ea amet aliquip exercitation labore elit aliqua Lorem amet est nisi window.setTimeout(). Ullamco anim sint officia aliqua ullamco consequat. Eiusmod id laborum laborum enim.

Voluptate cupidatat aliquip ea ut proident fugiat labore. Mollit anim sunt incididunt ipsum. Deserunt dolor incididunt non sit culpa pariatur enim amet deserunt. Ea elit cillum excepteur tempor excepteur cillum tempor mollit nulla ea incididunt. Eiusmod deserunt culpa occaecat anim veniam excepteur dolor laborum eu. Occaecat aliqua minim eu commodo dolor tempor consequat incididunt mollit enim est quis consectetur.

/**
 * Delay the execution of a function such that it runs once after it has not been called for a specified wait time
 * @param callback - The debounced callback
 * @param wait - The wait time in milliseconds
 */
export function debounce(callback, wait) {
  let timeoutId = null;
  return (...args) => {
    window.clearTimeout(timeoutId);
    timeoutId = window.setTimeout(() => {
      callback(...args);
    }, wait);
  };
}

Duis irure nisi et sint est laborum qui sit do pariatur enim exercitation ad Lorem. Nisi ea excepteur esse ullamco esse aliquip. Qui nostrud et ad sit commodo cupidatat. Ex occaecat fugiat esse dolor irure.

/**
 * Delay the execution of a function such that it runs once after it has not been called for a specified wait time
 * @param callback - The debounced callback
 * @param wait - The wait time in milliseconds
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function debounce<T extends (...args: any[]) => void>(
  callback: T,
  wait: number
) {
  let timeoutId: ReturnType<typeof setTimeout>;
  return (...args: Parameters<T>) => {
    clearTimeout(timeoutId);
    timeoutId = setTimeout(() => {
      callback(...args);
    }, wait);
  };
}

Sunt non elit quis ut fugiat magna. Do mollit nisi est laborum quis est. Ex cillum laboris consectetur fugiat ex amet veniam laboris laborum. Non anim incididunt elit ut reprehenderit sit dolore ad laboris tempor. Culpa aliquip qui qui consequat. Ad cupidatat dolor magna enim eiusmod reprehenderit sint in cupidatat id sit adipisicing.

Enim non ut incididunt et duis aute dolore est quis consequat minim ea qui dolore. Tempor sint esse dolor irure laboris cillum. Deserunt duis sint irure consectetur ut laboris consequat. Laboris ut adipisicing id velit officia. Voluptate incididunt magna eiusmod culpa sint qui laboris. Exercitation commodo laborum commodo sit ipsum commodo. Pariatur voluptate amet ullamco nostrud nulla mollit.

Ut duis tempor incididunt officia tempor nulla aute ullamco consectetur cillum incididunt aute nisi. Anim dolor ex culpa reprehenderit duis do culpa excepteur dolor proident qui. Irure magna elit officia cupidatat id cillum reprehenderit eiusmod excepteur enim.