1
0
mirror of https://github.com/locomotivemtl/locomotive-boilerplate.git synced 2026-01-15 00:55:08 +08:00

Merge branch 'feature/es6-updates' of github.com:locomotivemtl/locomotive-boilerplate into feature/es6-updates

This commit is contained in:
arnvvd
2022-10-05 16:39:30 -04:00
2 changed files with 30 additions and 10 deletions

View File

@@ -16,7 +16,7 @@ const isObject = x => (x && typeof x === 'object')
* @return {boolean}
*/
const isFunction = x => x instanceof Function
const isFunction = x => typeof x === 'function'
export {

View File

@@ -1,9 +1,21 @@
/**
* Debounce function: fire the callback before/after the action has finished for the defined amount of time
* @param {function} callback - callback function
* @param {number} delay - waiting time in milisecond
* @param {boolean} immediate - triggers before or after delay
* @return {function} callback
* Creates a debounced function.
*
* A debounced function delays invoking `callback` until after
* `delay` milliseconds have elapsed since the last time the
* debounced function was invoked.
*
* Useful for behaviour that should only happen _before_ or
* _after_ an event has stopped occurring.
*
* @template {function} T
*
* @param {T} callback - The function to debounce.
* @param {number} delay - The number of milliseconds to wait.
* @param {boolean} [immediate] -
* If `true`, `callback` is invoked before `delay`.
* If `false`, `callback` is invoked after `delay`.
* @return {function<T>} The new debounced function.
*/
const debounce = (callback, delay, immediate = false) => {
@@ -29,10 +41,18 @@ const debounce = (callback, delay, immediate = false) => {
/**
* Throttle function: fire the callback while the action is being performed for the defined iteration time
* @param {function} callback - callback function
* @param {number} delay - waiting time in milisecond
* @return {function} callback
* Creates a throttled function.
*
* A throttled function invokes `callback` at most once per every
* `delay` milliseconds.
*
* Useful for rate-limiting an event that occurs in quick succession.
*
* @template {function} T
*
* @param {T} callback - The function to throttle.
* @param {number} delay - The number of milliseconds to wait.
* @return {function<T>} The new throttled function.
*/
const throttle = (callback, delay) => {