213 lines
6.8 KiB
TypeScript
213 lines
6.8 KiB
TypeScript
// Metro module 5567 (f5568).
|
|
import Record from "../../../lib/Record";
|
|
import { Endpoints, GuildFeatures } from "../../../Constants";
|
|
import { HTTP } from "../../../_bundle/sendRequest";
|
|
import AvatarUtils from "../../../utils/AvatarUtils";
|
|
import { toSetInplace } from "../../../_bundle/Module1414";
|
|
import { isGuildRecord } from "../../../utils/GuildRecordUtils";
|
|
import { $callWithNewTarget } from "../../../_hermes/prelude";
|
|
let c3428_6;
|
|
const getEmojiSourceData = async function getEmojiSourceData(c25496_0) {
|
|
let r87;
|
|
let c25496_3 = 0;
|
|
let c29522_1, c29522_0;
|
|
L18: {
|
|
try {
|
|
c29522_1 = void 0;
|
|
c29522_0 = null;
|
|
c25496_3 = 1;
|
|
c29522_1 = (await HTTP.get({
|
|
url: Endpoints.EMOJI_SOURCE_DATA(c25496_0),
|
|
oldFormErrors: true,
|
|
timeout: 5000,
|
|
rejectWithError: true
|
|
})).body;
|
|
if (c29522_1?.type === c3428_6.GUILD) {
|
|
c29522_0 = {
|
|
guild: ExpressionSourceGuildRecord.createFromServer(c29522_1.guild),
|
|
type: c29522_1.type
|
|
};
|
|
} else if (c29522_1?.type === c3428_6.APPLICATION) {
|
|
c29522_0 = {
|
|
application: ExpressionSourceApplicationRecord.createFromServer(c29522_1.application),
|
|
type: c29522_1.type
|
|
};
|
|
}
|
|
c25496_3 = 0;
|
|
r87 = c29522_0;
|
|
} catch ($e) {
|
|
let r25 = $e;
|
|
if (c25496_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
c25496_3 = 0;
|
|
r87 = c29522_0;
|
|
break L18;
|
|
} catch ($e) {
|
|
r25 = $e;
|
|
if (c25496_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r25;
|
|
}
|
|
}
|
|
return r87;
|
|
};
|
|
c3428_6 = {
|
|
GUILD: "GUILD",
|
|
APPLICATION: "APPLICATION"
|
|
};
|
|
class ExpressionSourceGuildRecord extends Record {
|
|
constructor(a0) {
|
|
super();
|
|
this.id = a0.id;
|
|
this.name = a0.name;
|
|
this.icon = a0.icon;
|
|
this.description = a0.description;
|
|
this.features = a0.features;
|
|
this.premiumTier = a0.premiumTier;
|
|
this.premiumSubscriberCount = a0.premiumSubscriberCount;
|
|
this.presenceCount = a0.presenceCount;
|
|
this.memberCount = a0.memberCount;
|
|
this.emojis = a0.emojis;
|
|
}
|
|
getIconURL(a0, canAnimate = false) {
|
|
return AvatarUtils.getGuildIconURL({
|
|
id: this.id,
|
|
size: a0,
|
|
icon: this.icon,
|
|
canAnimate
|
|
});
|
|
}
|
|
getIconSource(size, r5 = false) {
|
|
return AvatarUtils.getAnimatableSourceWithFallback(r5, (a0) => AvatarUtils.getGuildIconSource({
|
|
id: this.id,
|
|
size,
|
|
icon: this.icon,
|
|
canAnimate: a0
|
|
}));
|
|
}
|
|
hasFeature(a0) {
|
|
return this.features.has(a0);
|
|
}
|
|
isDiscoverable() {
|
|
return this.hasFeature(GuildFeatures.DISCOVERABLE);
|
|
}
|
|
static async getGuildFromEmojiId(c14928_0) {
|
|
let c25497_1;
|
|
c25497_1 = void 0;
|
|
let c29523_0 = await getEmojiSourceData(c14928_0);
|
|
return c29523_0 != null ? c29523_0?.type === c3428_6.GUILD ? c29523_0.guild : null : null;
|
|
}
|
|
static _mapCommon(a0) {
|
|
return {
|
|
id: a0.id,
|
|
name: a0.name,
|
|
icon: a0.icon,
|
|
description: a0.description,
|
|
features: toSetInplace(a0.features)
|
|
};
|
|
}
|
|
static createFromGuildRecord(a0) {
|
|
const r2 = {
|
|
...ExpressionSourceGuildRecord._mapCommon(a0),
|
|
premiumTier: a0.premiumTier,
|
|
premiumSubscriberCount: a0.premiumSubscriberCount,
|
|
presenceCount: null,
|
|
memberCount: null,
|
|
emojis: null
|
|
};
|
|
const prototypeOf = Object.getPrototypeOf(ExpressionSourceGuildRecord);
|
|
const r17 = Object.create(ExpressionSourceGuildRecord.prototype);
|
|
const r18 = $callWithNewTarget(prototypeOf, r17, ExpressionSourceGuildRecord);
|
|
const r19 = r18 instanceof Object ? r18 : r17;
|
|
r19.id = r2.id;
|
|
r19.name = r2.name;
|
|
r19.icon = r2.icon;
|
|
r19.description = r2.description;
|
|
r19.features = r2.features;
|
|
r19.premiumTier = r2.premiumTier;
|
|
r19.premiumSubscriberCount = r2.premiumSubscriberCount;
|
|
r19.presenceCount = r2.presenceCount;
|
|
r19.memberCount = r2.memberCount;
|
|
r19.emojis = r2.emojis;
|
|
return r19;
|
|
}
|
|
static createFromDiscoverableGuild(a0) {
|
|
const r2 = {
|
|
...ExpressionSourceGuildRecord._mapCommon(a0),
|
|
premiumTier: null,
|
|
premiumSubscriberCount: a0.premiumSubscriptionCount,
|
|
presenceCount: a0.presenceCount,
|
|
memberCount: a0.memberCount,
|
|
emojis: a0.emojis
|
|
};
|
|
const prototypeOf = Object.getPrototypeOf(ExpressionSourceGuildRecord);
|
|
const r19 = Object.create(ExpressionSourceGuildRecord.prototype);
|
|
const r20 = $callWithNewTarget(prototypeOf, r19, ExpressionSourceGuildRecord);
|
|
const r21 = r20 instanceof Object ? r20 : r19;
|
|
r21.id = r2.id;
|
|
r21.name = r2.name;
|
|
r21.icon = r2.icon;
|
|
r21.description = r2.description;
|
|
r21.features = r2.features;
|
|
r21.premiumTier = r2.premiumTier;
|
|
r21.premiumSubscriberCount = r2.premiumSubscriberCount;
|
|
r21.presenceCount = r2.presenceCount;
|
|
r21.memberCount = r2.memberCount;
|
|
r21.emojis = r2.emojis;
|
|
return r21;
|
|
}
|
|
static createFromServer(a0) {
|
|
const r1 = {
|
|
...ExpressionSourceGuildRecord._mapCommon(a0),
|
|
premiumTier: a0.premium_tier,
|
|
premiumSubscriberCount: a0.premium_subscription_count,
|
|
presenceCount: a0.approximate_presence_count,
|
|
memberCount: a0.approximate_member_count,
|
|
emojis: a0.emojis
|
|
};
|
|
const prototypeOf = Object.getPrototypeOf(ExpressionSourceGuildRecord);
|
|
const r19 = Object.create(ExpressionSourceGuildRecord.prototype);
|
|
const r20 = $callWithNewTarget(prototypeOf, r19, ExpressionSourceGuildRecord);
|
|
const r21 = r20 instanceof Object ? r20 : r19;
|
|
r21.id = r1.id;
|
|
r21.name = r1.name;
|
|
r21.icon = r1.icon;
|
|
r21.description = r1.description;
|
|
r21.features = r1.features;
|
|
r21.premiumTier = r1.premiumTier;
|
|
r21.premiumSubscriberCount = r1.premiumSubscriberCount;
|
|
r21.presenceCount = r1.presenceCount;
|
|
r21.memberCount = r1.memberCount;
|
|
r21.emojis = r1.emojis;
|
|
return r21;
|
|
}
|
|
static createFromGuildType(a0) {
|
|
return a0 instanceof ExpressionSourceGuildRecord ? a0 : isGuildRecord(a0) ? ExpressionSourceGuildRecord.createFromGuildRecord(a0) : ExpressionSourceGuildRecord.createFromDiscoverableGuild(a0);
|
|
}
|
|
}
|
|
class ExpressionSourceApplicationRecord extends Record {
|
|
constructor(a0) {
|
|
super();
|
|
this.id = a0.id;
|
|
this.name = a0.name;
|
|
}
|
|
static createFromServer({ id, name }) {
|
|
const prototypeOf = Object.getPrototypeOf(ExpressionSourceApplicationRecord);
|
|
const r11 = Object.create(ExpressionSourceApplicationRecord.prototype);
|
|
const r12 = $callWithNewTarget(prototypeOf, r11, ExpressionSourceApplicationRecord);
|
|
const r13 = r12 instanceof Object ? r12 : r11;
|
|
r13.id = id;
|
|
r13.name = name;
|
|
return r13;
|
|
}
|
|
}
|
|
export { c3428_6 as EmojiSourceDataTypes };
|
|
export { getEmojiSourceData };
|
|
export { ExpressionSourceGuildRecord };
|
|
export { ExpressionSourceApplicationRecord };
|