// Metro module 13792 (f13793). import { useMemo, useEffect } from "react"; import UniqueUsernamesStore from "./UniqueUsernamesStore"; import { useStateFromStores } from "../../_bundle/defaultAreStatesEqual"; import { debounce } from "../../_bundle/Module12"; import UniqueUsernamesActionCreators from "./UniqueUsernamesActionCreators"; import { formatUsernameLiveCheckValidation } from "./UniqueUsernamesUtils"; export function useUsernameLiveCheck(a0) { let stateFromStores2, memo; let c20729_0 = a0; let r10 = arguments[1]; if (r10 === void 0) { r10 = true; } let c20729_1 = r10; let r11 = arguments[2]; if (r11 === void 0) { r11 = false; } let c20729_2 = r11; let r3 = arguments[3]; if (r3 === void 0) { r3 = false; } let c20729_3 = r3; stateFromStores2 = void 0; memo = void 0; const stateFromStores = useStateFromStores([UniqueUsernamesStore], () => UniqueUsernamesStore.validate(c20729_0), [a0]); stateFromStores2 = useStateFromStores([UniqueUsernamesStore], () => UniqueUsernamesStore.isRateLimited()); memo = useMemo(() => debounce((a0) => UniqueUsernamesActionCreators.attemptUsername(a0, c20729_2 ? "registration" : "modal", c20729_2, c20729_3), 800), [r11, r3]); useEffect(() => { if (c20729_1 && !stateFromStores2 && stateFromStores == null && c20729_0 !== "") { memo(c20729_0); } }, [r10, stateFromStores2, stateFromStores, a0, memo]); return useMemo(() => stateFromStores != null ? formatUsernameLiveCheckValidation(stateFromStores) : void 0, [stateFromStores]); }