From 4d4308c46d4f7801c657cc79d2243e1a81831334 Mon Sep 17 00:00:00 2001 From: RaindropsSys Date: Fri, 27 Oct 2023 22:29:56 +0200 Subject: Updated 32 files, added 279 files, deleted 3 files and renamed 14 files (automated) --- desktop/node_modules/axios/lib/helpers/throttle.js | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 desktop/node_modules/axios/lib/helpers/throttle.js (limited to 'desktop/node_modules/axios/lib/helpers/throttle.js') diff --git a/desktop/node_modules/axios/lib/helpers/throttle.js b/desktop/node_modules/axios/lib/helpers/throttle.js new file mode 100644 index 0000000..6969df1 --- /dev/null +++ b/desktop/node_modules/axios/lib/helpers/throttle.js @@ -0,0 +1,33 @@ +'use strict'; + +/** + * Throttle decorator + * @param {Function} fn + * @param {Number} freq + * @return {Function} + */ +function throttle(fn, freq) { + let timestamp = 0; + const threshold = 1000 / freq; + let timer = null; + return function throttled(force, args) { + const now = Date.now(); + if (force || now - timestamp > threshold) { + if (timer) { + clearTimeout(timer); + timer = null; + } + timestamp = now; + return fn.apply(null, args); + } + if (!timer) { + timer = setTimeout(() => { + timer = null; + timestamp = Date.now(); + return fn.apply(null, args); + }, threshold - (now - timestamp)); + } + }; +} + +export default throttle; -- cgit