From: Jukka Kurkela Date: Sun, 21 Mar 2021 15:50:28 +0000 (+0200) Subject: Add typings for throttled and debounce (#8689) X-Git-Tag: v3.0.0-rc.2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d79b5a3d60bba39a285f4eb878839dee2b4027da;p=thirdparty%2FChart.js.git Add typings for throttled and debounce (#8689) * Add typings for throttled and debounce * Review feedback * args for fn too * one more --- diff --git a/types/helpers/helpers.extras.d.ts b/types/helpers/helpers.extras.d.ts index 5979b86b4..d3ddc784e 100644 --- a/types/helpers/helpers.extras.d.ts +++ b/types/helpers/helpers.extras.d.ts @@ -4,3 +4,20 @@ export function fontString(pixelSize: number, fontStyle: string, fontFamily: str * Request animation polyfill */ export function requestAnimFrame(cb: () => void): void; + +/** + * Throttles calling `fn` once per animation frame + * Latest argments are used on the actual call + * @param {function} fn + * @param {*} thisArg + * @param {function} [updateFn] + */ +export function throttled(fn: (...args: any[]) => void, thisArg: any, updateFn?: (...args: any[]) => any[]): (...args: any[]) => void; + +/** + * Debounces calling `fn` for `delay` ms + * @param {function} fn - Function to call. No arguments are passed. + * @param {number} delay - Delay in ms. 0 = immediate invocation. + * @returns {function} + */ +export function debounce(fn: () => void, delay: number): () => number;