decord/source/stores/billing/SubscriptionStore.tsx
2026-08-12 06:57:52 +00:00

415 lines
12 KiB
TypeScript

// Module ID: 4013
// Function ID: 4014
// Name: reset
// Dependencies: [1923, 4008, 4014, 1218, 676, 589, 709, 2]
// Exports: getSubscriptionOfType
// Module 4013 (reset)
import setPremiumTypeActual from "setPremiumTypeActual";
import { isNoneSubscription } from "createFromServer";
import { SubscriptionRecord } from "createSubscriptionItemFromServer";
import fetchFingerprint from "fetchFingerprint";
import ME from "ME";
import { Store } from "initialize";
let c4;
let c5;
function reset() {
let c6 = null;
let c7 = null;
let c8 = null;
let c9 = null;
let c10 = null;
let c11 = false;
let c12 = null;
let c13 = false;
let c14 = false;
let c16 = false;
let c17 = null;
}
({ SubscriptionStatusTypes: c4, SubscriptionTypes: c5 } = ME);
let c6 = null;
let c7 = null;
let c8 = null;
let c9 = null;
let c10 = null;
let c11 = false;
let c12 = null;
let c13 = false;
let c14 = false;
let c15 = null;
let c16 = false;
let c17 = null;
class SubscriptionStore extends Store {
}
const prototype = SubscriptionStore.prototype;
prototype["initialize"] = function initialize() {
this.waitFor(fetchFingerprint, setPremiumTypeActual);
};
prototype["hasFetchedSubscriptions"] = function hasFetchedSubscriptions() {
return null != c6;
};
prototype["hasFetchedMostRecentPremiumTypeSubscription"] = function hasFetchedMostRecentPremiumTypeSubscription() {
return c11;
};
prototype["hasFetchedPreviousPremiumTypeSubscription"] = function hasFetchedPreviousPremiumTypeSubscription() {
return c13;
};
prototype["getPremiumSubscription"] = function getPremiumSubscription(arg0) {
let flag = arg0;
if (arg0 === undefined) {
flag = true;
}
const PREMIUM = constants2.PREMIUM;
if (flag === undefined) {
flag = true;
}
if (PREMIUM !== constants2.PREMIUM) {
const tmp5 = flag ? c7 : c6;
let tmp4 = null;
if (null != tmp5) {
tmp4 = null;
const keys = Object.keys();
if (keys !== undefined) {
tmp4 = null;
while (keys[tmp] !== undefined) {
let tmp13 = tmp9;
let tmp14 = tmp5[tmp9];
let tmp15 = store2;
tmp4 = null;
if (tmp14.userId !== store2.getId()) {
break;
} else {
if (tmp14.type !== PREMIUM) {
continue;
} else {
let tmp10 = isNoneSubscription;
let tmp11 = isNoneSubscription(tmp14.planId);
let tmp12 = !tmp11;
tmp4 = tmp14;
if (!tmp11) {
break;
}
}
continue;
}
}
}
}
} else {
tmp4 = null;
}
return tmp4;
};
prototype["getPremiumTypeSubscription"] = function getPremiumTypeSubscription(arg0) {
let flag = arg0;
if (arg0 === undefined) {
flag = true;
}
const PREMIUM = constants2.PREMIUM;
if (flag === undefined) {
flag = true;
}
if (PREMIUM !== constants2.PREMIUM) {
const tmp5 = flag ? c7 : c6;
let tmp4 = null;
if (null != tmp5) {
tmp4 = null;
const keys = Object.keys();
if (keys !== undefined) {
tmp4 = null;
while (keys[tmp] !== undefined) {
let tmp10 = tmp9;
let tmp11 = tmp5[tmp9];
let tmp12 = store2;
tmp4 = null;
if (tmp11.userId !== store2.getId()) {
break;
} else {
tmp4 = tmp11;
if (tmp11.type === PREMIUM) {
break;
}
}
}
}
}
} else {
tmp4 = null;
}
return tmp4;
};
prototype["getSubscriptions"] = function getSubscriptions(arg0) {
let flag = arg0;
if (arg0 === undefined) {
flag = true;
}
return flag ? c7 : c6;
};
prototype["getSubscriptionById"] = function getSubscriptionById(subscription_id) {
let tmp2;
if (c6 != null) {
tmp2 = tmp[subscription_id];
}
return tmp2;
};
prototype["getActiveGuildSubscriptions"] = function getActiveGuildSubscriptions() {
return c9;
};
prototype["getActiveApplicationSubscriptions"] = function getActiveApplicationSubscriptions() {
return c10;
};
prototype["getSubscriptionForPlanIds"] = function getSubscriptionForPlanIds(items) {
let flag = arg1;
if (arg1 === undefined) {
flag = true;
}
let set;
set = new Set(items);
const tmp2 = flag ? c7 : c6;
let tmp3 = null;
if (null != tmp2) {
const _Object = Object;
const values = Object.values(tmp2);
let found = values.find((items) => {
items = items.items;
return items.some((planId) => set.has(planId.planId));
});
if (found == null) {
found = null;
}
tmp3 = found;
}
return tmp3;
};
prototype["getMostRecentPremiumTypeSubscription"] = function getMostRecentPremiumTypeSubscription() {
return c8;
};
prototype["getPreviousPremiumTypeSubscription"] = function getPreviousPremiumTypeSubscription() {
return c12;
};
prototype["getIsSubscriptionEligibleForReward"] = function getIsSubscriptionEligibleForReward() {
return c15;
};
prototype["getIsFetchingSubscriptionRewardEligibility"] = function getIsFetchingSubscriptionRewardEligibility() {
return c14;
};
prototype["getIsFetchingMostRecentSubscription"] = function getIsFetchingMostRecentSubscription() {
return c16;
};
prototype["getLastLazyPerkSync"] = function getLastLazyPerkSync() {
return c17;
};
prototype["getPremiumGroupSubscription"] = function getPremiumGroupSubscription() {
const PREMIUM = constants2.PREMIUM;
if (PREMIUM !== constants2.PREMIUM) {
let tmp3 = null;
if (null != c7) {
tmp3 = null;
const keys = Object.keys();
if (keys !== undefined) {
tmp3 = null;
while (keys[tmp] !== undefined) {
let tmp10 = tmp8;
let tmp11 = tmp4[tmp8];
let tmp12 = store2;
tmp3 = null;
if (tmp11.userId !== store2.getId()) {
break;
} else {
if (tmp11.type !== PREMIUM) {
continue;
} else {
let tmp9 = tmp11.hasAnyPremiumGroup && tmp11.statusAllowsPerks;
tmp3 = tmp11;
if (tmp9) {
break;
}
}
continue;
}
}
}
}
} else {
tmp3 = null;
}
return tmp3;
};
SubscriptionStore.displayName = "SubscriptionStore";
const subscriptionStore = new SubscriptionStore(require("dispatcher"), {
BILLING_SUBSCRIPTION_FETCH_SUCCESS: function handleSubscriptionsFetch(subscriptions) {
subscriptions = subscriptions.subscriptions;
let id;
let obj = {};
obj = {};
const items = [];
const items1 = [];
id = items1.getId();
const item = subscriptions.forEach((user_id) => {
if (user_id.user_id === constants) {
const fromServer = items.createFromServer(user_id);
obj[fromServer.id] = fromServer;
if (fromServer.status !== constants.UNPAID) {
obj[fromServer.id] = fromServer;
let tmp3 = fromServer.type === outer1_5.GUILD;
if (tmp3) {
tmp3 = fromServer.status !== tmp12.ENDED;
}
if (tmp3) {
items.push(fromServer);
}
if (tmp6) {
items1.push(fromServer);
}
const tmp2 = outer1_5;
tmp6 = fromServer.type === outer1_5.APPLICATION && fromServer.status !== tmp12.ENDED;
}
}
});
const lastLazyPerkSync = subscriptions.lastLazyPerkSync;
},
BILLING_SUBSCRIPTION_UPDATE_SUCCESS: function handleSubscriptionUpdate(subscription) {
subscription = subscription.subscription;
if (subscription.user_id === store2.getId()) {
const fromServer = SubscriptionRecord.createFromServer(subscription);
let obj = {};
const merged = Object.assign(obj);
obj[fromServer.id] = fromServer;
if (fromServer.status !== constants.UNPAID) {
obj = {};
const merged1 = Object.assign(obj);
obj[fromServer.id] = fromServer;
}
let tmp6 = null != _null;
if (tmp6) {
tmp6 = fromServer.type === constants2.GUILD;
}
if (!tmp6) {
let tmp19 = null != _null2;
if (tmp19) {
tmp19 = fromServer.type === constants2.APPLICATION;
}
if (tmp19) {
const findIndexResult = _null2.findIndex((id) => id.id === fromServer.id);
if (-1 === findIndexResult) {
let items = [fromServer];
HermesBuiltin.arraySpread(tmp21, 1);
let tmp27 = items;
} else {
items = [];
HermesBuiltin.arraySpread(tmp21, 0);
if (fromServer.status === tmp36.UNPAID) {
items.splice(findIndexResult, 1);
tmp27 = items;
}
items[findIndexResult] = fromServer;
tmp27 = items;
}
_null = tmp27;
}
} else {
const findIndexResult1 = _null.findIndex((id) => id.id === fromServer.id);
if (-1 === findIndexResult1) {
let items1 = [fromServer];
HermesBuiltin.arraySpread(tmp8, 1);
let tmp14 = items1;
} else {
items1 = [];
HermesBuiltin.arraySpread(tmp8, 0);
if (fromServer.status === tmp36.UNPAID) {
items1.splice(findIndexResult1, 1);
tmp14 = items1;
}
items1[findIndexResult1] = fromServer;
tmp14 = items1;
}
_null = tmp14;
}
}
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_START: function handleMostRecentSubscriptionFetchStart() {
let c16 = true;
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_SUCCESS: function handleMostRecentSubscriptionFetch(subscription) {
subscription = subscription.subscription;
let c11 = true;
let c16 = false;
if (null != subscription) {
if (subscription.user_id !== store2.getId()) {
c11 = false;
} else {
let closure_8 = SubscriptionRecord.createFromServer(subscription);
}
}
},
BILLING_MOST_RECENT_SUBSCRIPTION_FETCH_FAIL: function handleMostRecentSubscriptionFetchFail() {
let c16 = false;
},
BILLING_PREVIOUS_PREMIUM_SUBSCRIPTION_FETCH_SUCCESS: function handlePreviousSubscriptionFetch(subscription) {
subscription = subscription.subscription;
let c13 = true;
if (null != subscription) {
if (subscription.user_id !== store2.getId()) {
c13 = false;
} else {
let closure_12 = SubscriptionRecord.createFromServer(subscription);
}
}
},
BILLING_SUBSCRIPTION_RESET: reset,
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_START: function handleSubscriptionRewardEligibilityFetchStart() {
let c14 = true;
},
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_SUCCESS: function handleSubscriptionRewardEligibilityFetch(eligible) {
eligible = eligible.eligible;
let c14 = false;
},
BILLING_SUBSCRIPTION_REWARD_ELIGIBILITY_FETCH_FAILURE: function handleSubscriptionRewardEligibilityFetchFailed(arg0) {
if (arg0 == null) {
HermesBuiltin.throwTypeError();
} else {
let c15 = false;
let c14 = false;
}
},
SET_PREMIUM_TYPE_OVERRIDE: function handlePremiumTypeOverride() {
return true;
},
LOGOUT: reset
});
const result = require("createSubscriptionItemFromServer").fileFinishedImporting("stores/billing/SubscriptionStore.tsx");
export default subscriptionStore;
export const getSubscriptionOfType = function getSubscriptionOfType(arg0, arg1) {
let flag = arg2;
if (arg2 === undefined) {
flag = true;
}
if (arg0 === constants2.PREMIUM) {
if (null === store.getPremiumTypeOverride()) {
return null;
}
}
const tmp3 = flag ? c7 : c6;
if (null == tmp3) {
return null;
} else {
for (const key10014 in tmp3) {
let tmp5 = key10014;
let tmp6 = tmp3[key10014];
let tmp7 = store2;
if (tmp6.userId !== store2.getId()) {
return null;
} else {
if (tmp6.type !== arg0) {
continue;
} else {
return tmp6;
}
continue;
}
}
return null;
}
};