45 lines
1.8 KiB
TypeScript
45 lines
1.8 KiB
TypeScript
// Metro module 8462 (f8463).
|
|
import { BoostedGuildTiers, GuildFeatures } from "../../Constants";
|
|
import { isGuildRecord } from "../../utils/GuildRecordUtils";
|
|
let c5421_4 = {
|
|
PUBLIC: "PUBLIC",
|
|
INVITE_ONLY: "INVITE_ONLY",
|
|
APPLY_TO_JOIN: "APPLY_TO_JOIN"
|
|
};
|
|
export { c5421_4 as GuildVisibility };
|
|
export function getGuildTraits(a0) {
|
|
const set = new Set(a0.features);
|
|
let INVITE_ONLY = c5421_4.INVITE_ONLY;
|
|
if (set.has(GuildFeatures.COMMUNITY) && set.has(GuildFeatures.DISCOVERABLE)) {
|
|
INVITE_ONLY = c5421_4.PUBLIC;
|
|
} else if (set.has(GuildFeatures.MEMBER_VERIFICATION_MANUAL_APPROVAL) && set.has(GuildFeatures.MEMBER_VERIFICATION_GATE_ENABLED)) {
|
|
INVITE_ONLY = c5421_4.APPLY_TO_JOIN;
|
|
}
|
|
const premium = a0 != null && (isGuildRecord(a0) ? a0.premiumSubscriberCount > 0 || a0.premiumTier > BoostedGuildTiers.NONE : a0.premiumSubscriptionCount != null && a0.premiumSubscriptionCount > 0);
|
|
let premiumSubscriberCount = 0;
|
|
if (premium) {
|
|
let r51 = isGuildRecord(a0) ? a0.premiumSubscriberCount : a0.premiumSubscriptionCount;
|
|
if (r51 == null) {
|
|
r51 = 0;
|
|
}
|
|
premiumSubscriberCount = r51;
|
|
}
|
|
const premiumTier = isGuildRecord(a0) ? a0.premiumTier : BoostedGuildTiers.NONE;
|
|
return {
|
|
verified: set.has(GuildFeatures.VERIFIED),
|
|
partnered: set.has(GuildFeatures.PARTNERED),
|
|
community: set.has(GuildFeatures.COMMUNITY),
|
|
staff: set.has(GuildFeatures.INTERNAL_EMPLOYEE_ONLY),
|
|
visibility: INVITE_ONLY,
|
|
premium,
|
|
premiumSubscriberCount,
|
|
premiumTier
|
|
};
|
|
}
|
|
export function isPremiumGuild(a0) {
|
|
return a0 != null && (isGuildRecord(a0) ? a0.premiumSubscriberCount > 0 || a0.premiumTier > BoostedGuildTiers.NONE : a0.premiumSubscriptionCount != null && a0.premiumSubscriptionCount > 0);
|
|
}
|
|
export function isDiscoverableGuild(a0) {
|
|
return a0 != null && new Set(a0.features).has(GuildFeatures.DISCOVERABLE);
|
|
}
|