decord/source/modules/a11y/native/useAnnounceAsyncCompletion.native.tsx
2026-08-24 06:08:38 +00:00

66 lines
1.9 KiB
TypeScript

// Module ID: 9982
// Function ID: 9983
// Name: useAnnounceAsyncCompletion
// Dependencies: [19, 17, 1363, 500, 4727, 2]
// Exports: default
// Module 9982 (useAnnounceAsyncCompletion)
import closure_2 from "noop" /* 19 */;
import { AccessibilityInfo } from "get ActivityIndicator" /* 17 */;
const require = arg1;
const result = require("set").fileFinishedImporting("modules/a11y/native/useAnnounceAsyncCompletion.native.tsx");
export default function useAnnounceAsyncCompletion() {
closure_0 = React.useRef(null);
const effect = React.useEffect(() => () => {
const current = ref.current;
if (current != null) {
current();
}
ref.current = null;
}, []);
return React.useCallback((intl, polite) => {
let str = polite;
if (polite === undefined) {
str = "assertive";
}
const AccessibilityAnnouncer = ref(closure_1_1[2]).AccessibilityAnnouncer;
AccessibilityAnnouncer.announce(intl, str);
if (obj.isIOS()) {
if (tmpResult.getIsScreenReaderEnabled()) {
let current = ref.current;
if (current != null) {
current();
}
let resolved = new Promise((arg0) => {
closure_0 = arg0;
const timeout = setTimeout(() => {
const current = ref.current;
let currentResult;
if (current != null) {
currentResult = current();
}
return currentResult;
}, 1800);
closure_2 = closure_2_3.addEventListener("announcementFinished", (announcement) => {
if (tmp) {
const current = ref.current;
if (current != null) {
current();
}
}
});
closure_0.current = () => {
clearTimeout(closure_1);
closure_2.remove();
ref.current = null;
ref();
};
});
}
return resolved;
}
resolved = Promise.resolve();
}, []);
};