# just-debounce just a basic debounce function # changes - `1.1.0`: added typescript definitions # Why? I searched npm and the first 3 pages of results for "debounce" did not have a small correctly implemented version of debounce # Usage ### arguments - `fn`: the function to debounce - `delay`: debounce delay in ms - `atStart:` if true, the function will be called at the beginning of the delay rather than the end - `guarantee`: additional calls to debounced function will not reset they `delay`. This guarantees that if the function is called frequently, it will fire once every `delay` rather than waiting for a break in calls. ```javascript var db = require('just-debounce'); var debounced = db(function (v) { console.log(v); }, 100); debounced('hi'); debounced('hi'); // logs 'hi' once after 100ms ``` ```javascript var db = require('just-debounce'); var debounced = db( function (v) { console.log(v); }, 100, true ); debounced('hi'); debounced('hi'); // logs 'hi' once right away, but not a second time. calling after 100ms will log again ``` ```javascript var db = require('just-debounce'); var debounced = db( function (v) { console.log(v); }, 100, false, true ); debounced('hi'); setTimeout(function () { debounced('hi2'); }, 80); // logs 'hi2' once 100ms after the first call to debounced ``` # license MIT