901 lines
37 KiB
TypeScript
901 lines
37 KiB
TypeScript
/* Metro module 7064; source: stores/billing/UserOfferStore.tsx; dependencies: [6, 7, 15, 17, 18, 7065, 7247, 1878, 5181, 3808, 1880, 7248, 3802, 566, 694, 2] */
|
|
function _fun56003(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#56003, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6, offset: 0x013bad31, size: 673 bytes, params: 8, frame: 21
|
|
const env0_0 = require;
|
|
const _arrayLikeToArray_56006 = 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 closure = LOGOUT_56010;
|
|
const closure2 = function() {
|
|
UserStore.getCurrentUser();
|
|
};
|
|
const handleReferralTrialStoreUpdate = function() {
|
|
return false;
|
|
};
|
|
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 = importDefault(15) /* metro dependency 15 */;
|
|
const env0_5 = importDefault(17) /* metro dependency 17 */;
|
|
const env0_6 = importDefault(18) /* metro dependency 18 */;
|
|
const referralTrialStore = importDefault(7065) /* metro dependency 7065: ReferralTrialStore */;
|
|
const userDiscountOfferRecord = importDefault(7247) /* metro dependency 7247: UserDiscountOfferRecord */;
|
|
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
|
|
const entitlementStore = importDefault(5181) /* metro dependency 5181: EntitlementStore */;
|
|
const subscriptionStore = importDefault(3808) /* metro dependency 3808: SubscriptionStore */;
|
|
let value = require(1880) /* metro dependency 1880: PremiumConstants */;
|
|
const env0_12 = value.ANNUAL_DISCOUNT_IDS;
|
|
const env0_13 = value.DISCOUNT_OFFERS_REQUIRES_REMINDER_ROLLOUT;
|
|
const env0_14 = value.PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID;
|
|
const env0_15 = value.PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID;
|
|
const env0_16 = value.SubscriptionPlanInfo;
|
|
const env0_17 = value.SubscriptionTrials;
|
|
const env0_18 = value.TRIAL_OFFERS_REQUIRES_REMINDER_ROLLOUT;
|
|
object = {userOffersLastFetchedAtDate: undefined, userTrialOffers: {}, userDiscountOffers: {},
|
|
userDiscounts: undefined, isFetching: false, lastFetchSuccessful: false};
|
|
const emitChanges = function() {
|
|
return true;
|
|
};
|
|
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
|
|
value = _fun56016(PersistedStore);
|
|
value.displayName = 'UserOfferStore';
|
|
value.persistKey = 'UserOfferStore';
|
|
value.migrations = [function(a0) {
|
|
var r2;
|
|
var object;
|
|
var value = a0 == null;
|
|
var value2 = undefined;
|
|
r2 = value ? value2 : a0.userDiscounts;
|
|
if (r2 != null) {
|
|
object = {};
|
|
copyDataProperties(object, a0, value);
|
|
object['userDiscountOffers'] = r2;
|
|
return object;
|
|
}
|
|
return value2;
|
|
}, function(a0) {
|
|
if (a0 != null) {
|
|
if (global.Object.hasOwn(a0, 'userAnnualOfferLastFetchedAtDate')) {
|
|
delete a0.userAnnualOfferLastFetchedAtDate;
|
|
}
|
|
return a0;
|
|
}
|
|
}, function(a0) {
|
|
var r0;
|
|
var object;
|
|
var value = a0;
|
|
if (value != null) {
|
|
if (value?.isFetching != null) {
|
|
r0 = value;
|
|
} else {
|
|
object = {};
|
|
copyDataProperties(object, value, null);
|
|
object['isFetching'] = false;
|
|
r0 = object;
|
|
}
|
|
return r0;
|
|
}
|
|
}, function(a0) {
|
|
var r5;
|
|
var property;
|
|
var object;
|
|
var value = undefined;
|
|
if ((a0 == null ? value : a0.userDiscountOffers) != null) {
|
|
object = {};
|
|
copyDataProperties(object, a0, r5);
|
|
property = global.Object;
|
|
value = global.Object.entries(a0.userDiscountOffers);
|
|
value = property.fromEntries(value.map(_fun56053));
|
|
object['userDiscountOffers'] = value;
|
|
return object;
|
|
}
|
|
return value;
|
|
}];
|
|
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
|
|
{BILLING_USER_OFFER_FETCH_START: BILLING_USER_OFFER_FETCH_START,
|
|
BILLING_USER_TRIAL_OFFER_ACKNOWLEDGED_SUCCESS: BILLING_USER_TRIAL_OFFER_ACKNOWLEDGED_SUCCESS,
|
|
BILLING_USER_OFFER_FETCH_SUCCESS: BILLING_USER_OFFER_FETCH_SUCCESS,
|
|
BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS: BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS,
|
|
BILLING_USER_OFFER_FETCH_FAIL: BILLING_USER_OFFER_FETCH_FAIL,
|
|
BILLING_USER_OFFER_REDEEMED: BILLING_USER_OFFER_REDEEMED, BILLING_PAYMENT_SOURCE_CREATE_SUCCESS: closure2,
|
|
BILLING_PAYMENT_SOURCE_UPDATE_SUCCESS: closure2, BILLING_PAYMENT_SOURCE_REMOVE_SUCCESS: closure2,
|
|
LOGOUT: closure});
|
|
(require(2) /* metro dependency 2 */).fileFinishedImporting('stores/billing/UserOfferStore.tsx');
|
|
exports.default = value;
|
|
}
|
|
|
|
function _createForOfIteratorHelperLoose_56004(a0, a1) { // fn#56004, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:463, offset: 0x013bafd2, size: 370 bytes, params: 3, frame: 20
|
|
var r6;
|
|
var r9;
|
|
var r5;
|
|
var value3;
|
|
var regexp;
|
|
const env0_0 = a0;
|
|
const Symbol = global.Symbol;
|
|
let value = typeof Symbol !== 'undefined';
|
|
let r1 = value && a0[global.Symbol.iterator];
|
|
r1 = !r1 ? a0['@@iterator'] : r1;
|
|
if (r1) {
|
|
value = r1.call(a0);
|
|
return value.next.bind(value);
|
|
}
|
|
const Array = global.Array;
|
|
if (Array.isArray(a0)) {
|
|
if (r1) {
|
|
}
|
|
return _fun56005;
|
|
}
|
|
value = undefined;
|
|
if (a0) {
|
|
if (typeof a0 === 'string') {
|
|
value = _arrayLikeToArray_56006(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_56006(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
|
|
if (regexp.test(r9)) {
|
|
value = _arrayLikeToArray_56006(a0, value);
|
|
r6 = value;
|
|
} else {
|
|
r6 = value;
|
|
}
|
|
}
|
|
r5 = r6;
|
|
}
|
|
} else {
|
|
r5 = value;
|
|
}
|
|
if (r5) {
|
|
if (r5) {
|
|
}
|
|
return _fun56005;
|
|
}
|
|
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 _isNativeReflectConstruct_56007() { // fn#56007, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:1373, offset: 0x013bb144, size: 94 bytes, params: 1, frame: 18
|
|
var Boolean;
|
|
var prototype;
|
|
var valueOf;
|
|
var call;
|
|
var Reflect;
|
|
var construct;
|
|
var closure;
|
|
var value;
|
|
var error;
|
|
try {
|
|
Boolean = global.Boolean;
|
|
prototype = Boolean.prototype;
|
|
valueOf = prototype.valueOf;
|
|
call = valueOf.call;
|
|
Reflect = global.Reflect;
|
|
construct = Reflect.construct;
|
|
Boolean = global.Boolean;
|
|
closure = function() {
|
|
};
|
|
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
|
|
value = Reflect.apply(call, valueOf, [value]);
|
|
var result = !value;
|
|
} catch (error) {
|
|
}
|
|
return (_isNativeReflectConstruct_56007_isNativeReflectConstruct = function() {
|
|
return !!result;
|
|
})();
|
|
}
|
|
|
|
function LOGOUT_56010() { // fn#56010, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:1712, offset: 0x013bb1a2, size: 53 bytes, params: 1, frame: 3
|
|
env0_20.userTrialOffers = {};
|
|
env0_20.userDiscountOffers = {};
|
|
env0_20.userOffersLastFetchedAtDate = undefined;
|
|
env0_20.isFetching = false;
|
|
}
|
|
|
|
function rehydrateDiscountOffer(a0) { // fn#56011, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:1856, offset: 0x013bb1d7, size: 270 bytes, params: 2, frame: 18
|
|
var r6;
|
|
var r1;
|
|
var r0;
|
|
var object2;
|
|
var appliedAt;
|
|
var value4;
|
|
var Date;
|
|
var date;
|
|
var deletedAt;
|
|
let value = a0;
|
|
if (value instanceof UserDiscountOfferRecord) {
|
|
r0 = value;
|
|
} else {
|
|
if ('discount_id' in value) {
|
|
value = UserDiscountOfferRecord.createFromServer(value);
|
|
r1 = value;
|
|
} else {
|
|
object2 = {};
|
|
copyDataProperties(object2, value, undefined);
|
|
appliedAt = value.appliedAt;
|
|
value4 = null;
|
|
if (value4 != appliedAt) {
|
|
Date = global.Date;
|
|
appliedAt = value.appliedAt;
|
|
date = new Date();
|
|
} else {
|
|
r6 = value4;
|
|
}
|
|
object2['appliedAt'] = r6;
|
|
deletedAt = value.deletedAt;
|
|
if (value4 != deletedAt) {
|
|
Date = global.Date;
|
|
deletedAt = value.deletedAt;
|
|
date = new Date();
|
|
} else {
|
|
r6 = value4;
|
|
}
|
|
object2['deletedAt'] = r6;
|
|
object2['expiresAt'] = value4 != value.expiresAt ? new global.Date() : value4;
|
|
r1 = new UserDiscountOfferRecord();
|
|
}
|
|
r0 = r1;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function handleSubscriptionStoreUpdate_56012() { // fn#56012, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:2134, offset: 0x013bb2e5, size: 175 bytes, params: 1, frame: 14
|
|
var r0;
|
|
var binding;
|
|
const value3 = SubscriptionStore.getPremiumTypeSubscription() != null;
|
|
if (value3) {
|
|
if (env0_20.userDiscountOffers[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID] != null) {
|
|
binding = env0_20;
|
|
binding.userDiscountOffers = {[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID]: binding.userDiscountOffers[PREMIUM_TIER_2_CHURN_1_MONTH_DISCOUNT_ID]};
|
|
} else if (env0_20.userDiscountOffers[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID] != null) {
|
|
binding = env0_20;
|
|
binding.userDiscountOffers = {[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID]: binding.userDiscountOffers[PREMIUM_TIER_2_CHURN_3_MONTH_DISCOUNT_ID]};
|
|
} else {
|
|
env0_20.userDiscountOffers = {};
|
|
}
|
|
binding = env0_20;
|
|
binding.userTrialOffers = {};
|
|
r0 = true;
|
|
} else {
|
|
r0 = value3;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function _fun56016(a0) { // fn#56016, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:2545, offset: 0x013bb3a8, size: 552 bytes, params: 2, frame: 16
|
|
const closure = UserOfferStore;
|
|
env0_6(closure, a0);
|
|
return env0_3(closure, [{key: 'initialize', value: value_56018}, {key: 'getUserTrialOffer', value: value_56020},
|
|
{key: 'getUserDiscountOffer', value: value_56021}, {key: 'getAnyOfUserTrialOfferId', value: value_56022},
|
|
{key: 'isFetchingOffer', value: value_56023}, {key: 'hasFetchedOffer', value: value_56024},
|
|
{key: 'shouldFetchReferralOffer', value: value_56025}, {key: 'shouldShowTrialOfferReminder',
|
|
value: value_56026}, {key: 'getAlmostExpiringTrialOffersForReminder', value: value_56027},
|
|
{key: 'shouldShowDiscountOfferReminder', value: value_56030},
|
|
{key: 'getAlmostExpiringDiscountOffersForReminder', value: value_56031}, {key: 'getAcknowledgedOffers',
|
|
value: value_56034}, {key: 'getUnacknowledgedDiscountOffers', value: value_56036},
|
|
{key: 'getUnacknowledgedOffers', value: value_56038}, {key: 'hasAnyUnexpiredOffer', value: value_56040},
|
|
{key: 'hasAnyUnexpiredDiscountOffer', value: value_56042}, {key: 'canFractionalPremiumUserUseOffer',
|
|
value: value_56044}, {key: 'getReferrer', value: value_56045}, {key: 'getState', value: value_56046},
|
|
{key: 'forceReset', value: function() {
|
|
LOGOUT_56010();
|
|
}}, {key: 'lastFetchSuccessful', value: value_56048}]);
|
|
}
|
|
|
|
function _fun56052(a0) { // fn#56052, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6985, offset: 0x013bbf83, size: 110 bytes, params: 2, frame: 15
|
|
var object2;
|
|
var Object;
|
|
var fromEntries;
|
|
var Object2;
|
|
let value = undefined;
|
|
const userDiscountOffers = a0 == null ? value : a0.userDiscountOffers;
|
|
if (userDiscountOffers != null) {
|
|
object2 = {};
|
|
copyDataProperties(object2, a0, undefined);
|
|
Object = global.Object;
|
|
fromEntries = Object.fromEntries;
|
|
Object2 = global.Object;
|
|
value = Object2.entries(a0.userDiscountOffers);
|
|
value = Reflect.apply(fromEntries, Object, [value.map(function(a0) {
|
|
var r0;
|
|
var r2;
|
|
var r4;
|
|
var item3;
|
|
var value3;
|
|
var iterator = a0[Symbol.iterator]();
|
|
var iterator2 = iterator.next;
|
|
var item2 = Reflect.apply(iterator2, iterator, []);
|
|
var item = item2.value;
|
|
item2 = item2.done ? undefined : iterator;
|
|
var value = undefined;
|
|
var value2 = item2 === value;
|
|
var r1 = value2 ? value : item;
|
|
if (value2) {
|
|
r0 = item2;
|
|
r2 = value;
|
|
r4 = value2;
|
|
} else {
|
|
item3 = Reflect.apply(iterator2, item2, []);
|
|
item = item3.value;
|
|
item3 = item3.done ? undefined : item2;
|
|
value3 = item3 === value;
|
|
if (value3) {
|
|
r0 = item3;
|
|
r2 = value;
|
|
r4 = value3;
|
|
} else {
|
|
r0 = item3;
|
|
r2 = item;
|
|
r4 = value3;
|
|
}
|
|
}
|
|
if (!r4) {
|
|
r0.return();
|
|
}
|
|
var items = [r1];
|
|
items[1] = rehydrateDiscountOffer(r2);
|
|
return items;
|
|
})]);
|
|
object2['userDiscountOffers'] = value;
|
|
return object2;
|
|
}
|
|
return value;
|
|
}
|
|
|
|
function BILLING_USER_OFFER_FETCH_START() { // fn#56054, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:7226, offset: 0x013bc04a, size: 19 bytes, params: 1, frame: 2
|
|
env0_20.isFetching = true;
|
|
}
|
|
|
|
function BILLING_USER_TRIAL_OFFER_ACKNOWLEDGED_SUCCESS({userTrialOffer}) { // fn#56055, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:7326, offset: 0x013bc05d, size: 89 bytes, params: 2, frame: 10
|
|
if (userTrialOffer != null) {
|
|
env0_20.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
|
|
} else {
|
|
env0_20.userTrialOffers = {};
|
|
}
|
|
const binding = env0_20;
|
|
const Date = global.Date;
|
|
binding.userOffersLastFetchedAtDate = Date.now();
|
|
}
|
|
|
|
function BILLING_USER_OFFER_FETCH_SUCCESS({userTrialOffer, userDiscountOffer}) { // fn#56056, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:7531, offset: 0x013bc0b6, size: 182 bytes, params: 2, frame: 12
|
|
if (userTrialOffer == null && userDiscountOffer == null) {
|
|
LOGOUT_56010();
|
|
}
|
|
if (userTrialOffer != null) {
|
|
env0_20.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
|
|
env0_20.userDiscountOffers = {};
|
|
} else if (userDiscountOffer != null) {
|
|
env0_20.userDiscountOffers[userDiscountOffer.discountId] = userDiscountOffer;
|
|
env0_20.userTrialOffers = {};
|
|
}
|
|
const binding = env0_20;
|
|
const Date = global.Date;
|
|
binding.userOffersLastFetchedAtDate = Date.now();
|
|
env0_20.isFetching = false;
|
|
env0_20.lastFetchSuccessful = true;
|
|
}
|
|
|
|
function BILLING_USER_OFFER_ACKNOWLEDGED_SUCCESS({userTrialOffer, userDiscount, userDiscountOffer}) { // fn#56057, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:7898, offset: 0x013bc16c, size: 174 bytes, params: 2, frame: 13
|
|
if (userTrialOffer != null) {
|
|
env0_20.userTrialOffers[userTrialOffer.trial_id] = userTrialOffer;
|
|
} else {
|
|
env0_20.userTrialOffers = {};
|
|
}
|
|
if (userDiscount != null) {
|
|
env0_20.userDiscountOffers[userDiscount.discountId] = userDiscount;
|
|
} else if (userDiscountOffer != null) {
|
|
env0_20.userDiscountOffers[userDiscountOffer.discountId] = userDiscountOffer;
|
|
} else {
|
|
env0_20.userDiscountOffers = {};
|
|
}
|
|
const binding = env0_20;
|
|
const Date = global.Date;
|
|
binding.userOffersLastFetchedAtDate = Date.now();
|
|
}
|
|
|
|
function BILLING_USER_OFFER_FETCH_FAIL() { // fn#56058, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:8244, offset: 0x013bc21a, size: 64 bytes, params: 1, frame: 12
|
|
LOGOUT_56010();
|
|
const binding = env0_20;
|
|
const Date = global.Date;
|
|
binding.userOffersLastFetchedAtDate = Date.now();
|
|
env0_20.isFetching = false;
|
|
env0_20.lastFetchSuccessful = false;
|
|
}
|
|
|
|
function BILLING_USER_OFFER_REDEEMED({offerId}) { // fn#56059, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:8405, offset: 0x013bc25a, size: 146 bytes, params: 2, frame: 14
|
|
let Object = global.Object;
|
|
let keys = Object.keys;
|
|
const userDiscountOffers = env0_20.userDiscountOffers;
|
|
const value3 = Reflect.apply(keys, Object, [userDiscountOffers]).find(_fun56060);
|
|
if (value3 != null) {
|
|
delete env0_20.userDiscountOffers[value3];
|
|
}
|
|
Object = global.Object;
|
|
keys = Object.keys;
|
|
const userTrialOffers = env0_20.userTrialOffers;
|
|
const value5 = Reflect.apply(keys, Object, [userTrialOffers]).find(_fun56061);
|
|
if (value5 != null) {
|
|
delete env0_20.userTrialOffers[value5];
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function value_56018(a0) { // fn#56018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:2845, offset: 0x013bb5d0, size: 237 bytes, params: 2, frame: 19
|
|
var environment;
|
|
var value;
|
|
var object2;
|
|
var Object;
|
|
var fromEntries;
|
|
var Object2;
|
|
if (a0 != null) {
|
|
object2 = {};
|
|
copyDataProperties(object2, a0, undefined);
|
|
Object = global.Object;
|
|
fromEntries = Object.fromEntries;
|
|
Object2 = global.Object;
|
|
value = Object2.entries(a0.userDiscountOffers ?? ({}));
|
|
value = Reflect.apply(fromEntries, Object, [value.map(function(a0) {
|
|
var r0;
|
|
var r2;
|
|
var r4;
|
|
var item3;
|
|
var value3;
|
|
var iterator = a0[Symbol.iterator]();
|
|
var iterator2 = iterator.next;
|
|
var item2 = Reflect.apply(iterator2, iterator, []);
|
|
var item = item2.value;
|
|
item2 = item2.done ? undefined : iterator;
|
|
var value = undefined;
|
|
var value2 = item2 === value;
|
|
var r1 = value2 ? value : item;
|
|
if (value2) {
|
|
r0 = item2;
|
|
r2 = value;
|
|
r4 = value2;
|
|
} else {
|
|
item3 = Reflect.apply(iterator2, item2, []);
|
|
item = item3.value;
|
|
item3 = item3.done ? undefined : item2;
|
|
value3 = item3 === value;
|
|
if (value3) {
|
|
r0 = item3;
|
|
r2 = value;
|
|
r4 = value3;
|
|
} else {
|
|
r0 = item3;
|
|
r2 = item;
|
|
r4 = value3;
|
|
}
|
|
}
|
|
if (!r4) {
|
|
r0.return();
|
|
}
|
|
var items = [r1];
|
|
items[1] = rehydrateDiscountOffer(r2);
|
|
return items;
|
|
})]);
|
|
object2['userDiscountOffers'] = value;
|
|
value = environment.__proto__;
|
|
} else {
|
|
value = environment.__proto__;
|
|
}
|
|
const waitFor = this.waitFor;
|
|
value = environment.__proto__;
|
|
Reflect.apply(waitFor, this, [EntitlementStore, ReferralTrialStore, SubscriptionStore, UserStore]);
|
|
this.syncWith([UserStore], emitChanges);
|
|
this.syncWith([SubscriptionStore], handleSubscriptionStoreUpdate_56012);
|
|
this.syncWith([ReferralTrialStore], handleReferralTrialStoreUpdate);
|
|
}
|
|
|
|
function value_56020(a0) { // fn#56020, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3206, offset: 0x013bb716, size: 32 bytes, params: 2, frame: 2
|
|
var value;
|
|
if (a0 !== null) {
|
|
value = environment.__proto__;
|
|
return env1_20.userTrialOffers[a0];
|
|
}
|
|
}
|
|
|
|
function value_56021(a0) { // fn#56021, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3294, offset: 0x013bb736, size: 32 bytes, params: 2, frame: 2
|
|
var value;
|
|
if (a0 !== null) {
|
|
value = environment.__proto__;
|
|
return env1_20.userDiscountOffers[a0];
|
|
}
|
|
}
|
|
|
|
function value_56022(a0) { // fn#56022, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3389, offset: 0x013bb756, size: 78 bytes, params: 2, frame: 16
|
|
var value4;
|
|
var userTrialOffers;
|
|
var value5;
|
|
const value2 = _createForOfIteratorHelperLoose_56004(a0);
|
|
const value3 = value2();
|
|
let done = value3.done;
|
|
if (done) {
|
|
return null;
|
|
}
|
|
let r3 = value3;
|
|
loopExit1: while (true) {
|
|
value4 = r3.value;
|
|
userTrialOffers = env1_20.userTrialOffers;
|
|
if (userTrialOffers[value4] != null) {
|
|
break loopExit1;
|
|
}
|
|
value5 = value2();
|
|
done = value5.done;
|
|
if (done) {
|
|
return null;
|
|
}
|
|
r3 = value5;
|
|
continue;
|
|
}
|
|
return value4;
|
|
}
|
|
|
|
function value_56023() { // fn#56023, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3560, offset: 0x013bb7a4, size: 27 bytes, params: 1, frame: 3
|
|
const value = environment.__proto__;
|
|
const isFetching = env1_20.isFetching;
|
|
return isFetching != null && isFetching;
|
|
}
|
|
|
|
function value_56024() { // fn#56024, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3641, offset: 0x013bb7bf, size: 21 bytes, params: 1, frame: 2
|
|
const userOffersLastFetchedAtDate = env1_20.userOffersLastFetchedAtDate;
|
|
return userOffersLastFetchedAtDate != null;
|
|
}
|
|
|
|
function value_56025(a0) { // fn#56025, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3735, offset: 0x013bb7d4, size: 108 bytes, params: 2, frame: 14
|
|
const value = a0;
|
|
const userOffersLastFetchedAtDate = env1_20.userOffersLastFetchedAtDate;
|
|
const isFetching = env1_20.isFetching;
|
|
const r0 = isFetching != null && isFetching;
|
|
if (userOffersLastFetchedAtDate == null) {
|
|
return !r0;
|
|
}
|
|
const Date = global.Date;
|
|
return !r0 && (Date.now() - 600000 > userOffersLastFetchedAtDate || (value ?? 0) > userOffersLastFetchedAtDate);
|
|
}
|
|
|
|
function value_56026({trial_id}) { // fn#56026, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:3931, offset: 0x013bb840, size: 79 bytes, params: 2, frame: 13
|
|
var r0;
|
|
let value = environment.__proto__;
|
|
const value2 = TRIAL_OFFERS_REQUIRES_REMINDER_ROLLOUT.includes(trial_id);
|
|
if (value2) {
|
|
value = require(7248) /* metro dependency 7248: PremiumOfferReminderExperiment */;
|
|
value = value.isPremiumOfferReminderExperimentEnabled({location: 'user_offer_store'});
|
|
r0 = value;
|
|
} else {
|
|
r0 = !value2;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56027(a0) { // fn#56027, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4110, offset: 0x013bb88f, size: 171 bytes, params: 2, frame: 16
|
|
var environment;
|
|
var r0;
|
|
const env0_1 = a0;
|
|
let Object = global.Object;
|
|
const values = Object.values;
|
|
let value = environment.__proto__;
|
|
const env0_2 = Reflect.apply(values, Object, [SubscriptionTrials]).map(function(a0) {
|
|
return a0.id;
|
|
});
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
if (premiumUtilsModule.isPremium(currentUser)) {
|
|
if (this.canFractionalPremiumUserUseOffer()) {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56029);
|
|
r0 = value;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56029);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56030({discountId}) { // fn#56030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4573, offset: 0x013bb9fc, size: 79 bytes, params: 2, frame: 13
|
|
var r0;
|
|
let value = environment.__proto__;
|
|
const value2 = DISCOUNT_OFFERS_REQUIRES_REMINDER_ROLLOUT.includes(discountId);
|
|
if (value2) {
|
|
value = require(7248) /* metro dependency 7248: PremiumOfferReminderExperiment */;
|
|
value = value.isPremiumOfferReminderExperimentEnabled({location: 'user_offer_store'});
|
|
r0 = value;
|
|
} else {
|
|
r0 = !value2;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56031(a0) { // fn#56031, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4757, offset: 0x013bba4b, size: 132 bytes, params: 2, frame: 15
|
|
var environment;
|
|
var r0;
|
|
var Object;
|
|
const env0_1 = a0;
|
|
let value = environment.__proto__;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
if (premiumUtilsModule.isPremium(currentUser)) {
|
|
if (this.canFractionalPremiumUserUseOffer()) {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userDiscountOffers);
|
|
value = value.filter(_fun56032);
|
|
r0 = value;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userDiscountOffers);
|
|
value = value.filter(_fun56032);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56034(a0) { // fn#56034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5157, offset: 0x013bbb9b, size: 128 bytes, params: 2, frame: 15
|
|
var environment;
|
|
var r0;
|
|
var Object;
|
|
const env0_0 = a0;
|
|
let value = environment.__proto__;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
if (premiumUtilsModule.isPremium(currentUser)) {
|
|
if (this.canFractionalPremiumUserUseOffer()) {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56035);
|
|
r0 = value;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56035);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56036() { // fn#56036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5405, offset: 0x013bbc46, size: 129 bytes, params: 1, frame: 14
|
|
var environment;
|
|
var r0;
|
|
var Object;
|
|
let value = environment.__proto__;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
if (premiumUtilsModule.isPremium(currentUser)) {
|
|
if (this.canFractionalPremiumUserUseOffer()) {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userDiscountOffers ?? ({}));
|
|
value = value.filter(_fun56037);
|
|
r0 = value;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userDiscountOffers ?? ({}));
|
|
value = value.filter(_fun56037);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56038(a0) { // fn#56038, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5669, offset: 0x013bbcf6, size: 128 bytes, params: 2, frame: 15
|
|
var environment;
|
|
var r0;
|
|
var Object;
|
|
const env0_0 = a0;
|
|
let value = environment.__proto__;
|
|
const currentUser = UserStore.getCurrentUser();
|
|
const premiumUtilsModule = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
if (premiumUtilsModule.isPremium(currentUser)) {
|
|
if (this.canFractionalPremiumUserUseOffer()) {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56039);
|
|
r0 = value;
|
|
} else {
|
|
r0 = [];
|
|
}
|
|
} else {
|
|
Object = global.Object;
|
|
value = Object.values(env1_20.userTrialOffers);
|
|
value = value.filter(_fun56039);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56040() { // fn#56040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5906, offset: 0x013bbda1, size: 51 bytes, params: 1, frame: 11
|
|
var environment;
|
|
const Object = global.Object;
|
|
const values = Object.values;
|
|
let value = environment.__proto__;
|
|
const userTrialOffers = env1_20.userTrialOffers;
|
|
return Reflect.apply(values, Object, [userTrialOffers]).some(function(a0) {
|
|
var r0;
|
|
var Date;
|
|
var value = a0.expires_at == null;
|
|
if (value) {
|
|
r0 = value;
|
|
} else {
|
|
Date = global.Date;
|
|
value = Date.parse(a0.expires_at);
|
|
Date = global.Date;
|
|
value = value > Date.now();
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
});
|
|
}
|
|
|
|
function value_56042() { // fn#56042, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6068, offset: 0x013bbe14, size: 51 bytes, params: 1, frame: 11
|
|
var environment;
|
|
const Object = global.Object;
|
|
const values = Object.values;
|
|
const value = environment.__proto__;
|
|
const userDiscountOffers = env1_20.userDiscountOffers;
|
|
return Reflect.apply(values, Object, [userDiscountOffers]).some(function(a0) {
|
|
return !a0.hasExpired();
|
|
});
|
|
}
|
|
|
|
function value_56044() { // fn#56044, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6197, offset: 0x013bbe59, size: 52 bytes, params: 1, frame: 13
|
|
var r0;
|
|
let value = environment.__proto__;
|
|
const isFractionalPremiumActive2 = EntitlementStore.isFractionalPremiumActive({excludeReverseTrial: true});
|
|
if (isFractionalPremiumActive2) {
|
|
value = SubscriptionStore.getPremiumTypeSubscription();
|
|
value = value == null;
|
|
r0 = value;
|
|
} else {
|
|
r0 = isFractionalPremiumActive2;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function value_56045(a0) { // fn#56045, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6334, offset: 0x013bbe8d, size: 51 bytes, params: 2, frame: 4
|
|
const value = null;
|
|
return value == a0 ? value : env1_20.userTrialOffers[a0] == undefined ? undefined : env1_20.userTrialOffers[a0].referrer;
|
|
}
|
|
|
|
function value_56048() { // fn#56048, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:6551, offset: 0x013bbecf, size: 15 bytes, params: 1, frame: 1
|
|
return env1_20.lastFetchSuccessful;
|
|
}
|
|
|
|
function _fun56060(a0) { // fn#56060, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:8497, offset: 0x013bc2ec, size: 38 bytes, params: 2, frame: 2
|
|
const userDiscountOffers = env1_20.userDiscountOffers;
|
|
return userDiscountOffers[a0].id === offerId;
|
|
}
|
|
|
|
function _fun56061(a0) { // fn#56061, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:8616, offset: 0x013bc312, size: 38 bytes, params: 2, frame: 2
|
|
const userTrialOffers = env1_20.userTrialOffers;
|
|
return userTrialOffers[a0].id === offerId;
|
|
}
|
|
|
|
function _fun56029(a0) { // fn#56029, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4297, offset: 0x013bb93a, size: 194 bytes, params: 2, frame: 16
|
|
var Date;
|
|
var value6;
|
|
var value7;
|
|
var value8;
|
|
var moduleValue;
|
|
const binding = env0_2;
|
|
let r0 = binding.includes(a0.trial_id) && a0.expires_at != null && a0.subscription_trial != null && env0_1.includes(a0.subscription_trial.sku_id);
|
|
if (r0) {
|
|
Date = global.Date;
|
|
value6 = Date.parse(a0.expires_at);
|
|
Date = global.Date;
|
|
value7 = Date.now();
|
|
value8 = environment.__proto__.__proto__;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
r0 = value6 < value7 + moduleValue.getOfferNoticeThreshold(a0);
|
|
}
|
|
r0 = r0 && env0_0.shouldShowTrialOfferReminder(a0);
|
|
return r0;
|
|
}
|
|
|
|
function _fun56032(a0) { // fn#56032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4913, offset: 0x013bbacf, size: 166 bytes, params: 2, frame: 15
|
|
var environment;
|
|
var value2;
|
|
var value3;
|
|
var moduleValue;
|
|
let value = a0.expiresAt != null;
|
|
let r0 = value && a0.discount != null && a0.discount.planIds.some(_fun56033);
|
|
if (r0) {
|
|
value = a0.expiresAt.getTime();
|
|
value2 = global.Date.now();
|
|
value3 = environment.__proto__.__proto__;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
value = value < value2 + moduleValue.getOfferNoticeThreshold(a0);
|
|
r0 = value;
|
|
}
|
|
r0 = r0 && env0_0.shouldShowDiscountOfferReminder(a0);
|
|
return r0;
|
|
}
|
|
|
|
function _fun56035(a0) { // fn#56035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5310, offset: 0x013bbc1b, size: 43 bytes, params: 2, frame: 12
|
|
const binding = env0_0;
|
|
return binding.includes(a0.trial_id) && a0.expires_at != null;
|
|
}
|
|
|
|
function _fun56037(a0) { // fn#56037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5577, offset: 0x013bbcc7, size: 47 bytes, params: 2, frame: 12
|
|
var r0;
|
|
let value = a0.hasAcknowledged();
|
|
if (value) {
|
|
r0 = !value;
|
|
} else {
|
|
value = environment.__proto__.__proto__;
|
|
value = !ANNUAL_DISCOUNT_IDS.includes(a0.discountId);
|
|
r0 = value;
|
|
}
|
|
return r0;
|
|
}
|
|
|
|
function _fun56039(a0) { // fn#56039, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:5822, offset: 0x013bbd76, size: 43 bytes, params: 2, frame: 12
|
|
const binding = env0_0;
|
|
return binding.includes(a0.trial_id) && a0.expires_at == null;
|
|
}
|
|
|
|
function _fun56033(a0) { // fn#56033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7242:4978, offset: 0x013bbb75, size: 38 bytes, params: 2, frame: 12
|
|
const binding = env1_1;
|
|
return binding.includes(SubscriptionPlanInfo[a0].skuId);
|
|
}
|
|
|