sensordb2 e64a8defe5 3.17 1 vuosi sitten
..
.eslintrc e64a8defe5 3.17 1 vuosi sitten
.travis.yml e64a8defe5 3.17 1 vuosi sitten
LICENSE e64a8defe5 3.17 1 vuosi sitten
README.md e64a8defe5 3.17 1 vuosi sitten
index.d.ts e64a8defe5 3.17 1 vuosi sitten
index.js e64a8defe5 3.17 1 vuosi sitten
package.json e64a8defe5 3.17 1 vuosi sitten
prettier.config.js e64a8defe5 3.17 1 vuosi sitten
test.js e64a8defe5 3.17 1 vuosi sitten

README.md

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.
var db = require('just-debounce');

var debounced = db(function (v) {
  console.log(v);
}, 100);

debounced('hi');
debounced('hi');
// logs 'hi' once after 100ms
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
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