ubdate
This commit is contained in:
34
node_modules/just-debounce/index.js
generated
vendored
Normal file
34
node_modules/just-debounce/index.js
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
module.exports = debounce;
|
||||
|
||||
function debounce(fn, delay, atStart, guarantee) {
|
||||
var timeout;
|
||||
var args;
|
||||
var self;
|
||||
|
||||
return function debounced() {
|
||||
self = this;
|
||||
args = Array.prototype.slice.call(arguments);
|
||||
|
||||
if (timeout && (atStart || guarantee)) {
|
||||
return;
|
||||
} else if (!atStart) {
|
||||
clear();
|
||||
|
||||
timeout = setTimeout(run, delay);
|
||||
return timeout;
|
||||
}
|
||||
|
||||
timeout = setTimeout(clear, delay);
|
||||
fn.apply(self, args);
|
||||
|
||||
function run() {
|
||||
clear();
|
||||
fn.apply(self, args);
|
||||
}
|
||||
|
||||
function clear() {
|
||||
clearTimeout(timeout);
|
||||
timeout = null;
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user