38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
// 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]);
|
|
}
|