decord/source/actions/native/GPlayActionCreators.tsx
2026-07-25 08:10:48 +00:00

648 lines
21 KiB
TypeScript

// Module ID: 6243
// Function ID: 56227
// Name: _createForOfIteratorHelperLoose
// Dependencies: [29, 5, 27, 6197, 1194, 5619, 653, 5620, 1852, 482, 3, 5622, 6244, 3814, 686, 3790, 3792, 4471, 1212, 675, 507, 2]
// Exports: downgradeSubscription, loadUserCountry, sendPaymentCompleteAnalytics, subscribe, updatePendingDowngrade, verifyPurchase
// Module 6243 (_createForOfIteratorHelperLoose)
import _objectWithoutProperties from "_objectWithoutProperties";
import importDefaultResult from "_isNativeReflectConstruct";
import setGPlayAnalytics from "setGPlayAnalytics";
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
import closure_12 from "_isNativeReflectConstruct";
import ME from "ME";
import GPlayConnectionState from "GPlayConnectionState";
import GuildFeatures from "GuildFeatures";
import { PaymentGateways } from "sum";
import importDefaultResult1 from "setGPlayAnalytics";
let closure_10;
let closure_13;
let closure_14;
let closure_15;
let closure_16;
let closure_17;
let closure_18;
let closure_19;
let closure_9;
const require = arg1;
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 getPlanIdForProduct(arg0, arg1) {
if (arg1) {
return require(5622) /* SubscriptionPlans */.getPlanIdForGift(arg0);
} else {
let basePlanId;
const tmp5 = require(5622) /* SubscriptionPlans */.AppStorePremiumProductIdsToPremiumBundledItems[arg0];
if (null != tmp5) {
basePlanId = tmp5.basePlanId;
}
let tmp7 = null;
if (null != basePlanId) {
tmp7 = basePlanId;
}
return tmp7;
}
}
function fetchDesktopSubscriptionSkus() {
return _fetchDesktopSubscriptionSkus(...arguments);
}
async function _fetchDesktopSubscriptionSkus(arg0, arg1) {
let iter = (function*(arg0) {
let iter10;
let iter3;
let iter7;
let DEFAULT = arg1;
let flag = arg2;
if (DEFAULT === undefined) {
DEFAULT = outer2_15.DEFAULT;
}
if (flag === undefined) {
flag = false;
}
yield undefined;
const items = [];
const set = new Set();
let obj = {};
const tmp3 = outer2_26(arg0);
const iter = tmp3();
let iter2 = iter;
if (!iter.done) {
do {
let value = iter2.value;
let tmp4 = outer2_28;
let tmp5 = outer2_28(value, flag);
if (null != tmp5) {
let tmp6 = outer2_19;
let tmp7 = outer2_19[tmp5];
let skuId;
if (null != tmp7) {
skuId = tmp7.skuId;
}
let tmp9 = null != skuId;
if (tmp9) {
let tmp10 = outer2_18;
tmp9 = tmp7.skuId !== outer2_18.NONE;
}
let tmp11 = tmp7;
if (tmp9) {
let addResult = set.add(tmp7.skuId);
obj[value] = tmp5;
let tmp13 = tmp7;
}
}
iter3 = tmp3();
iter2 = iter3;
} while (!iter3.done);
}
obj = {};
let obj3 = outer2_0(outer2_2[12]);
const items1 = [...set];
const tmp14Result = outer2_26(yield obj3.fetchSubscriptionPlansBySKUs(items1));
let iter4 = tmp14Result();
if (!iter4.done) {
do {
let tmp16 = outer2_26;
let tmp17 = outer2_26(iter4.value);
let iter5 = tmp17();
if (!iter5.done) {
do {
value = iter5.value;
obj[value.id] = value;
let iter6 = tmp17();
iter5 = iter6;
done = iter6.done;
} while (!done);
}
iter7 = tmp14Result();
iter4 = iter7;
} while (!iter7.done);
}
const tmp18 = outer2_26(arg0);
const iter8 = tmp18();
let iter9 = iter8;
if (!iter8.done) {
do {
value = iter9.value;
let tmp32 = obj[value];
if (null != tmp32) {
let tmp48 = obj[tmp32];
if (null != tmp48) {
let prices = tmp48.prices;
let tmp52 = prices;
let country_prices;
if (null != prices) {
let tmp54 = prices[DEFAULT];
tmp52 = tmp54;
if (null != tmp54) {
country_prices = tmp54.country_prices;
tmp52 = tmp54;
}
}
let first;
if (null != country_prices) {
let prices2 = country_prices.prices;
let tmp20 = prices2;
if (null != prices2) {
first = prices2[0];
tmp20 = prices2;
}
}
if (null != first) {
let str = first.currency;
let formatted;
if (null != str) {
formatted = str.toLowerCase();
}
let str2 = "usd";
if (null != formatted) {
str2 = formatted;
}
let amount = first.amount;
let tmp60 = outer2_19;
let tmp61 = outer2_19[tmp32];
let obj1 = { identifier: value, price: amount, currencySymbol: first.currency, currencyCode: str2 };
let str3 = "";
if (null != first.currency) {
let result = amount / 100;
let _HermesInternal = HermesInternal;
str3 = "" + first.currency + " " + result.toFixed(2);
}
obj1.priceString = str3;
let country_code;
if (null != country_prices) {
country_code = country_prices.country_code;
}
let US = country_code;
if (null == country_code) {
let tmp63 = outer2_0;
let tmp64 = outer2_2;
US = outer2_0(outer2_2[13]).CountryCodes.US;
}
obj1.countryCode = US;
obj1.downloadable = false;
let name;
if (null != tmp61) {
name = tmp61.name;
}
if (null == name) {
name = tmp48.name;
}
let str4 = "";
if (null != name) {
str4 = name;
}
obj1.description = str4;
let name1;
if (null != tmp61) {
name1 = tmp61.name;
}
let name2 = name1;
if (null == name1) {
name2 = tmp48.name;
}
let str5 = "";
if (null != name2) {
str5 = name2;
}
obj1.title = str5;
let str6 = "subs";
if (flag) {
str6 = "inapp";
}
obj1.type = str6;
obj1.subscriptionOffers = [];
let arr = items.push(obj1);
let tmp35 = tmp52;
let tmp36 = tmp20;
let tmp37 = formatted;
let tmp38 = str;
let tmp39 = country_code;
let tmp40 = name;
let tmp41 = name;
let tmp42 = name2;
let tmp43 = name1;
let tmp68 = tmp48;
let tmp44 = country_prices;
let tmp45 = first;
let tmp46 = amount;
let tmp47 = tmp61;
} else {
let tmp56 = outer2_22;
let obj2 = { productId: value, planId: tmp32, priceSetAssignmentType: DEFAULT };
let warnResult = outer2_22.warn("[fetchDesktopSubscriptionSkus] No price info found", obj2);
tmp35 = tmp52;
tmp36 = tmp20;
tmp37 = tmp21;
tmp38 = tmp22;
tmp39 = tmp23;
tmp40 = tmp24;
tmp41 = tmp25;
tmp42 = tmp26;
tmp43 = tmp27;
let tmp58 = tmp48;
tmp44 = country_prices;
tmp45 = first;
tmp46 = tmp30;
tmp47 = tmp31;
}
} else {
let tmp49 = outer2_22;
obj3 = { productId: value, planId: tmp32 };
let warnResult1 = outer2_22.warn("[fetchDesktopSubscriptionSkus] Plan not found", obj3);
tmp35 = tmp19;
tmp36 = tmp20;
tmp37 = tmp21;
tmp38 = tmp22;
tmp39 = tmp23;
tmp40 = tmp24;
tmp41 = tmp25;
tmp42 = tmp26;
tmp43 = tmp27;
let tmp51 = tmp48;
tmp44 = tmp28;
tmp45 = tmp29;
tmp46 = tmp30;
tmp47 = tmp31;
}
} else {
let tmp33 = outer2_22;
let obj4 = { productId: value };
let warnResult2 = outer2_22.warn("[fetchDesktopSubscriptionSkus] No plan ID found", obj4);
tmp35 = tmp19;
tmp36 = tmp20;
tmp37 = tmp21;
tmp38 = tmp22;
tmp39 = tmp23;
tmp40 = tmp24;
tmp41 = tmp25;
tmp42 = tmp26;
tmp43 = tmp27;
tmp44 = tmp28;
tmp45 = tmp29;
tmp46 = tmp30;
tmp47 = tmp31;
}
iter10 = tmp18();
tmp19 = tmp35;
tmp20 = tmp36;
tmp21 = tmp37;
tmp22 = tmp38;
tmp23 = tmp39;
tmp24 = tmp40;
tmp25 = tmp41;
tmp26 = tmp42;
tmp27 = tmp43;
tmp28 = tmp44;
tmp29 = tmp45;
tmp30 = tmp46;
tmp31 = tmp47;
iter9 = iter10;
} while (!iter10.done);
}
return items;
})();
iter.next();
return iter;
}
async function _loadUserCountry() {
const tmp = yield outer2_25();
outer2_1(outer2_2[14]).dispatch({ type: "GPLAY_SET_USER_COUNTRY", countryCode: tmp });
}
async function _subscribe(arg0, arg1, arg2, arg3, arg4, arg5) {
yield outer2_21.subscribe(arg0, arg1, arg2, arg3, arg4);
}
async function _verifyPurchase(arg0, arg1, arg2) {
const tmp2 = outer2_10.getState().analyticsByProductId[arg0.productId];
const id = outer2_11.getId();
const SubscriptionProductIds = outer2_0(outer2_2[11]).SubscriptionProductIds;
const tmp4 = !SubscriptionProductIds.includes(arg0.productId);
let tmp5 = null;
let tmp6 = null;
const productId = arg0.productId;
if (tmp4) {
tmp6 = productId;
} else {
tmp5 = productId;
}
let tmp7 = tmp4;
if (tmp4) {
tmp7 = null != arg1;
}
if (tmp7) {
tmp7 = null == arg1.gift_style;
}
if (tmp7) {
let obj = outer2_1(outer2_2[19]);
obj = { source: "verifyPurchase", sku_id: tmp.productId };
obj.track(outer2_13.GIFT_INFO_OPTIONS_MISSING, obj);
}
const HTTP = outer2_0(outer2_2[20]).HTTP;
obj = { url: outer2_14.VERIFY_PURCHASE };
const obj1 = { purchase_token: arg0.purchaseToken, user_id: id, package_name: arg0.packageName, subscription_sku_id: tmp5, one_time_purchase_sku_id: tmp6, gift_info_options: arg1, one_time_purchase_options: { consume_on_validate: true } };
let load_id;
if (null != tmp2) {
load_id = tmp2.load_id;
}
let tmp17 = null;
if (null != load_id) {
tmp17 = load_id;
}
obj1.load_id = tmp17;
obj.body = obj1;
obj.rejectWithError = false;
if (null != tmp2) {
if (!tmp4) {
const succeededOnlyFields = tmp2.succeededOnlyFields;
const tmp22 = outer2_7(tmp2, outer2_5);
outer2_1(outer2_2[19]).track(outer2_13.PAYMENT_FLOW_COMPLETED, tmp22);
outer2_9(tmp.productId);
const obj5 = outer2_1(outer2_2[19]);
}
}
return yield HTTP.post(obj).body;
}
function withGPlayBillingErrorHandling(arg0, arg1) {
let flag = arg1;
let closure_0 = arg0;
if (arg1 === undefined) {
flag = false;
}
return importDefaultResult(async (arg0) => {
const iter = (function*(arg0) {
const items = [...arguments];
yield undefined;
const items1 = [...items];
return yield HermesBuiltin.apply(items1, undefined);
})();
iter.next();
return iter;
});
}
let closure_3 = ["succeededOnlyFields"];
let closure_4 = ["succeededOnlyFields"];
let closure_5 = ["succeededOnlyFields"];
let closure_6 = ["succeededOnlyFields"];
({ deleteGPlayAnalytics: closure_9, useGPlayAnalyticsStore: closure_10 } = setGPlayAnalytics);
({ AnalyticEvents: closure_13, Endpoints: closure_14, PriceSetAssignmentPurchaseTypes: closure_15 } = ME);
({ GPlayBillingResult: closure_16, GPlaySkusType: closure_17 } = GPlayConnectionState);
({ PremiumSubscriptionSKUs: closure_18, SubscriptionPlanInfo: closure_19 } = GuildFeatures);
const BillingManager = require("get ActivityIndicator").NativeModules.BillingManager;
importDefaultResult1 = new importDefaultResult1("GPlayActionCreators");
let result = withGPlayBillingErrorHandling(importDefaultResult(async () => {
const iter = (function*() {
let SubscriptionProductIds = arg0;
if (SubscriptionProductIds === undefined) {
SubscriptionProductIds = outer1_0(outer1_2[11]).SubscriptionProductIds;
}
yield undefined;
if (null != SubscriptionProductIds) {
if (0 !== arr.length) {
let obj = { type: "GPLAY_FETCH_SUBSCRIPTION_SKUS_START" };
outer1_1(outer1_2[14]).dispatch(obj);
const obj3 = outer1_1(outer1_2[14]);
if (obj5.isGooglePlayBillingSupported()) {
const tmp10 = yield outer1_21.getSubscriptionSkus(SubscriptionProductIds);
obj = outer1_1(outer1_2[14]);
obj = { type: "GPLAY_SUBSCRIPTION_SKUS_LOADED" };
const items = [];
HermesBuiltin.arraySpread(tmp10, 0);
obj.skus = items;
obj.skusType = outer1_17.SUBSCRIPTION;
obj.dispatch(obj);
return tmp10;
} else {
const tmp6 = yield outer1_29(arr);
return tmp6;
}
obj5 = outer1_0(outer1_2[15]);
}
}
return [];
})();
iter.next();
return iter;
}), true);
const result1 = withGPlayBillingErrorHandling(importDefaultResult(async () => {
let iter = (function*() {
let IAPProductIds = arg0;
if (IAPProductIds === undefined) {
IAPProductIds = outer1_0(outer1_2[11]).IAPProductIds;
}
let arr = IAPProductIds;
yield undefined;
if (null != arr) {
if (0 !== arr.length) {
let obj = { type: "GPLAY_FETCH_IN_APP_SKUS_START" };
outer1_1(outer1_2[14]).dispatch(obj);
const obj4 = outer1_1(outer1_2[14]);
if (obj6.isGooglePlayBillingSupported()) {
const tmp26 = yield outer1_21.getIAPSkus(IAPProductIds);
obj = { type: "GPLAY_IN_APP_SKUS_LOADED" };
const items = [];
HermesBuiltin.arraySpread(tmp26, 0);
obj.skus = items;
obj.skusType = outer1_17.IN_APP;
outer1_1(outer1_2[14]).dispatch(obj);
return tmp26;
} else {
const items1 = [];
const tmp6 = outer1_26(arr);
const iter = tmp6();
let iter2 = iter;
if (!iter.done) {
const value = iter2.value;
obj = outer1_0(outer1_2[11]);
const planIdForGift = obj.getPlanIdForGift(value);
arr = items1.push(value);
while (true) {
while (true) {
let tmp15 = tmp6;
let iter3 = tmp6();
iter2 = iter3;
if (!iter3.done) {
break;
} else {
break label0;
}
}
}
}
if (0 === items1.length) {
let flag = [];
let resolved = Promise.resolve(flag);
} else {
flag = true;
resolved = outer1_29(items1, outer1_15.GIFT, true);
}
const tmp22 = yield resolved;
return tmp22;
}
obj6 = outer1_0(outer1_2[15]);
}
}
return [];
})();
iter.next();
return iter;
}), true);
const result2 = withGPlayBillingErrorHandling(importDefaultResult(async () => {
const items = [outer1_23(), outer1_24()];
yield Promise.all(items);
}));
const result3 = withGPlayBillingErrorHandling(importDefaultResult(async () => {
if (obj.isGooglePlayBillingSupported()) {
return yield outer1_21.getUserCountry();
} else {
outer1_22.info("[getUserCountry] Quest: Skipping Google Play country lookup");
return null;
}
obj = outer1_0(outer1_2[15]);
}), true);
const tmp12 = (() => {
let closure_0 = importDefaultResult(async (arg0, arg1) => {
outer2_10.getState().analyticsByProductId[arg0];
yield outer2_21.purchase(arg0, arg1);
});
return function() {
return callback(...arguments);
};
})();
const result4 = require("get ActivityIndicator").fileFinishedImporting("actions/native/GPlayActionCreators.tsx");
export const loadSubscriptionSkus = result;
export const loadInAppSkus = result1;
export const loadSkus = result2;
export const loadUserCountry = function loadUserCountry() {
return _loadUserCountry(...arguments);
};
export const purchase = tmp12;
export const subscribe = function subscribe() {
return _subscribe(...arguments);
};
export const verifyPurchase = function verifyPurchase(purchase, giftOptionsForKey) {
return _verifyPurchase(...arguments);
};
export const sendPaymentCompleteAnalytics = function sendPaymentCompleteAnalytics(purchase) {
const tmp = state.getState().analyticsByProductId[purchase.productId];
if (null != tmp) {
const succeededOnlyFields = tmp.succeededOnlyFields;
const tmp4 = callback(tmp, closure_4);
let obj = importDefault(675);
obj.track(constants.PAYMENT_FLOW_COMPLETED, tmp4);
obj = {};
const merged = Object.assign(tmp4);
const merged1 = Object.assign(succeededOnlyFields);
importDefault(675).track(constants.PAYMENT_FLOW_SUCCEEDED, obj);
callback2(purchase.productId);
const obj2 = importDefault(675);
}
};
export const updatePendingDowngrade = function updatePendingDowngrade(productId, outer2_6, outer2_7, outer2_5) {
const items = [store.getProduct(productId), store.getProduct(outer2_6)];
const first = items[0];
if (null != items[1]) {
if (null != first) {
if (null != tmp2) {
if (null != first) {
if (null != tmp2.billingPeriod) {
if (null != first.billingPeriod) {
let obj = require(3792) /* _createGatewayCheckoutContext */;
}
}
}
}
obj = { type: "GPLAY_UPDATE_PENDING_DOWNGRADE" };
obj = { purchaseToken: outer2_7, subscriptionId: outer2_5, newSubscriptionSkuId: first.identifier };
obj.pendingDowngrade = obj;
importDefault(686).dispatch(obj);
const obj2 = importDefault(686);
}
}
};
export const downgradeSubscription = function downgradeSubscription(arg0) {
let newSubscriptionSkuId;
let purchaseToken;
let subscriptionId;
({ purchaseToken, subscriptionId, newSubscriptionSkuId } = arg0);
const HTTP = require(507) /* _isNativeReflectConstruct */.HTTP;
return HTTP.post({ url: constants2.DOWNGRADE_SUBSCRIPTION, body: { purchase_token: purchaseToken, subscription_id: subscriptionId, subscription_sku_id: newSubscriptionSkuId }, rejectWithError: false });
};
export const getUserCountry = result3;