decord/source/574_debounce.js

139 lines
3.3 KiB
JavaScript
Raw Normal View History

2026-07-20 16:05:17 +00:00
// Module ID: 574
// Function ID: 6949
// Name: debounce
2026-07-23 10:11:24 +00:00
// Dependencies: [575, 573, 586]
2026-07-20 16:05:17 +00:00
// Module 574 (debounce)
export default function debounce(arg0, arg1, leading) {
2026-07-23 10:11:24 +00:00
const _require = arg0;
2026-07-20 16:05:17 +00:00
let dependencyMap = arg1;
function invokeFunc(arg0) {
2026-07-23 10:11:24 +00:00
let c3;
let c2;
2026-07-20 16:05:17 +00:00
let closure_8 = arg0;
2026-07-23 10:11:24 +00:00
const applyResult = callback.apply(c3, c2);
2026-07-20 16:05:17 +00:00
return applyResult;
}
function shouldInvoke(arg0) {
const diff = arg0 - closure_7;
let tmp2 = undefined === closure_7;
if (!tmp2) {
2026-07-23 10:11:24 +00:00
tmp2 = diff >= closure_1;
2026-07-20 16:05:17 +00:00
}
if (!tmp2) {
tmp2 = diff < 0;
}
if (!tmp2) {
2026-07-23 10:11:24 +00:00
let tmp4 = c10;
if (c10) {
tmp4 = arg0 - c8 >= closure_4;
2026-07-20 16:05:17 +00:00
}
tmp2 = tmp4;
}
return tmp2;
}
function timerExpired() {
2026-07-23 10:11:24 +00:00
const tmp = callback(586)();
2026-07-20 16:05:17 +00:00
if (shouldInvoke(tmp)) {
return trailingEdge(tmp);
} else {
2026-07-23 10:11:24 +00:00
const diff = dependencyMap - (tmp - closure_7);
2026-07-20 16:05:17 +00:00
let tmp8 = diff;
2026-07-23 10:11:24 +00:00
if (c10) {
tmp8 = outer1_3(diff, closure_4 - (tmp - c8));
2026-07-20 16:05:17 +00:00
}
const timeout = setTimeout(timerExpired, tmp8);
}
}
function trailingEdge(arg0) {
2026-07-23 10:11:24 +00:00
let c6;
2026-07-20 16:05:17 +00:00
if (flag) {
2026-07-23 10:11:24 +00:00
if (c2) {
2026-07-20 16:05:17 +00:00
let tmp2 = invokeFunc(arg0);
}
return tmp2;
}
2026-07-23 10:11:24 +00:00
let c3;
c2 = undefined;
2026-07-20 16:05:17 +00:00
tmp2 = closure_5;
}
function debounced() {
2026-07-23 10:11:24 +00:00
const tmp = callback(586)();
2026-07-20 16:05:17 +00:00
let closure_2 = arguments;
const self = this;
2026-07-23 10:11:24 +00:00
let closure_7 = tmp;
2026-07-20 16:05:17 +00:00
if (shouldInvoke(tmp)) {
if (undefined === timeout) {
2026-07-23 10:11:24 +00:00
let closure_8 = closure_7;
2026-07-20 16:05:17 +00:00
const _setTimeout3 = setTimeout;
2026-07-23 10:11:24 +00:00
timeout = setTimeout(timerExpired, dependencyMap);
2026-07-20 16:05:17 +00:00
if (leading) {
2026-07-23 10:11:24 +00:00
let tmp19 = invokeFunc(closure_7);
2026-07-20 16:05:17 +00:00
} else {
tmp19 = closure_5;
}
return tmp19;
2026-07-23 10:11:24 +00:00
} else if (c10) {
2026-07-20 16:05:17 +00:00
const _clearTimeout = clearTimeout;
clearTimeout(timeout);
const _setTimeout2 = setTimeout;
2026-07-23 10:11:24 +00:00
timeout = setTimeout(timerExpired, dependencyMap);
return invokeFunc(closure_7);
2026-07-20 16:05:17 +00:00
}
}
if (undefined === timeout) {
const _setTimeout = setTimeout;
2026-07-23 10:11:24 +00:00
timeout = setTimeout(timerExpired, dependencyMap);
2026-07-20 16:05:17 +00:00
}
return closure_5;
}
2026-07-23 10:11:24 +00:00
let c8 = 0;
2026-07-20 16:05:17 +00:00
leading = false;
2026-07-23 10:11:24 +00:00
let c10 = false;
2026-07-20 16:05:17 +00:00
let flag = true;
if ("function" !== typeof arg0) {
const _TypeError = TypeError;
const typeError = new TypeError("Expected a function");
throw typeError;
} else {
2026-07-23 10:11:24 +00:00
let tmp = _require(575)(arg1) || 0;
2026-07-20 16:05:17 +00:00
dependencyMap = tmp;
2026-07-23 10:11:24 +00:00
if (_require(573)(leading)) {
2026-07-20 16:05:17 +00:00
leading = leading.leading;
2026-07-23 10:11:24 +00:00
c10 = tmp4;
2026-07-20 16:05:17 +00:00
let tmp6Result;
2026-07-23 10:11:24 +00:00
if ("maxWait" in leading) {
tmp6Result = max(_require(575)(leading.maxWait) || 0, tmp);
2026-07-20 16:05:17 +00:00
const tmp6 = max;
2026-07-23 10:11:24 +00:00
const tmp9 = _require(575)(leading.maxWait) || 0;
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let closure_4 = tmp6Result;
2026-07-20 16:05:17 +00:00
flag = true;
if ("trailing" in leading) {
flag = leading.trailing;
}
}
debounced.cancel = function cancel() {
2026-07-23 10:11:24 +00:00
if (undefined !== c6) {
2026-07-20 16:05:17 +00:00
const _clearTimeout = clearTimeout;
2026-07-23 10:11:24 +00:00
clearTimeout(c6);
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
let c8 = 0;
c6 = undefined;
let c3;
let c7;
let c2;
2026-07-20 16:05:17 +00:00
};
debounced.flush = function flush() {
if (undefined === closure_6) {
let tmp4 = closure_5;
} else {
2026-07-23 10:11:24 +00:00
tmp4 = trailingEdge(callback(586)());
2026-07-20 16:05:17 +00:00
}
return tmp4;
};
return debounced;
}
};