export function throttle any>(fn: T, delay: number): (...args: Parameters) => ReturnType { let lastCall = 0; let lastResult: ReturnType; return function (...args: Parameters): ReturnType { const now = Date.now(); if (now - lastCall >= delay) { lastCall = now; lastResult = fn.apply(this, args); } return lastResult; }; }