767 lines
37 KiB
TypeScript
767 lines
37 KiB
TypeScript
/* Metro module 3801; source: utils/EmojiUtils.tsx; dependencies: [5, 1383, 3784, 1878, 661, 1881, 3800, 3802, 6545, 3777, 7171, 1475, 1423, 2] */
|
|
import Module00005 from '../by-id/module-00005.js'; /* Metro dependency 5 */
|
|
import UserStore from '../stores/UserStore.tsx'; /* Metro dependency 1878 */
|
|
import PermissionStore from '../stores/PermissionStore.tsx'; /* Metro dependency 3784 */
|
|
import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */
|
|
import * as ChannelRecordModule from '../records/ChannelRecord.tsx'; /* Metro dependency 1383 */
|
|
import * as EmojiTypesModule from '../modules/emojis/EmojiTypes.tsx'; /* Metro dependency 3800 */
|
|
|
|
function _fun29006(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#29006, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:6, offset: 0x00fb41c4, size: 738 bytes, params: 8, frame: 26
|
|
const env0_0 = require;
|
|
const _arrayLikeToArray_29009 = function(a0, a1) {
|
|
var r0;
|
|
var r1;
|
|
var r2;
|
|
var value3;
|
|
var length;
|
|
var value5;
|
|
var value = undefined;
|
|
var value2 = value == null;
|
|
reducibleJoin2: while (true) {
|
|
if (value2) {
|
|
r0 = value2;
|
|
break reducibleJoin2;
|
|
}
|
|
value3 = value > a0.length;
|
|
r0 = value3;
|
|
break reducibleJoin2;
|
|
}
|
|
reducibleJoin4: while (true) {
|
|
if (r0) {
|
|
length = a0.length;
|
|
r1 = length;
|
|
break reducibleJoin4;
|
|
}
|
|
r1 = value;
|
|
break reducibleJoin4;
|
|
}
|
|
value = (0, global.Array)(r1);
|
|
var value4 = 0;
|
|
if (value4 < r1) {
|
|
r2 = value4;
|
|
reducibleLoop5: while (true) {
|
|
value[r2] = a0[r2];
|
|
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
|
|
if (value5 < r1) {
|
|
r2 = value5;
|
|
continue reducibleLoop5;
|
|
}
|
|
break reducibleLoop5;
|
|
}
|
|
}
|
|
return value;
|
|
};
|
|
const isCustomEmoji2 = isCustomEmoji;
|
|
const isInternalEmojiForGuildId2 = isInternalEmojiForGuildId;
|
|
const getEmojiUnavailableReason2 = getEmojiUnavailableReason;
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = ChannelRecordModule;
|
|
const env0_4 = value.isGuildTextChannelType;
|
|
const env0_5 = value.isGuildVocalChannelType;
|
|
value = require(1881) /* metro dependency 1881: EmojiConstants */;
|
|
const env0_9 = value.EMOJI_MAX_FILESIZE;
|
|
const env0_10 = value.EMOJI_MAX_LENGTH;
|
|
const env0_11 = value.EMOJI_RE;
|
|
const EmojiDisabledReasons = value.EmojiDisabledReasons;
|
|
const env0_13 = value.EmojiIntention;
|
|
const env0_14 = value.isExternalEmojiAllowedForIntention;
|
|
let Set = global.Set;
|
|
const PREMIUM_LOCKED = EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
const ROLE_SUBSCRIPTION_LOCKED = EmojiDisabledReasons.ROLE_SUBSCRIPTION_LOCKED;
|
|
let set = new Set([PREMIUM_LOCKED, ROLE_SUBSCRIPTION_LOCKED]);
|
|
Set = global.Set;
|
|
object = [];
|
|
set = arraySpread(object, set, 0, 0);
|
|
let GUILD_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
object[set] = GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
set += 1;
|
|
const ROLE_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
object[set] = ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
set = new Set(object);
|
|
Set = global.Set;
|
|
const DISALLOW_CUSTOM = EmojiDisabledReasons.DISALLOW_CUSTOM;
|
|
const DISALLOW_EXTERNAL = EmojiDisabledReasons.DISALLOW_EXTERNAL;
|
|
GUILD_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
const ONLY_GUILD_EMOJIS_ALLOWED = EmojiDisabledReasons.ONLY_GUILD_EMOJIS_ALLOWED;
|
|
set = new Set([DISALLOW_CUSTOM, DISALLOW_EXTERNAL, GUILD_SUBSCRIPTION_UNAVAILABLE, ONLY_GUILD_EMOJIS_ALLOWED]);
|
|
object = {sanitizeEmojiName: sanitizeEmojiName};
|
|
object.filterUnsupportedEmojis = (importDefault(7171) /* metro dependency 7171: EmojiUtilsPlatformedNative */).filterUnsupportedEmojis;
|
|
const getURL = (importDefault(7171) /* metro dependency 7171: EmojiUtilsPlatformedNative */).getURL;
|
|
object.getURL = getURL;
|
|
object.isInternalEmojiForGuildId = isInternalEmojiForGuildId2;
|
|
object.getEmojiUnavailableReason = getEmojiUnavailableReason2;
|
|
object.isCustomEmoji = isCustomEmoji2;
|
|
object.getEmojiUnavailableReasons = getEmojiUnavailableReasons;
|
|
object.isEmojiFiltered = isEmojiFiltered;
|
|
object.isEmojiPremiumLocked = isEmojiPremiumLocked;
|
|
object.isEmojiCategoryNitroLocked = isEmojiCategoryNitroLocked;
|
|
object.isEmojiFilteredOrLocked = function(a0) {
|
|
return this.isEmojiFiltered(a0) || this.isEmojiPremiumLocked(a0);
|
|
};
|
|
object.isEmojiDisabled = isEmojiDisabled;
|
|
object.isFileTooBig = function(a0) {
|
|
return a0.size > 2097152;
|
|
};
|
|
object.isDataTooBig = function(a0) {
|
|
return require(dependencyMap[11]).dataUriFileSize(a0) > EMOJI_MAX_FILESIZE;
|
|
};
|
|
(FileImportTrackerModule).fileFinishedImporting('utils/EmojiUtils.tsx');
|
|
exports.default = object;
|
|
exports.countEmoji = countEmoji;
|
|
exports.getEmojiColors = function() {
|
|
return _getEmojiColors.apply(this, arguments);
|
|
};
|
|
exports.getEmojiUrl = getEmojiUrl;
|
|
exports.getAllEmojiNamesString = function(a0) {
|
|
return 'allNamesString' in a0 ? a0.allNamesString : ':' + a0.name + ':';
|
|
};
|
|
function _createForOfIteratorHelperLoose_29007(a0, a1) { // fn#29007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:370, offset: 0x00fb44a6, size: 370 bytes, params: 3, frame: 20
|
|
var r6;
|
|
var r9;
|
|
var r5;
|
|
var value3;
|
|
var regexp;
|
|
const env0_0 = a0;
|
|
const Symbol = global.Symbol;
|
|
let value = typeof Symbol !== 'undefined';
|
|
let r1 = value && a0[global.Symbol.iterator];
|
|
r1 = !r1 ? a0['@@iterator'] : r1;
|
|
if (r1) {
|
|
value = r1.call(a0);
|
|
return value.next.bind(value);
|
|
}
|
|
const Array = global.Array;
|
|
if (Array.isArray(a0)) {
|
|
if (r1) {
|
|
}
|
|
return _fun29008;
|
|
}
|
|
value = undefined;
|
|
if (a0) {
|
|
if (typeof a0 === 'string') {
|
|
value = _arrayLikeToArray_29009(a0, value);
|
|
r5 = value;
|
|
} else {
|
|
value3 = ({}).toString.call(a0).slice(8, -1);
|
|
r6 = value3 === 'Object' && a0.constructor;
|
|
r9 = r6 ? a0.constructor.name : value3;
|
|
if (r9 === 'Map') {
|
|
r6 = global.Array.from(a0);
|
|
} else if (r9 === 'Set') {
|
|
r6 = global.Array.from(a0);
|
|
} else if (r9 === 'Arguments') {
|
|
value = _arrayLikeToArray_29009(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
|
|
if (regexp.test(r9)) {
|
|
value = _arrayLikeToArray_29009(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
r6 = value;
|
|
}
|
|
}
|
|
r5 = r6;
|
|
}
|
|
} else {
|
|
r5 = value;
|
|
}
|
|
if (r5) {
|
|
if (r5) {
|
|
}
|
|
return _fun29008;
|
|
}
|
|
const TypeError = global.TypeError;
|
|
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
|
|
function _fun29008() { // fn#29008, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:941, offset: 0x00c39d73, size: 69 bytes, params: 1, frame: 5
|
|
return env0_1 >= env0_0.length ? {done: true} : {done: false,
|
|
value: env0_0[typeof env0_1 === 'bigint' ? env0_1 : +env0_1]};
|
|
}
|
|
|
|
}
|
|
|
|
function isCustomEmoji(a0) { // fn#29010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:1536, offset: 0x00fb4618, size: 65 bytes, params: 2, frame: 13
|
|
const type = a0.type;
|
|
const EmojiTypes = (EmojiTypesModule).EmojiTypes;
|
|
const GUILD = EmojiTypes.GUILD;
|
|
return type === GUILD || a0.guildId != null;
|
|
}
|
|
|
|
function isInternalEmojiForGuildId(a0, a1) { // fn#29011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:1621, offset: 0x00fb4659, size: 56 bytes, params: 3, frame: 13
|
|
let value = a0 != null;
|
|
let r0 = value && a1 != null;
|
|
if (r0) {
|
|
value = isCustomEmoji(a0);
|
|
r0 = value ? a1 === a0.guildId : !value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function getEmojiUnavailableReason({emoji, channel, guildId, intention, forceIncludeExternalGuilds}) { // fn#29012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:1721, offset: 0x00fb4691, size: 647 bytes, params: 2, frame: 23
|
|
var r1;
|
|
var r11;
|
|
var r8;
|
|
var r6;
|
|
var r4;
|
|
var PREMIUM_LOCKED;
|
|
var r5;
|
|
var DISALLOW_EXTERNAL;
|
|
var getGuildId;
|
|
var value2;
|
|
var value4;
|
|
var value5;
|
|
var isGuildTextChannelTypeBinding;
|
|
var type;
|
|
var isGuildTextChannelType2;
|
|
var value6;
|
|
var isGuildVocalChannelTypeBinding;
|
|
var isGuildVocalChannelType2;
|
|
var isInternalEmojiForGuildId2;
|
|
var permissionStoreBinding;
|
|
var can;
|
|
var USE_EXTERNAL_EMOJIS;
|
|
var value7;
|
|
var COMMUNITY_CONTENT;
|
|
var id;
|
|
var available;
|
|
var userStoreBinding;
|
|
var getCurrentUser;
|
|
var value8;
|
|
var defaultImport;
|
|
var canUseEmojisEverywhere;
|
|
var STATUS;
|
|
var managed;
|
|
var moduleValue;
|
|
var isUnusableRoleSubscriptionEmoji;
|
|
var animated;
|
|
var defaultImport2;
|
|
var canUseAnimatedEmojis;
|
|
var isPurchasableRoleSubscriptionEmoji;
|
|
var shouldHideGuildPurchaseEntryPoints;
|
|
var ROLE_SUBSCRIPTION_LOCKED;
|
|
var ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
let value = undefined;
|
|
reducibleJoin4: while (true) {
|
|
if (guildId !== value) {
|
|
r11 = guildId;
|
|
break reducibleJoin4;
|
|
}
|
|
reducibleJoin3: while (true) {
|
|
if (channel == null) {
|
|
r1 = value;
|
|
break reducibleJoin3;
|
|
}
|
|
getGuildId = channel.getGuildId;
|
|
value2 = Reflect.apply(getGuildId, channel, []);
|
|
r1 = value2;
|
|
break reducibleJoin3;
|
|
}
|
|
r11 = r1;
|
|
break reducibleJoin4;
|
|
}
|
|
if (isCustomEmoji(emoji)) {
|
|
if (intention !== EmojiIntention.GUILD_PROFILE) {
|
|
reducibleJoin48: while (true) {
|
|
if (intention !== EmojiIntention.NO_CUSTOM_EMOJI) {
|
|
value4 = null;
|
|
value5 = value4 != channel;
|
|
reducibleJoin10: while (true) {
|
|
if (value5) {
|
|
isGuildTextChannelTypeBinding = isGuildTextChannelType;
|
|
type = channel.type;
|
|
isGuildTextChannelType2 = isGuildTextChannelTypeBinding(type);
|
|
r8 = isGuildTextChannelType2;
|
|
break reducibleJoin10;
|
|
}
|
|
r8 = value5;
|
|
break reducibleJoin10;
|
|
}
|
|
value6 = value4 != channel;
|
|
reducibleJoin12: while (true) {
|
|
if (value6) {
|
|
isGuildVocalChannelTypeBinding = isGuildVocalChannelType;
|
|
type = channel.type;
|
|
isGuildVocalChannelType2 = isGuildVocalChannelTypeBinding(type);
|
|
r6 = isGuildVocalChannelType2;
|
|
break reducibleJoin12;
|
|
}
|
|
r6 = value6;
|
|
break reducibleJoin12;
|
|
}
|
|
isInternalEmojiForGuildId2 = isInternalEmojiForGuildId(emoji, r11);
|
|
permissionStoreBinding = PermissionStore;
|
|
can = permissionStoreBinding.can;
|
|
USE_EXTERNAL_EMOJIS = Permissions.USE_EXTERNAL_EMOJIS;
|
|
value7 = Reflect.apply(can, permissionStoreBinding, [USE_EXTERNAL_EMOJIS, channel]);
|
|
COMMUNITY_CONTENT = EmojiIntention.COMMUNITY_CONTENT;
|
|
if (intention === COMMUNITY_CONTENT) {
|
|
reducibleJoin47: while (true) {
|
|
reducibleJoin46: while (true) {
|
|
if (isInternalEmojiForGuildId2) {
|
|
guildId = emoji.guildId;
|
|
if (value4 == guildId) {
|
|
break reducibleJoin46;
|
|
}
|
|
available = emoji.available;
|
|
if (available) {
|
|
DISALLOW_EXTERNAL = value4;
|
|
break reducibleJoin47;
|
|
}
|
|
break reducibleJoin46;
|
|
}
|
|
break reducibleJoin46;
|
|
}
|
|
DISALLOW_EXTERNAL = EmojiDisabledReasons.DISALLOW_EXTERNAL;
|
|
break reducibleJoin47;
|
|
}
|
|
return DISALLOW_EXTERNAL;
|
|
}
|
|
if (!isExternalEmojiAllowedForIntention(intention)) {
|
|
reducibleJoin17: while (true) {
|
|
if (isInternalEmojiForGuildId(emoji, r11)) {
|
|
break reducibleJoin17;
|
|
}
|
|
if (!forceIncludeExternalGuilds) {
|
|
return EmojiDisabledReasons.DISALLOW_EXTERNAL;
|
|
}
|
|
break reducibleJoin17;
|
|
}
|
|
}
|
|
if (!r8) {
|
|
reducibleJoin19: while (true) {
|
|
if (!r6) {
|
|
id = emoji.id;
|
|
if (value4 != id) {
|
|
available = emoji.available;
|
|
reducibleJoin25: while (true) {
|
|
if (!available) {
|
|
return EmojiDisabledReasons.GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
}
|
|
break reducibleJoin25;
|
|
}
|
|
}
|
|
userStoreBinding = UserStore;
|
|
getCurrentUser = userStoreBinding.getCurrentUser;
|
|
value8 = Reflect.apply(getCurrentUser, userStoreBinding, []);
|
|
defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
|
|
canUseEmojisEverywhere = defaultImport.canUseEmojisEverywhere;
|
|
if (!Reflect.apply(canUseEmojisEverywhere, defaultImport, [value8])) {
|
|
reducibleJoin31: while (true) {
|
|
if (isInternalEmojiForGuildId2) {
|
|
break reducibleJoin31;
|
|
}
|
|
STATUS = EmojiIntention.STATUS;
|
|
if (intention === STATUS) {
|
|
return EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
}
|
|
managed = emoji.managed;
|
|
if (!managed) {
|
|
return EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
}
|
|
break reducibleJoin31;
|
|
}
|
|
}
|
|
moduleValue = require(6545) /* metro dependency 6545: RoleSubscriptionEmojiUtils */;
|
|
isUnusableRoleSubscriptionEmoji = moduleValue.isUnusableRoleSubscriptionEmoji;
|
|
r4 = value4 != r11 ? r11 : value;
|
|
if (Reflect.apply(isUnusableRoleSubscriptionEmoji, moduleValue, [emoji, r4])) {
|
|
value = require(3777) /* metro dependency 3777: CreatorMonetizationRestrictionsUtils */;
|
|
shouldHideGuildPurchaseEntryPoints = value.shouldHideGuildPurchaseEntryPoints;
|
|
guildId = emoji.guildId;
|
|
value = Reflect.apply(shouldHideGuildPurchaseEntryPoints, value, [guildId]);
|
|
if (value) {
|
|
ROLE_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
r5 = ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
} else {
|
|
ROLE_SUBSCRIPTION_LOCKED = EmojiDisabledReasons.ROLE_SUBSCRIPTION_LOCKED;
|
|
r5 = ROLE_SUBSCRIPTION_LOCKED;
|
|
}
|
|
r4 = r5;
|
|
} else {
|
|
animated = emoji.animated;
|
|
reducibleJoin37: while (true) {
|
|
if (animated) {
|
|
defaultImport2 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
|
|
canUseAnimatedEmojis = defaultImport2.canUseAnimatedEmojis;
|
|
if (Reflect.apply(canUseAnimatedEmojis, defaultImport2, [value8])) {
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
value = require(6545) /* metro dependency 6545: RoleSubscriptionEmojiUtils */;
|
|
isPurchasableRoleSubscriptionEmoji = value.isPurchasableRoleSubscriptionEmoji;
|
|
if (Reflect.apply(isPurchasableRoleSubscriptionEmoji, value, [emoji])) {
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
PREMIUM_LOCKED = EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
break reducibleJoin37;
|
|
}
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
r4 = PREMIUM_LOCKED;
|
|
}
|
|
return r4;
|
|
}
|
|
break reducibleJoin19;
|
|
}
|
|
}
|
|
if (!isInternalEmojiForGuildId2) {
|
|
reducibleJoin22: while (true) {
|
|
if (!value7) {
|
|
return EmojiDisabledReasons.DISALLOW_EXTERNAL;
|
|
}
|
|
break reducibleJoin22;
|
|
}
|
|
}
|
|
id = emoji.id;
|
|
if (value4 != id) {
|
|
available = emoji.available;
|
|
reducibleJoin25: while (true) {
|
|
if (!available) {
|
|
return EmojiDisabledReasons.GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
}
|
|
break reducibleJoin25;
|
|
}
|
|
}
|
|
userStoreBinding = UserStore;
|
|
getCurrentUser = userStoreBinding.getCurrentUser;
|
|
value8 = Reflect.apply(getCurrentUser, userStoreBinding, []);
|
|
defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
|
|
canUseEmojisEverywhere = defaultImport.canUseEmojisEverywhere;
|
|
if (!Reflect.apply(canUseEmojisEverywhere, defaultImport, [value8])) {
|
|
reducibleJoin31: while (true) {
|
|
if (isInternalEmojiForGuildId2) {
|
|
break reducibleJoin31;
|
|
}
|
|
STATUS = EmojiIntention.STATUS;
|
|
if (intention === STATUS) {
|
|
return EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
}
|
|
managed = emoji.managed;
|
|
if (!managed) {
|
|
return EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
}
|
|
break reducibleJoin31;
|
|
}
|
|
}
|
|
moduleValue = require(6545) /* metro dependency 6545: RoleSubscriptionEmojiUtils */;
|
|
isUnusableRoleSubscriptionEmoji = moduleValue.isUnusableRoleSubscriptionEmoji;
|
|
r4 = value4 != r11 ? r11 : value;
|
|
if (Reflect.apply(isUnusableRoleSubscriptionEmoji, moduleValue, [emoji, r4])) {
|
|
value = require(3777) /* metro dependency 3777: CreatorMonetizationRestrictionsUtils */;
|
|
shouldHideGuildPurchaseEntryPoints = value.shouldHideGuildPurchaseEntryPoints;
|
|
guildId = emoji.guildId;
|
|
value = Reflect.apply(shouldHideGuildPurchaseEntryPoints, value, [guildId]);
|
|
if (value) {
|
|
ROLE_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
r5 = ROLE_SUBSCRIPTION_UNAVAILABLE;
|
|
} else {
|
|
ROLE_SUBSCRIPTION_LOCKED = EmojiDisabledReasons.ROLE_SUBSCRIPTION_LOCKED;
|
|
r5 = ROLE_SUBSCRIPTION_LOCKED;
|
|
}
|
|
r4 = r5;
|
|
} else {
|
|
animated = emoji.animated;
|
|
reducibleJoin37: while (true) {
|
|
if (animated) {
|
|
defaultImport2 = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
|
|
canUseAnimatedEmojis = defaultImport2.canUseAnimatedEmojis;
|
|
if (Reflect.apply(canUseAnimatedEmojis, defaultImport2, [value8])) {
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
value = require(6545) /* metro dependency 6545: RoleSubscriptionEmojiUtils */;
|
|
isPurchasableRoleSubscriptionEmoji = value.isPurchasableRoleSubscriptionEmoji;
|
|
if (Reflect.apply(isPurchasableRoleSubscriptionEmoji, value, [emoji])) {
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
PREMIUM_LOCKED = EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
break reducibleJoin37;
|
|
}
|
|
PREMIUM_LOCKED = value4;
|
|
break reducibleJoin37;
|
|
}
|
|
r4 = PREMIUM_LOCKED;
|
|
}
|
|
return r4;
|
|
}
|
|
break reducibleJoin48;
|
|
}
|
|
}
|
|
return EmojiDisabledReasons.DISALLOW_CUSTOM;
|
|
}
|
|
return null;
|
|
}
|
|
|
|
function _getEmojiColors() { // fn#29013, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4286, offset: 0x00fb4918, size: 48 bytes, params: 1, frame: 14
|
|
return Module00005(_fun29015).apply(this, arguments);
|
|
function* _fun29015(a0) { // fn#29015, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4339, offset: 0x00fb4951, size: 65 bytes, params: 2, frame: 12
|
|
if (true) {
|
|
value = environment.__proto__.__proto__;
|
|
value = env2_1(env2_2[10]);
|
|
var getEmojiColors = value.getEmojiColors;
|
|
yield Reflect.apply(getEmojiColors, value, [a0]);
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function sanitizeEmojiName(a0) { // fn#29016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:2803, offset: 0x00fb4992, size: 85 bytes, params: 2, frame: 15
|
|
var r2;
|
|
var r0;
|
|
var value;
|
|
let length = a0.replace(EMOJI_RE, '').slice(0, EMOJI_MAX_LENGTH).length;
|
|
if (length < 2) {
|
|
for (r2 = value; true; r2 = value) {
|
|
value = r2 + '_';
|
|
length = value.length;
|
|
if (!(length < 2)) {
|
|
r0 = value;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function getEmojiUnavailableReasons({categoryEmojis, channel, guildId, intention}) { // fn#29017, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:3098, offset: 0x00fb49e7, size: 346 bytes, params: 2, frame: 30
|
|
var r5;
|
|
var r6;
|
|
var r7;
|
|
var r19;
|
|
var r0;
|
|
var r18;
|
|
var r16;
|
|
var r17;
|
|
var r1;
|
|
var r2;
|
|
var value7;
|
|
var emojiUnavailableReason;
|
|
var binding;
|
|
var has;
|
|
var id;
|
|
var add;
|
|
var PREMIUM_LOCKED;
|
|
var value9;
|
|
var value10;
|
|
var value11;
|
|
var value12;
|
|
const Set = global.Set;
|
|
const set = new Set();
|
|
const items2 = [];
|
|
const value3 = _createForOfIteratorHelperLoose_29007(categoryEmojis);
|
|
const value4 = value3();
|
|
let done = value4.done;
|
|
if (done) {
|
|
r1 = false;
|
|
r2 = 0;
|
|
} else {
|
|
r5 = false;
|
|
r6 = 0;
|
|
r7 = value4;
|
|
while (true) {
|
|
value7 = r7.value;
|
|
emojiUnavailableReason = getEmojiUnavailableReason({emoji: value7, channel: channel, guildId: guildId,
|
|
intention: intention});
|
|
if (emojiUnavailableReason != null) {
|
|
binding = env0_17;
|
|
has = binding.has;
|
|
if (Reflect.apply(has, binding, [emojiUnavailableReason])) {
|
|
continue;
|
|
}
|
|
items2.push(value7);
|
|
binding = env0_16;
|
|
has = binding.has;
|
|
if (Reflect.apply(has, binding, [emojiUnavailableReason])) {
|
|
id = value7.id;
|
|
if (id == null) {
|
|
continue;
|
|
}
|
|
add = set.add;
|
|
id = value7.id;
|
|
Reflect.apply(add, set, [id]);
|
|
binding = env0_15;
|
|
has = binding.has;
|
|
if (!Reflect.apply(has, binding, [emojiUnavailableReason])) {
|
|
r0 = r5;
|
|
r18 = r6;
|
|
continue;
|
|
}
|
|
if (r5) {
|
|
r19 = r5;
|
|
continue;
|
|
}
|
|
PREMIUM_LOCKED = EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
value9 = emojiUnavailableReason !== PREMIUM_LOCKED;
|
|
r19 = value9;
|
|
if (r19) {
|
|
continue;
|
|
}
|
|
value10 = true;
|
|
r5 = value10;
|
|
value11 = typeof r6 === 'bigint' ? r6 + 1n : +r6 + 1;
|
|
r0 = r5;
|
|
r18 = value11;
|
|
r16 = r0;
|
|
r17 = r18;
|
|
break;
|
|
}
|
|
r16 = r5;
|
|
r17 = r6;
|
|
break;
|
|
}
|
|
items2.push(value7);
|
|
r16 = r5;
|
|
r17 = r6;
|
|
value12 = value3();
|
|
done = value12.done;
|
|
if (done) {
|
|
r1 = r16;
|
|
r2 = r17;
|
|
break;
|
|
}
|
|
r5 = r16;
|
|
r6 = r17;
|
|
r7 = value12;
|
|
continue;
|
|
}
|
|
}
|
|
return {emojisDisabled: set, emojisUnfiltered: items2, emojisPremiumLockedCount: r2, emojiNitroLocked: r1};
|
|
}
|
|
|
|
function isEmojiFiltered(a0) { // fn#29018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:3570, offset: 0x00fb4b41, size: 33 bytes, params: 2, frame: 12
|
|
return env0_17.has(getEmojiUnavailableReason(a0));
|
|
}
|
|
|
|
function isEmojiPremiumLocked(a0) { // fn#29019, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:3641, offset: 0x00fb4b62, size: 33 bytes, params: 2, frame: 12
|
|
return env0_15.has(getEmojiUnavailableReason(a0));
|
|
}
|
|
|
|
function isEmojiCategoryNitroLocked({categoryEmojis, channel, guildId, intention}) { // fn#29020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:3717, offset: 0x00fb4b83, size: 184 bytes, params: 2, frame: 25
|
|
var r4;
|
|
var r5;
|
|
var r6;
|
|
var r14;
|
|
var r15;
|
|
var r0;
|
|
var r2;
|
|
var getEmojiUnavailableReasonBinding;
|
|
var value6;
|
|
var emojiUnavailableReasonBinding;
|
|
var PREMIUM_LOCKED;
|
|
var GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
var value8;
|
|
var value9;
|
|
var value10;
|
|
var value11;
|
|
const value2 = _createForOfIteratorHelperLoose_29007(categoryEmojis);
|
|
const value3 = value2();
|
|
let done = value3.done;
|
|
if (done) {
|
|
r0 = false;
|
|
r2 = 0;
|
|
} else {
|
|
r4 = 0;
|
|
r5 = false;
|
|
r6 = value3;
|
|
while (true) {
|
|
getEmojiUnavailableReasonBinding = getEmojiUnavailableReason;
|
|
value6 = r6.value;
|
|
emojiUnavailableReasonBinding = getEmojiUnavailableReasonBinding({emoji: value6, channel: channel,
|
|
intention: intention, guildId: guildId});
|
|
PREMIUM_LOCKED = EmojiDisabledReasons.PREMIUM_LOCKED;
|
|
if (emojiUnavailableReasonBinding !== PREMIUM_LOCKED) {
|
|
GUILD_SUBSCRIPTION_UNAVAILABLE = EmojiDisabledReasons.GUILD_SUBSCRIPTION_UNAVAILABLE;
|
|
if (emojiUnavailableReasonBinding !== GUILD_SUBSCRIPTION_UNAVAILABLE) {
|
|
r14 = r4;
|
|
r15 = r5;
|
|
break;
|
|
}
|
|
value8 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
|
|
r14 = value8;
|
|
r15 = r5;
|
|
break;
|
|
}
|
|
value9 = typeof r4 === 'bigint' ? r4 + 1n : +r4 + 1;
|
|
value10 = true;
|
|
r14 = value9;
|
|
r15 = value10;
|
|
value11 = value2();
|
|
done = value11.done;
|
|
if (done) {
|
|
r0 = r15;
|
|
r2 = r14;
|
|
break;
|
|
}
|
|
r4 = r14;
|
|
r5 = r15;
|
|
r6 = value11;
|
|
continue;
|
|
}
|
|
}
|
|
r0 = r0 && r2 === categoryEmojis.length;
|
|
return r0;
|
|
}
|
|
|
|
function isEmojiDisabled(a0) { // fn#29022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4136, offset: 0x00fb4c5c, size: 33 bytes, params: 2, frame: 12
|
|
return env0_16.has(getEmojiUnavailableReason(a0));
|
|
}
|
|
|
|
function countEmoji(a0, a1) { // fn#29025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4501, offset: 0x00fb4cc2, size: 117 bytes, params: 3, frame: 12
|
|
const env0_0 = a1;
|
|
const env0_1 = 0;
|
|
const env0_2 = 0;
|
|
const env0_3 = 0;
|
|
const env0_4 = 0;
|
|
const env0_5 = 0;
|
|
const env0_6 = 0;
|
|
a0.forEach(_fun29026);
|
|
return {unicode: env0_1, custom: env0_2, customExternal: env0_3, managed: env0_4, managedExternal: env0_5,
|
|
animated: env0_6};
|
|
function _fun29026(a0) { // fn#29026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4572, offset: 0x00fb4d37, size: 190 bytes, params: 2, frame: 13
|
|
var value;
|
|
var binding;
|
|
var type;
|
|
if (a0.id != null) {
|
|
type = a0.type;
|
|
value = environment.__proto__;
|
|
binding = type === (require(3800) /* metro dependency 3800: EmojiTypes */).EmojiTypes.GUILD ? a0.guildId === require ? a0.managed ? env0_4 : env0_2 : a0.managed ? env0_5 : env0_3 : binding;
|
|
if (a0.animated) {
|
|
binding = env0_6;
|
|
env0_6 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
}
|
|
} else {
|
|
binding = env0_1;
|
|
env0_1 = typeof binding === 'bigint' ? binding + 1n : +binding + 1;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function getEmojiUrl({id, name, animated}) { // fn#29028, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:3928:4890, offset: 0x00fb4df5, size: 134 bytes, params: 2, frame: 17
|
|
var r0;
|
|
let value = a1;
|
|
if (id != null) {
|
|
value = importDefault(1423) /* metro dependency 1423: AvatarUtils */;
|
|
value = value.getEmojiURL({id: id, size: value !== undefined ? value : 32,
|
|
animated: animated != null && animated});
|
|
r0 = value;
|
|
} else {
|
|
value = importDefault(7171) /* metro dependency 7171: EmojiUtilsPlatformedNative */;
|
|
value = value.getURL(name);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
}
|
|
|
|
global.__d(_fun29006, 3801, [5, 1383, 3784, 1878, 661, 1881, 3800, 3802, 6545, 3777, 7171, 1475, 1423,
|
|
2]) /* metro module 3801, dependencies: [5, 1383, 3784, 1878, 661, 1881, 3800, 3802, 6545, 3777, 7171, 1475, 1423, 2] */;
|