function _setTimer()

in src/com.jetbrains.youtrack.sdPlugin/libs/js/timers.js [17:32]


function _setTimer(callback, delay, type, params) {
	const id = ESDTimerWorker.timerId++;
	ESDTimerWorker.timers[id] = {callback, params};
	ESDTimerWorker.onmessage = (e) => {
		if (ESDTimerWorker.timers[e.data.id]) {
			if (e.data.type === 'clearTimer') {
				delete ESDTimerWorker.timers[e.data.id];
			} else {
				const cb = ESDTimerWorker.timers[e.data.id].callback;
				if (cb && typeof cb === 'function') cb(...ESDTimerWorker.timers[e.data.id].params);
			}
		}
	};
	ESDTimerWorker.postMessage({type, id, delay});
	return id;
}