mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-29 03:22:12 +00:00
TGUI v3.0
This ports TGUI, and makes the old nano crew monitor and the disposal bins use it as first examples.
This commit is contained in:
23
tgui/packages/common/timer.js
Normal file
23
tgui/packages/common/timer.js
Normal file
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* Returns a function, that, as long as it continues to be invoked, will
|
||||
* not be triggered. The function will be called after it stops being
|
||||
* called for N milliseconds. If `immediate` is passed, trigger the
|
||||
* function on the leading edge, instead of the trailing.
|
||||
*/
|
||||
export const debounce = (fn, time, immediate = false) => {
|
||||
let timeout;
|
||||
return (...args) => {
|
||||
const later = () => {
|
||||
timeout = null;
|
||||
if (!immediate) {
|
||||
fn(...args);
|
||||
}
|
||||
};
|
||||
const callNow = immediate && !timeout;
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(later, time);
|
||||
if (callNow) {
|
||||
fn(...args);
|
||||
}
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user