decord/source/5609_transformStorefrontSKUPricesServer.js
2026-07-20 16:05:17 +00:00

358 lines
14 KiB
JavaScript

// Module ID: 5609
// Function ID: 47740
// Name: transformStorefrontSKUPricesServer
// Dependencies: []
// Exports: isSlayerSkuAvailableOnThisPlatform, transformStorefrontPricesServer, useFormattedSKUPrice, useSKUOrbPrice
// Module 5609 (transformStorefrontSKUPricesServer)
function transformStorefrontSKUPricesServer(arr) {
return arr.map((currency) => ({ currency: currency.currency, amount: currency.amount }));
}
function transformStorefrontPricesResultMapServer(pricing_result_id_map) {
return importDefault(dependencyMap[6]).mapValues(pricing_result_id_map, (arg0) => callback(closure_2[6]).mapValues(arg0, (user_price) => {
const obj = { userPrice: callback2(user_price.user_price), prices: callback(closure_2[6]).mapValues(user_price.prices, (arg0) => callback(closure_2[6]).mapValues(arg0, (arg0) => callback(arg0))) };
return obj;
}));
}
function transformStorefrontRewardsResultMapServer(reward_result_id_map) {
return importDefault(dependencyMap[6]).mapValues(reward_result_id_map, (arg0) => callback(closure_2[6]).mapValues(arg0, (type) => ({ type: type.type, amount: type.amount })));
}
function transformPriceSetAssignmentToStorefrontPurchaseType(arg0) {
if (null == arg0) {
return arg1(dependencyMap[7]).StorefrontPurchaseType.SELF_PURCHASE;
} else if (constants.DEFAULT === arg0) {
return arg1(dependencyMap[7]).StorefrontPurchaseType.SELF_PURCHASE;
} else if (constants.GIFT === arg0) {
return arg1(dependencyMap[7]).StorefrontPurchaseType.GIFT;
} else {
return arg1(dependencyMap[7]).StorefrontPurchaseType.SELF_PURCHASE;
}
}
function useResolvedUserPrice(sku) {
sku = sku.sku;
const arg1 = sku;
const priceSetAssignmentPurchaseType = sku.priceSetAssignmentPurchaseType;
const importDefault = priceSetAssignmentPurchaseType;
const isOrbPrice = sku.isOrbPrice;
const dependencyMap = isOrbPrice;
const items = [closure_6];
const stateFromStores = arg1(dependencyMap[10]).useStateFromStores(items, () => {
let id;
if (null != sku) {
id = sku.id;
}
let tmp4 = null;
if (null != id) {
tmp4 = id;
}
return pricesForSkuId.getPricesForSkuId(tmp4);
});
const React = stateFromStores;
const items1 = [sku, stateFromStores, priceSetAssignmentPurchaseType, isOrbPrice];
return React.useMemo(() => {
const tmp = callback(priceSetAssignmentPurchaseType);
if (null != sku) {
if (null != stateFromStores) {
let tmp3 = stateFromStores[tmp];
if (null == tmp3) {
tmp3 = stateFromStores[closure_0(undefined, closure_2[7]).StorefrontPurchaseType.SELF_PURCHASE];
}
let obj = {};
let found;
if (null != tmp3) {
const userPrice = tmp3.userPrice;
if (null != userPrice) {
found = userPrice.find((currency) => {
currency = currency.currency;
const DISCORD_ORB = constants.DISCORD_ORB;
return closure_2 ? currency === DISCORD_ORB : currency !== DISCORD_ORB;
});
}
}
obj.userPrice = found;
obj.pricesForPurchaseType = tmp3;
obj.purchaseType = tmp;
obj.storeHasPrice = true;
return obj;
}
}
obj = { userPrice: undefined, pricesForPurchaseType: undefined, purchaseType: tmp, storeHasPrice: null != stateFromStores };
return obj;
}, items1);
}
function useSKUPrice(sku) {
sku = sku.sku;
const arg1 = sku;
let DEFAULT = sku.priceSetAssignmentPurchaseType;
if (DEFAULT === undefined) {
DEFAULT = constants.DEFAULT;
}
const importDefault = DEFAULT;
let dependencyMap;
let React;
let closure_4;
let closure_5;
let closure_6;
let stateFromStores;
const obj = { sku, priceSetAssignmentPurchaseType: DEFAULT, isOrbPrice: false };
const tmp2 = useResolvedUserPrice(obj);
const userPrice = tmp2.userPrice;
dependencyMap = userPrice;
const pricesForPurchaseType = tmp2.pricesForPurchaseType;
React = pricesForPurchaseType;
const purchaseType = tmp2.purchaseType;
closure_4 = purchaseType;
const storeHasPrice = tmp2.storeHasPrice;
closure_5 = storeHasPrice;
const items = [closure_6];
const stateFromStoresArray = arg1(dependencyMap[10]).useStateFromStoresArray(items, () => {
let id;
if (null != sku) {
id = sku.id;
}
let rewardsForSkuId = stateFromStoresArray.getRewardsForSkuId(id);
if (null == rewardsForSkuId) {
rewardsForSkuId = [];
}
return rewardsForSkuId;
});
closure_6 = stateFromStoresArray;
const obj2 = arg1(dependencyMap[10]);
const items1 = [closure_5];
stateFromStores = arg1(dependencyMap[10]).useStateFromStores(items1, () => storeHasPrice.getCurrentUser());
const items2 = [sku, DEFAULT, , , , , , ];
let premiumType;
if (null != stateFromStores) {
premiumType = stateFromStores.premiumType;
}
items2[2] = premiumType;
items2[3] = storeHasPrice;
items2[4] = userPrice;
items2[5] = pricesForPurchaseType;
items2[6] = purchaseType;
items2[7] = stateFromStoresArray;
return React.useMemo(() => {
if (null == sku) {
return { <string:3752558061>: 11913815630712838000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, <string:1304387174>: 61141391887080580000000000000000000, <string:979689656>: -0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009030216653543717, <string:1386888022>: 2123526618575307800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 };
} else if (storeHasPrice) {
const found = stateFromStoresArray.find((arg0) => {
if (null == arg0[closure_4]) {
return false;
} else {
const type2 = tmp.type;
if (callback(closure_2[7]).StorefrontPromotionRewardType.DISCOUNT === type2) {
return true;
} else {
if (callback(closure_2[7]).StorefrontPromotionRewardType.FIXED_PRICE !== type2) {
if (callback(closure_2[7]).StorefrontPromotionRewardType.ACTION !== type2) {
const type = tmp.type;
return false;
}
}
return false;
}
}
});
let tmp15 = null;
if (null != found) {
tmp15 = found[closure_4];
}
let tmp17 = null;
if (null != tmp15) {
tmp17 = null;
if (null != userPrice) {
tmp17 = userPrice;
}
}
let amount = null;
if (null != tmp15) {
amount = null;
if (tmp15.amount > 0) {
amount = tmp15.amount;
}
}
if (null != tmp15) {
let found1;
if (null != pricesForPurchaseType) {
if (null != pricesForPurchaseType.prices[closure_9.BASE]) {
if (null != tmp25[closure_0(undefined, closure_2[7]).StorefrontPriceVariant.NORMAL]) {
found1 = arr.find((currency) => currency.currency !== constants.DISCORD_ORB);
}
}
}
let tmp20 = found1;
} else {
tmp20 = userPrice;
}
let obj = {};
let tmp28 = null;
if (null != tmp20) {
tmp28 = tmp20;
}
obj.normalPrice = tmp28;
obj.discountedPrice = tmp17;
obj.discountPercent = amount;
let tmp30 = null;
if (null != userPrice) {
tmp30 = userPrice;
}
obj.userPrice = tmp30;
return obj;
} else {
if (sku.productLine === constants.SOCIAL_LAYER_GAME_ITEM) {
obj = sku(userPrice[11]);
let price = obj.getPrice(sku, DEFAULT);
} else {
let premiumType;
if (null != stateFromStores) {
premiumType = stateFromStores.premiumType;
}
price = sku.getPrice(premiumType);
}
let tmp12 = null;
if (null != price) {
tmp12 = price;
}
obj = { <string:979689656>: "Normal", <string:1386888022>: true, <string:2114771812>: "AbortSignal", normalPrice: tmp12, userPrice: tmp12 };
return obj;
}
}, items2);
}
function formatSKUPrice(arg0, arg1) {
let discountPercent;
let discountedPrice;
let normalPrice;
let userPrice;
({ normalPrice, discountedPrice, discountPercent, userPrice } = arg0);
const obj = {};
let formatPriceResult = null;
if (null != normalPrice) {
formatPriceResult = arg1(dependencyMap[12]).formatPrice(normalPrice.amount, normalPrice.currency);
const obj2 = arg1(dependencyMap[12]);
}
obj.normalPrice = formatPriceResult;
let formatPriceResult1 = null;
if (null != discountedPrice) {
formatPriceResult1 = arg1(dependencyMap[12]).formatPrice(discountedPrice.amount, discountedPrice.currency);
const obj3 = arg1(dependencyMap[12]);
}
obj.discountedPrice = formatPriceResult1;
let formatPercentResult = null;
if (null != discountPercent) {
formatPercentResult = arg1(dependencyMap[12]).formatPercent(arg1, -discountPercent / 100);
const obj4 = arg1(dependencyMap[12]);
}
obj.discountPercent = formatPercentResult;
let formatPriceResult2 = null;
if (null != userPrice) {
formatPriceResult2 = arg1(dependencyMap[12]).formatPrice(userPrice.amount, userPrice.currency);
const obj5 = arg1(dependencyMap[12]);
}
obj.userPrice = formatPriceResult2;
return obj;
}
let closure_3 = importAll(dependencyMap[0]);
let closure_4 = importDefault(dependencyMap[1]);
let closure_5 = importDefault(dependencyMap[2]);
let closure_6 = importDefault(dependencyMap[3]);
({ CurrencyCodes: closure_7, PriceSetAssignmentPurchaseTypes: closure_8, PriceTypes: closure_9, SKUFlags: closure_10, SKUProductLines: closure_11 } = arg1(dependencyMap[4]));
const PremiumTypes = arg1(dependencyMap[5]).PremiumTypes;
const tmp2 = arg1(dependencyMap[4]);
const result = arg1(dependencyMap[15]).fileFinishedImporting("modules/storefront/StorefrontUtils.tsx");
export const transformStorefrontPricesServer = function transformStorefrontPricesServer(body) {
const obj = { skuPriceMap: importDefault(dependencyMap[6]).mapValues(body.sku_price_map, (pricingResultId) => ({ pricingResultId: pricingResultId.pricing_result_id, rewardResultIds: pricingResultId.reward_result_ids })), pricingResultIdMap: transformStorefrontPricesResultMapServer(body.pricing_result_id_map), rewardResultIdMap: transformStorefrontRewardsResultMapServer(body.reward_result_id_map) };
return obj;
};
export { transformPriceSetAssignmentToStorefrontPurchaseType };
export const isSlayerSkuAvailableOnThisPlatform = function isSlayerSkuAvailableOnThisPlatform(sku) {
if (null != sku) {
if (sku.productLine === constants3.SOCIAL_LAYER_GAME_ITEM) {
let flags;
if (null != sku) {
flags = sku.flags;
}
let num = 0;
if (null != flags) {
num = flags;
}
if (obj.isIOS()) {
let tmp4Result = tmp4(tmp5[9]);
let hasFlagResult = tmp4Result.hasFlag(num, constants2.AVAILABLE_ON_IOS);
} else {
tmp4Result = tmp4(tmp5[8]);
hasFlagResult = !tmp4Result.isAndroid();
if (!hasFlagResult) {
hasFlagResult = arg1(dependencyMap[9]).hasFlag(num, constants2.AVAILABLE_ON_ANDROID);
const obj3 = arg1(dependencyMap[9]);
}
}
return hasFlagResult;
}
}
return false;
};
export { useSKUPrice };
export const useFormattedSKUPrice = function useFormattedSKUPrice(priceSetAssignmentPurchaseType) {
let DEFAULT = priceSetAssignmentPurchaseType.priceSetAssignmentPurchaseType;
if (DEFAULT === undefined) {
DEFAULT = constants.DEFAULT;
}
let arg1;
let importDefault;
const obj = { sku: priceSetAssignmentPurchaseType.sku, priceSetAssignmentPurchaseType: DEFAULT };
const tmp2 = useSKUPrice(obj);
arg1 = tmp2;
const items = [closure_4];
const stateFromStores = arg1(dependencyMap[10]).useStateFromStores(items, () => locale.locale);
importDefault = stateFromStores;
const items1 = [tmp2, stateFromStores];
return React.useMemo(() => callback(tmp2, stateFromStores), items1);
};
export { formatSKUPrice };
export const useSKUOrbPrice = function useSKUOrbPrice(sku) {
sku = sku.sku;
const arg1 = sku;
let DEFAULT = sku.priceSetAssignmentPurchaseType;
if (DEFAULT === undefined) {
DEFAULT = constants.DEFAULT;
}
let importDefault;
let dependencyMap;
let React;
let closure_4;
const obj = { sku, priceSetAssignmentPurchaseType: DEFAULT, isOrbPrice: true };
const tmp2 = useResolvedUserPrice(obj);
const userPrice = tmp2.userPrice;
importDefault = userPrice;
const storeHasPrice = tmp2.storeHasPrice;
dependencyMap = storeHasPrice;
const items = [closure_5];
const stateFromStores = arg1(dependencyMap[10]).useStateFromStores(items, () => currentUser.getCurrentUser());
React = stateFromStores;
const items1 = [stateFromStores];
const memo = React.useMemo(() => userPrice(storeHasPrice[13]).isPremium(stateFromStores, TIER_2.TIER_2), items1);
closure_4 = memo;
const items2 = [sku, memo, storeHasPrice, userPrice];
return React.useMemo(() => {
if (null == sku) {
return null;
} else if (storeHasPrice) {
let tmp9 = null;
if (null != userPrice) {
tmp9 = userPrice;
}
return tmp9;
} else {
let obj = sku(storeHasPrice[14]);
const orbPriceFromPrices = obj.getOrbPriceFromPrices(sku.prices, memo);
let tmp7 = null;
if (null != orbPriceFromPrices) {
obj = {};
({ amount: obj2.amount, currency: obj2.currency } = orbPriceFromPrices);
tmp7 = obj;
}
return tmp7;
}
}, items2);
};