302 lines
20 KiB
TypeScript
302 lines
20 KiB
TypeScript
/* Metro module 5180; source: modules/billing/hooks/useFractionalPremiumInfo.tsx; dependencies: [57, 31, 1878, 3808, 5181, 661, 1880, 3738, 44, 3817, 3802, 566, 4594, 5182, 22, 2] */
|
|
import Module00057 from '../../../by-id/module-00057.js'; /* Metro dependency 57 */
|
|
import UserStore from '../../../stores/UserStore.tsx'; /* Metro dependency 1878 */
|
|
import SubscriptionStore from '../../../stores/billing/SubscriptionStore.tsx'; /* Metro dependency 3808 */
|
|
import UseMountEffect from '../../../hooks/useMountEffect.tsx'; /* Metro dependency 4594 */
|
|
import EntitlementStore from '../../../stores/game_store/EntitlementStore.tsx'; /* Metro dependency 5181 */
|
|
import * as FileImportTrackerModule from '../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
|
|
import * as Module00022Module from '../../../by-id/module-00022.js'; /* Metro dependency 22 */
|
|
import * as ReactModule from '../../../by-id/module-00031-React.js'; /* Metro dependency 31 */
|
|
import * as ConstantsModule from '../../../Constants.tsx'; /* Metro dependency 661 */
|
|
|
|
function _fun45601(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#45601, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:6, offset: 0x01192fa0, size: 284 bytes, params: 8, frame: 19
|
|
const env0_0 = require;
|
|
const shouldFetchRedemptionEntitlements = function(a0, a1) {
|
|
return a1 != null && !EntitlementStore.fetchingAllEntitlements && (EntitlementStore.fetchedAllEntitlements ? a0 : !EntitlementStore.fetchedAllEntitlements);
|
|
};
|
|
const Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
let value = ConstantsModule;
|
|
const env0_8 = value.EntitlementSourceTypes;
|
|
const env0_9 = value.EntitlementTypes;
|
|
const env0_10 = value.SubscriptionStatusTypes;
|
|
value = require(1880) /* metro dependency 1880: PremiumConstants */;
|
|
const env0_11 = value.FractionalPremiumStates;
|
|
const env0_12 = value.PREMIUM_SUBSCRIPTION_APPLICATION;
|
|
(FileImportTrackerModule).fileFinishedImporting('modules/billing/hooks/useFractionalPremiumInfo.tsx');
|
|
exports.default = useFractionalPremiumInfo;
|
|
function shouldFetchApplicationEntitlements(a0) { // fn#45603, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:1869, offset: 0x011930f9, size: 77 bytes, params: 2, frame: 12
|
|
return a0 != null && !EntitlementStore.applicationIdsFetching.has(PREMIUM_SUBSCRIPTION_APPLICATION) && !EntitlementStore.applicationIdsFetched.has(PREMIUM_SUBSCRIPTION_APPLICATION);
|
|
}
|
|
|
|
function calculateFractionalPremiumInfo({isFetching, entitlements, unactivatedFractionalPremiumUnits, currentUser, premiumSubscription, fetchedAllEntitlements, excludeReverseTrialFromCountdown}) { // fn#45604, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:342, offset: 0x01193146, size: 839 bytes, params: 2, frame: 31
|
|
var r10;
|
|
var r14;
|
|
var r19;
|
|
var value7;
|
|
var defaultImport3;
|
|
var moduleValue;
|
|
var Array;
|
|
var object;
|
|
const value = undefined;
|
|
isFetching = !(isFetching === value) && isFetching;
|
|
let object3 = {isFractionalPremiumActive: false};
|
|
const NONE = FractionalPremiumStates.NONE;
|
|
object3.fractionalState = NONE;
|
|
object3.startsAt = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.endsAt = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
const value4 = '';
|
|
object3.currentEntitlementId = value4;
|
|
object3.currentEntitlementEndsAt = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.unactivatedUnits = [];
|
|
object3.fetched = fetchedAllEntitlements;
|
|
if (isFetching) {
|
|
object = {};
|
|
copyDataProperties(object, object3, undefined);
|
|
object['fetched'] = false;
|
|
return object;
|
|
}
|
|
if (currentUser != null) {
|
|
if (entitlements.length !== 0) {
|
|
value7 = entitlements.filter(function(a0) {
|
|
return a0.endsAt != null && a0.startsAt != null;
|
|
}).sort(_fun45606);
|
|
value7.reverse();
|
|
if (value7.length > 0) {
|
|
if (value7.length !== entitlements.length) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(_fun45607)}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
if (value7[0].startsAt == null) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(_fun45607)}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
if (value7[0].endsAt == null) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(_fun45607)}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
r10 = value7[0] ?? null;
|
|
r14 = r10 == null ? FractionalPremiumStates.NONE : premiumSubscription == null ? FractionalPremiumStates.FP_ONLY : premiumSubscription.status === SubscriptionStatusTypes.PAUSED ? FractionalPremiumStates.FP_SUB_PAUSED : FractionalPremiumStates.FP_ONLY;
|
|
r19 = excludeReverseTrialFromCountdown && (r10 == null ? value : r10.sourceType) === EntitlementSourceTypes.REVERSE_TRIAL;
|
|
object3 = {isFractionalPremiumActive: r10 != null, fractionalState: r14};
|
|
r14 = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.startsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.startsAt = r14;
|
|
if (r10 != null) {
|
|
defaultImport3 = importDefault(3738) /* metro dependency 3738 */;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
r14 = defaultImport3(moduleValue.extendDateWithUnconsumedFractionalPremium(r10.endsAt,
|
|
unactivatedFractionalPremiumUnits, value, r19));
|
|
} else {
|
|
r14 = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
}
|
|
object3.endsAt = r14;
|
|
object3.currentEntitlementId = r10 != null ? r10.id : value4;
|
|
object3.currentEntitlementEndsAt = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.endsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.unactivatedUnits = unactivatedFractionalPremiumUnits;
|
|
object3.fetched = fetchedAllEntitlements;
|
|
return object3;
|
|
}
|
|
r10 = value7[0] ?? null;
|
|
r14 = r10 == null ? FractionalPremiumStates.NONE : premiumSubscription == null ? FractionalPremiumStates.FP_ONLY : premiumSubscription.status === SubscriptionStatusTypes.PAUSED ? FractionalPremiumStates.FP_SUB_PAUSED : FractionalPremiumStates.FP_ONLY;
|
|
r19 = excludeReverseTrialFromCountdown && (r10 == null ? value : r10.sourceType) === EntitlementSourceTypes.REVERSE_TRIAL;
|
|
object3 = {isFractionalPremiumActive: r10 != null, fractionalState: r14};
|
|
r14 = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.startsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.startsAt = r14;
|
|
if (r10 != null) {
|
|
defaultImport3 = importDefault(3738) /* metro dependency 3738 */;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
r14 = defaultImport3(moduleValue.extendDateWithUnconsumedFractionalPremium(r10.endsAt,
|
|
unactivatedFractionalPremiumUnits, value, r19));
|
|
} else {
|
|
r14 = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
}
|
|
object3.endsAt = r14;
|
|
object3.currentEntitlementId = r10 != null ? r10.id : value4;
|
|
object3.currentEntitlementEndsAt = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.endsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.unactivatedUnits = unactivatedFractionalPremiumUnits;
|
|
object3.fetched = fetchedAllEntitlements;
|
|
return object3;
|
|
}
|
|
if (unactivatedFractionalPremiumUnits.length === 0) {
|
|
return object3;
|
|
}
|
|
value7 = entitlements.filter(function(a0) {
|
|
return a0.endsAt != null && a0.startsAt != null;
|
|
}).sort(_fun45606);
|
|
value7.reverse();
|
|
if (value7.length > 0) {
|
|
if (value7.length !== entitlements.length) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(function(a0) {
|
|
return a0.id;
|
|
})}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
if (value7[0].startsAt == null) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(_fun45607)}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
if (value7[0].endsAt == null) {
|
|
Array = global.Array;
|
|
(require(3817) /* metro dependency 3817: BillingUtils */).captureBillingMessage('fractional redemption entitlements should have startsAt/endsAt',
|
|
|
|
|
|
|
|
{extra: {entitlementIds: Array.from(entitlements.values()).map(_fun45607)}});
|
|
throw new global.Error('fractional redemption entitlements should have startsAt/endsAt');
|
|
}
|
|
r10 = value7[0] ?? null;
|
|
r14 = r10 == null ? FractionalPremiumStates.NONE : premiumSubscription == null ? FractionalPremiumStates.FP_ONLY : premiumSubscription.status === SubscriptionStatusTypes.PAUSED ? FractionalPremiumStates.FP_SUB_PAUSED : FractionalPremiumStates.FP_ONLY;
|
|
r19 = excludeReverseTrialFromCountdown && (r10 == null ? value : r10.sourceType) === EntitlementSourceTypes.REVERSE_TRIAL;
|
|
object3 = {isFractionalPremiumActive: r10 != null, fractionalState: r14};
|
|
r14 = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.startsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.startsAt = r14;
|
|
if (r10 != null) {
|
|
defaultImport3 = importDefault(3738) /* metro dependency 3738 */;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
r14 = defaultImport3(moduleValue.extendDateWithUnconsumedFractionalPremium(r10.endsAt,
|
|
unactivatedFractionalPremiumUnits, value, r19));
|
|
} else {
|
|
r14 = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
}
|
|
object3.endsAt = r14;
|
|
object3.currentEntitlementId = r10 != null ? r10.id : value4;
|
|
object3.currentEntitlementEndsAt = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.endsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.unactivatedUnits = unactivatedFractionalPremiumUnits;
|
|
object3.fetched = fetchedAllEntitlements;
|
|
return object3;
|
|
}
|
|
r10 = value7[0] ?? null;
|
|
r14 = r10 == null ? FractionalPremiumStates.NONE : premiumSubscription == null ? FractionalPremiumStates.FP_ONLY : premiumSubscription.status === SubscriptionStatusTypes.PAUSED ? FractionalPremiumStates.FP_SUB_PAUSED : FractionalPremiumStates.FP_ONLY;
|
|
r19 = excludeReverseTrialFromCountdown && (r10 == null ? value : r10.sourceType) === EntitlementSourceTypes.REVERSE_TRIAL;
|
|
object3 = {isFractionalPremiumActive: r10 != null, fractionalState: r14};
|
|
r14 = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.startsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.startsAt = r14;
|
|
if (r10 != null) {
|
|
defaultImport3 = importDefault(3738) /* metro dependency 3738 */;
|
|
moduleValue = require(3802) /* metro dependency 3802: PremiumUtils */;
|
|
r14 = defaultImport3(moduleValue.extendDateWithUnconsumedFractionalPremium(r10.endsAt,
|
|
unactivatedFractionalPremiumUnits, value, r19));
|
|
} else {
|
|
r14 = (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
}
|
|
object3.endsAt = r14;
|
|
object3.currentEntitlementId = r10 != null ? r10.id : value4;
|
|
object3.currentEntitlementEndsAt = r10 != null ? (importDefault(3738) /* metro dependency 3738 */)(r10.endsAt) : (importDefault(3738) /* metro dependency 3738 */)(0);
|
|
object3.unactivatedUnits = unactivatedFractionalPremiumUnits;
|
|
object3.fetched = fetchedAllEntitlements;
|
|
}
|
|
return object3;
|
|
function _fun45606(a0, a1) { // fn#45606, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:838, offset: 0x011934ab, size: 122 bytes, params: 3, frame: 16
|
|
const value = environment.__proto__;
|
|
(importDefault(44) /* metro dependency 44 */)(a0.endsAt != null && a1.endsAt != null, 'endsAt should not be null');
|
|
return a0.endsAt < a1.endsAt ? -1 : a0.endsAt > a1.endsAt ? 1 : 0;
|
|
}
|
|
|
|
}
|
|
|
|
function useFractionalPremiumInfo() { // fn#45608, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:2094, offset: 0x01193525, size: 532 bytes, params: 1, frame: 26
|
|
const value = a0;
|
|
const r0 = value !== undefined ? value : {'forceFetch': false, 'excludeReverseTrial': false,
|
|
'excludeReverseTrialFromCountdown': false};
|
|
const forceFetch = r0.forceFetch;
|
|
const env0_1 = r0.excludeReverseTrial;
|
|
const excludeReverseTrialFromCountdown = r0.excludeReverseTrialFromCountdown;
|
|
const currentUser = (require(566) /* metro dependency 566: flux */).useStateFromStores([UserStore], function() {
|
|
return UserStore.getCurrentUser();
|
|
});
|
|
const currentUser2 = currentUser;
|
|
const value2 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([EntitlementStore],
|
|
function() {
|
|
return EntitlementStore.getFractionalPremium({excludeReverseTrial: excludeReverseTrial});
|
|
});
|
|
const env0_4 = value2;
|
|
const fetchedAllEntitlements = (require(566) /* metro dependency 566: flux */).useStateFromStores([EntitlementStore],
|
|
function() {
|
|
return EntitlementStore.fetchedAllEntitlements;
|
|
});
|
|
const value3 = (require(566) /* metro dependency 566: flux */).useStateFromStoresArray([EntitlementStore],
|
|
function() {
|
|
return EntitlementStore.getUnactivatedFractionalPremiumUnits();
|
|
});
|
|
const premiumTypeSubscription = (require(566) /* metro dependency 566: flux */).useStateFromStores([SubscriptionStore],
|
|
function() {
|
|
return SubscriptionStore.getPremiumTypeSubscription();
|
|
});
|
|
const binding = env0_4;
|
|
const useState = binding.useState;
|
|
const calculateFractionalPremiumInfoBinding = calculateFractionalPremiumInfo;
|
|
let r13 = shouldFetchRedemptionEntitlements(forceFetch, currentUser) || EntitlementStore.fetchingAllEntitlements;
|
|
r13 = !r13 ? shouldFetchApplicationEntitlements(currentUser) : r13;
|
|
r13 = !r13 ? EntitlementStore.applicationIdsFetching.has(PREMIUM_SUBSCRIPTION_APPLICATION) : r13;
|
|
const value6 = currentUser2(Reflect.apply(useState, binding,
|
|
[calculateFractionalPremiumInfoBinding({isFetching: r13, entitlements: value2,
|
|
unactivatedFractionalPremiumUnits: value3, currentUser: currentUser,
|
|
premiumSubscription: premiumTypeSubscription, fetchedAllEntitlements: fetchedAllEntitlements,
|
|
excludeReverseTrialFromCountdown: excludeReverseTrialFromCountdown})]), 2);
|
|
const property = value6[0];
|
|
const env0_8 = value6[1];
|
|
(UseMountEffect)(_fun45614);
|
|
env0_4.useEffect(_fun45615, [currentUser, value2, premiumTypeSubscription, value3, fetchedAllEntitlements,
|
|
excludeReverseTrialFromCountdown]);
|
|
return property;
|
|
function _fun45614() { // fn#45614, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:3043, offset: 0x011937a2, size: 130 bytes, params: 1, frame: 16
|
|
if (shouldFetchRedemptionEntitlements(forceFetch, currentUser)) {
|
|
(require(5182) /* metro dependency 5182: EntitlementActionCreators */).fetchUserEntitlements({entitlementType: EntitlementTypes.FRACTIONAL_REDEMPTION});
|
|
}
|
|
if (shouldFetchApplicationEntitlements(currentUser)) {
|
|
(require(5182) /* metro dependency 5182: EntitlementActionCreators */).fetchUserEntitlementsForApplication(PREMIUM_SUBSCRIPTION_APPLICATION);
|
|
}
|
|
}
|
|
|
|
function _fun45615() { // fn#45615, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:3265, offset: 0x01193824, size: 95 bytes, params: 1, frame: 13
|
|
const env0_0 = calculateFractionalPremiumInfo({entitlements: env0_4, unactivatedFractionalPremiumUnits: env0_6,
|
|
currentUser: currentUser, premiumSubscription: premiumTypeSubscription,
|
|
fetchedAllEntitlements: fetchedAllEntitlements,
|
|
excludeReverseTrialFromCountdown: excludeReverseTrialFromCountdown});
|
|
env0_8(_fun45616);
|
|
function _fun45616(a0) { // fn#45616, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:3460, offset: 0x01193883, size: 56 bytes, params: 2, frame: 14
|
|
const value = a0;
|
|
return Module00022Module.isEqual(value, env0_0) ? value : env0_0;
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function _fun45607(a0) { // fn#45607, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5358:1084, offset: 0x00e46f8c, size: 10 bytes, params: 2, frame: 1
|
|
return a0.id;
|
|
}
|
|
|
|
global.__d(_fun45601, 5180, [57, 31, 1878, 3808, 5181, 661, 1880, 3738, 44, 3817, 3802, 566, 4594, 5182, 22,
|
|
2]) /* metro module 5180, dependencies: [57, 31, 1878, 3808, 5181, 661, 1880, 3738, 44, 3817, 3802, 566, 4594, 5182, 22, 2] */;
|