UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

29 lines (28 loc) 769 B
import { purry } from "./purry"; export function debounce() { return purry(__debounce, arguments); } function __debounce(func, debounceTimeMs) { // tslint:disable: no-let var result = null; var debounceTimer = null; return (function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (result == null) { result = { r: func.apply(void 0, args), }; return result.r; } clearTimeout(debounceTimer); debounceTimer = setTimeout(function () { result = { r: func.apply(void 0, args), }; }, debounceTimeMs); return result.r; }); }