Files
discord-decomp/sources/modules/premium/PremiumBogoPromotionUtilsCommon.tsx
T
2026-07-27 16:20:00 +03:00

635 lines
33 KiB
TypeScript

/* Metro module 7260; source: modules/premium/PremiumBogoPromotionUtilsCommon.tsx; dependencies: [5, 1878, 3808, 7064, 5181, 7261, 1880, 661, 3738, 3802, 477, 4140, 7035, 7285, 7291, 632, 7062, 7258, 7292, 7293, 4223, 7289, 2] */
function _fun58318(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#58318, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:6, offset: 0x016c4b1a, size: 323 bytes, params: 8, frame: 21
const env0_0 = require;
const closure = isUserEligibleBasedOnCurrentOrPreviousSubs;
const closure2 = function() {
return _isEligibleForBOGOPromotion.apply(this, arguments);
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
const userOfferStore = importDefault(7064) /* metro dependency 7064: UserOfferStore */;
const entitlementStore = importDefault(5181) /* metro dependency 5181: EntitlementStore */;
const promotionsStore = importDefault(7261) /* metro dependency 7261: PromotionsStore */;
let value = require(1880) /* metro dependency 1880: PremiumConstants */;
const env0_9 = value.PurchasedFlags;
const env0_10 = value.PremiumTypes;
value = require(661) /* metro dependency 661: Constants */;
const env0_11 = value.PaymentGateways;
const env0_12 = value.SubscriptionStatusTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/premium/PremiumBogoPromotionUtilsCommon.tsx');
exports.isUserEligibleBasedOnCurrentOrPreviousSubs = closure;
exports.useIsEligibleForBogoPromotion = useIsEligibleForBogoPromotion;
exports.isEligibleForBOGOPromotion = closure2;
exports.maybeFetchActiveBogoPromotion = function() {
return _maybeFetchActiveBogoPromotion.apply(this, arguments);
};
}
function isUserEligibleBasedOnCurrentOrPreviousSubs({experimentEnabled, premiumSubscription, mostRecentSubscription, previousPremiumSubscription}) { // fn#58319, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:260, offset: 0x016c4c5d, size: 522 bytes, params: 2, frame: 17
var r0;
var r1;
var status;
var value;
var endedAt;
var hasPremiumAtLeast;
var TIER_2;
var hasPremiumAtLeast2;
var subtract;
var isBefore;
var hasPremiumAtLeast3;
var hasPremiumAtLeast4;
var currentUser;
var value3;
var hasActiveTrial;
var value4;
var defaultImport;
var isPremiumExactly;
var TIER_0;
var isPremiumExactly2;
var isAndroid2;
var paymentGateway;
var GOOGLE;
var isMobile;
var isFractionalPremiumActive;
if (experimentEnabled) {
if (mostRecentSubscription != null) {
status = mostRecentSubscription.status;
value = environment;
reducibleJoin7: while (true) {
if (status !== SubscriptionStatusTypes.ENDED) {
break reducibleJoin7;
}
endedAt = mostRecentSubscription.endedAt;
hasPremiumAtLeast = mostRecentSubscription.hasPremiumAtLeast;
TIER_2 = PremiumTypes.TIER_2;
hasPremiumAtLeast2 = Reflect.apply(hasPremiumAtLeast, mostRecentSubscription, [TIER_2]);
if (endedAt == null) {
break reducibleJoin7;
}
if (hasPremiumAtLeast2) {
value = (importDefault(3738) /* metro dependency 3738 */)();
subtract = value.subtract;
value = Reflect.apply(subtract, value, [10, 'days']);
isBefore = value.isBefore;
if (Reflect.apply(isBefore, value, [endedAt])) {
return false;
}
break reducibleJoin7;
}
break reducibleJoin7;
}
}
if (previousPremiumSubscription != null) {
status = previousPremiumSubscription.status;
value = environment;
reducibleJoin12: while (true) {
if (status !== SubscriptionStatusTypes.ENDED) {
break reducibleJoin12;
}
endedAt = previousPremiumSubscription.endedAt;
hasPremiumAtLeast = previousPremiumSubscription.hasPremiumAtLeast;
TIER_2 = PremiumTypes.TIER_2;
hasPremiumAtLeast3 = Reflect.apply(hasPremiumAtLeast, previousPremiumSubscription, [TIER_2]);
if (endedAt == null) {
break reducibleJoin12;
}
if (hasPremiumAtLeast3) {
value = (importDefault(3738) /* metro dependency 3738 */)();
subtract = value.subtract;
value = Reflect.apply(subtract, value, [10, 'days']);
isBefore = value.isBefore;
if (Reflect.apply(isBefore, value, [endedAt])) {
return false;
}
break reducibleJoin12;
}
break reducibleJoin12;
}
}
if (premiumSubscription != null) {
hasPremiumAtLeast = premiumSubscription.hasPremiumAtLeast;
value = environment;
hasPremiumAtLeast4 = Reflect.apply(hasPremiumAtLeast, premiumSubscription, [PremiumTypes.TIER_2]);
currentUser = UserStore.getCurrentUser();
value3 = premiumSubscription == null;
reducibleJoin15: while (true) {
if (value3) {
r0 = value3;
break reducibleJoin15;
}
hasActiveTrial = premiumSubscription.hasActiveTrial;
value4 = !hasActiveTrial;
r0 = value4;
break reducibleJoin15;
}
reducibleJoin17: while (true) {
if (r0) {
r1 = !r0;
break reducibleJoin17;
}
defaultImport = importDefault(3802) /* metro dependency 3802: PremiumUtils */;
isPremiumExactly = defaultImport.isPremiumExactly;
TIER_0 = PremiumTypes.TIER_0;
isPremiumExactly2 = Reflect.apply(isPremiumExactly, defaultImport, [currentUser, TIER_0]);
r1 = isPremiumExactly2;
break reducibleJoin17;
}
isAndroid2 = (require(477) /* metro dependency 477: PlatformUtils */).isAndroid();
reducibleJoin19: while (true) {
if (isAndroid2) {
paymentGateway = premiumSubscription.paymentGateway;
GOOGLE = PaymentGateways.GOOGLE;
value = paymentGateway !== GOOGLE;
r0 = value;
break reducibleJoin19;
}
r0 = isAndroid2;
break reducibleJoin19;
}
reducibleJoin22: while (true) {
reducibleJoin25: while (true) {
if (hasPremiumAtLeast4) {
break reducibleJoin25;
}
if (r1) {
break reducibleJoin25;
}
if (r0) {
break reducibleJoin25;
}
break reducibleJoin22;
}
return false;
}
}
value = environment;
isMobile = (require(4140) /* metro dependency 4140: PlatformUtils */).isMobile;
reducibleJoin24: while (true) {
if (isMobile) {
isFractionalPremiumActive = EntitlementStore.isFractionalPremiumActive;
value = !Reflect.apply(isFractionalPremiumActive, EntitlementStore, []);
r0 = value;
break reducibleJoin24;
}
r0 = !isMobile;
break reducibleJoin24;
}
return r0;
}
return false;
}
function _isEligibleForBOGOPromotion() { // fn#58321, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:1082, offset: 0x016c4e67, size: 48 bytes, params: 1, frame: 14
return env0_3(_fun58323).apply(this, arguments);
}
function _maybeFetchActiveBogoPromotion() { // fn#58324, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:2111, offset: 0x016c50e8, size: 48 bytes, params: 1, frame: 14
return env0_3(_fun58326).apply(this, arguments);
}
function useIsEligibleForBogoPromotion() { // fn#58327, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:2607, offset: 0x016c51d0, size: 519 bytes, params: 1, frame: 28
var r1;
var r0;
let value = a0;
const value2 = undefined;
const r9 = !(value !== value2) || value;
const value3 = (require(7035) /* metro dependency 7035: BlockedPaymentsCountryExperiment */).useIsPaymentsBlocked();
const promotionsHooksModule = require(7285) /* metro dependency 7285: PromotionsHooks */;
const useBogoPromotion = promotionsHooksModule.useBogoPromotion;
const promotion = Reflect.apply(useBogoPromotion, promotionsHooksModule, []).promotion;
const value4 = (require(7291) /* metro dependency 7291: BogoPromotionExperiment */).useBogoPromotionGateEnabled('bogo eligibility hook');
const {mostRecentSubscription, premiumSubscription,
previousPremiumSubscription} = (require(632) /* metro dependency 632: useStateFromStores */).useStateFromStoresObject([SubscriptionStore],
function() {
var object = {};
object.mostRecentSubscription = SubscriptionStore.getMostRecentPremiumTypeSubscription();
object.premiumSubscription = SubscriptionStore.getPremiumTypeSubscription();
object.previousPremiumSubscription = SubscriptionStore.getPreviousPremiumTypeSubscription();
return object;
});
const value6 = (require(7062) /* metro dependency 7062: usePremiumTrialOfferNative */).usePremiumTrialOffer();
const value7 = (require(7258) /* metro dependency 7258: usePremiumDiscountOfferAndroid */).usePremiumDiscountOffer();
let Date = global.Date;
let r2 = (promotion == null ? value2 : promotion.endDate) ?? 0;
const value9 = Object.create(Date.prototype, {constructor: {value: Date}});
const date = new Date(r2);
const value11 = (date instanceof Object ? date : value9).valueOf();
Date = global.Date;
const value12 = Date.now();
const value13 = value12 > value11;
(importDefault(7292) /* metro dependency 7292: useScheduledForcedUpdate */)({delay: value13 ? -1 : value11 - value12});
const isMobile = (require(4140) /* metro dependency 4140: PlatformUtils */).isMobile;
r2 = isMobile ? (require(477) /* metro dependency 477: PlatformUtils */).isAndroid() : !isMobile;
const isUserEligibleBasedOnCurrentOrPreviousSubs2 = isUserEligibleBasedOnCurrentOrPreviousSubs({experimentEnabled: value4,
premiumSubscription: premiumSubscription, mostRecentSubscription: mostRecentSubscription,
previousPremiumSubscription: previousPremiumSubscription});
value = require(7293) /* metro dependency 7293: BOGOPromotionMarketingMaterialsExperiments */;
value = value.useBogoMarketingMaterialsEnabled('bogo marketing eligibility hook');
if (value13) {
r0 = !value13;
} else {
if (r9) {
r1 = value;
} else {
r2 = r2 && isUserEligibleBasedOnCurrentOrPreviousSubs2;
r2 = r2 && value6 == null;
r2 = r2 && promotion != null;
r2 = r2 && !value3;
r2 = r2 && value7 == null;
r1 = r2;
}
r0 = r1;
}
return r0;
}
async function _fun58323() { // fn#58323, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:1159, offset: 0x016c4ea9, size: 575 bytes, params: 1, frame: 22
var hasFetchedMostRecentPremiumTypeSubscription2;
var currentUser;
var value19;
var value22;
var mostRecentPremiumTypeSubscription;
var object2;
let value = a0;
if (false) {
return undefined;
}
const value4 = undefined;
let r7 = !(value !== value4) || value;
await value4;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
let binding = env2_4;
const currentUser2 = binding.getCurrentUser();
let r2 = currentUser2 != null && currentUser2.isClaimed();
binding = env2_0;
const binding2 = env2_2;
const isPaymentsBlocked = binding(binding2[12]).getIsPaymentsBlocked();
const bogoPromotionGateEnabled = binding(binding2[14]).getBogoPromotionGateEnabled('bogo eligibility async check');
const bogoMarketingMaterialsEnabled = binding(binding2[19]).getBogoMarketingMaterialsEnabled('bogo marketing eligibility async check');
const isMobile = binding(binding2[11]).isMobile;
const r22 = isMobile ? env2_0(env2_2[10]).isAndroid() : !isMobile;
if (r2) {
if (isPaymentsBlocked) {
return false;
}
if (bogoPromotionGateEnabled) {
if (r7) {
if (bogoMarketingMaterialsEnabled) {
if (r22) {
binding = env2_6;
if (binding.hasFetchedOffer()) {
binding = env2_6;
if (binding.hasAnyUnexpiredOffer()) {
return false;
}
binding = env2_6;
if (binding.hasAnyUnexpiredDiscountOffer()) {
return false;
}
binding = env2_5;
hasFetchedMostRecentPremiumTypeSubscription2 = binding.hasFetchedMostRecentPremiumTypeSubscription();
if (hasFetchedMostRecentPremiumTypeSubscription2) {
r2 = !hasFetchedMostRecentPremiumTypeSubscription2;
r7 = value4;
} else {
currentUser = env2_4.getCurrentUser();
r2 = currentUser != null;
r7 = currentUser;
}
r2 = r2 && r7.hasPurchasedFlag(env2_9.PREMIUM_TIER_2);
if (r2) {
binding = env2_0;
value19 = binding(env2_2[20]);
await value19.fetchMostRecentSubscription();
if (false) {
return undefined;
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
hasFetchedMostRecentPremiumTypeSubscription2 = binding.hasFetchedMostRecentPremiumTypeSubscription();
if (hasFetchedMostRecentPremiumTypeSubscription2) {
r2 = !hasFetchedMostRecentPremiumTypeSubscription2;
r7 = value4;
} else {
currentUser = env2_4.getCurrentUser();
r2 = currentUser != null;
r7 = currentUser;
}
r2 = r2 && r7.hasPurchasedFlag(env2_9.PREMIUM_TIER_2);
if (r2) {
binding = env2_0;
value19 = binding(env2_2[20]);
await value19.fetchMostRecentSubscription();
if (false) {
return undefined;
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
return false;
}
return false;
}
if (r22) {
binding = env2_6;
if (binding.hasFetchedOffer()) {
binding = env2_6;
if (binding.hasAnyUnexpiredOffer()) {
return false;
}
binding = env2_6;
if (binding.hasAnyUnexpiredDiscountOffer()) {
return false;
}
binding = env2_5;
hasFetchedMostRecentPremiumTypeSubscription2 = binding.hasFetchedMostRecentPremiumTypeSubscription();
if (hasFetchedMostRecentPremiumTypeSubscription2) {
r2 = !hasFetchedMostRecentPremiumTypeSubscription2;
r7 = value4;
} else {
currentUser = env2_4.getCurrentUser();
r2 = currentUser != null;
r7 = currentUser;
}
r2 = r2 && r7.hasPurchasedFlag(env2_9.PREMIUM_TIER_2);
if (r2) {
binding = env2_0;
value19 = binding(env2_2[20]);
await value19.fetchMostRecentSubscription();
if (false) {
return undefined;
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
hasFetchedMostRecentPremiumTypeSubscription2 = binding.hasFetchedMostRecentPremiumTypeSubscription();
if (hasFetchedMostRecentPremiumTypeSubscription2) {
r2 = !hasFetchedMostRecentPremiumTypeSubscription2;
r7 = value4;
} else {
currentUser = env2_4.getCurrentUser();
r2 = currentUser != null;
r7 = currentUser;
}
r2 = r2 && r7.hasPurchasedFlag(env2_9.PREMIUM_TIER_2);
if (r2) {
binding = env2_0;
value19 = binding(env2_2[20]);
await value19.fetchMostRecentSubscription();
if (false) {
return undefined;
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_5;
if (binding.hasFetchedSubscriptions()) {
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
binding = env2_0;
value22 = binding(env2_2[20]);
await value22.fetchSubscriptions();
if (false) {
return undefined;
}
binding = env2_5;
mostRecentPremiumTypeSubscription = binding.getMostRecentPremiumTypeSubscription();
binding = env2_13;
object2 = {experimentEnabled: bogoPromotionGateEnabled};
object2.premiumSubscription = env2_5.getPremiumTypeSubscription();
object2.mostRecentSubscription = mostRecentPremiumTypeSubscription;
object2.previousPremiumSubscription = env2_5.getPreviousPremiumTypeSubscription();
return binding(object2);
}
return false;
}
}
return false;
}
function* _fun58326() { // fn#58326, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7438:2194, offset: 0x016c5121, size: 175 bytes, params: 1, frame: 16
var bogoPromotion;
var Date;
var endDate;
var value5;
var date;
var value7;
if (true) {
value = environment.__proto__.__proto__;
yield env2_14(false);
var value3 = undefined;
if (false) {
return value3;
}
if (value3) {
bogoPromotion = env2_8.bogoPromotion;
if (bogoPromotion == null) {
value = env2_0(env2_2[21]);
yield value.fetchActiveBogoPromotion();
value = undefined;
return undefined;
}
Date = global.Date;
endDate = bogoPromotion.endDate;
value5 = Object.create(Date.prototype, {constructor: {value: Date}});
date = new Date();
value7 = (date instanceof Object ? date : value5).valueOf();
Date = global.Date;
if (value7 >= Date.now()) {
return undefined;
}
value = env2_0(env2_2[21]);
yield value.fetchActiveBogoPromotion();
value = undefined;
return undefined;
}
}
}