Add debounce

This commit is contained in:
Denis Sokolov
2015-11-30 14:00:24 +02:00
parent fb2b3b1e06
commit 3a605075a6
2 changed files with 25 additions and 0 deletions
+11
View File
@@ -0,0 +1,11 @@
// Type definitions for compose-function
// Project: https://github.com/component/debounce
// Definitions by: Denis Sokolov <https://github.com/denis-sokolov>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare module "debounce" {
// Overload on boolean constants would allow us to narrow further,
// but it is not implemented for TypeScript yet
function f<A extends Function>(f: A, interval?: number, immediate?: boolean): A
export default f;
}
+14
View File
@@ -0,0 +1,14 @@
/// <reference path="debounce.d.ts" />
import debounce = require("debounce");
const doThings = () => 1;
debounce(function(){ doThings(); })();
debounce(function(){ doThings(); }, 1000)();
debounce(function(a: string){ doThings(); }, 1000)("foo");
// Immediate true should return the value
const imm1: number = (debounce((x: number) => x * 2, 100, true))(2);