Files
discord-decomp/utils/FriendsUtils.tsx
T
2026-11-01 12:12:55 +02:00

84 lines
2.6 KiB
TypeScript

// Metro module 8922 (f8923).
import { AbortCodes, AnalyticEvents } from "../Constants";
import { intl, t } from "../intl/index.native";
import Module38 from "../_bundle/Module38";
import AnalyticsUtils from "./AnalyticsUtils";
import ValidationUtils from "./ValidationUtils";
let c5833_6, c5833_7, c5833_8, humanizeAbortCode;
const validateDiscordTag = function validateDiscordTag(a0) {
let r15;
L6: {
const r14 = c5833_8.test(a0);
r15 = null;
if (!r14) {
if (a0.includes("#")) {
const r19 = c5833_7.test(a0);
r15 = null;
if (r19) {
break L6;
}
}
let [r10, r13] = a0.split("#");
const FRIEND_REQUEST_FAILED = AnalyticEvents.FRIEND_REQUEST_FAILED;
if (r13 == null) {
r13 = "";
}
AnalyticsUtils.track(FRIEND_REQUEST_FAILED, {
reason: "Invalid Username",
query: a0,
discrim_len: r13.length,
username_len: r10.length,
is_email_like: ValidationUtils.isEmail(a0),
is_invite_like: ValidationUtils.isInvite(a0),
is_num_only: c5833_6.test(a0)
});
r15 = intl.string(t.paDJBM);
}
}
return r15;
};
humanizeAbortCode = function humanizeAbortCode(a0, a1) {
if (AbortCodes.RELATIONSHIP_INCOMING_DISABLED === a0) {
return intl.format(t.Oxe6Ur, {
discordTag: a1
});
}
if (AbortCodes.TOO_MANY_FRIENDS === a0) {
return intl.string(t.tnBalD);
}
if (AbortCodes.RELATIONSHIP_ALREADY_FRIENDS === a0) {
return intl.string(t.VNLneq);
}
if (AbortCodes.USER_QUARANTINED !== a0 && AbortCodes.USER_FRIEND_REQUEST_LIMITED_ACCESS !== a0) {
if (AbortCodes.TOO_MANY_BLOCKED_USERS === a0) {
return intl.string(t.sIGo1i);
}
if (AbortCodes.TOO_MANY_PENDING_OUTGOING === a0) {
return intl.string(t.k1K15p);
}
if (AbortCodes.RELATIONSHIP_INCOMING_BLOCKED !== a0 && AbortCodes.RELATIONSHIP_INVALID_SELF !== a0 && AbortCodes.RELATIONSHIP_INVALUD_USER_BOT !== a0) {
AbortCodes.RELATIONSHIP_INVALID_DISCORD_TAG;
}
return intl.string(t.paDJBM);
}
return intl.string(t.EouHwv);
};
c5833_6 = /^\d+$/;
c5833_7 = /^(.+?@.+?\..+?|.+?#\d{4})$/;
c5833_8 = /^[a-zA-Z0-9_\\.]+$/;
export { validateDiscordTag };
export function isValidDiscordTag(a0) {
return validateDiscordTag(a0) == null;
}
export { humanizeAbortCode };
export function humanizeAbortCodeForA11y(a0, a1) {
let r9 = humanizeAbortCode(a0, a1);
if (a0 === AbortCodes.RELATIONSHIP_INCOMING_DISABLED) {
r9 = intl.formatToPlainString(t["ihb+UW"], {
discordTag: a1
});
}
Module38(typeof r9 === "string", "abortCode should be a string for a11y");
return r9;
}