decord/source/9673_useAutoPlay.js

68 lines
1.8 KiB
JavaScript
Raw Normal View History

2026-07-25 08:10:48 +00:00
// Module ID: 9673
// Function ID: 75337
2026-07-20 16:05:17 +00:00
// Name: useAutoPlay
2026-07-23 10:11:24 +00:00
// Dependencies: [31]
2026-07-20 16:05:17 +00:00
// Exports: useAutoPlay
2026-07-25 08:10:48 +00:00
// Module 9673 (useAutoPlay)
2026-07-23 10:11:24 +00:00
import result from "result";
2026-07-20 16:05:17 +00:00
export const useAutoPlay = function useAutoPlay(autoPlay) {
autoPlay = autoPlay.autoPlay;
const React = tmp;
const autoPlayReverse = autoPlay.autoPlayReverse;
2026-07-23 10:11:24 +00:00
let closure_1 = tmp2;
2026-07-20 16:05:17 +00:00
const autoPlayInterval = autoPlay.autoPlayInterval;
const prev = iter.prev;
const next = iter.next;
let closure_5 = React.useRef();
let closure_6 = React.useRef(!tmp);
2026-07-23 10:11:24 +00:00
const items = [undefined !== autoPlayReverse && autoPlayReverse, autoPlayInterval, prev, next];
2026-07-20 16:05:17 +00:00
const callback = React.useCallback(() => {
if (!ref.current) {
if (closure_5.current) {
const _clearTimeout = clearTimeout;
clearTimeout(closure_5.current);
}
const _setTimeout = setTimeout;
closure_5.current = setTimeout(() => {
2026-07-23 10:11:24 +00:00
if (outer1_1) {
let obj = { onFinished: outer1_7 };
outer1_3(obj);
2026-07-20 16:05:17 +00:00
} else {
2026-07-23 10:11:24 +00:00
obj = { onFinished: outer1_7 };
outer1_4(obj);
2026-07-20 16:05:17 +00:00
}
}, autoPlayInterval);
}
}, items);
const items1 = [undefined !== autoPlay && autoPlay];
const pause = React.useCallback(() => {
2026-07-23 10:11:24 +00:00
if (result) {
2026-07-20 16:05:17 +00:00
if (closure_5.current) {
const _clearTimeout = clearTimeout;
clearTimeout(closure_5.current);
}
closure_6.current = true;
}
}, items1);
const items2 = [callback, undefined !== autoPlay && autoPlay];
const start = React.useCallback(() => {
2026-07-23 10:11:24 +00:00
if (result) {
2026-07-20 16:05:17 +00:00
closure_6.current = false;
callback();
}
}, items2);
const items3 = [pause, start, undefined !== autoPlay && autoPlay];
const effect = React.useEffect(() => {
2026-07-23 10:11:24 +00:00
if (result) {
2026-07-20 16:05:17 +00:00
start();
} else {
pause();
}
return pause;
}, items3);
return { pause, start };
};