decord/source/modules/a11y/native/useAnnounceAsyncCompletion.native.tsx

63 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-07-25 08:10:48 +00:00
// Module ID: 10125
2026-07-27 11:26:19 +00:00
// Function ID: 78381
2026-07-20 16:05:17 +00:00
// Name: useAnnounceAsyncCompletion
2026-07-25 08:10:48 +00:00
// Dependencies: [31, 27, 3977, 477, 4529, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
2026-07-25 08:10:48 +00:00
// Module 10125 (useAnnounceAsyncCompletion)
2026-07-23 10:11:24 +00:00
import result from "result";
import { AccessibilityInfo } from "get ActivityIndicator";
const require = arg1;
const result = require("AccessibilityAnnouncer").fileFinishedImporting("modules/a11y/native/useAnnounceAsyncCompletion.native.tsx");
2026-07-20 16:05:17 +00:00
export default function useAnnounceAsyncCompletion() {
let closure_0 = React.useRef(null);
const effect = React.useEffect(() => () => {
2026-07-23 10:11:24 +00:00
if (null != outer1_0.current) {
outer1_0.current();
2026-07-20 16:05:17 +00:00
}
2026-07-23 10:11:24 +00:00
outer1_0.current = null;
2026-07-20 16:05:17 +00:00
}, []);
return React.useCallback((intl, polite) => {
let str = polite;
if (polite === undefined) {
str = "assertive";
}
2026-07-23 10:11:24 +00:00
const AccessibilityAnnouncer = ref(outer1_1[2]).AccessibilityAnnouncer;
2026-07-20 16:05:17 +00:00
AccessibilityAnnouncer.announce(intl, str);
if (obj.isIOS()) {
if (obj2.getIsScreenReaderEnabled()) {
if (null != ref.current) {
ref.current();
}
let resolved = new Promise((arg0) => {
2026-07-23 10:11:24 +00:00
let closure_0 = arg0;
2026-07-20 16:05:17 +00:00
const timeout = setTimeout(() => {
let currentResult;
2026-07-23 10:11:24 +00:00
if (null != lib.current) {
currentResult = lib.current();
2026-07-20 16:05:17 +00:00
}
return currentResult;
}, 1800);
2026-07-23 10:11:24 +00:00
let result = outer2_3.addEventListener("announcementFinished", (announcement) => {
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-07-23 10:11:24 +00:00
if (null != lib.current) {
lib.current();
2026-07-20 16:05:17 +00:00
}
}
});
2026-07-23 10:11:24 +00:00
closure_0.current = () => {
2026-07-20 16:05:17 +00:00
clearTimeout(closure_1);
2026-07-23 10:11:24 +00:00
result.remove();
lib.current = null;
lib();
2026-07-20 16:05:17 +00:00
};
});
}
return resolved;
}
resolved = Promise.resolve();
}, []);
};