Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,117 @@
/* Metro module 14050; source: modules/collectibles/hooks/useBadBundleFilter.tsx; dependencies: [31, 1878, 5145, 632, 3802, 10060, 5134, 10030, 5133, 2] */
function _fun106550(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106550, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14247:6, offset: 0x022e01e8, size: 155 bytes, params: 8, frame: 19
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(31) /* metro dependency 31 */).useCallback;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useBadBundleFilter.tsx');
exports.useBadBundleFilter = function() {
var canUseShopDiscounts = importDefault(dependencyMap[4]).canUseShopDiscounts(require(dependencyMap[3]).useStateFromStores([UserStore],
_fun106552));
var env0_0 = canUseShopDiscounts;
return useCallback(_fun106553, [canUseShopDiscounts]);
};
}
function useBadBundleFilter() { // fn#106551, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14247:242, offset: 0x022e0283, size: 115 bytes, params: 1, frame: 17
const currentUser = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([UserStore],
function() {
return UserStore.getCurrentUser();
});
return useCallback(function(a0) {
var r0;
var value = a0;
if (value == null) {
r0 = value;
} else if (value.length === 0) {
r0 = value;
} else {
value = value.filter(_fun106554);
r0 = value;
}
return r0;
}, [(importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseShopDiscounts(currentUser)]);
}
function _fun106553(a0) { // fn#106553, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14247:353, offset: 0x022e02f6, size: 47 bytes, params: 2, frame: 12
var r0;
let value = a0;
if (value == null) {
r0 = value;
} else if (value.length === 0) {
r0 = value;
} else {
value = value.filter(_fun106554);
r0 = value;
}
return r0;
}
function _fun106554(a0) { // fn#106554, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14247:390, offset: 0x022e0325, size: 381 bytes, params: 2, frame: 20
var environment;
var r6;
var moduleValue3;
var moduleValue4;
var getDefaultPriceSetAssignmentPurchaseType;
var value2;
var amount;
var value3;
var getProductOrbPrice;
var value5;
let value = environment.__proto__.__proto__;
const useProductPurchaseStateModule = require(10060) /* metro dependency 10060: useProductPurchaseState */;
const getProductPurchaseState = useProductPurchaseStateModule.getProductPurchaseState;
const isPurchased = Reflect.apply(getProductPurchaseState, useProductPurchaseStateModule,
[CollectiblesPurchaseStore, a0]).isPurchased;
const collectiblesUtilsModule = require(5134) /* metro dependency 5134: CollectiblesUtils */;
if (collectiblesUtilsModule.isBundleProduct(a0)) {
moduleValue3 = collectiblesUtilsModule;
if (moduleValue3.isFreeCollectiblesProduct(a0)) {
return true;
}
if (isPurchased) {
return true;
}
moduleValue4 = require(10030) /* metro dependency 10030: bundleUtils */;
if (moduleValue4.isValidCollectiblesBundle(a0)) {
if ((require(5133) /* metro dependency 5133: CollectiblesProductUtils */).isOrbsExclusiveProduct(a0)) {
value = require(5133) /* metro dependency 5133: CollectiblesProductUtils */;
getProductOrbPrice = value.getProductOrbPrice;
value5 = environment.__proto__;
value = Reflect.apply(getProductOrbPrice, value, [{product: a0, hasShopDiscount: env1_0}]);
return value != null;
}
value = require(5134) /* metro dependency 5134: CollectiblesUtils */;
getDefaultPriceSetAssignmentPurchaseType = value.getDefaultPriceSetAssignmentPurchaseType;
value2 = environment.__proto__;
value = Reflect.apply(getDefaultPriceSetAssignmentPurchaseType, value, [env1_0]);
value = (require(5134) /* metro dependency 5134: CollectiblesUtils */).extractPriceByPurchaseTypes(a0,
value);
if (value == null) {
return true;
}
amount = value.amount;
value3 = 0;
if (value3 === amount) {
return true;
}
r6 = a0.bundledProducts != null ? a0.bundledProducts.reduce(_fun106555, value3) : value3;
amount = value.amount;
return amount < r6;
}
return false;
}
return true;
}
function _fun106555(a0, a1) { // fn#106555, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14247:892, offset: 0x022e04a2, size: 83 bytes, params: 3, frame: 14
let value = environment.__proto__.__proto__.__proto__;
value = undefined;
const value3 = (require(5134) /* metro dependency 5134: CollectiblesUtils */).extractPriceByPurchaseTypes(a1,
env0_0);
return a0 + ((value3 == null ? value : value3.amount) ?? 0);
}
@@ -0,0 +1,40 @@
/* Metro module 7629; source: modules/collectibles/hooks/useCanGiftProduct.tsx; dependencies: [7594, 7630, 5134, 5133, 1904, 3802, 3815, 2] */
function _fun61128(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61128, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7807:6, offset: 0x0171b197, size: 101 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useCanGiftProduct.tsx');
exports.useCanGiftProduct = useCanGiftProduct;
}
function useCanGiftProduct(a0) { // fn#61129, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7807:194, offset: 0x0171b1fc, size: 393 bytes, params: 2, frame: 23
var moduleValue8;
var value;
const value2 = undefined;
const value3 = (require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUser();
const value4 = (require(7630) /* metro dependency 7630: CollectiblesProfileFrameGiftingExperiment */).useIsProfileFrameGiftingEnabled('useCanGiftProduct');
const isPremiumCollectiblesProduct2 = (require(5134) /* metro dependency 5134: CollectiblesUtils */).isPremiumCollectiblesProduct(a0);
const isFreeCollectiblesProduct2 = (require(5134) /* metro dependency 5134: CollectiblesUtils */).isFreeCollectiblesProduct(a0);
const isOrbsExclusiveProduct2 = (require(5133) /* metro dependency 5133: CollectiblesProductUtils */).isOrbsExclusiveProduct(a0);
const type = a0.type;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
const PROFILE_FRAME = CollectiblesItemType.PROFILE_FRAME;
const r4 = type === PROFILE_FRAME && !value4;
const value8 = (require(5134) /* metro dependency 5134: CollectiblesUtils */).extractPriceByPurchaseTypes(a0,
(require(5134) /* metro dependency 5134: CollectiblesUtils */).getDefaultPriceSetAssignmentPurchaseType((importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseShopDiscounts(value3)));
let r0 = isPremiumCollectiblesProduct2 || isFreeCollectiblesProduct2;
r0 = !r0 ? isOrbsExclusiveProduct2 : r0;
r0 = !r0 ? r4 : r0;
r0 = !r0 ? a0.type === CollectiblesItemType.EXTERNAL_SKU : r0;
if (!r0) {
moduleValue8 = require(5134) /* metro dependency 5134: CollectiblesUtils */;
r0 = moduleValue8.shouldHideGiftingForCurrency(value8 == null ? value2 : value8.currency);
}
if (!r0) {
value = require(3815) /* metro dependency 3815: BillingPlatformUtils */;
value = !value.isCollectibleGiftingSupported();
r0 = value;
}
return !r0;
}
@@ -0,0 +1,56 @@
/* Metro module 10054; source: modules/collectibles/hooks/useCanPurchaseFrames.tsx; dependencies: [1878, 1880, 8499, 10055, 1900, 1895, 566, 2] */
function _fun78612(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78612, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:6, offset: 0x01e2de47, size: 183 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = isUserPaidTier2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const env0_4 = (require(1880) /* metro dependency 1880: PremiumConstants */).PremiumTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useCanPurchaseFrames.tsx');
exports.default = useCanPurchaseFrames;
exports.useCanViewProfileFramesInCollectiblesShop = useCanViewProfileFramesInCollectiblesShop;
exports.useIsProfileFramesEarlyAccessPhase = useIsProfileFramesEarlyAccessPhase;
exports.isUserPaidTier2 = closure;
}
function isUserPaidTier2(a0) { // fn#78613, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:129, offset: 0x01e2defe, size: 127 bytes, params: 2, frame: 16
const value2 = undefined;
const premiumTypeUtilsModule = require(1900) /* metro dependency 1900: PremiumTypeUtils */;
const isPremiumExactly = premiumTypeUtilsModule.isPremiumExactly;
const TIER_2 = PremiumTypes.TIER_2;
return Reflect.apply(isPremiumExactly, premiumTypeUtilsModule, [a0,
TIER_2]) && (a0 == null ? value2 : a0.premiumState) != null && a0.premiumState.premiumSubscriptionType === (require(1895) /* metro dependency 1895: user */).PremiumSubscriptionType.TIER_2;
}
function useCanPurchaseFrames(a0) { // fn#78614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:416, offset: 0x01e2df7d, size: 200 bytes, params: 2, frame: 20
const value2 = (require(8499) /* metro dependency 8499: CollectiblesProfileFramesExperiment */).useIsProfileFramesEnabled(a0);
const defaultImport = importDefault(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */;
const useConfig = defaultImport.useConfig;
const bucket = Reflect.apply(useConfig, defaultImport, [{location: a0}]).bucket;
const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], _fun78615);
const ProfileFramesPurchaseBucket = (require(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */).ProfileFramesPurchaseBucket;
const OPEN_PURCHASE = ProfileFramesPurchaseBucket.OPEN_PURCHASE;
return value2 && (bucket === OPEN_PURCHASE || bucket === ProfileFramesPurchaseBucket.PAID_PREMIUM_SUBSCRIBERS_ONLY && value3);
}
function useCanViewProfileFramesInCollectiblesShop(a0) { // fn#78616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:796, offset: 0x01e2e062, size: 116 bytes, params: 2, frame: 16
const value2 = (require(8499) /* metro dependency 8499: CollectiblesProfileFramesExperiment */).useIsProfileFramesEnabled(a0);
const defaultImport = importDefault(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */;
const useConfig = defaultImport.useConfig;
return value2 && Reflect.apply(useConfig, defaultImport,
[{location: a0}]).bucket !== (require(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */).ProfileFramesPurchaseBucket.CONTROL;
}
function useIsProfileFramesEarlyAccessPhase(a0) { // fn#78617, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:1030, offset: 0x01e2e0d6, size: 116 bytes, params: 2, frame: 16
const value2 = (require(8499) /* metro dependency 8499: CollectiblesProfileFramesExperiment */).useIsProfileFramesEnabled(a0);
const defaultImport = importDefault(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */;
const useConfig = defaultImport.useConfig;
return value2 && Reflect.apply(useConfig, defaultImport,
[{location: a0}]).bucket === (require(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */).ProfileFramesPurchaseBucket.PAID_PREMIUM_SUBSCRIBERS_ONLY;
}
function _fun78615() { // fn#78615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10240:567, offset: 0x01e2e045, size: 29 bytes, params: 1, frame: 11
const value = environment.__proto__;
return isUserPaidTier2(UserStore.getCurrentUser());
}
@@ -0,0 +1,37 @@
/* Metro module 8405; source: modules/collectibles/hooks/useCollectiblesData.tsx; dependencies: [57, 5121, 5145, 632, 2] */
function _fun66803(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66803, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8590:6, offset: 0x01c0a678, size: 146 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useCollectiblesData.tsx');
exports.default = _default_66804;
}
function _default_66804(a0) { // fn#66804, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8590:135, offset: 0x01c0a70a, size: 148 bytes, params: 2, frame: 19
var object2;
const env0_0 = a0;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value3 = env0_2(Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[CollectiblesCategoryStore],
_fun66805]), 2);
object2 = {category: value3[0], product: value3[1]};
object2.purchase = useStateFromStoresModule.useStateFromStores([CollectiblesPurchaseStore], _fun66806);
return object2;
}
function _fun66805() { // fn#66805, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8590:182, offset: 0x01c0a79e, size: 50 bytes, params: 1, frame: 12
const value = environment.__proto__;
const getCategoryForProduct = CollectiblesCategoryStore.getCategoryForProduct;
const binding = env0_0;
const getProduct = CollectiblesCategoryStore.getProduct;
return [Reflect.apply(getCategoryForProduct, CollectiblesCategoryStore, [binding]), Reflect.apply(getProduct,
CollectiblesCategoryStore, [binding])];
}
function _fun66806() { // fn#66806, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8590:317, offset: 0x01c0a7d0, size: 27 bytes, params: 1, frame: 11
return CollectiblesPurchaseStore.getPurchase(env0_0);
}
@@ -0,0 +1,27 @@
/* Metro module 7594; source: modules/collectibles/hooks/useCurrentUser.tsx; dependencies: [1878, 566, 44, 2] */
function _fun60910(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60910, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7772:6, offset: 0x01714b22, size: 127 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useCurrentUser.tsx');
exports.useCurrentUser = useCurrentUser;
exports.useCurrentUserIfAvailable = function() {
return require(dependencyMap[1]).useStateFromStores([UserStore], _fun60914);
};
}
function useCurrentUser() { // fn#60911, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7772:202, offset: 0x01714ba1, size: 91 bytes, params: 1, frame: 16
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
(importDefault(44) /* metro dependency 44 */)(currentUser != null, 'user has to be signed in before accessing shop');
return currentUser;
}
function useCurrentUserIfAvailable() { // fn#60913, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7772:374, offset: 0x01714c0e, size: 57 bytes, params: 1, frame: 13
return (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return UserStore.getCurrentUser();
});
}
@@ -0,0 +1,29 @@
/* Metro module 10021; source: modules/collectibles/hooks/useDefaultVariantIndex.tsx; dependencies: [5145, 566, 5133, 2] */
function _fun78276(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10207:6, offset: 0x01e23e8f, size: 114 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useDefaultVariantIndex.tsx');
exports.useDefaultVariantIndex = useDefaultVariantIndex;
}
function useDefaultVariantIndex(a0) { // fn#78277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10207:218, offset: 0x01e23f01, size: 158 bytes, params: 2, frame: 17
var r0;
var value;
const env0_0 = (require(566) /* metro dependency 566: flux */).useStateFromStores([CollectiblesPurchaseStore],
function() {
return CollectiblesPurchaseStore.purchases;
});
const value2 = 0;
if (a0 != null) {
value = require(5133) /* metro dependency 5133: CollectiblesProductUtils */;
r0 = value.getIsVariantProduct(a0) ? global.Math.max(value2, a0.variants.findIndex(function(a0) {
return !purchases.has(a0.skuId);
})) : value2;
} else {
r0 = value2;
}
return r0;
}
@@ -0,0 +1,111 @@
/* Metro module 7675; source: modules/collectibles/hooks/useFetchCollectiblesCategoriesAndPurchases.tsx; dependencies: [57, 31, 4107, 5145, 632, 5120, 7603, 2] */
function _fun61324(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#61324, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:6, offset: 0x01b3b5c3, size: 232 bytes, params: 8, frame: 21
const env0_0 = require;
const closure = useFetchPurchases;
const closure2 = useFetchCollectiblesCategoriesAndPurchases;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
let value = require(31) /* metro dependency 31 */;
const env0_4 = value.useEffect;
const env0_5 = value.useRef;
const experimentStore = importDefault(4107) /* metro dependency 4107: ExperimentStore */;
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useFetchCollectiblesCategoriesAndPurchases.tsx');
exports.default = closure2;
exports.useFetchPurchases = closure;
exports.useGetOrFetchPurchases = function() {
return useFetchPurchases(true);
};
exports.useGetOrFetchPurchase = useGetOrFetchPurchase;
exports.useGetOrFetchCollectiblesCategoriesAndPurchases = function(a0) {
var value = a0;
var object = {};
copyDataProperties(object, value ?? ({}), null);
object['stalePurchasesOK'] = true;
return useFetchCollectiblesCategoriesAndPurchases(object);
};
}
function useFetchPurchases() { // fn#61325, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:161, offset: 0x01b3b6ab, size: 400 bytes, params: 1, frame: 23
const value = a0;
const r11 = value !== undefined ? value : false;
const env0_3 = undefined;
const hasLoadedExperiments = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([ExperimentStore],
function() {
return ExperimentStore.hasLoadedExperiments;
});
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value3 = env0_3(Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[CollectiblesPurchaseStore],
function() {
return [CollectiblesPurchaseStore.isFetching, CollectiblesPurchaseStore.isClaiming,
CollectiblesPurchaseStore.fetchError, CollectiblesPurchaseStore.claimError,
CollectiblesPurchaseStore.purchases,
CollectiblesPurchaseStore.hasPreviouslyFetched];
}]), 6);
const property = value3[0];
const property2 = value3[1];
const property3 = value3[2];
const property4 = value3[3];
const property5 = value3[4];
const property6 = value3[5];
const env0_5 = useRef(CollectiblesPurchaseStore.hasPreviouslyFetched);
useEffect(_fun61328, [property6]);
const env0_6 = useRef(CollectiblesPurchaseStore.fetchError);
useEffect(_fun61329, [property3]);
const env0_7 = useRef(CollectiblesPurchaseStore.isFetching);
useEffect(_fun61330, [property]);
useEffect(_fun61331, [r11, hasLoadedExperiments]);
return {isClaiming: property2, fetchPurchasesError: property3, claimError: property4, isFetching: property,
purchases: property5, hasPreviouslyFetched: property6};
}
function useFetchCollectiblesCategoriesAndPurchases(a0, a1) { // fn#61332, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:809, offset: 0x01b3b93f, size: 275 bytes, params: 3, frame: 21
let value = undefined;
const {isFetching, categories, fetchCategoriesError,
refreshCategories} = (importDefault(7603) /* metro dependency 7603: useMaybeFetchCollectiblesCategories */)({paymentGateway: a0 == null ? value : a0.paymentGateway,
noOp: a0 == null ? value : a0.noOp, logPerf: a0 == null ? value : a0.logPerf,
countryCode: a0 == null ? value : a0.countryCode}, a1);
value = useFetchPurchases(a0 == null ? value : a0.stalePurchasesOK);
const isClaiming = value.isClaiming;
const fetchPurchasesError = value.fetchPurchasesError;
const claimError = value.claimError;
const isFetching2 = value.isFetching;
return {isFetching: isFetching || isFetching2, isFetchingCategories: isFetching, isFetchingPurchases: isFetching2,
isClaiming: isClaiming, categories: categories, purchases: value.purchases,
fetchCategoriesError: fetchCategoriesError, fetchPurchasesError: fetchPurchasesError, claimError: claimError,
refreshCategories: refreshCategories, hasPreviouslyFetched: value.hasPreviouslyFetched};
}
function useGetOrFetchPurchase(a0) { // fn#61334, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:1750, offset: 0x01b3ba64, size: 55 bytes, params: 2, frame: 12
const value = a1;
const value2 = undefined;
return a0 != null ? useFetchPurchases(!(value !== value2) || value).purchases.get(a0) : value2;
}
function _fun61329() { // fn#61329, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:526, offset: 0x01b3b8a7, size: 21 bytes, params: 1, frame: 2
env0_6.current = env0_3;
}
function _fun61330() { // fn#61330, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:582, offset: 0x01b3b8bc, size: 21 bytes, params: 1, frame: 2
env0_7.current = env0_2;
}
function _fun61331() { // fn#61331, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7853:609, offset: 0x01b3b8d1, size: 110 bytes, params: 1, frame: 12
var r1;
var value;
const hasLoadedExperimentsBinding = hasLoadedExperiments;
let r0 = hasLoadedExperimentsBinding ? env0_7.current : !hasLoadedExperimentsBinding;
if (!r0) {
r1 = env0_0 === true && env0_5.current;
r1 = r1 && env0_6.current == null;
r0 = r1;
}
if (!r0) {
value = environment.__proto__;
value = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
value.fetchCollectiblesPurchases();
}
}
@@ -0,0 +1,66 @@
/* Metro module 8461; source: modules/collectibles/hooks/useFetchCollectiblesProduct.tsx; dependencies: [57, 31, 4279, 5121, 661, 632, 1904, 5120, 2] */
function _fun67198(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67198, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8646:6, offset: 0x01c19209, size: 189 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const env0_3 = (require(31) /* metro dependency 31 */).useEffect;
const skuStore = importDefault(4279) /* metro dependency 4279: SKUStore */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const env0_6 = (require(661) /* metro dependency 661: Constants */).SKUProductLines;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useFetchCollectiblesProduct.tsx');
exports.useFetchCollectiblesProduct = useFetchCollectiblesProduct;
}
function useFetchCollectiblesProduct(a0, a1) { // fn#67199, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8646:294, offset: 0x01c192c6, size: 348 bytes, params: 3, frame: 24
const env0_0 = a0;
const env0_1 = a1;
const value2 = undefined;
const value3 = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStores([SKUStore],
_fun67200);
const r9 = value3 != null && value3.productLine !== SKUProductLines.COLLECTIBLES;
const env0_2 = r9;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value7 = env0_2(Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[CollectiblesCategoryStore],
_fun67201]), 2);
const property = value7[0];
const property2 = value7[1];
useEffect(_fun67202, [a0, property, r9, property2, a1,
a1 === true && (property == null ? value2 : property.type) === (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType.BUNDLE && property.items.length === 0]);
return {product: property, isFetching: (property2 == null ? value2 : property2.state) === 'fetching'};
}
function _fun67200() { // fn#67200, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8646:374, offset: 0x01c19422, size: 39 bytes, params: 1, frame: 12
const value2 = null;
return value2 != env0_0 ? SKUStore.get(env0_0) : value2;
}
function _fun67201() { // fn#67201, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8646:483, offset: 0x01c19449, size: 50 bytes, params: 1, frame: 12
const value = environment.__proto__;
const getProduct = CollectiblesCategoryStore.getProduct;
const binding = env0_0;
const getProductFetch = CollectiblesCategoryStore.getProductFetch;
return [Reflect.apply(getProduct, CollectiblesCategoryStore, [binding]), Reflect.apply(getProductFetch,
CollectiblesCategoryStore, [binding])];
}
function _fun67202() { // fn#67202, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8646:653, offset: 0x01c1947b, size: 233 bytes, params: 1, frame: 14
var r1;
var value12;
var moduleValue;
let r0 = env0_0 == null || env0_3 != null && !env0_5;
r0 = !r0 ? env0_2 : r0;
r0 = !r0 ? env0_4?.state === 'fetching' : r0;
if (!r0) {
r1 = env0_4?.state === 'error' && env0_4.endedAt != null;
r1 = r1 && global.Date.now() - env0_4.endedAt < 3600000;
r0 = r1;
}
if (!r0) {
value12 = environment.__proto__;
moduleValue = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
moduleValue.fetchCollectiblesProduct(env0_0, {includeBundles: require});
}
}
@@ -0,0 +1,27 @@
/* Metro module 7602; source: modules/collectibles/hooks/useFetchCollectiblesProductCategory.tsx; dependencies: [57, 5121, 7603, 632, 2] */
function _fun60933(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60933, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7780:6, offset: 0x01715670, size: 132 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useFetchCollectiblesProductCategory.tsx');
exports.useFetchCollectiblesProductCategory = useFetchCollectiblesProductCategory;
}
function useFetchCollectiblesProductCategory(a0) { // fn#60934, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7780:254, offset: 0x017156f4, size: 119 bytes, params: 2, frame: 17
const env0_0 = a0;
(importDefault(7603) /* metro dependency 7603: useMaybeFetchCollectiblesCategories */)();
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value = env0_3(Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[CollectiblesCategoryStore],
_fun60935]), 2);
return {isFetching: value[0], category: value[1]};
}
function _fun60935() { // fn#60935, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7780:355, offset: 0x0171576b, size: 45 bytes, params: 1, frame: 12
const getCategoryForProduct = CollectiblesCategoryStore.getCategoryForProduct;
return [CollectiblesCategoryStore.isFetchingCategories, Reflect.apply(getCategoryForProduct,
CollectiblesCategoryStore, [env0_0])];
}
@@ -0,0 +1,298 @@
/* Metro module 10157; source: modules/collectibles/hooks/useFetchCollectiblesProducts.tsx; dependencies: [57, 31, 4279, 5121, 661, 632, 1904, 5120, 2] */
function _fun79142(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79142, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:6, offset: 0x01e46648, size: 211 bytes, params: 8, frame: 19
const env0_0 = require;
const _arrayLikeToArray_79145 = 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 Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const env0_3 = (require(31) /* metro dependency 31 */).useEffect;
const skuStore = importDefault(4279) /* metro dependency 4279: SKUStore */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const env0_6 = (require(661) /* metro dependency 661: Constants */).SKUProductLines;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useFetchCollectiblesProducts.tsx');
exports.useFetchCollectiblesProducts = useFetchCollectiblesProducts;
}
function _createForOfIteratorHelperLoose_79143(a0, a1) { // fn#79143, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:182, offset: 0x01e4671b, size: 372 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 _fun79144;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_79145(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_79145(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_79145(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun79144;
}
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 useFetchCollectiblesProducts(a0, a1) { // fn#79146, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1218, offset: 0x01e4688f, size: 221 bytes, params: 3, frame: 23
const env0_0 = a0;
const env0_1 = a1;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
let useStateFromStoresArray = useStateFromStoresModule.useStateFromStoresArray;
const value2 = Reflect.apply(useStateFromStoresArray, useStateFromStoresModule, [[SKUStore], _fun79147]);
const value3 = useStateFromStoresModule.useStateFromStoresArray([CollectiblesCategoryStore], _fun79149);
const moduleValue3 = useStateFromStoresModule;
useStateFromStoresArray = moduleValue3.useStateFromStoresArray;
useEffect(_fun79153, [a0, value2, Reflect.apply(useStateFromStoresArray, moduleValue3, [[CollectiblesCategoryStore],
_fun79151]), value3, a1]);
return value3.some(_fun79154);
}
function _fun79147() { // fn#79147, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1305, offset: 0x01e4696c, size: 28 bytes, params: 1, frame: 11
return env0_0.map(function(a0) {
return SKUStore.get(a0);
});
}
function _fun79149() { // fn#79149, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1372, offset: 0x01e4699e, size: 28 bytes, params: 1, frame: 11
return env0_0.map(function(a0) {
return CollectiblesCategoryStore.getProduct(a0);
});
}
function _fun79151() { // fn#79151, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1446, offset: 0x01e469ba, size: 28 bytes, params: 1, frame: 11
return env0_0.map(function(a0) {
return CollectiblesCategoryStore.getProductFetch(a0);
});
}
function _fun79153() { // fn#79153, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1495, offset: 0x01e469ed, size: 399 bytes, params: 1, frame: 33
var r2;
var type;
var r18;
var state;
var r17;
var r1;
var value8;
var value9;
var property;
var property2;
var property3;
var property4;
var value10;
var CollectiblesItemType;
var BUNDLE;
var value11;
var items2;
var length;
var value12;
var value13;
var endedAt;
var value14;
var value15;
var value16;
var value17;
var value18;
var productLine;
var COLLECTIBLES;
var value19;
var value20;
var moduleValue;
var value21;
const Date = global.Date;
const value = Date.now();
const _createForOfIteratorHelperLoose_79143Binding = _createForOfIteratorHelperLoose_79143;
const value4 = env0_0.entries();
const value5 = undefined;
const value6 = _createForOfIteratorHelperLoose_79143Binding(value4);
const value7 = value6();
let done = value7.done;
if (!done) {
r2 = value7;
while (true) {
value8 = r2.value;
value9 = env1_2(value8, 2);
property = value9[0];
property2 = value9[1];
property3 = env0_2[property];
property4 = env0_3[property];
property = env0_4[property];
value10 = require === true;
if (value10) {
if (property4 == null) {
type = value5;
continue;
}
type = property4.type;
CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
BUNDLE = CollectiblesItemType.BUNDLE;
value11 = type === BUNDLE;
r18 = value11;
} else {
r18 = value10;
}
if (!r18) {
continue;
}
items2 = property4.items;
length = items2.length;
value12 = length === 0;
r18 = value12;
if (property == null) {
state = value5;
continue;
}
state = property.state;
value13 = state === 'error';
if (!value13) {
r17 = value13;
continue;
}
endedAt = property.endedAt;
value14 = endedAt != null;
r17 = value14;
if (!r17) {
continue;
}
endedAt = property.endedAt;
value15 = value - endedAt < 3600000;
r17 = value15;
value16 = property4 != null;
if (!value16) {
r1 = value16;
continue;
}
value17 = !r18;
r1 = value17;
if (r1) {
continue;
}
value18 = property3 != null;
if (!value18) {
r18 = value18;
continue;
}
productLine = property3.productLine;
COLLECTIBLES = SKUProductLines.COLLECTIBLES;
value19 = productLine !== COLLECTIBLES;
r18 = value19;
r1 = r18;
if (r1) {
continue;
}
if (property == null) {
state = value5;
continue;
}
state = property.state;
value20 = state === 'fetching';
r1 = value20;
if (r1) {
continue;
}
r1 = r17;
continue;
if (r1) {
continue;
}
moduleValue = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
moduleValue.fetchCollectiblesProduct(property2, {includeBundles: require});
value21 = value6();
done = value21.done;
if (done) {
break;
}
r2 = value21;
continue;
}
}
return value5;
}
function _fun79154(a0, a1) { // fn#79154, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10343:1985, offset: 0x01e46b7c, size: 86 bytes, params: 3, frame: 7
const property = env0_4[a1];
const value2 = undefined;
return (property == null ? value2 : property.state) === 'fetching' || a0 == null && (env0_4[a1] == null ? value2 : env0_4[a1].state) !== 'error';
}
@@ -0,0 +1,39 @@
/* Metro module 14058; source: modules/collectibles/hooks/useGetProductsFromSkus.tsx; dependencies: [31, 5121, 566, 14059, 2] */
function _fun106607(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14255:6, offset: 0x022e2af6, size: 139 bytes, params: 8, frame: 19
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(31) /* metro dependency 31 */).useCallback;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useGetProductsFromSkus.tsx');
exports.default = function() {
var value2 = require(dependencyMap[2]).useStateFromStores([CollectiblesCategoryStore], _fun106609);
var env0_0 = value2;
return useCallback(_fun106610, [value2]);
};
}
function useGetProductsFromSkus() { // fn#106608, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14255:225, offset: 0x022e2b81, size: 88 bytes, params: 1, frame: 16
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
let items2 = [CollectiblesCategoryStore];
items2 = [Reflect.apply(useStateFromStores, fluxModule, [items2, function() {
return CollectiblesCategoryStore.products;
}])];
return useCallback(_fun106610, items2);
}
function _fun106610(a0) { // fn#106610, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14255:324, offset: 0x022e2bd9, size: 76 bytes, params: 2, frame: 15
var environment;
const value = environment.__proto__;
return (importDefault(14059) /* metro dependency 14059 */)(a0.map(_fun106611).filter(function(a0) {
return a0 != null;
}), 'storeListingId');
}
function _fun106611(a0) { // fn#106611, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14255:342, offset: 0x022e2c25, size: 68 bytes, params: 2, frame: 12
let value = environment.__proto__;
value = products.get(a0);
return value == null || value.variantGroupStoreListingId == null ? value : CollectiblesCategoryStore.getProductByStoreListingId(value.variantGroupStoreListingId);
}
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,73 @@
/* Metro module 14041; source: modules/collectibles/hooks/useHasExpiredShopBlocks.tsx; dependencies: [57, 31, 661, 5161, 2] */
function _fun106488(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106488, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14238:6, offset: 0x022dde74, size: 177 bytes, params: 8, frame: 18
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const value = require(31) /* metro dependency 31 */;
let env0_3 = value.useEffect;
const env0_4 = value.useState;
const env0_5 = (require(661) /* metro dependency 661: Constants */).MAX_TIMEOUT_MS;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useHasExpiredShopBlocks.tsx');
exports.useHasExpiredShopBlocks = function(a0, a1, a2) {
var env0_0 = a0;
var env0_1 = a1;
var [property, env0_3] = a2(useState(false), 2);
useEffect(_fun106492, [a1, a2, a0]);
return property;
};
}
function getNextBlockExpiration(a0) { // fn#106489, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14238:191, offset: 0x022ddf25, size: 34 bytes, params: 2, frame: 12
const env0_0 = null;
a0.forEach(_fun106490);
return env0_0;
}
function useHasExpiredShopBlocks(a0, a1, a2) { // fn#106491, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14238:570, offset: 0x022ddfff, size: 104 bytes, params: 4, frame: 18
const env0_0 = a0;
const env0_1 = a1;
const [property, env0_3] = a2(useState(false), 2);
useEffect(_fun106492, [a1, a2, a0]);
return property;
}
function _fun106490(a0) { // fn#106490, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14238:224, offset: 0x022ddf47, size: 184 bytes, params: 2, frame: 15
const type = a0.type;
const value = environment.__proto__;
const ShopBlockType = (require(5161) /* metro dependency 5161: ShopBlockType */).ShopBlockType;
const IMMERSIVE_BANNER = ShopBlockType.IMMERSIVE_BANNER;
const r2 = type === IMMERSIVE_BANNER ? a0.endTime != null ? a0.endTime.getTime() : null : a0.type !== ShopBlockType.COUNTDOWN_TIMER ? null : a0.endTime.getTime();
if (env0_0 == null || r2 != null && r2 < env0_0) {
}
}
function _fun106492() { // fn#106492, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14238:625, offset: 0x022de067, size: 160 bytes, params: 1, frame: 17
var environment;
const value = environment.__proto__;
const nextBlockExpiration = getNextBlockExpiration(env0_0);
if (require) {
env0_3(false);
return undefined;
}
if (importDefault) {
env0_3(false);
return undefined;
}
if (nextBlockExpiration == null) {
env0_3(false);
return undefined;
}
const Date = global.Date;
const value4 = nextBlockExpiration - Date.now();
if (value4 <= 0) {
env0_3(true);
return undefined;
}
env0_3(false);
const setTimeout = global.setTimeout;
const Math = global.Math;
var env0_0 = setTimeout(_fun106493, Math.min(MAX_TIMEOUT_MS, value4));
return _fun106494;
}
@@ -0,0 +1,35 @@
/* Metro module 10082; source: modules/collectibles/hooks/useIsVariantColorLight.tsx; dependencies: [31, 673, 2] */
function _fun78782(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78782, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10268:6, offset: 0x01e3440b, size: 114 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importAll(31) /* metro dependency 31 */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useIsVariantColorLight.tsx');
exports.default = _default_78783;
}
function _default_78783(a0) { // fn#78783, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10268:115, offset: 0x01e3447d, size: 50 bytes, params: 2, frame: 14
const env0_0 = a0;
return env0_2.useMemo(_fun78784, [a0.variantValue]);
}
function _fun78784() { // fn#78784, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10268:129, offset: 0x01e344af, size: 126 bytes, params: 1, frame: 16
var r0;
var getDarkness;
var moduleValue2;
let value = environment.__proto__;
const colorUtilsModule = require(673) /* metro dependency 673: ColorUtils */;
const isValidHex2 = colorUtilsModule.isValidHex(env0_0.variantValue);
if (isValidHex2) {
value = colorUtilsModule;
getDarkness = value.getDarkness;
moduleValue2 = require(673) /* metro dependency 673: ColorUtils */;
value = Reflect.apply(getDarkness, value, [moduleValue2.hex2int(env0_0.variantValue)]);
value = value < 0.3;
r0 = value;
} else {
r0 = isValidHex2;
}
return r0;
}
@@ -0,0 +1,27 @@
/* Metro module 7604; source: modules/collectibles/hooks/useMaybeFetchCollectiblesCategories.mobile.tsx; dependencies: [4649, 566, 7605, 2] */
function _fun60937(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60937, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7782:6, offset: 0x017157f5, size: 112 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const devSettingsStore = importDefault(4649) /* metro dependency 4649: DevSettingsStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useMaybeFetchCollectiblesCategories.mobile.tsx');
exports.default = useMaybeFetchCollectiblesCategories;
}
function useMaybeFetchCollectiblesCategories(a0, a1) { // fn#60938, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7782:223, offset: 0x01715865, size: 190 bytes, params: 3, frame: 20
const value = undefined;
const paymentGateway = a0 == null ? value : a0.paymentGateway;
const {noCache,
includeUnpublished} = (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([DevSettingsStore],
function() {
var object = {};
object.noCache = DevSettingsStore.get('shop_disable_cache');
object.includeUnpublished = DevSettingsStore.get('shop_include_unpublished');
return object;
});
return (require(7605) /* metro dependency 7605: useMaybeFetchCollectiblesCategoriesShared */).useMaybeFetchCollectiblesCategoriesShared({noCache: noCache,
includeUnpublished: includeUnpublished, paymentGateway: paymentGateway,
countryCode: a0 == null ? value : a0.countryCode, logPerf: a0 == null ? value : a0.logPerf},
a0 == null ? value : a0.noOp, a1);
}
@@ -0,0 +1,8 @@
/* Metro module 7603; source: modules/collectibles/hooks/useMaybeFetchCollectiblesCategories.tsx; dependencies: [2, 7604] */
function _fun60936(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60936, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7781:6, offset: 0x01715798, size: 93 bytes, params: 8, frame: 16
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useMaybeFetchCollectiblesCategories.tsx');
exports.default = importDefault(7604) /* metro dependency 7604: useMaybeFetchCollectiblesCategoriesMobile */;
}
@@ -0,0 +1,112 @@
/* Metro module 7605; source: modules/collectibles/hooks/useMaybeFetchCollectiblesCategoriesShared.tsx; dependencies: [57, 31, 4107, 5121, 663, 566, 5179, 5120, 2] */
function _fun60940(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60940, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7783:6, offset: 0x01715958, size: 206 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
let value = require(31) /* metro dependency 31 */;
const env0_3 = value.useEffect;
const env0_4 = value.useCallback;
const experimentStore = importDefault(4107) /* metro dependency 4107: ExperimentStore */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
value = require(663) /* metro dependency 663: CollectiblesShopConstants */;
const env0_7 = value.COLLECTIBLES_SHOP_CACHE_DURATION_MS;
const env0_8 = value.COLLECTIBLES_SHOP_FETCH_ERROR_RETRY_THRESHOLD_MS;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useMaybeFetchCollectiblesCategoriesShared.tsx');
exports.useMaybeFetchCollectiblesCategoriesShared = useMaybeFetchCollectiblesCategoriesShared;
}
function useMaybeFetchCollectiblesCategoriesShared(a0, a1, a2) { // fn#60941, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7783:419, offset: 0x01715a26, size: 306 bytes, params: 4, frame: 25
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const hasLoadedExperiments = (require(566) /* metro dependency 566: flux */).useStateFromStores([ExperimentStore],
function() {
return ExperimentStore.hasLoadedExperiments;
});
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value3 = env0_2(Reflect.apply(useStateFromStoresArray, fluxModule, [[CollectiblesCategoryStore], function() {
var property = CollectiblesCategoryStore.isFetchingCategories;
var items = [property, CollectiblesCategoryStore.lastFetchOptions, CollectiblesCategoryStore.error];
property = CollectiblesCategoryStore.lastErrorTimestamp;
var value2 = 0;
items[3] = property ?? value2;
items[4] = CollectiblesCategoryStore.lastSuccessfulFetch ?? value2;
items[5] = CollectiblesCategoryStore.categories;
items[6] = CollectiblesCategoryStore.skipNumCategories;
return items;
}]), 7);
let property = value3[0];
const property2 = value3[1];
const property3 = value3[2];
const property4 = value3[3];
const property5 = value3[4];
const property6 = value3[5];
const property7 = value3[6];
useEffect(_fun60944, [hasLoadedExperiments, property2, property5, a0, property3, property4, a1, a2, property7]);
return {isFetching: property, categories: property6, fetchCategoriesError: property3,
refreshCategories: useCallback(_fun60945, [a0, a2, property7])};
}
function _fun60944() { // fn#60944, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7783:822, offset: 0x01715bdf, size: 287 bytes, params: 1, frame: 19
var value2;
var object2;
const ShopVariantsReturnStyle = (require(5179) /* metro dependency 5179: ShopVariantsReturnStyle */).ShopVariantsReturnStyle;
var value6;
if (hasLoadedExperiments) {
value2 = environment.__proto__;
if (!CollectiblesCategoryStore.isFetchingCategories) {
if (global.Boolean(env0_5)) {
if (!(global.Date.now() - env0_6 < COLLECTIBLES_SHOP_FETCH_ERROR_RETRY_THRESHOLD_MS)) {
object2 = {};
copyDataProperties(object2, env0_0, undefined);
object2['variantsReturnStyle'] = ShopVariantsReturnStyle.VARIANTS_GROUP;
object2['includeBundles'] = true;
object2['skipNumCategories'] = env0_8;
value6 = (require(5120) /* metro dependency 5120: CollectiblesActionCreators */).areRequestOptionsEqual(env0_4,
object2);
if (!(value6 ? global.Date.now() - env0_7 < COLLECTIBLES_SHOP_CACHE_DURATION_MS : !!value6)) {
(require(5120) /* metro dependency 5120: CollectiblesActionCreators */).fetchCollectiblesCategories(object2,
require, importDefault);
}
}
} else {
object2 = {};
copyDataProperties(object2, env0_0, undefined);
object2['variantsReturnStyle'] = ShopVariantsReturnStyle.VARIANTS_GROUP;
object2['includeBundles'] = true;
object2['skipNumCategories'] = env0_8;
value6 = (require(5120) /* metro dependency 5120: CollectiblesActionCreators */).areRequestOptionsEqual(env0_4,
object2);
if (!(value6 ? global.Date.now() - env0_7 < COLLECTIBLES_SHOP_CACHE_DURATION_MS : !!value6)) {
(require(5120) /* metro dependency 5120: CollectiblesActionCreators */).fetchCollectiblesCategories(object2,
require, importDefault);
}
}
}
}
}
function _fun60945() { // fn#60945, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7783:1157, offset: 0x01715cfe, size: 119 bytes, params: 1, frame: 17
const object2 = {};
copyDataProperties(object2, env0_0, undefined);
const ShopVariantsReturnStyle = (require(5179) /* metro dependency 5179: ShopVariantsReturnStyle */).ShopVariantsReturnStyle;
const VARIANTS_GROUP = ShopVariantsReturnStyle.VARIANTS_GROUP;
object2['variantsReturnStyle'] = VARIANTS_GROUP;
object2['includeBundles'] = true;
object2['skipNumCategories'] = env0_8;
(require(5120) /* metro dependency 5120: CollectiblesActionCreators */).fetchCollectiblesCategories(object2,
undefined, importDefault);
}
@@ -0,0 +1,141 @@
/* Metro module 14040; source: modules/collectibles/hooks/useMaybeFetchShopHome.tsx; dependencies: [57, 31, 4107, 5121, 5175, 663, 566, 5179, 5120, 14041, 2] */
function _fun106478(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106478, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:6, offset: 0x022dd8ce, size: 233 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
let value = require(31) /* metro dependency 31 */;
const env0_3 = value.useEffect;
const env0_4 = value.useCallback;
const env0_5 = value.useMemo;
const experimentStore = importDefault(4107) /* metro dependency 4107: ExperimentStore */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const collectiblesShopHomeStore = importDefault(5175) /* metro dependency 5175: CollectiblesShopHomeStore */;
value = require(663) /* metro dependency 663: CollectiblesShopConstants */;
const env0_9 = value.COLLECTIBLES_SHOP_CACHE_DURATION_MS;
const env0_10 = value.COLLECTIBLES_SHOP_FETCH_ERROR_RETRY_THRESHOLD_MS;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useMaybeFetchShopHome.tsx');
exports.useMaybeFetchCollectiblesShopHome = useMaybeFetchCollectiblesShopHome;
}
function useMaybeFetchCollectiblesShopHome(a0, a1, a2) { // fn#106479, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:414, offset: 0x022dd9b7, size: 579 bytes, params: 4, frame: 31
const value = a3;
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const r17 = value !== undefined ? value : false;
const hasLoadedExperiments = (require(566) /* metro dependency 566: flux */).useStateFromStores([ExperimentStore],
function() {
return ExperimentStore.hasLoadedExperiments;
});
const skipNumCategories = (require(566) /* metro dependency 566: flux */).useStateFromStores([CollectiblesCategoryStore],
function() {
return CollectiblesCategoryStore.skipNumCategories;
});
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStoresArray = fluxModule.useStateFromStoresArray;
const value3 = env0_2(Reflect.apply(useStateFromStoresArray, fluxModule, [[CollectiblesShopHomeStore], _fun106482]),
8);
const property = value3[0];
const property2 = value3[1];
const property3 = value3[2];
const property4 = value3[3];
const property5 = value3[4];
const property6 = value3[5];
const property7 = value3[6];
const value4 = useMemo(_fun106483, [a1, value3[7], skipNumCategories]);
const value5 = useMemo(_fun106484, [property4, value4]);
const useHasExpiredShopBlocksModule = require(14041) /* metro dependency 14041: useHasExpiredShopBlocks */;
const useHasExpiredShopBlocks = useHasExpiredShopBlocksModule.useHasExpiredShopBlocks;
useEffect(_fun106486, [hasLoadedExperiments, property6, property5, property3, useMemo(_fun106485, [property2,
Reflect.apply(useHasExpiredShopBlocks, useHasExpiredShopBlocksModule, [property, property6 != null && property6,
r17])]), property7, value5, value4, a0, a2]);
return {isFetchingShopHome: property6, fetchShopHomeError: property5, shopBlocks: property,
refreshShopHome: useCallback(_fun106487, [a0, value4, a2])};
}
function _fun106482() { // fn#106482, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:635, offset: 0x022ddc09, size: 195 bytes, params: 1, frame: 16
const getShopBlocks = CollectiblesShopHomeStore.getShopBlocks;
let binding = env0_0;
const items2 = [Reflect.apply(getShopBlocks, CollectiblesShopHomeStore, [binding])];
const lastSuccessfulFetch = CollectiblesShopHomeStore.getLastSuccessfulFetch(binding);
const value5 = 0;
items2[1] = lastSuccessfulFetch ?? value5;
items2[2] = CollectiblesShopHomeStore.getLastErrorTimestamp(env0_0) ?? value5;
const getLastFetchOptions = CollectiblesShopHomeStore.getLastFetchOptions;
binding = env0_0;
items2[3] = Reflect.apply(getLastFetchOptions, CollectiblesShopHomeStore, [binding]);
const getFetchShopHomeError = CollectiblesShopHomeStore.getFetchShopHomeError;
items2[4] = Reflect.apply(getFetchShopHomeError, CollectiblesShopHomeStore, [binding]);
const getIsFetchingShopHome = CollectiblesShopHomeStore.getIsFetchingShopHome;
items2[5] = Reflect.apply(getIsFetchingShopHome, CollectiblesShopHomeStore, [binding]);
const getHasKnownStaleData = CollectiblesShopHomeStore.getHasKnownStaleData;
items2[6] = Reflect.apply(getHasKnownStaleData, CollectiblesShopHomeStore, [binding]);
const getShopHomeConfigOverride = CollectiblesShopHomeStore.getShopHomeConfigOverride;
items2[7] = Reflect.apply(getShopHomeConfigOverride, CollectiblesShopHomeStore, []);
return items2;
}
function _fun106483() { // fn#106483, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:966, offset: 0x022ddccc, size: 112 bytes, params: 1, frame: 14
const object2 = {};
copyDataProperties(object2, require, undefined);
const ShopVariantsReturnStyle = (require(5179) /* metro dependency 5179: ShopVariantsReturnStyle */).ShopVariantsReturnStyle;
const VARIANTS_GROUP = ShopVariantsReturnStyle.VARIANTS_GROUP;
object2['variantsReturnStyle'] = VARIANTS_GROUP;
object2['includeBundles'] = true;
object2['includeDynamicBlocks'] = true;
object2['shopHomeConfig'] = env0_11;
object2['skipNumCategories'] = skipNumCategories;
return object2;
}
function _fun106484() { // fn#106484, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:1140, offset: 0x022ddd3c, size: 53 bytes, params: 1, frame: 13
let value = environment.__proto__;
value = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
return !value.areRequestOptionsEqual(env0_7, env0_12);
}
function _fun106485() { // fn#106485, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:1244, offset: 0x022ddd71, size: 51 bytes, params: 1, frame: 11
var r0;
var value4;
var value;
const binding = env0_14;
if (binding) {
r0 = !binding;
} else {
value = global.Date.now() - env0_5;
value4 = environment.__proto__;
value = value < COLLECTIBLES_SHOP_CACHE_DURATION_MS;
r0 = value;
}
return r0;
}
function _fun106486() { // fn#106486, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:1278, offset: 0x022ddda4, size: 153 bytes, params: 1, frame: 15
var r2;
var value3;
var value4;
var moduleValue;
if (hasLoadedExperiments) {
if (!env0_9) {
value3 = global.Date.now() - env0_6;
value4 = environment.__proto__;
r2 = env0_8 != null && value3 < COLLECTIBLES_SHOP_FETCH_ERROR_RETRY_THRESHOLD_MS;
if (!r2) {
r2 = env0_13 || !env0_15;
r2 = !r2 ? env0_10 : r2;
if (r2) {
moduleValue = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
moduleValue.fetchCollectiblesShopHome(env0_0, env0_12, importDefault);
}
}
}
}
}
function _fun106487() { // fn#106487, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14237:1414, offset: 0x022dde3d, size: 55 bytes, params: 1, frame: 16
let value = environment.__proto__;
value = require(5120) /* metro dependency 5120: CollectiblesActionCreators */;
value.fetchCollectiblesShopHome(env0_0, env0_12, importDefault);
}
@@ -0,0 +1,88 @@
/* Metro module 10088; source: modules/collectibles/hooks/usePreviewCollectbilesProduct.tsx; dependencies: [57, 31, 5126, 1902, 5127, 5128, 7609, 1904, 8400, 2] */
function _fun78810(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78810, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10274:6, offset: 0x01e35a91, size: 221 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(57) /* metro dependency 57 */;
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(5126) /* metro dependency 5126: AvatarDecorationRecord */).isAvatarDecorationRecord;
const env0_5 = (require(1902) /* metro dependency 1902: NameplateRecord */).isNameplateRecord;
const env0_6 = (require(5127) /* metro dependency 5127: ProfileEffectRecord */).isProfileEffectRecord;
const env0_7 = (require(5128) /* metro dependency 5128: ProfileFrameRecord */).isProfileFrameRecord;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/usePreviewCollectbilesProduct.tsx');
exports.usePreviewCollectibleProduct = usePreviewCollectibleProduct;
}
function usePreviewCollectibleProduct(a0, a1, a2) { // fn#78811, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10274:367, offset: 0x01e35b6e, size: 155 bytes, params: 4, frame: 21
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const value2 = (require(7609) /* metro dependency 7609: useShopProductItems */).useShopProductItems(a0);
const firstProfileEffect = value2.firstProfileEffect;
firstProfileEffect.useEffect(_fun78812, [a0, a1, firstProfileEffect, value2.firstAvatarDecoration,
value2.firstNameplate, value2.firstProfileFrame, a2]);
}
function _fun78812() { // fn#78812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10274:517, offset: 0x01e35c09, size: 547 bytes, params: 1, frame: 17
var property;
var object2;
var value;
const type = env0_0.type;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
const BUNDLE = CollectiblesItemType.BUNDLE;
if (type === BUNDLE) {
object2 = {};
if (firstAvatarDecoration != null) {
object2.avatarDecoration = firstAvatarDecoration;
}
if (firstProfileEffect != null) {
object2.profileEffect = firstProfileEffect;
}
if (firstNameplate != null) {
object2.nameplate = firstNameplate;
}
if (firstProfileFrame != null) {
object2.profileFrame = firstProfileFrame;
}
if (importDefault != null) {
if (isAvatarDecorationRecord(importDefault)) {
object2.avatarDecoration = importDefault;
} else if (isProfileEffectRecord(importDefault)) {
object2.profileEffect = importDefault;
} else if (isNameplateRecord(importDefault)) {
object2.nameplate = importDefault;
} else if (isProfileFrameRecord(importDefault)) {
object2.profileFrame = importDefault;
}
}
(require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */).setPendingChanges(object2);
} else {
value = env1_2(env0_0.items, 1);
property = value[0];
if (isAvatarDecorationRecord(property)) {
value = require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */;
value.setPendingChanges({avatarDecoration: property});
} else if (isProfileEffectRecord(property)) {
value = require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */;
value.setPendingChanges({profileEffect: property});
} else if (isNameplateRecord(property)) {
value = require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */;
value.setPendingChanges({nameplate: property});
} else if (isProfileFrameRecord(property)) {
value = require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */;
value.setPendingChanges({profileFrame: property});
}
}
return _fun78813;
}
function _fun78813() { // fn#78813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10274:1059, offset: 0x01e35e2c, size: 72 bytes, params: 1, frame: 13
let value = environment.__proto__;
if (require) {
value = environment.__proto__.__proto__;
value = require(8400) /* metro dependency 8400: UserProfileSettingsActionCreators */;
value.setPendingChanges({avatarDecoration: undefined, profileEffect: undefined, nameplate: undefined,
profileFrame: undefined});
}
}
@@ -0,0 +1,296 @@
/* Metro module 10103; source: modules/collectibles/hooks/useProductDescription.tsx; dependencies: [31, 1244, 1904, 2] */
function _fun78880(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78880, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10289:6, offset: 0x01e39d6a, size: 149 bytes, params: 8, frame: 18
const env0_0 = require;
const _arrayLikeToArray_78883 = 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 Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(31) /* metro dependency 31 */).useMemo;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useProductDescription.tsx');
exports.useProductDescription = useProductDescription;
}
function _createForOfIteratorHelperLoose_78881(a0, a1) { // fn#78881, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10289:119, offset: 0x01e39dff, size: 372 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 _fun78882;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_78883(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_78883(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_78883(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun78882;
}
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 getBundleDescription(a0) { // fn#78884, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10289:1054, offset: 0x01e39f73, size: 743 bytes, params: 2, frame: 28
var r6;
var r7;
var r12;
var bundledProducts;
var value6;
var type;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
var AVATAR_DECORATION;
var PROFILE_EFFECT;
var NAMEPLATE;
var push;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
var formatToPlainString;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var property;
var name;
var value7;
var Ntv9Jt;
var value8;
const value = a1;
const value2 = undefined;
let r1 = value !== value2 ? value : false;
if (r1) {
formatToPlainString = intl.formatToPlainString;
property = t['/0Yndu'];
bundledProducts = a0.bundledProducts;
return Reflect.apply(formatToPlainString, intl, [property,
{num: bundledProducts == null ? value2 : bundledProducts.length}]);
}
const items = [];
const value3 = _createForOfIteratorHelperLoose_78881(a0.bundledProducts ?? []);
const value4 = value3();
let done = value4.done;
const value5 = false;
if (done) {
r1 = value5;
} else {
r6 = value5;
r7 = value4;
while (true) {
value6 = r7.value;
type = value6.type;
AVATAR_DECORATION = CollectiblesItemType.AVATAR_DECORATION;
if (AVATAR_DECORATION !== type) {
PROFILE_EFFECT = CollectiblesItemType.PROFILE_EFFECT;
if (PROFILE_EFFECT === type) {
items.push(intl.formatToPlainString(t['3Y8q7a'], {itemName: value6.name}));
r12 = r6;
break;
}
NAMEPLATE = CollectiblesItemType.NAMEPLATE;
if (NAMEPLATE !== type) {
r12 = r6;
break;
}
push = items.push;
formatToPlainString = intl.formatToPlainString;
property = t['2keXky'];
Reflect.apply(push, items, [Reflect.apply(formatToPlainString, intl, [property,
{itemName: value6.name}])]);
value7 = true;
r12 = value7;
break;
}
push = items.push;
formatToPlainString = intl.formatToPlainString;
Ntv9Jt = t.Ntv9Jt;
name = value6.name;
Reflect.apply(push, items, [Reflect.apply(formatToPlainString, intl, [Ntv9Jt, {itemName: name}])]);
r12 = r6;
value8 = value3();
done = value8.done;
if (done) {
r1 = r12;
break;
}
r6 = r12;
r7 = value8;
continue;
}
}
const join = items.join;
if (r1) {
return intl.formatToPlainString(t.Ofrqj6, {joinedItems: Reflect.apply(join, items,
[', ']).replace(RegExp(', ([^,]*)$', ''), ' & $1')});
}
const value9 = Reflect.apply(join, items, [' & ']);
formatToPlainString = intl.formatToPlainString;
const Ofrqj6 = t.Ofrqj6;
return Reflect.apply(formatToPlainString, intl, [Ofrqj6, {joinedItems: value9}]);
}
function useProductDescription(a0) { // fn#78885, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10289:2073, offset: 0x01e3a25a, size: 58 bytes, params: 2, frame: 15
const value = a1;
const env0_0 = a0;
return useMemo(_fun78886, [a0, value !== undefined ? value : false]);
}
function _fun78886() { // fn#78886, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10289:2086, offset: 0x01e3a294, size: 642 bytes, params: 1, frame: 17
var type;
var value3;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
var getBundleDescriptionBinding;
var binding;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
var value4;
if (env0_0 == null) {
type = env0_0?.type;
value3 = environment.__proto__;
if (CollectiblesItemType.AVATAR_DECORATION === type) {
return intl.string(t['3lv7q2']);
}
if (CollectiblesItemType.PROFILE_EFFECT === type) {
return intl.string(t.VhJL72);
}
if (CollectiblesItemType.NAMEPLATE === type) {
return intl.string(t.ik37EZ);
}
if (CollectiblesItemType.PROFILE_FRAME === type) {
return intl.string(t.fWzWPp);
}
if (CollectiblesItemType.BUNDLE === type) {
return getBundleDescription(env0_0, env0_1);
}
} else {
var summary = env0_0.summary;
if (summary == null) {
type = env0_0?.type;
value3 = environment.__proto__;
if (CollectiblesItemType.AVATAR_DECORATION === type) {
return intl.string(t['3lv7q2']);
}
if (CollectiblesItemType.PROFILE_EFFECT === type) {
return intl.string(t.VhJL72);
}
if (CollectiblesItemType.NAMEPLATE === type) {
return intl.string(t.ik37EZ);
}
if (CollectiblesItemType.PROFILE_FRAME === type) {
return intl.string(t.fWzWPp);
}
if (CollectiblesItemType.BUNDLE === type) {
return getBundleDescription(env0_0, env0_1);
}
return '';
}
summary = env0_0.summary;
if (summary !== '') {
type = env0_0.type;
value4 = environment.__proto__;
if (type !== CollectiblesItemType.BUNDLE) {
return env0_0.summary;
}
summary = env0_0.summary;
if (summary.includes('{joinedItems}')) {
getBundleDescriptionBinding = getBundleDescription;
binding = env0_0;
return binding.summary.replace('{joinedItems}', getBundleDescriptionBinding(binding, env0_1));
}
return env0_0.summary;
}
type = env0_0?.type;
if (CollectiblesItemType.AVATAR_DECORATION === type) {
return intl.string(t['3lv7q2']);
}
if (CollectiblesItemType.PROFILE_EFFECT === type) {
return intl.string(t.VhJL72);
}
if (CollectiblesItemType.NAMEPLATE === type) {
return intl.string(t.ik37EZ);
}
if (CollectiblesItemType.PROFILE_FRAME === type) {
return intl.string(t.fWzWPp);
}
if (CollectiblesItemType.BUNDLE === type) {
return getBundleDescription(env0_0, env0_1);
}
}
return '';
}
@@ -0,0 +1,41 @@
/* Metro module 10106; source: modules/collectibles/hooks/useProductDisableState.tsx; dependencies: [3808, 566, 664, 1244, 2] */
function _fun78899(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78899, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10292:6, offset: 0x01e3b24f, size: 114 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useProductDisableState.tsx');
exports.useProductDisableState = useProductDisableState;
}
function useProductDisableState(a0) { // fn#78900, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10292:218, offset: 0x01e3b2c1, size: 192 bytes, params: 2, frame: 18
var r2;
var r0;
var intl;
const fluxModule = require(566) /* metro dependency 566: flux */;
const useStateFromStores = fluxModule.useStateFromStores;
let object = [SubscriptionStore];
const value2 = Reflect.apply(useStateFromStores, fluxModule, [object, _fun78901]);
const FractionalPremiumSKUsSets = (require(664) /* metro dependency 664: FractionalPremiumSKUs */).FractionalPremiumSKUsSets;
const ALL = FractionalPremiumSKUsSets.ALL;
if (ALL.has(a0)) {
object = {isDisabled: value2};
if (value2) {
intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
r2 = intl.string((require(1244) /* metro dependency 1244: indexNative */).t.NbveHD);
} else {
r2 = null;
}
object.disabledReason = r2;
r0 = object;
} else {
r0 = {'isDisabled': false, 'disabledReason': null};
}
return r0;
}
function _fun78901() { // fn#78901, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10292:260, offset: 0x01e3b381, size: 42 bytes, params: 1, frame: 10
const value = environment.__proto__;
return SubscriptionStore.getPremiumSubscription()?.isPurchasedExternally === true;
}
@@ -0,0 +1,77 @@
/* Metro module 10060; source: modules/collectibles/hooks/useProductPurchaseState.tsx; dependencies: [5145, 10061, 1904, 566, 2] */
function _fun78647(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78647, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:6, offset: 0x01e2f9b2, size: 135 bytes, params: 8, frame: 19
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
const closure = getProductPurchaseState;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useProductPurchaseState.tsx');
exports.getProductPurchaseState = closure;
exports.useProductPurchaseState = function(a0) {
var env0_0 = a0;
return require(dependencyMap[3]).useStateFromStoresObject([CollectiblesPurchaseStore], _fun78653);
};
}
function getProductPurchaseState(a0, a1) { // fn#78648, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:130, offset: 0x01e2fa39, size: 399 bytes, params: 3, frame: 20
var r7;
var r5;
var r1;
var object2;
var variants;
const env0_0 = a0;
let value = a0.getPurchase(a1.skuId);
value = value != null;
const r2 = a1.items ?? [];
const value3 = undefined;
const value4 = (importDefault(10061) /* metro dependency 10061 */)(r2.map(_fun78649));
const type = a1 == null ? value3 : a1.type;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
const BUNDLE = CollectiblesItemType.BUNDLE;
if (BUNDLE === type) {
object2 = {};
r1 = value || r2.length > 0 && value4.length === r2.length;
object2.isPurchased = r1;
value = value4.length > 0;
r1 = value && value4.length < r2.length;
object2.isPartiallyOwnedBundle = r1;
object2.isPartiallyOwnedVariantsGroup = false;
return object2;
}
const VARIANTS_GROUP = CollectiblesItemType.VARIANTS_GROUP;
if (VARIANTS_GROUP === type) {
variants = a1.variants;
r7 = variants == null ? value3 : variants.every(_fun78650);
variants = a1.variants;
r5 = variants == null ? value3 : variants.some(_fun78651);
r5 = r5 && !r7;
object2 = {};
value = r7 != null;
object2.isPurchased = value && r7;
object2.isPartiallyOwnedBundle = false;
value = r5 != null;
object2.isPartiallyOwnedVariantsGroup = value && r5;
return object2;
}
return {'isPurchased': null, 'isPartiallyOwnedBundle': false, 'isPartiallyOwnedVariantsGroup': false,
isPurchased: value};
}
function useProductPurchaseState(a0) { // fn#78652, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:1019, offset: 0x01e2fc06, size: 67 bytes, params: 2, frame: 14
const env0_0 = a0;
return (require(566) /* metro dependency 566: flux */).useStateFromStoresObject([CollectiblesPurchaseStore],
_fun78653);
}
function _fun78649({skuId}) { // fn#78649, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:221, offset: 0x01e2fbc8, size: 28 bytes, params: 2, frame: 11
return env0_0.getPurchase(skuId);
}
function _fun78650({skuId}) { // fn#78650, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:554, offset: 0x01e2fbe4, size: 34 bytes, params: 2, frame: 11
return env0_0.getPurchase(skuId) != null;
}
function _fun78653() { // fn#78653, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10246:1060, offset: 0x01e2fc49, size: 28 bytes, params: 1, frame: 13
return getProductPurchaseState(CollectiblesPurchaseStore, env0_0);
}
@@ -0,0 +1,61 @@
/* Metro module 15300; source: modules/collectibles/hooks/useProfileFramesMarketing.tsx; dependencies: [1878, 10054, 15301, 7630, 566, 8499, 10055, 2] */
function _fun116996(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#116996, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15497:6, offset: 0x0249f605, size: 152 bytes, params: 8, frame: 20
const env0_0 = require;
const closure = function({canViewProfileFramesInCollectiblesShop, isEarlyAccess, isFramesEAMarketingEnabled,
isFrameGiftingEnabled, hasPaidTier2}) {
var r4;
r4 = canViewProfileFramesInCollectiblesShop && !isEarlyAccess;
var object = {};
object.isAnnouncementEligible = r4 || isEarlyAccess && isFramesEAMarketingEnabled;
object.isEarlyAccess = isEarlyAccess;
r4 = r4 && isFrameGiftingEnabled;
object.showGiftingMarketing = r4;
object.showEaPremiumMarketing = isEarlyAccess && isFramesEAMarketingEnabled && hasPaidTier2;
object.showEaNonPremiumMarketing = isEarlyAccess && isFramesEAMarketingEnabled && !hasPaidTier2;
return object;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useProfileFramesMarketing.tsx');
exports.deriveProfileFramesMarketing = closure;
exports.useProfileFramesMarketing = useProfileFramesMarketing;
exports.getProfileFramesMarketing = getProfileFramesMarketing;
}
function useProfileFramesMarketing(a0) { // fn#116998, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15497:609, offset: 0x0249f714, size: 187 bytes, params: 2, frame: 19
const deriveProfileFramesMarketingBinding = deriveProfileFramesMarketing;
const object2 = {};
object2.canViewProfileFramesInCollectiblesShop = (require(10054) /* metro dependency 10054: useCanPurchaseFrames */).useCanViewProfileFramesInCollectiblesShop(a0);
object2.isEarlyAccess = (require(10054) /* metro dependency 10054: useCanPurchaseFrames */).useIsProfileFramesEarlyAccessPhase(a0);
object2.isFramesEAMarketingEnabled = (require(15301) /* metro dependency 15301: CollectiblesProfileFramesEAMarketingExperiment */).useIsProfileFramesEAMarketingEnabled(a0);
object2.isFrameGiftingEnabled = (require(7630) /* metro dependency 7630: CollectiblesProfileFrameGiftingExperiment */).useIsProfileFrameGiftingEnabled(a0);
object2.hasPaidTier2 = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
return require(dependencyMap[1]).isUserPaidTier2(UserStore.getCurrentUser());
});
return deriveProfileFramesMarketingBinding(object2);
}
function getProfileFramesMarketing(a0) { // fn#117000, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:15497:1102, offset: 0x0249f802, size: 289 bytes, params: 2, frame: 19
var object2;
const ProfileFramesPurchaseBucket = (require(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */).ProfileFramesPurchaseBucket;
const defaultImport = importDefault(8499) /* metro dependency 8499: CollectiblesProfileFramesExperiment */;
let getConfig = defaultImport.getConfig;
const enableProfileFrames = Reflect.apply(getConfig, defaultImport, [{location: a0}]).enableProfileFrames;
const defaultImport2 = importDefault(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */;
getConfig = defaultImport2.getConfig;
const bucket = Reflect.apply(getConfig, defaultImport2, [{location: a0}]).bucket;
const deriveProfileFramesMarketingBinding = deriveProfileFramesMarketing;
object2 = {};
object2.canViewProfileFramesInCollectiblesShop = enableProfileFrames && bucket !== ProfileFramesPurchaseBucket.CONTROL;
object2.isEarlyAccess = enableProfileFrames && bucket === ProfileFramesPurchaseBucket.PAID_PREMIUM_SUBSCRIBERS_ONLY;
object2.isFramesEAMarketingEnabled = (require(15301) /* metro dependency 15301: CollectiblesProfileFramesEAMarketingExperiment */).getIsProfileFramesEAMarketingEnabled(a0);
object2.isFrameGiftingEnabled = (require(7630) /* metro dependency 7630: CollectiblesProfileFrameGiftingExperiment */).getIsProfileFrameGiftingEnabled(a0);
const useCanPurchaseFramesModule = require(10054) /* metro dependency 10054: useCanPurchaseFrames */;
const isUserPaidTier2 = useCanPurchaseFramesModule.isUserPaidTier2;
const getCurrentUser = UserStore.getCurrentUser;
object2.hasPaidTier2 = Reflect.apply(isUserPaidTier2, useCanPurchaseFramesModule, [Reflect.apply(getCurrentUser,
UserStore, [])]);
return deriveProfileFramesMarketingBinding(object2);
}
@@ -0,0 +1,115 @@
/* Metro module 14052; source: modules/collectibles/hooks/usePurchasedProductsSort.tsx; dependencies: [31, 5145, 1904, 5133, 632, 2] */
function _fun106562(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#106562, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:6, offset: 0x022e06c0, size: 197 bytes, params: 8, frame: 19
var object2;
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(31) /* metro dependency 31 */).useMemo;
const collectiblesPurchaseStore = importDefault(5145) /* metro dependency 5145: CollectiblesPurchaseStore */;
object2 = {NOT_PURCHASED: 0};
object2[0] = 'NOT_PURCHASED';
object2.PARTIAL_OWNED_BUNDLE = 1;
object2[1] = 'PARTIAL_OWNED_BUNDLE';
object2.PURCHASED = 2;
object2[2] = 'PURCHASED';
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/usePurchasedProductsSort.tsx');
exports.usePurchasedProductsSort = usePurchasedProductsSort;
}
function productPurchaseStatus(a0, a1) { // fn#106563, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:295, offset: 0x022e0785, size: 222 bytes, params: 3, frame: 16
var r1;
var moduleValue;
var value2;
var binding;
var value3;
const env0_0 = a1;
const type = a0.type;
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
const BUNDLE = CollectiblesItemType.BUNDLE;
if (type !== BUNDLE) {
moduleValue = require(5133) /* metro dependency 5133: CollectiblesProductUtils */;
if (moduleValue.getIsVariantProduct(a0)) {
value3 = a0.variants.every(function(a0) {
return require.includes(a0.skuId);
});
binding = env0_4;
r1 = value3 ? binding.PURCHASED : binding.NOT_PURCHASED;
} else {
value2 = a1.includes(a0.skuId);
binding = env0_4;
r1 = value2 ? binding.PURCHASED : binding.NOT_PURCHASED;
}
} else {
var items2 = a0.items;
if (items2.some(function(a0) {
return require.includes(a0.skuId);
})) {
return env0_4.PARTIAL_OWNED_BUNDLE;
}
moduleValue = require(5133) /* metro dependency 5133: CollectiblesProductUtils */;
if (moduleValue.getIsVariantProduct(a0)) {
value3 = a0.variants.every(function(a0) {
return require.includes(a0.skuId);
});
binding = env0_4;
r1 = value3 ? binding.PURCHASED : binding.NOT_PURCHASED;
} else {
value2 = a1.includes(a0.skuId);
binding = env0_4;
r1 = value2 ? binding.PURCHASED : binding.NOT_PURCHASED;
}
}
return r1;
}
function usePurchasedProductsSort(a0) { // fn#106566, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:695, offset: 0x022e087e, size: 124 bytes, params: 2, frame: 17
const env0_0 = a0;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStores = useStateFromStoresModule.useStateFromStores;
let items2 = [CollectiblesPurchaseStore];
items2 = [Reflect.apply(useStateFromStores, useStateFromStoresModule, [items2, function() {
return CollectiblesPurchaseStore.purchases;
}])];
items2 = [a0, useMemo(function() {
var purchasesBinding = purchases;
var items = [];
arraySpread(items, purchasesBinding, 0, items);
return items.map(_fun106569);
}, items2)];
return useMemo(_fun106570, items2);
}
function _fun106568() { // fn#106568, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:760, offset: 0x022e0909, size: 41 bytes, params: 1, frame: 13
const purchasesBinding = purchases;
const items2 = [];
arraySpread(items2, purchasesBinding, 0, items2);
return items2.map(function(a0) {
var iterator = a0[Symbol.iterator]();
var item2 = iterator.next();
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
var r0 = value2 ? value : item;
if (!value2) {
item2.return();
}
return r0;
});
}
function _fun106570() { // fn#106570, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:803, offset: 0x022e0932, size: 42 bytes, params: 1, frame: 13
const binding = env0_0;
const items2 = [];
arraySpread(items2, binding, 0, items2);
return items2.sort(_fun106571);
}
function _fun106571(a0, a1) { // fn#106571, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:14249:820, offset: 0x022e095c, size: 40 bytes, params: 3, frame: 14
let value = environment.__proto__.__proto__;
const productPurchaseStatusBinding = productPurchaseStatus;
value = environment.__proto__;
const binding = env1_2;
return productPurchaseStatusBinding(a0, binding) - productPurchaseStatusBinding(a1, binding);
}
@@ -0,0 +1,120 @@
/* Metro module 7609; source: modules/collectibles/hooks/useShopProductItems.tsx; dependencies: [6, 7, 31, 1904, 1244, 2] */
function _fun60960(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#60960, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:6, offset: 0x01716842, size: 179 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importAll(31) /* metro dependency 31 */;
const value = _fun60961();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useShopProductItems.tsx');
exports.ItemsSortingHat = value;
exports.useShopProductItems = useShopProductItems;
exports.getBundleItemNames = getBundleItemNames;
}
function _fun60961() { // fn#60961, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:128, offset: 0x017168f5, size: 172 bytes, params: 1, frame: 15
return env0_3(ItemsSortingHat, [{key: 'firstAvatarDecoration', get: function() {
return this.getFirstItemByType(require(dependencyMap[3]).CollectiblesItemType.AVATAR_DECORATION);
}}, {key: 'firstProfileEffect', get: function() {
return this.getFirstItemByType(require(dependencyMap[3]).CollectiblesItemType.PROFILE_EFFECT);
}}, {key: 'firstNameplate', get: function() {
return this.getFirstItemByType(require(dependencyMap[3]).CollectiblesItemType.NAMEPLATE);
}}, {key: 'firstProfileFrame', get: function() {
return this.getFirstItemByType(require(dependencyMap[3]).CollectiblesItemType.PROFILE_FRAME);
}}, {key: 'getFirstItemByType', value: function(a0) {
var property = this.itemsByTypes;
property = (property.get(a0) ?? [])[0];
if (property != null) {
return property;
}
}}, {key: 'sortByTypes', value: function(a0) {
var Map = global.Map;
return a0.reduce(_fun60969, new Map());
}}]);
}
function useShopProductItems(a0) { // fn#60970, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:1103, offset: 0x01716b4b, size: 42 bytes, params: 2, frame: 14
const env0_0 = a0;
return env0_4.useMemo(_fun60971, [a0]);
}
function getBundleItemNames(a0) { // fn#60972, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:1335, offset: 0x01716bcd, size: 349 bytes, params: 2, frame: 20
var r5;
var r4;
var r1;
var r2;
var r3;
var length;
var property;
const value = undefined;
const intl = (require(1244) /* metro dependency 1244: indexNative */).intl;
const string = intl.string;
const t = (require(1244) /* metro dependency 1244: indexNative */).t;
const value2 = Reflect.apply(string, intl, [t['7v0T9P']]);
const value3 = intl.string(t.wR5wOo);
const value4 = intl.string(t.x5CoXR);
let bundledProducts = a0.bundledProducts;
if (bundledProducts == null) {
r1 = value4;
r2 = value3;
r3 = value2;
} else {
bundledProducts = a0.bundledProducts;
length = bundledProducts.length;
if (length > 0) {
property = a0.bundledProducts[0];
r5 = property == null ? value : property.name;
} else {
r5 = value2;
}
bundledProducts = a0.bundledProducts;
length = bundledProducts.length;
if (length > 1) {
property = a0.bundledProducts[1];
r4 = property == null ? value : property.name;
} else {
r4 = value3;
}
bundledProducts = a0.bundledProducts;
length = bundledProducts.length;
if (length > 2) {
property = a0.bundledProducts[2];
r1 = property == null ? value : property.name;
r2 = r4;
r3 = r5;
} else {
r1 = value4;
r2 = r4;
r3 = r5;
}
}
return {itemOneName: r3, itemTwoName: r2, itemThreeName: r1};
}
function ItemsSortingHat(a0) { // fn#60962, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:149, offset: 0x017169a1, size: 49 bytes, params: 2, frame: 13
env1_2(this, ItemsSortingHat);
this.itemsByTypes = this.sortByTypes(a0);
}
function value_60968(a0) { // fn#60968, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:857, offset: 0x01716ad6, size: 52 bytes, params: 2, frame: 13
const reduce = a0.reduce;
const Map = global.Map;
return Reflect.apply(reduce, a0, [function(a0, a1) {
var value = a0.get(a1.type);
if (value != null) {
value.push(a1);
} else {
a0.set(a1.type, [a1]);
}
return a0;
}, new Map()]);
}
function _fun60971() { // fn#60971, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7787:1117, offset: 0x01716b75, size: 88 bytes, params: 1, frame: 11
const value = environment.__proto__;
const env1_52 = new env1_5(env0_0.items);
return {firstProfileEffect: env1_52.firstProfileEffect, firstAvatarDecoration: env1_52.firstAvatarDecoration,
firstNameplate: env1_52.firstNameplate, firstProfileFrame: env1_52.firstProfileFrame};
}
@@ -0,0 +1,13 @@
/* Metro module 10150; source: modules/collectibles/hooks/useShouldShowPremiumProfileFrameCTA.tsx; dependencies: [10151, 10054, 1904, 2] */
function _fun79113(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79113, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10336:6, offset: 0x01e457ca, size: 103 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useShouldShowPremiumProfileFrameCTA.tsx');
exports.default = useShouldShowPremiumProfileFrameCTA;
}
function useShouldShowPremiumProfileFrameCTA({location, product}) { // fn#79114, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10336:202, offset: 0x01e45831, size: 112 bytes, params: 2, frame: 16
return (importDefault(10151) /* metro dependency 10151: useShouldShowPremiumProfileFrameEA */)(location) && !(importDefault(10054) /* metro dependency 10054: useCanPurchaseFrames */)(location) && product.type === (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType.PROFILE_FRAME;
}
@@ -0,0 +1,17 @@
/* Metro module 10151; source: modules/collectibles/hooks/useShouldShowPremiumProfileFrameEA.tsx; dependencies: [8499, 10055, 2] */
function _fun79115(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79115, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10337:6, offset: 0x01e458a1, size: 103 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useShouldShowPremiumProfileFrameEA.tsx');
exports.default = useShouldShowPremiumProfileFrameEA;
}
function useShouldShowPremiumProfileFrameEA(a0) { // fn#79116, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10337:201, offset: 0x01e45908, size: 115 bytes, params: 2, frame: 16
const value2 = (require(8499) /* metro dependency 8499: CollectiblesProfileFramesExperiment */).useIsProfileFramesEnabled(a0);
const defaultImport = importDefault(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */;
const useConfig = defaultImport.useConfig;
return value2 && Reflect.apply(useConfig, defaultImport,
[{location: a0}]).bucket === (require(10055) /* metro dependency 10055: CollectiblesProfileFramesPurchaseExperiment */).ProfileFramesPurchaseBucket.PAID_PREMIUM_SUBSCRIBERS_ONLY;
}
@@ -0,0 +1,64 @@
/* Metro module 8399; source: modules/collectibles/hooks/useTrackCollectiblesItemTryOut.tsx; dependencies: [31, 5121, 661, 1880, 1904, 632, 683, 5134, 2] */
function _fun66742(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#66742, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8584:6, offset: 0x01c07d67, size: 418 bytes, params: 8, frame: 20
var object2;
let env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = (require(31) /* metro dependency 31 */).useCallback;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
const premiumConstantsModule = require(1880) /* metro dependency 1880: PremiumConstants */;
const AnalyticsPremiumFeatureNames = premiumConstantsModule.AnalyticsPremiumFeatureNames;
const env0_6 = premiumConstantsModule.AnalyticsPremiumFeatureTiers;
object2 = {};
const CollectiblesItemType = (require(1904) /* metro dependency 1904: CollectiblesItemType */).CollectiblesItemType;
const AVATAR_DECORATION = CollectiblesItemType.AVATAR_DECORATION;
const AVATAR_DECORATION2 = AnalyticsPremiumFeatureNames.AVATAR_DECORATION;
object2[AVATAR_DECORATION] = AVATAR_DECORATION2;
const PROFILE_EFFECT = CollectiblesItemType.PROFILE_EFFECT;
const PROFILE_EFFECT2 = AnalyticsPremiumFeatureNames.PROFILE_EFFECT;
object2[PROFILE_EFFECT] = PROFILE_EFFECT2;
const PROFILE_FRAME = CollectiblesItemType.PROFILE_FRAME;
object2[PROFILE_FRAME] = undefined;
const NAMEPLATE = CollectiblesItemType.NAMEPLATE;
object2[NAMEPLATE] = undefined;
const NONE = CollectiblesItemType.NONE;
object2[NONE] = undefined;
const BUNDLE = CollectiblesItemType.BUNDLE;
object2[BUNDLE] = undefined;
const VARIANTS_GROUP = CollectiblesItemType.VARIANTS_GROUP;
object2[VARIANTS_GROUP] = undefined;
const EXTERNAL_SKU = CollectiblesItemType.EXTERNAL_SKU;
object2[EXTERNAL_SKU] = undefined;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useTrackCollectiblesItemTryOut.tsx');
exports.default = function(a0) {
var env0_0 = a0;
var value2 = require(dependencyMap[5]).useStateFromStores([CollectiblesCategoryStore], _fun66744);
var env0_1 = value2;
return useCallback(_fun66745, [value2, a0]);
};
}
function _default_66743(a0) { // fn#66743, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8584:666, offset: 0x01c07f09, size: 99 bytes, params: 2, frame: 17
const env0_0 = a0;
const useStateFromStoresModule = require(632) /* metro dependency 632: useStateFromStores */;
const useStateFromStores = useStateFromStoresModule.useStateFromStores;
let items2 = [CollectiblesCategoryStore];
items2 = [Reflect.apply(useStateFromStores, useStateFromStoresModule, [items2, function() {
return CollectiblesCategoryStore.products;
}]), a0];
return useCallback(_fun66745, items2);
}
function _fun66745({type, skuId}) { // fn#66745, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8584:735, offset: 0x01c07f7b, size: 176 bytes, params: 2, frame: 20
const value2 = products.get(skuId);
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const PREMIUM_FEATURE_TRY_OUT = AnalyticEvents.PREMIUM_FEATURE_TRY_OUT;
const object2 = {feature_name: env1_7[type]};
object2.feature_tier = (require(5134) /* metro dependency 5134: CollectiblesUtils */).isPremiumCollectiblesProduct(value2) ? AnalyticsPremiumFeatureTiers.FREE : AnalyticsPremiumFeatureTiers.PREMIUM_STANDARD;
object2.feature_selection = value2?.name;
object2.location_stack = env0_0;
Reflect.apply(track, defaultImport, [PREMIUM_FEATURE_TRY_OUT, object2]);
}
@@ -0,0 +1,34 @@
/* Metro module 10087; source: modules/collectibles/hooks/useTrackPdpClick.tsx; dependencies: [31, 661, 10023, 7594, 5134, 683, 2] */
function _fun78807(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78807, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10273:6, offset: 0x01e3589a, size: 143 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useTrackPdpClick.tsx');
exports.useTrackPdpClick = useTrackPdpClick;
}
function useTrackPdpClick({skuId, productSkuIds, analyticsLocations}) { // fn#78808, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10273:231, offset: 0x01e35929, size: 218 bytes, params: 2, frame: 21
const r2 = (require(10023) /* metro dependency 10023: CollectiblesAnalyticsContext */).useCollectiblesAnalyticsContext() ?? ({});
const cardId = r2.cardId;
return cardId.useCallback(_fun78809, [skuId, analyticsLocations, cardId, productSkuIds, r2.sessionId,
(require(5134) /* metro dependency 5134: CollectiblesUtils */).getShopDiscountSource((require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUserIfAvailable())]);
}
function _fun78809(a0) { // fn#78809, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10273:490, offset: 0x01e35a03, size: 142 bytes, params: 2, frame: 18
const value = environment.__proto__;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const SHOP_PRODUCT_DETAIL_PAGE_CLICKED = AnalyticEvents.SHOP_PRODUCT_DETAIL_PAGE_CLICKED;
const object2 = {};
object2.sku_id = skuId;
object2.cta = a0;
object2.shop_session_id = sessionId;
object2.card_id = cardId;
object2.product_sku_ids = productSkuIds;
object2.location_stack = analyticsLocations;
object2.discount_source = (require(5134) /* metro dependency 5134: CollectiblesUtils */).getAnalyticsShopDiscountSource(env0_5);
Reflect.apply(track, defaultImport, [SHOP_PRODUCT_DETAIL_PAGE_CLICKED, object2]);
}
@@ -0,0 +1,109 @@
/* Metro module 10154; source: modules/collectibles/hooks/useTrackProductCardImpression.tsx; dependencies: [31, 5121, 661, 10023, 566, 7594, 3802, 5134, 683, 2] */
function _fun79123(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79123, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:6, offset: 0x01e45d1d, size: 159 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const collectiblesCategoryStore = importDefault(5121) /* metro dependency 5121: CollectiblesCategoryStore */;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useTrackProductCardImpression.tsx');
exports.useTrackProductCardImpression = useTrackProductCardImpression;
}
function useTrackProductCardImpression(a0, a1) { // fn#79124, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:267, offset: 0x01e45dbc, size: 411 bytes, params: 3, frame: 24
let value = a2;
const env0_0 = a0;
const env0_1 = a1;
const value2 = undefined;
const r1 = value !== value2 ? value : 'product';
const value3 = (require(10023) /* metro dependency 10023: CollectiblesAnalyticsContext */).useCollectiblesAnalyticsContext();
const env0_3 = value3;
const product = (require(566) /* metro dependency 566: flux */).useStateFromStores([CollectiblesCategoryStore],
_fun79125);
const canUseShopDiscounts2 = (importDefault(3802) /* metro dependency 3802: PremiumUtils */).canUseShopDiscounts((require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUser());
let binding = env0_3;
const env0_6 = binding.useRef(null);
const value5 = binding.useCallback(_fun79126, [value3 == null ? value2 : value3.sessionId,
value3 == null ? value2 : value3.categoryPosition, value3 == null ? value2 : value3.pageCategory,
value3 == null ? value2 : value3.pageSection, value3 == null ? value2 : value3.tilePosition,
canUseShopDiscounts2, a1, product, a0, r1]);
binding = env0_3;
value = binding.useCallback(_fun79127, [value5]);
binding.useEffect(function() {
return _fun79130;
}, []);
return {handleCardVisibilityChange: value};
}
function _fun79126() { // fn#79126, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:521, offset: 0x01e45f57, size: 394 bytes, params: 1, frame: 21
var r9;
var r5;
var value3;
var moduleValue;
var value6;
var moduleValue2;
let productBinding = product;
const value2 = null;
if (value2 != productBinding) {
value3 = environment.__proto__;
moduleValue = require(5134) /* metro dependency 5134: CollectiblesUtils */;
r9 = moduleValue.getPriceForCollectiblesProduct(product, env0_5, true);
} else {
r9 = value2;
}
productBinding = product;
const value5 = undefined;
if (value2 != productBinding) {
value6 = environment.__proto__;
moduleValue2 = require(5134) /* metro dependency 5134: CollectiblesUtils */;
r5 = moduleValue2.getStrikeThroughPriceAmountForCollectiblesProduct(product, env0_5, true);
} else {
r5 = value5;
}
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const COLLECTIBLES_TILE_IMPRESSION = AnalyticEvents.COLLECTIBLES_TILE_IMPRESSION;
const object2 = {};
object2.collectibles_shop_session_id = value2 == env0_3 ? value5 : env0_3.sessionId;
object2.sku_id = env0_0;
object2.display_price = value2 == r9 ? value5 : r9.amount;
object2.display_price_currency = value2 == r9 ? value5 : r9.currency.toString();
object2.display_price_strikethrough = r5;
object2.position = value2 == env0_3 ? value5 : env0_3.tilePosition;
object2.page_type = require;
object2.page_category = value2 == env0_3 ? value5 : env0_3.pageCategory;
object2.page_section = value2 == env0_3 ? value5 : env0_3.pageSection;
object2.type = env0_2;
object2.category_position = value2 == env0_3 ? value5 : env0_3.categoryPosition;
Reflect.apply(track, defaultImport, [COLLECTIBLES_TILE_IMPRESSION, object2]);
return value5;
}
function _fun79127(a0) { // fn#79127, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:1294, offset: 0x01e460e1, size: 109 bytes, params: 2, frame: 15
const current = env0_6.current;
if (a0) {
if (current === null) {
env0_6.current = global.setTimeout(_fun79128, 1000);
}
} else if (current !== null) {
global.clearTimeout(env0_6.current);
env0_6.current = null;
}
}
function _fun79129() { // fn#79129, offset: 0x01e46169, size: 11 bytes, params: 1, frame: 1
return _fun79130;
}
function _fun79128() { // fn#79128, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:1341, offset: 0x01e4614e, size: 27 bytes, params: 1, frame: 10
env1_7();
env1_6.current = null;
}
function _fun79130() { // fn#79130, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10340:1463, offset: 0x01e46174, size: 56 bytes, params: 1, frame: 13
if (env1_6.current !== null) {
global.clearTimeout(env1_6.current);
env1_6.current = null;
}
}
@@ -0,0 +1,51 @@
/* Metro module 10051; source: modules/collectibles/hooks/useTrackShopCardClick.tsx; dependencies: [31, 10052, 661, 10023, 7594, 5134, 683, 5133, 2] */
function _fun78597(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78597, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10237:6, offset: 0x01e2d517, size: 165 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const env0_4 = (require(10052) /* metro dependency 10052: CollectiblesShopVariantsUIStore */).useSelectedVariantIndex;
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useTrackShopCardClick.tsx');
exports.useTrackShopCardClick = useTrackShopCardClick;
}
function useTrackShopCardClick({product, analyticsLocations}) { // fn#78598, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10237:275, offset: 0x01e2d5bc, size: 244 bytes, params: 2, frame: 22
const r2 = (require(10023) /* metro dependency 10023: CollectiblesAnalyticsContext */).useCollectiblesAnalyticsContext() ?? ({});
const cardId = r2.cardId;
const sessionId = r2.sessionId;
return sessionId.useCallback(_fun78599, [product, useSelectedVariantIndex(product), sessionId, cardId,
analyticsLocations, r2.tilePosition,
(require(5134) /* metro dependency 5134: CollectiblesUtils */).getShopDiscountSource((require(7594) /* metro dependency 7594: useCurrentUser */).useCurrentUserIfAvailable())]);
}
function _fun78599(a0, a1) { // fn#78599, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10237:549, offset: 0x01e2d6b0, size: 259 bytes, params: 3, frame: 21
var skuId;
var property;
const value = a1;
const value3 = undefined;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const SHOP_CARD_CLICKED = AnalyticEvents.SHOP_CARD_CLICKED;
const object2 = {};
const collectiblesProductUtilsModule = require(5133) /* metro dependency 5133: CollectiblesProductUtils */;
const getIsVariantProduct = collectiblesProductUtilsModule.getIsVariantProduct;
if (Reflect.apply(getIsVariantProduct, collectiblesProductUtilsModule, [product])) {
property = product.variants[value ?? env0_5];
skuId = property == null ? value3 : property.skuId;
skuId = skuId ?? product.skuId;
} else {
skuId = product.skuId;
}
object2.sku_id = skuId;
object2.cta = a0;
object2.shop_session_id = sessionId;
object2.card_id = cardId;
object2.product_sku_ids = collectiblesProductUtilsModule.getProductSkuIds(product);
object2.location_stack = analyticsLocations;
object2.position_in_section = tilePosition;
object2.discount_source = (require(5134) /* metro dependency 5134: CollectiblesUtils */).getAnalyticsShopDiscountSource(env0_6);
Reflect.apply(track, defaultImport, [SHOP_CARD_CLICKED, object2]);
return value3;
}
@@ -0,0 +1,542 @@
/* Metro module 10053; source: modules/collectibles/hooks/useWishlistButtonState.tsx; dependencies: [5, 57, 31, 5189, 6771, 1861, 566, 10034, 10039, 2] */
function _fun78606(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#78606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10239:6, offset: 0x01e2d9fc, size: 169 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const env0_4 = importDefault(57) /* metro dependency 57 */;
const env0_5 = importAll(31) /* metro dependency 31 */;
const userProfileStore = importDefault(5189) /* metro dependency 5189: UserProfileStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/collectibles/hooks/useWishlistButtonState.tsx');
exports.useWishlistButtonState = useWishlistButtonState;
}
function useWishlistButtonState({userId, skuId, location, onAddSuccess, onRemoveSuccess, onError}) { // fn#78607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10239:248, offset: 0x01e2daa5, size: 449 bytes, params: 2, frame: 28
const env0_3 = onRemoveSuccess;
const env0_4 = onError;
const defaultImport = importDefault(6771) /* metro dependency 6771: useAnalyticsLocations */;
const stringUtilsModule = require(1861) /* metro dependency 1861: StringUtils */;
const analyticsLocations = defaultImport(stringUtilsModule.isNullOrEmpty(location) ? [] : [location]).analyticsLocations;
const env0_5 = analyticsLocations;
const firstWishlistId = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserProfileStore],
function() {
return UserProfileStore.getFirstWishlistId(userId);
});
const value2 = (require(10034) /* metro dependency 10034: useWishlistHooks */).useIsSkuInWishlist(firstWishlistId,
skuId);
let binding = env0_5;
let useState = binding.useState;
const value3 = Reflect.apply(useState, binding, [null]);
const binding2 = env0_4;
const value4 = binding2(value3, 2);
const property = value4[0];
const env0_7 = value4[1];
useState = binding.useState;
const value5 = binding2(Reflect.apply(useState, binding, [false]), 2);
const property2 = value5[0];
const env0_9 = value5[1];
const r3 = property === null ? value2 : property;
binding = env0_5;
binding.useEffect(_fun78609, [skuId]);
const useCallback = binding.useCallback;
let value = env0_3(_fun78611);
value = Reflect.apply(useCallback, binding, [value, [property2, r3, firstWishlistId, skuId, analyticsLocations,
onAddSuccess, onRemoveSuccess, onError]]);
return {isWishlisted: r3, isBusy: property2, handleToggle: value};
}
function _fun78609() { // fn#78609, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10239:628, offset: 0x01e2dc81, size: 29 bytes, params: 1, frame: 12
env0_7(null);
env0_9(false);
}
function* _fun78611() { // fn#78611, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10239:677, offset: 0x01e2dca9, size: 414 bytes, params: 1, frame: 21
var value;
var value2;
var value3;
var binding;
var binding2;
var property;
var value4;
var addSkuToWishlist;
var value5;
var value6;
var value7;
var value8;
var error;
var value9;
var value10;
var binding3;
var value11;
var removeSkuFromWishlist;
var value12;
var value13;
var value14;
var value15;
var value16;
exceptionLanding60: while (true) {
exceptionLanding32: while (true) {
value = undefined;
value2 = false;
if (value2) {
return value;
}
value = environment.__proto__;
if (!env1_8) {
env1_9(true);
reducibleJoin61: while (true) {
reducibleJoin17: while (true) {
if (env1_10) {
if (UserProfileStore != null) {
env1_7(false);
value10 = environment.__proto__.__proto__;
reducibleJoin36: while (true) {
reduciblePort59: while (true) {
exceptionLanding54: while (true) {
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin36;
}
try {
binding = env1_4;
} catch (error) {
break exceptionLanding60;
}
try {
value16 = binding == null;
} catch (error) {
break exceptionLanding60;
}
reducibleJoin59: while (true) {
if (value16) {
break reducibleJoin59;
}
try {
binding = env1_4;
} catch (error) {
break exceptionLanding60;
}
try {
binding(error);
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin59;
}
break reduciblePort59;
}
env1_7(null);
env1_9(false);
break reducibleJoin61;
}
try {
try {
binding3 = env2_2;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
property = binding3[8];
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value11 = binding(property);
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
removeSkuFromWishlist = value11.removeSkuFromWishlist;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
binding = env1_5;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value12 = Reflect.apply(removeSkuFromWishlist, value11, [UserProfileStore,
importDefault,
binding]);
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
yield value12;
try {
try {
value13 = undefined;
value14 = false;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
if (value14) {
env1_7(null);
env1_9(false);
return value13;
}
try {
try {
binding = env1_3;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
value15 = binding == null;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
reducibleJoin52: while (true) {
if (value15) {
break reducibleJoin52;
}
try {
try {
binding = env1_3;
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
try {
try {
binding();
} catch (error) {
break exceptionLanding54;
}
} catch (error) {
break exceptionLanding60;
}
break reducibleJoin52;
}
env1_7(null);
env1_9(false);
break reducibleJoin61;
}
env1_7(true);
value3 = environment.__proto__.__proto__;
reducibleJoin7: while (true) {
reduciblePort31: while (true) {
exceptionLanding25: while (true) {
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
break reducibleJoin7;
}
try {
binding = env1_4;
} catch (error) {
break exceptionLanding32;
}
try {
value9 = binding == null;
} catch (error) {
break exceptionLanding32;
}
reducibleJoin31: while (true) {
if (value9) {
break reducibleJoin31;
}
try {
binding = env1_4;
} catch (error) {
break exceptionLanding32;
}
try {
binding(error);
} catch (error) {
break exceptionLanding32;
}
break reducibleJoin31;
}
break reduciblePort31;
}
env1_7(null);
env1_9(false);
break reducibleJoin61;
}
try {
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
property = binding2[8];
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
value4 = binding(property);
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
addSkuToWishlist = value4.addSkuToWishlist;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
binding = env1_5;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
value5 = Reflect.apply(addSkuToWishlist, value4, [importDefault, binding]);
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
yield value5;
try {
try {
value6 = undefined;
value7 = false;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
break reducibleJoin17;
}
env1_7(true);
value3 = environment.__proto__.__proto__;
try {
try {
binding = env2_1;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
binding2 = env2_2;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
property = binding2[8];
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
value4 = binding(property);
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
addSkuToWishlist = value4.addSkuToWishlist;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
binding = env1_5;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
value5 = Reflect.apply(addSkuToWishlist, value4, [importDefault, binding]);
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
yield value5;
try {
try {
value6 = undefined;
value7 = false;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
break reducibleJoin17;
}
if (value7) {
env1_7(null);
env1_9(false);
return value6;
}
try {
try {
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
value8 = dependencyMap == null;
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
reducibleJoin23: while (true) {
if (value8) {
break reducibleJoin23;
}
try {
try {
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
try {
try {
dependencyMap();
} catch (error) {
break exceptionLanding25;
}
} catch (error) {
break exceptionLanding32;
}
break reducibleJoin23;
}
env1_7(null);
env1_9(false);
break reducibleJoin61;
}
}
return undefined;
}
env1_7(null);
env1_9(false);
throw error;
}
env1_7(null);
env1_9(false);
throw error;
}