decord/source/stores/billing/SubscriptionPlanStore.tsx
2026-07-27 11:26:19 +00:00

432 lines
12 KiB
TypeScript

// Module ID: 3782
// Function ID: 29366
// Name: _isNativeReflectConstruct
// Dependencies: [6, 7, 15, 17, 18, 3778, 653, 1852, 1917, 21, 566, 686, 2]
// Module 3782 (_isNativeReflectConstruct)
import closure_3 from "ME";
import closure_4 from "GuildFeatures";
import _possibleConstructorReturn from "_possibleConstructorReturn";
import _getPrototypeOf from "_getPrototypeOf";
import _inherits from "_inherits";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import ME from "ME";
import GuildFeatures from "GuildFeatures";
import set from "_possibleConstructorReturn";
let SubscriptionIntervalTypes;
let closure_10;
let closure_11;
let closure_12;
let closure_13;
let closure_14;
let closure_9;
const require = arg1;
function _isNativeReflectConstruct() {
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
}));
function _isNativeReflectConstruct() {
return closure_0;
}
const result = _isNativeReflectConstruct();
}
function _createForOfIteratorHelperLoose(iterable) {
let closure_0 = iterable;
iterable = "undefined" !== typeof Symbol;
if (iterable) {
const _Symbol = Symbol;
iterable = iterable[Symbol.iterator];
}
if (!iterable) {
iterable = iterable[Symbol.iterator];
}
if (iterable) {
const iter = iterable.call(iterable);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = iterable;
if (!Array.isArray(iterable)) {
let tmp2;
if (iterable) {
if ("string" === typeof iterable) {
tmp2 = _arrayLikeToArray(iterable, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(iterable).slice(8, -1);
let name = substr;
if (tmp3) {
name = iterable.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(iterable, undefined);
} else {
let obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(iterable);
const callResult = toString.call(iterable);
tmp3 = "Object" === substr && iterable.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
closure_0 = tmp;
}
let c1 = 0;
return () => {
if (closure_1 >= length.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = length[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
function addSubscriptionPlan(fromServer) {
const skuId = fromServer.skuId;
closure_15[fromServer.id] = fromServer;
if (null != fromServer.prices[constants.DEFAULT]) {
const _Set4 = Set;
const _Object = Object;
const set = new Set(Object.keys(tmp.paymentSourcePrices));
closure_19[fromServer.id] = set;
let set1 = table2[fromServer.skuId];
if (null == set1) {
const _Set = Set;
set1 = new Set();
}
const _Set2 = Set;
const items = [];
const _Array = Array;
let arraySpreadResult = HermesBuiltin.arraySpread(Array.from(set1), 0);
arraySpreadResult = HermesBuiltin.arraySpread(Array.from(set), arraySpreadResult);
const set2 = new Set(items);
table2[fromServer.skuId] = set2;
}
if (null != table[skuId]) {
obj.add(fromServer.id);
} else {
const _Set3 = Set;
const items1 = [fromServer.id];
const set3 = new Set(items1);
table[skuId] = set3;
}
}
function initializeNonePlans() {
const items = [dependencyMap[closure_12.NONE_MONTH], dependencyMap[closure_12.NONE_YEAR], dependencyMap[closure_12.NONE_3_MONTH], dependencyMap[closure_12.NONE_6_MONTH]];
const item = items.forEach((id) => {
outer1_25(outer1_8.createFromServer({ id: id.id, name: id.name, interval: id.interval, interval_count: id.intervalCount, tax_inclusive: true, sku_id: id.skuId, currency: outer1_9.USD, price: 0, price_tier: 0 }));
});
}
function addSubscriptionPlanFromServer(subscription_plan) {
addSubscriptionPlan(_isNativeReflectConstruct.createFromServer(subscription_plan));
}
function reset() {
require(1917) /* areArraysShallowlyEqual */.clearObject(closure_15);
const obj = require(1917) /* areArraysShallowlyEqual */;
require(1917) /* areArraysShallowlyEqual */.clearObject(closure_16);
set.clear();
set1.clear();
const obj2 = require(1917) /* areArraysShallowlyEqual */;
require(1917) /* areArraysShallowlyEqual */.clearObject(closure_19);
const obj3 = require(1917) /* areArraysShallowlyEqual */;
require(1917) /* areArraysShallowlyEqual */.clearObject(closure_20);
initializeNonePlans();
}
({ CurrencyCodes: closure_9, PriceSetAssignmentPurchaseTypes: closure_10 } = ME);
({ SubscriptionIntervalTypes, SubscriptionPlanInfo: closure_11, SubscriptionPlans: closure_12, PremiumSubscriptionSKUs: closure_13, ACTIVE_PREMIUM_SKUS: closure_14 } = GuildFeatures);
let closure_15 = {};
let closure_16 = {};
let set = new Set();
let set1 = new Set();
let closure_19 = {};
let closure_20 = {};
initializeNonePlans();
let items = [, , ];
({ DAY: arr[0], MONTH: arr[1], YEAR: arr[2] } = SubscriptionIntervalTypes);
let tmp7 = ((Store) => {
class SubscriptionPlanStore {
constructor() {
self = this;
tmp = outer1_3(this, SubscriptionPlanStore);
obj = outer1_6(SubscriptionPlanStore);
tmp2 = outer1_5;
if (outer1_22()) {
tmp6 = globalThis;
_Reflect = Reflect;
tmp7 = outer1_6;
tmp8 = arguments;
constructResult = Reflect.construct(obj, arguments, outer1_6(self).constructor);
} else {
tmp3 = arguments;
tmp4 = arguments;
constructResult = obj(...arguments);
}
return tmp2(self, constructResult);
}
}
callback2(SubscriptionPlanStore, Store);
let obj = {
key: "getPlanIdsForSkus",
value(arg0) {
let iter2;
const items = [];
const tmp = outer1_23(arg0);
let iter = tmp();
if (!iter.done) {
do {
let tmp2 = outer1_16;
let set = outer1_16[iter.value];
if (null == set) {
let _Set = Set;
let tmp4 = new.target;
let tmp5 = new.target;
set = new Set();
}
let arr = Array.from(set);
let sorted = arr.sort((arg0, arg1) => {
const index = outer2_21.indexOf(tmp.interval);
return index - outer2_21.indexOf(outer2_15[arg1].interval) || outer2_15[arg0].intervalCount - outer2_15[arg1].intervalCount;
});
let push = items.push;
let items1 = [];
let tmp7 = items1;
let tmp8 = arr;
let num = 0;
let arraySpreadResult = HermesBuiltin.arraySpread(arr, 0);
let tmp10 = push;
let tmp11 = items1;
let tmp12 = items;
let applyResult = HermesBuiltin.apply(items1, items);
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
return items;
}
};
let items = [obj, , , , , , , , , , , , , , , ];
obj = {
key: "getFetchedSKUIDs",
value() {
return outer1_1(outer1_2[9]).keys(outer1_16);
}
};
items[1] = obj;
obj = {
key: "getForSKU",
value(arg0) {
let items = outer1_16[arg0];
if (null == items) {
items = [];
}
return Array.from(items).map((arg0) => outer2_15[arg0]);
}
};
items[2] = obj;
items[3] = {
key: "getForSkuAndInterval",
value(arg0, arg1) {
let num = arg2;
const self = this;
let closure_0 = arg1;
if (arg2 === undefined) {
num = 1;
}
const forSKU = self.getForSKU(arg0);
return forSKU.find((id) => {
let tmp = id.id !== outer2_12.PREMIUM_GROUP_MONTH;
if (tmp) {
tmp = id.interval === closure_0;
}
if (tmp) {
tmp = id.intervalCount === num;
}
return tmp;
});
}
};
items[4] = {
key: "get",
value(arg0) {
return outer1_15[arg0];
}
};
items[5] = {
key: "isFetchingForSKU",
value(arg0) {
return outer1_17.has(arg0);
}
};
items[6] = {
key: "isFetchingForSKUs",
value(arr) {
const self = this;
return arr.some((arg0) => self.isFetchingForSKU(arg0));
}
};
items[7] = {
key: "isLoadedForSKU",
value(arg0) {
const tmp = !outer1_18.has(arg0);
let tmp2 = !tmp;
if (tmp) {
let tmp4 = !outer1_17.has(arg0);
if (tmp4) {
tmp4 = null != outer1_16[arg0];
}
tmp2 = tmp4;
}
return tmp2;
}
};
items[8] = {
key: "isLoadedForSKUs",
value(arr) {
const self = this;
return arr.every((arg0) => self.isLoadedForSKU(arg0));
}
};
items[9] = {
key: "isFetchingForPremiumSKUs",
value() {
const self = this;
return outer1_14.some((arg0) => self.isFetchingForSKU(arg0));
}
};
items[10] = {
key: "isLoadedForPremiumSKUs",
value() {
const self = this;
return outer1_14.every((arg0) => self.isLoadedForSKU(arg0));
}
};
items[11] = {
key: "ignoreSKUFetch",
value(arg0) {
outer1_18.add(arg0);
}
};
items[12] = {
key: "getPaymentSourcesForPlanId",
value(arg0) {
let tmp = null;
if (outer1_19.hasOwnProperty(arg0)) {
tmp = outer1_19[arg0];
}
return tmp;
}
};
items[13] = {
key: "getPaymentSourceIds",
value() {
const set = new Set();
const values = Object.values(outer1_19);
const item = values.forEach((arr) => arr.forEach((arg0) => outer1_0.add(arg0)));
return set;
}
};
items[14] = {
key: "hasPaymentSourceForSKUId",
value(arg0, arg1) {
let tmp = outer1_13.NONE === arg1;
if (!tmp) {
let hasItem = null != outer1_20[arg1];
if (hasItem) {
hasItem = outer1_20[arg1].has(arg0);
const obj = outer1_20[arg1];
}
tmp = hasItem;
}
return tmp;
}
};
items[15] = {
key: "hasPaymentSourceForSKUIds",
value(arg0, arr) {
const self = this;
let closure_1 = arg0;
return arr.every((arg0) => self.hasPaymentSourceForSKUId(closure_1, arg0));
}
};
return callback(SubscriptionPlanStore, items);
})(require("initialize").Store);
tmp7.displayName = "SubscriptionPlanStore";
tmp7 = new tmp7(require("dispatcher"), {
SUBSCRIPTION_PLANS_FETCH: function handleSubscriptionPlansFetch(skuId) {
set.add(skuId.skuId);
},
SUBSCRIPTION_PLANS_FETCH_SUCCESS: function handleSubscriptionPlansFetchSuccess(arg0) {
let skuId;
let subscriptionPlans;
({ skuId, subscriptionPlans } = arg0);
const set = new Set();
closure_16[skuId] = set;
const set1 = new Set();
closure_20[skuId] = set1;
const item = subscriptionPlans.forEach(addSubscriptionPlanFromServer);
set.delete(skuId);
set1.delete(skuId);
},
SUBSCRIPTION_PLANS_FETCH_FAILURE: function handleSubscriptionPlansFetchFailure(skuId) {
skuId = skuId.skuId;
set.delete(skuId);
set1.delete(skuId);
},
SUBSCRIPTION_PLANS_RESET: reset,
GIFT_CODE_RESOLVE_SUCCESS: function handleGiftCodeResolveSuccess(giftCode) {
giftCode = giftCode.giftCode;
if (null != giftCode.subscription_plan) {
addSubscriptionPlanFromServer(giftCode.subscription_plan);
}
},
ENTITLEMENTS_GIFTABLE_FETCH_SUCCESS: function handleEntitlementGiftsFetchSuccess(entitlements) {
let iter2;
const tmp = _createForOfIteratorHelperLoose(entitlements.entitlements);
let iter = tmp();
if (!iter.done) {
do {
let value = iter.value;
if (null != value.subscription_plan) {
let tmp2 = addSubscriptionPlanFromServer;
let tmp3 = addSubscriptionPlanFromServer(value.subscription_plan);
}
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
},
LOGOUT: reset
});
let result = set.fileFinishedImporting("stores/billing/SubscriptionPlanStore.tsx");
export default tmp7;
export const subscriptionPlansFetchingForSKU = set;