add files
This commit is contained in:
21
assets/js/vendor/throttle-debounce/debounce.js
vendored
Normal file
21
assets/js/vendor/throttle-debounce/debounce.js
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/* eslint-disable no-undefined */
|
||||
|
||||
import throttle from './throttle';
|
||||
|
||||
/**
|
||||
* Debounce execution of a function. Debouncing, unlike throttling,
|
||||
* guarantees that a function is only executed a single time, either at the
|
||||
* very beginning of a series of calls, or at the very end.
|
||||
*
|
||||
* @param {Number} delay A zero-or-greater delay in milliseconds. For event callbacks, values around 100 or 250 (or even higher) are most useful.
|
||||
* @param {Boolean} [atBegin] Optional, defaults to false. If atBegin is false or unspecified, callback will only be executed `delay` milliseconds
|
||||
* after the last debounced-function call. If atBegin is true, callback will be executed only at the first debounced-function call.
|
||||
* (After the throttled-function has not been called for `delay` milliseconds, the internal counter is reset).
|
||||
* @param {Function} callback A function to be executed after delay milliseconds. The `this` context and all arguments are passed through, as-is,
|
||||
* to `callback` when the debounced-function is executed.
|
||||
*
|
||||
* @return {Function} A new, debounced function.
|
||||
*/
|
||||
export default function ( delay, atBegin, callback ) {
|
||||
return callback === undefined ? throttle(delay, atBegin, false) : throttle(delay, callback, atBegin !== false);
|
||||
}
|
||||
Reference in New Issue
Block a user