192 lines
6.6 KiB
TypeScript
192 lines
6.6 KiB
TypeScript
// Metro module 3840 (f3841).
|
|
import SubscriptionPlanRecord from "../../records/SubscriptionPlanRecord";
|
|
import { CurrencyCodes, PriceSetAssignmentPurchaseTypes } from "../../Constants";
|
|
import * as _PremiumConstants from "../../modules/premium/PremiumConstants";
|
|
import { ACTIVE_PREMIUM_SKUS, PremiumSubscriptionSKUs } from "../../modules/premium/PremiumConstants";
|
|
import { clearObject } from "../../utils/FunctionUtils";
|
|
import Module589 from "../../_bundle/Module589";
|
|
import SnowflakeUtils from "../../utils/SnowflakeUtils";
|
|
import Dispatcher from "../../Dispatcher";
|
|
function $mk72848($env) {
|
|
return (a0) => {
|
|
(0, addSubscriptionPlan)(SubscriptionPlanRecord.createFromServer({
|
|
id: a0.id,
|
|
name: a0.name,
|
|
interval: a0.interval,
|
|
interval_count: a0.intervalCount,
|
|
tax_inclusive: true,
|
|
sku_id: a0.skuId,
|
|
currency: CurrencyCodes.USD,
|
|
price: 0,
|
|
price_tier: 0
|
|
}));
|
|
};
|
|
}
|
|
let addSubscriptionPlanFromServer, c2174_10, c2174_11, c2174_12, c2174_13, c2174_14, c2174_15, c2174_18, c2174_19;
|
|
let env2174;
|
|
const r9 = env2174 = {};
|
|
const addSubscriptionPlan = function addSubscriptionPlan(a0) {
|
|
const skuId = a0.skuId;
|
|
c2174_10[a0.id] = a0;
|
|
const r20 = a0.prices[PriceSetAssignmentPurchaseTypes.DEFAULT];
|
|
if (r20 != null) {
|
|
const set = new Set(Object.keys(r20.paymentSourcePrices));
|
|
c2174_14[a0.id] = set;
|
|
const r27 = Array;
|
|
let r31 = c2174_15[a0.skuId];
|
|
if (r31 == null) {
|
|
r31 = new Set();
|
|
}
|
|
c2174_15[a0.skuId] = new Set([...r27.from(r31), ...Array.from(set)]);
|
|
}
|
|
const r49 = c2174_11[skuId];
|
|
if (r49 != null) {
|
|
r49.add(a0.id);
|
|
} else {
|
|
c2174_11[skuId] = new Set([a0.id]);
|
|
}
|
|
};
|
|
addSubscriptionPlanFromServer = function addSubscriptionPlanFromServer(a0) {
|
|
addSubscriptionPlan(SubscriptionPlanRecord.createFromServer(a0));
|
|
};
|
|
const reset = function reset() {
|
|
const r1 = env2174;
|
|
clearObject(c2174_10);
|
|
clearObject(c2174_11);
|
|
c2174_12.clear();
|
|
c2174_13.clear();
|
|
clearObject(c2174_14);
|
|
clearObject(c2174_15);
|
|
[_PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_MONTH], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_YEAR], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_3_MONTH], _PremiumConstants.SubscriptionPlanInfo[_PremiumConstants.SubscriptionPlans.NONE_6_MONTH]].forEach($mk72848(r1));
|
|
};
|
|
const { SubscriptionIntervalTypes, SubscriptionPlanInfo: SubscriptionPlanInfo2, SubscriptionPlans: SubscriptionPlans2 } = _PremiumConstants;
|
|
c2174_10 = {};
|
|
c2174_11 = {};
|
|
const set = new Set();
|
|
c2174_12 = set;
|
|
c2174_13 = new Set();
|
|
c2174_14 = {};
|
|
c2174_15 = {};
|
|
[SubscriptionPlanInfo2[SubscriptionPlans2.NONE_MONTH], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_YEAR], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_3_MONTH], SubscriptionPlanInfo2[SubscriptionPlans2.NONE_6_MONTH]].forEach($mk72848(r9));
|
|
c2174_18 = [SubscriptionIntervalTypes.DAY, SubscriptionIntervalTypes.MONTH, SubscriptionIntervalTypes.YEAR];
|
|
class SubscriptionPlanStore extends Module589.Store {
|
|
static displayName = "SubscriptionPlanStore";
|
|
constructor() {
|
|
super(...arguments);
|
|
}
|
|
getPlanIdsForSkus(a0) {
|
|
const r0 = [];
|
|
for (const item of a0) {
|
|
const r10 = Array;
|
|
let r29 = c2174_11[item];
|
|
if (r29 == null) {
|
|
r29 = new Set();
|
|
}
|
|
const r32 = r10.from(r29);
|
|
r32.sort((a, b) => {
|
|
const r2 = c2174_10[a];
|
|
const r7 = c2174_10[b];
|
|
return c2174_18.indexOf(r2.interval) - c2174_18.indexOf(r7.interval) || r2.intervalCount - r7.intervalCount;
|
|
});
|
|
r0.push.apply(r0, [...r32]);
|
|
}
|
|
return r0;
|
|
}
|
|
getFetchedSKUIDs() {
|
|
return SnowflakeUtils.keys(c2174_11);
|
|
}
|
|
getForSKU(a0) {
|
|
const r4 = Array;
|
|
let r7 = c2174_11[a0];
|
|
if (r7 == null) {
|
|
r7 = [];
|
|
}
|
|
return r4.from(r7).map((item) => c2174_10[item]);
|
|
}
|
|
getForSkuAndInterval(a0, c13664_0, r6 = 1) {
|
|
let c13664_1 = r6;
|
|
return this.getForSKU(a0).find((item) => item.id !== _PremiumConstants.SubscriptionPlans.PREMIUM_GROUP_MONTH && item.interval === c13664_0 && item.intervalCount === c13664_1);
|
|
}
|
|
get(a0) {
|
|
return c2174_10[a0];
|
|
}
|
|
isFetchingForSKU(a0) {
|
|
return c2174_12.has(a0);
|
|
}
|
|
isFetchingForSKUs(a0) {
|
|
return a0.some((item) => this.isFetchingForSKU(item));
|
|
}
|
|
isLoadedForSKU(a0) {
|
|
let r8 = !!c2174_13.has(a0);
|
|
if (!r8) {
|
|
const r11 = c2174_12.has(a0);
|
|
r8 = r11 ? !r11 : c2174_11[a0] != null;
|
|
}
|
|
return r8;
|
|
}
|
|
isLoadedForSKUs(a0) {
|
|
return a0.every((item) => this.isLoadedForSKU(item));
|
|
}
|
|
isFetchingForPremiumSKUs() {
|
|
return ACTIVE_PREMIUM_SKUS.some((item) => this.isFetchingForSKU(item));
|
|
}
|
|
isLoadedForPremiumSKUs() {
|
|
return ACTIVE_PREMIUM_SKUS.every((item) => this.isLoadedForSKU(item));
|
|
}
|
|
ignoreSKUFetch(a0) {
|
|
c2174_13.add(a0);
|
|
}
|
|
getPaymentSourcesForPlanId(a0) {
|
|
return c2174_14.hasOwnProperty(a0) ? c2174_14[a0] : null;
|
|
}
|
|
getPaymentSourceIds() {
|
|
const set = new Set();
|
|
let c13669_0 = set;
|
|
Object.values(c2174_14).forEach((a0) => a0.forEach((item) => c13669_0.add(item)));
|
|
return set;
|
|
}
|
|
hasPaymentSourceForSKUId(a0, a1) {
|
|
let r7 = PremiumSubscriptionSKUs.NONE === a1;
|
|
if (!r7) {
|
|
r7 = c2174_15[a1] != null && c2174_15[a1].has(a0);
|
|
}
|
|
return r7;
|
|
}
|
|
hasPaymentSourceForSKUIds(c13670_0, a1) {
|
|
return a1.every((item) => this.hasPaymentSourceForSKUId(c13670_0, item));
|
|
}
|
|
}
|
|
c2174_19 = SubscriptionPlanStore;
|
|
const r108 = new SubscriptionPlanStore(Dispatcher, {
|
|
SUBSCRIPTION_PLANS_FETCH: function handleSubscriptionPlansFetch(a0) {
|
|
c2174_12.add(a0.skuId);
|
|
},
|
|
SUBSCRIPTION_PLANS_FETCH_SUCCESS: function handleSubscriptionPlansFetchSuccess({ skuId, subscriptionPlans }) {
|
|
c2174_11[skuId] = new Set();
|
|
c2174_15[skuId] = new Set();
|
|
subscriptionPlans.forEach(addSubscriptionPlanFromServer);
|
|
c2174_12.delete(skuId);
|
|
c2174_13.delete(skuId);
|
|
},
|
|
SUBSCRIPTION_PLANS_FETCH_FAILURE: function handleSubscriptionPlansFetchFailure({ skuId }) {
|
|
c2174_12.delete(skuId);
|
|
c2174_13.delete(skuId);
|
|
},
|
|
SUBSCRIPTION_PLANS_RESET: reset,
|
|
GIFT_CODE_RESOLVE_SUCCESS: function handleGiftCodeResolveSuccess({ giftCode }) {
|
|
if (giftCode.subscription_plan != null) {
|
|
addSubscriptionPlan(SubscriptionPlanRecord.createFromServer(giftCode.subscription_plan));
|
|
}
|
|
},
|
|
ENTITLEMENTS_GIFTABLE_FETCH_SUCCESS: function handleEntitlementGiftsFetchSuccess(a0) {
|
|
for (const entitlement of a0.entitlements) {
|
|
if (entitlement.subscription_plan != null) {
|
|
addSubscriptionPlanFromServer(entitlement.subscription_plan);
|
|
}
|
|
}
|
|
},
|
|
LOGOUT: reset
|
|
});
|
|
export default r108;
|
|
export { set as subscriptionPlansFetchingForSKU };
|