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

67 lines
1.9 KiB
TypeScript
Raw Normal View History

// Module ID: 10583
// Function ID: 10584
2026-07-20 16:05:17 +00:00
// Name: useAnnounceAsyncCompletion
// Dependencies: [19, 17, 4714, 1364, 5450, 2]
2026-07-20 16:05:17 +00:00
// Exports: default
// Module 10583 (useAnnounceAsyncCompletion)
import noop from "module_19" /* 19 */;
2026-07-23 10:11:24 +00:00
const require = fn;
const AccessibilityInfo = fn(17).AccessibilityInfo;
const size = fn(2);
const result = size.fileFinishedImporting("modules/a11y/native/useAnnounceAsyncCompletion.native.tsx");
2026-07-20 16:05:17 +00:00
export default function useAnnounceAsyncCompletion() {
noop.useRef(null);
const effect = noop.useEffect(() => () => {
2026-07-29 08:29:29 +00:00
const current = ref.current;
if (current != null) {
current();
2026-07-20 16:05:17 +00:00
}
2026-07-29 08:29:29 +00:00
ref.current = null;
2026-07-20 16:05:17 +00:00
}, []);
return noop.useCallback((intl, polite) => {
2026-07-20 16:05:17 +00:00
let str = polite;
if (polite === undefined) {
str = "assertive";
}
const AccessibilityAnnouncer = ref(4714).AccessibilityAnnouncer;
2026-07-20 16:05:17 +00:00
AccessibilityAnnouncer.announce(intl, str);
if (obj.isIOS()) {
2026-07-29 08:29:29 +00:00
if (tmpResult.getIsScreenReaderEnabled()) {
let current = ref.current;
if (current != null) {
current();
2026-07-20 16:05:17 +00:00
}
let resolved = new Promise((arg0) => {
const timeout = setTimeout(() => {
2026-07-29 08:29:29 +00:00
const current = ref.current;
2026-07-20 16:05:17 +00:00
let currentResult;
2026-07-29 08:29:29 +00:00
if (current != null) {
currentResult = current();
2026-07-20 16:05:17 +00:00
}
return currentResult;
}, 1800);
closure_2 = AccessibilityInfo.addEventListener("announcementFinished", (event) => {
2026-07-20 16:05:17 +00:00
if (tmp) {
2026-07-29 08:29:29 +00:00
const current = ref.current;
if (current != null) {
current();
2026-07-20 16:05:17 +00:00
}
}
});
arg0.current = () => {
2026-07-20 16:05:17 +00:00
clearTimeout(closure_1);
2026-08-24 06:08:38 +00:00
closure_2.remove();
2026-07-29 08:29:29 +00:00
ref.current = null;
ref();
2026-07-20 16:05:17 +00:00
};
});
}
return resolved;
}
resolved = Promise.resolve();
}, []);
};