HEX
Server: nginx/1.18.0
System: Linux test-ipsremont 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
User: ips (1000)
PHP: 8.0.30
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/elite/node_modules/timers-ext/throttle.js
"use strict";

var callable     = require("es5-ext/object/valid-callable")
  , validTimeout = require("./valid-timeout")

  , apply = Function.prototype.apply;

module.exports = function (fn, timeout) {
	var isScheduled = false, context, args, run;
	callable(fn);
	timeout = validTimeout(timeout);
	run = function () {
		var currentContext = context, currentArgs = args;
		if (!args) {
			isScheduled = false;
			return;
		}
		context = null;
		args = null;
		setTimeout(run, timeout);
		apply.call(fn, currentContext, currentArgs);
	};
	return function () {
		if (isScheduled) {
			context = this;
			args = arguments;
			return;
		}
		isScheduled = true;
		setTimeout(run, timeout);
		apply.call(fn, this, arguments);
	};
};