initial commit
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, at_start, guarantee) {
|
||||
var timeout
|
||||
var args
|
||||
var self
|
||||
|
||||
return function debounced () {
|
||||
self = this
|
||||
args = Array.prototype.slice.call(arguments)
|
||||
|
||||
if (timeout && (at_start || guarantee)) {
|
||||
return
|
||||
} else if (!at_start) {
|
||||
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