decord/alpha/source/hooks/useUnmountAbortSignal.tsx

38 lines
1.2 KiB
TypeScript

// Module ID: 7450
// Function ID: 7451
// Name: useUnmountAbortSignal
// Dependencies: [5768, 5161, 2]
// Exports: default, useUnmountAbortSignalWithDelay
// Module 7450 (useUnmountAbortSignal)
import useMountEffect from "useMountEffect" /* 5161 */;
import useInitialValueDefault from "useInitialValue" /* 5768 */;
import size from "module_2" /* 2 */;
const result = size.fileFinishedImporting("hooks/useUnmountAbortSignal.tsx");
export default function useUnmountAbortSignal() {
const tmp = useInitialValueDefault(() => {
const abortController = new AbortController();
return abortController;
});
closure_0 = tmp;
const unmountEffect = useMountEffect.useUnmountEffect(() => {
closure_0.abort();
});
return tmp.signal;
};
export const useUnmountAbortSignalWithDelay = function useUnmountAbortSignalWithDelay(arg0) {
closure_0 = arg0;
const tmp = useInitialValueDefault(() => {
const abortController = new AbortController();
return abortController;
});
closure_1 = tmp;
const unmountEffect = useMountEffect.useUnmountEffect(() => {
const timerId = setTimeout(() => {
closure_1_1.abort();
}, closure_0);
});
return tmp.signal;
};