diff options
Diffstat (limited to 'node_modules/throttleit/index.js')
-rw-r--r-- | node_modules/throttleit/index.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/node_modules/throttleit/index.js b/node_modules/throttleit/index.js new file mode 100644 index 0000000..d9efe3c --- /dev/null +++ b/node_modules/throttleit/index.js @@ -0,0 +1,30 @@ + +/** + * Module exports. + */ + +module.exports = throttle; + +/** + * Returns a new function that, when invoked, invokes `func` at most one time per + * `wait` milliseconds. + * + * @param {Function} func The `Function` instance to wrap. + * @param {Number} wait The minimum number of milliseconds that must elapse in between `func` invokations. + * @return {Function} A new function that wraps the `func` function passed in. + * @api public + */ + +function throttle (func, wait) { + var rtn; // return value + var last = 0; // last invokation timestamp + return function throttled () { + var now = new Date().getTime(); + var delta = now - last; + if (delta >= wait) { + rtn = func.apply(this, arguments); + last = now; + } + return rtn; + }; +} |