UNPKG

@tolokoban/ui

Version:

React components with theme

23 lines 1.53 kB
/** * The function to call as much as you want. It will perform the debouce for you. * Put in the same args as the `action` function. * * * action - Action to call. Two consecutive actions cannot be called if there is * less than `delay` ms between them. * * delay - Number of milliseconds. */ export function asyncCreateDebouncer(action, delay) { let timer = 0; return function (...args) { if (timer) window.clearTimeout(timer); timer = window.setTimeout(() => { timer = 0; action(...args); }, delay); }; } export function asyncSleep(milliseconds) { return new Promise((resolve) => setTimeout(resolve, milliseconds)); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC9hc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxNQUFpQixFQUNqQixLQUFhO0lBRWIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBRWIsT0FBTyxVQUFtQyxHQUFHLElBQU87UUFDaEQsSUFBSSxLQUFLO1lBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNyQyxLQUFLLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsS0FBSyxHQUFHLENBQUMsQ0FBQTtZQUNULE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO1FBQ25CLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtJQUNiLENBQUMsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFlBQW9CO0lBQzNDLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQTtBQUN0RSxDQUFDIn0=