UNPKG

ts-prime

Version:

A utility library for JavaScript and Typescript.

32 lines (31 loc) 877 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var purry_1 = require("./purry"); function debounce() { return purry_1.purry(__debounce, arguments); } exports.debounce = debounce; 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; }); }