Files
discord-decomp/sources/utils/native/IAPUtils.tsx
T
2026-07-27 16:20:00 +03:00

971 lines
34 KiB
TypeScript

/* Metro module 7355; source: utils/native/IAPUtils.tsx; dependencies: [5, 27, 4649, 3837, 1878, 5140, 661, 1880, 3, 44, 477, 7356, 5143, 22, 491, 7336, 3817, 566, 7357, 7358, 2] */
function _fun59248(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#59248, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:6, offset: 0x016e3cad, size: 518 bytes, params: 8, frame: 23
var object2;
var r7;
let env0_0 = require;
const closure = function(a0) {
return require(dependencyMap[14]).v5(a0, NAMESPACE_SNOWFLAKE_UUID);
};
const closure2 = isStorekit2Available_59258;
const closure3 = remapStorefront;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(5) /* metro dependency 5 */;
const NativeModules = (require(27) /* metro dependency 27 */).NativeModules;
let value = importDefault(4649) /* metro dependency 4649: DevSettingsStore */;
const env0_4 = (require(3837) /* metro dependency 3837: CountryCodeUtils */).convertToAlpha2;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const iapStoreAndroid = importDefault(5140) /* metro dependency 5140: IAPStoreAndroid */;
const env0_7 = (require(661) /* metro dependency 661: Constants */).CurrencyCodes;
const env0_8 = (require(1880) /* metro dependency 1880: PremiumConstants */).NAMESPACE_SNOWFLAKE_UUID;
const env0_9 = NativeModules.InAppUtils;
const env0_10 = NativeModules.RNIapIosSk2;
const logger = importDefault(3) /* metro dependency 3: Logger */;
Object.create(logger.prototype, {constructor: {value: logger}});
new logger('IAPUtils.tsx');
object2 = {loadProducts: loadProducts_59263, purchaseProduct: function(a0, a1, a2) {
var env0_0 = a0;
var env0_1 = a1;
var env0_2 = a2;
var Promise = global.Promise;
var value = _fun59267();
var value2 = Object.create(Promise.prototype, {constructor: {value: Promise}});
value = new Promise(value);
return value instanceof Object ? value : value2;
}, canMakePayments: function() {
var Promise = global.Promise;
var value = Object.create(Promise.prototype, {constructor: {value: Promise}});
var value2 = new Promise(_fun59272);
return value2 instanceof Object ? value2 : value;
}, restorePurchases: function() {
return _restorePurchases.apply(this, arguments);
}, fetchStoreFront: function() {
return _fetchStoreFront.apply(this, arguments);
}};
const isIOS2 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS();
if (isIOS2) {
value = value.get('force_mock_iap');
r7 = value;
} else {
r7 = !!isIOS2;
}
const r6 = r7 ? (require(7358) /* metro dependency 7358: IAPUtilsMock */).default : object2;
(require(2) /* metro dependency 2 */).fileFinishedImporting('utils/native/IAPUtils.tsx');
exports.default = r6;
exports.convertToUUID = closure;
exports.makeIAPRequest = function(a0, a1, a2) {
var env0_0 = a0;
var env0_1 = a1;
var env0_2 = a2;
var Promise = global.Promise;
var value = _fun59277();
var value2 = Object.create(Promise.prototype, {constructor: {value: Promise}});
value = new Promise(value);
return value instanceof Object ? value : value2;
};
exports.useCanPurchaseIAP = function(a0) {
var env0_0 = a0;
var env0_1 = require(dependencyMap[17]).useStateFromStores([UserStore], _fun59282, []);
return !require(dependencyMap[17]).useStateFromStores([IAPStoreAndroid], _fun59283);
};
exports.isStorekit2Available = closure2;
exports.remapStorefront = closure3;
exports.manageSubscription = manageSubscription;
}
function serializePurchaseResponse(a0) { // fn#59249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:307, offset: 0x016e3eb3, size: 174 bytes, params: 2, frame: 15
const value = undefined;
(importDefault(44) /* metro dependency 44 */)(a0.transactionId != null, 'should have transactionId');
const object2 = {};
object2.originalTransactionDate = a0.originalTransactionDateIOS;
object2.originalTransactionIdentifier = a0.originalTransactionIdentifierIOS != null ? global.parseInt(a0.originalTransactionIdentifierIOS) : value;
object2.transactionDate = a0.transactionDate;
object2.transactionIdentifier = global.parseInt(a0.transactionId);
object2.productIdentifier = a0.productId;
object2.transactionReceipt = a0.transactionReceipt;
object2.jwsRepresentation = a0.verificationResultIOS;
return object2;
}
function _restorePurchases() { // fn#59251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:833, offset: 0x016e3f8f, size: 48 bytes, params: 1, frame: 14
return env0_3(_fun59253).apply(this, arguments);
}
function isStorekit2Available_59258() { // fn#59258, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1472, offset: 0x016e4183, size: 76 bytes, params: 1, frame: 13
return (require(477) /* metro dependency 477: PlatformUtils */).isIOS() && RNIapIosSk2?.isAvailable() === 1;
}
function remapStorefront(a0) { // fn#59259, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1566, offset: 0x016e41cf, size: 173 bytes, params: 2, frame: 16
var property;
var Error;
var value;
const value2 = convertToAlpha2(a0.countryCode);
let currency = a0.currency;
if (currency == null) {
property = (require(7357) /* metro dependency 7357: GeneratedPaymentCurrencies */).GeneratedPaymentCurrenciesSets.APPLE_STORE_COUNTRY_CURRENCIES[value2];
if (property == null) {
Error = global.Error;
value = 'Unable to get currency from countryCode ' + a0.countryCode;
throw new Error();
}
return {currency: property, country: value2};
}
currency = a0.currency;
return {currency: CurrencyCodes[currency.toUpperCase()], country: value2};
}
function _fetchStoreFront() { // fn#59260, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1867, offset: 0x016e427c, size: 48 bytes, params: 1, frame: 14
return env0_3(_fun59262).apply(this, arguments);
}
function loadProducts_59263() { // fn#59263, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2154, offset: 0x016e4344, size: 229 bytes, params: 1, frame: 23
var r0;
var all;
var defaultImport;
var fetchSubscriptions;
var Object;
var values;
const ProductIds = (require(5143) /* metro dependency 5143: ProductIdsAndroid */).ProductIds;
var items2;
var fetchProducts;
var value;
const isIOS2 = (require(477) /* metro dependency 477: PlatformUtils */).isIOS();
const Promise = global.Promise;
if (isIOS2) {
all = Promise.all;
defaultImport = importDefault(7356) /* metro dependency 7356: StorekitIAPQueue */;
fetchSubscriptions = defaultImport.fetchSubscriptions;
Object = global.Object;
values = Object.values;
value = Reflect.apply(fetchSubscriptions, defaultImport, [Reflect.apply(values, Object, [ProductIds])]);
items2 = [value];
value = importDefault(7356) /* metro dependency 7356: StorekitIAPQueue */;
fetchProducts = value.fetchProducts;
Object = global.Object;
values = Object.values;
items2[1] = Reflect.apply(fetchProducts, value, [Reflect.apply(values, Object, [ProductIds])]);
value = Reflect.apply(all, Promise, [items2]);
value = value.then(_fun59264);
r0 = value;
} else {
r0 = Promise.resolve([]);
}
return r0;
}
function purchaseProduct(a0, a1, a2) { // fn#59266, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2498, offset: 0x016e4509, size: 64 bytes, params: 4, frame: 11
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const Promise = global.Promise;
const value = _fun59267();
const value2 = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(value);
return promise instanceof Object ? promise : value2;
}
function canMakePayments() { // fn#59271, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2995, offset: 0x016e4695, size: 37 bytes, params: 1, frame: 11
const Promise = global.Promise;
const value = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(function(a0, a1) {
var env0_0 = a0;
var env0_1 = a1;
InAppUtils.canMakePayments(_fun59273);
});
return promise instanceof Object ? promise : value;
}
function makeIAPRequest(a0, a1, a2) { // fn#59276, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:3546, offset: 0x016e4725, size: 64 bytes, params: 4, frame: 11
const env0_0 = a0;
const env0_1 = a1;
const env0_2 = a2;
const Promise = global.Promise;
const value = _fun59277();
const value2 = Object.create(Promise.prototype, {constructor: {value: Promise}});
const promise = new Promise(value);
return promise instanceof Object ? promise : value2;
}
function useCanPurchaseIAP(a0) { // fn#59281, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:4201, offset: 0x016e48f9, size: 113 bytes, params: 2, frame: 21
const env0_0 = a0;
const fluxModule = require(566) /* metro dependency 566: flux */;
let useStateFromStores = fluxModule.useStateFromStores;
const env0_1 = Reflect.apply(useStateFromStores, fluxModule, [[UserStore], _fun59282, []]);
const moduleValue2 = fluxModule;
useStateFromStores = moduleValue2.useStateFromStores;
return !Reflect.apply(useStateFromStores, moduleValue2, [[IAPStoreAndroid], _fun59283]);
}
function manageSubscription() { // fn#59284, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:4572, offset: 0x016e49fa, size: 85 bytes, params: 1, frame: 14
var r0;
var Promise;
var reject;
var error;
if (isStorekit2Available_59258()) {
r0 = RNIapIosSk2.showManageSubscriptions();
} else {
Promise = global.Promise;
reject = Promise.reject;
error = new global.Error('StoreKit 2 is not available');
error = Reflect.apply(reject, Promise, [error]);
r0 = error;
}
return r0;
}
async function _fun59253({fullRestore}) { // fn#59253, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:890, offset: 0x016e3fd1, size: 345 bytes, params: 2, frame: 22
var environment;
var binding;
var value4;
var binding2;
var map;
var value7;
var filter;
var binding3;
var value11;
if (false) {
return undefined;
}
var env0_0;
await undefined;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
if (env2_14()) {
binding = env2_10;
if (fullRestore) {
await binding.sync();
if (false) {
return undefined;
}
binding = env2_1;
binding3 = env2_2;
value11 = binding(binding3[13]);
map = value11.map;
binding = env2_0;
value = binding(binding3[15]);
await value.getAvailablePurchases({onlyIncludeActiveItems: false});
value = undefined;
if (false) {
return value;
}
value = Reflect.apply(map, value11, [value, _fun59254]);
return value;
}
await binding.getPendingTransactions();
value4 = undefined;
if (false) {
return value4;
}
binding = env2_1;
binding2 = env2_2;
env0_0 = binding(binding2[13]).map(value4, function(a0) {
return a0.id;
});
value7 = binding(binding2[13]);
filter = value7.filter;
binding = env2_0;
value = binding(binding2[15]);
await value.getAvailablePurchases({onlyIncludeActiveItems: false});
value = undefined;
if (false) {
return value;
}
value = Reflect.apply(filter, value7, [value, _fun59256]);
value = value.map(_fun59257);
return value;
}
return [];
}
function* _fun59262() { // fn#59262, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1922, offset: 0x016e42b5, size: 143 bytes, params: 1, frame: 15
var r3;
var binding;
var binding2;
var property;
var value3;
var getStorefront;
var value4;
var value5;
var value6;
var value7;
var value8;
var error;
if (false) {
return undefined;
}
value = environment.__proto__.__proto__;
if (!env2_14()) {
return null;
}
try {
binding = env2_0;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
binding2 = env2_2;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
property = binding2[15];
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
value3 = binding(property);
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
getStorefront = value3.getStorefront;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
value4 = Reflect.apply(getStorefront, value3, []);
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
yield value4;
try {
value5 = undefined;
value6 = false;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
if (value6) {
return value5;
}
try {
value7 = value5 != null;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
if (value7) {
try {
binding = env2_15;
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
try {
value8 = binding(value5);
} catch (error) {
binding = env2_0;
value = binding(env2_2[16]);
value.captureBillingException(error);
return null;
}
r3 = value8;
} else {
r3 = value5;
}
return r3;
}
function _fun59264(a0) { // fn#59264, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2346, offset: 0x016e4429, size: 168 bytes, params: 2, frame: 19
var r1;
var r2;
var r5;
var item3;
var value3;
const iterator = a0[Symbol.iterator]();
const iterator2 = iterator.next;
let item2 = Reflect.apply(iterator2, iterator, []);
let item = item2.value;
item2 = item2.done ? undefined : iterator;
let value = undefined;
const value2 = item2 === value;
const r6 = value2 ? value : item;
if (value2) {
r1 = item2;
r2 = value2;
r5 = value;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r1 = item3;
r2 = value3;
r5 = value;
} else {
r1 = item3;
r2 = value3;
r5 = item;
}
}
if (!r2) {
r1.return();
}
const Set = global.Set;
const set = new Set();
value = importDefault(22) /* metro dependency 22 */;
const filter = value.filter;
const items2 = [];
arraySpread(items2, r5, arraySpread(items2, r6, 0, undefined), undefined);
return Reflect.apply(filter, value, [items2, _fun59265]);
}
function _fun59267() { // fn#59267, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2549, offset: 0x016e4549, size: 32 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun59269);
return _fun59270;
}
function _fun59272(a0, a1) { // fn#59272, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:3042, offset: 0x016e46ba, size: 43 bytes, params: 3, frame: 11
const env0_0 = a0;
const env0_1 = a1;
InAppUtils.canMakePayments(_fun59273);
}
function _fun59277() { // fn#59277, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:3596, offset: 0x016e4765, size: 32 bytes, params: 1, frame: 12
const env0_0 = env1_3(_fun59279);
return _fun59280;
}
function _fun59282() { // fn#59282, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:4270, offset: 0x016e496a, size: 45 bytes, params: 1, frame: 11
const value = environment.__proto__;
const verified = UserStore.getCurrentUser()?.verified;
return verified != null && verified;
}
function _fun59283() { // fn#59283, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:4396, offset: 0x016e4997, size: 99 bytes, params: 1, frame: 14
const value = environment.__proto__;
const isReady2 = IAPStoreAndroid.isReady();
let r0 = isReady2 ? IAPStoreAndroid.isBusy() && (env0_0 == null || !IAPStoreAndroid.isPurchasingProduct(env0_0)) : !isReady2;
r0 = !r0 ? !env0_1 : r0;
return r0;
}
function _fun59254(a0) { // fn#59254, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1061, offset: 0x016e412a, size: 31 bytes, params: 2, frame: 12
const object2 = {originalPurchase: a0};
object2.purchaseResponse = env3_11(a0);
return object2;
}
function _fun59256(a0) { // fn#59256, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:1292, offset: 0x016e4149, size: 58 bytes, params: 2, frame: 14
return a0.transactionId != null && env0_0.includes(global.parseInt(a0.transactionId));
}
function _fun59265(a0) { // fn#59265, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2406, offset: 0x016e44d1, size: 56 bytes, params: 2, frame: 13
var r0;
let binding = env0_0;
const value2 = binding.has(a0.identifier);
if (value2) {
r0 = !value2;
} else {
binding = env0_0;
binding.add(a0.identifier);
r0 = true;
}
return r0;
}
function* _fun59269(a0, a1) { // fn#59269, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:2569, offset: 0x016e4572, size: 291 bytes, params: 3, frame: 20
var binding;
var getCurrentUser;
var value3;
var Error;
var prototype;
var error;
var binding2;
var property;
var value4;
var clearTransactionIOS;
var value5;
var value6;
var value7;
var binding3;
var value8;
var requestPurchase;
var object2;
var value9;
var value10;
var value11;
var value12;
var Object;
var value13;
let value = undefined;
if (false) {
return value;
}
reduciblePort47: while (true) {
exceptionLanding46: while (true) {
value = environment.__proto__.__proto__.__proto__;
binding = env3_5;
getCurrentUser = binding.getCurrentUser;
value3 = Reflect.apply(getCurrentUser, binding, []);
if (value3 == null) {
Error = global.Error;
prototype = Error.prototype;
value = Object.create(prototype, {constructor: {value: Error}});
error = new Error('purchaseProduct: no valid user');
value = error instanceof Object ? error : value;
a1(value);
break reduciblePort47;
}
try {
binding = env3_0;
} catch (error) {
break exceptionLanding46;
}
try {
binding2 = env3_2;
} catch (error) {
break exceptionLanding46;
}
try {
property = binding2[15];
} catch (error) {
break exceptionLanding46;
}
try {
value4 = binding(property);
} catch (error) {
break exceptionLanding46;
}
try {
clearTransactionIOS = value4.clearTransactionIOS;
} catch (error) {
break exceptionLanding46;
}
try {
value5 = Reflect.apply(clearTransactionIOS, value4, []);
} catch (error) {
break exceptionLanding46;
}
yield value5;
try {
value6 = undefined;
value7 = false;
} catch (error) {
break exceptionLanding46;
}
if (value7) {
return value6;
}
try {
binding = env3_0;
} catch (error) {
break exceptionLanding46;
}
try {
binding3 = env3_2;
} catch (error) {
break exceptionLanding46;
}
try {
property = binding3[15];
} catch (error) {
break exceptionLanding46;
}
try {
value8 = binding(property);
} catch (error) {
break exceptionLanding46;
}
try {
requestPurchase = value8.requestPurchase;
} catch (error) {
break exceptionLanding46;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding46;
}
value9 = environment.__proto__.__proto__;
try {
} catch (error) {
break exceptionLanding46;
}
try {
object2.sku = require;
} catch (error) {
break exceptionLanding46;
}
try {
} catch (error) {
break exceptionLanding46;
}
try {
object2.appAccountToken = dependencyMap;
} catch (error) {
break exceptionLanding46;
}
try {
} catch (error) {
break exceptionLanding46;
}
try {
object2.withOffer = importDefault;
} catch (error) {
break exceptionLanding46;
}
try {
value10 = Reflect.apply(requestPurchase, value8, [object2]);
} catch (error) {
break exceptionLanding46;
}
yield value10;
try {
value11 = undefined;
value12 = false;
} catch (error) {
break exceptionLanding46;
}
if (value12) {
return value11;
}
try {
Object = global.Object;
} catch (error) {
break exceptionLanding46;
}
try {
value13 = value11 instanceof Object;
} catch (error) {
break exceptionLanding46;
}
if (value13) {
try {
binding = env3_11;
} catch (error) {
break exceptionLanding46;
}
try {
value = binding(value11);
} catch (error) {
break exceptionLanding46;
}
try {
a0(value);
} catch (error) {
break exceptionLanding46;
}
break reduciblePort47;
}
try {
Error = global.Error;
} catch (error) {
break exceptionLanding46;
}
try {
prototype = Error.prototype;
} catch (error) {
break exceptionLanding46;
}
try {
} catch (error) {
break exceptionLanding46;
}
try {
error = new Error('Unable to select a platform, no request was made');
} catch (error) {
break exceptionLanding46;
}
try {
value = error instanceof Object ? error : value;
} catch (error) {
break exceptionLanding46;
}
try {
throw value;
} catch (error) {
break exceptionLanding46;
}
}
a1(error);
break reduciblePort47;
}
}
function _fun59273(a0) { // fn#59273, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:3069, offset: 0x016e46e5, size: 64 bytes, params: 2, frame: 12
if (!a0) {
require(new global.Error());
}
env0_0(a0);
}
function* _fun59279(a0, a1) { // fn#59279, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:7533:3616, offset: 0x016e478e, size: 363 bytes, params: 3, frame: 20
var r7;
var binding;
var getCurrentUser;
var value3;
var Error;
var prototype;
var error;
var binding2;
var property;
var value4;
var requestPurchase;
var object2;
var value5;
var id;
var value6;
var value7;
var value8;
var value9;
var Object;
var value10;
var value12;
var value13;
var Array;
var isArray;
var isArray2;
var captureBillingException;
let value = undefined;
if (false) {
return value;
}
reduciblePort55: while (true) {
exceptionLanding54: while (true) {
value = environment.__proto__.__proto__.__proto__;
binding = env3_5;
getCurrentUser = binding.getCurrentUser;
value3 = Reflect.apply(getCurrentUser, binding, []);
if (value3 == null) {
Error = global.Error;
prototype = Error.prototype;
value = Object.create(prototype, {constructor: {value: Error}});
error = new Error('purchaseProduct: no valid user');
value = error instanceof Object ? error : value;
a1(value);
break reduciblePort55;
}
try {
binding = env3_0;
} catch (error) {
break exceptionLanding54;
}
try {
binding2 = env3_2;
} catch (error) {
break exceptionLanding54;
}
try {
property = binding2[15];
} catch (error) {
break exceptionLanding54;
}
try {
value4 = binding(property);
} catch (error) {
break exceptionLanding54;
}
try {
requestPurchase = value4.requestPurchase;
} catch (error) {
break exceptionLanding54;
}
try {
object2 = {};
} catch (error) {
break exceptionLanding54;
}
value5 = environment.__proto__.__proto__;
try {
} catch (error) {
break exceptionLanding54;
}
try {
object2.requestJSONString = require;
} catch (error) {
break exceptionLanding54;
}
try {
} catch (error) {
break exceptionLanding54;
}
try {
object2.sku = importDefault;
} catch (error) {
break exceptionLanding54;
}
try {
binding = env3_12;
} catch (error) {
break exceptionLanding54;
}
try {
id = value3.id;
} catch (error) {
break exceptionLanding54;
}
try {
value6 = binding(id);
} catch (error) {
break exceptionLanding54;
}
try {
object2.appAccountToken = value6;
} catch (error) {
break exceptionLanding54;
}
try {
object2.andDangerouslyFinishTransactionAutomaticallyIOS = false;
} catch (error) {
break exceptionLanding54;
}
try {
} catch (error) {
break exceptionLanding54;
}
try {
object2.useACOM = dependencyMap;
} catch (error) {
break exceptionLanding54;
}
try {
value7 = Reflect.apply(requestPurchase, value4, [object2]);
} catch (error) {
break exceptionLanding54;
}
yield value7;
try {
value8 = undefined;
value9 = false;
} catch (error) {
break exceptionLanding54;
}
if (value9) {
return value8;
}
try {
Object = global.Object;
} catch (error) {
break exceptionLanding54;
}
try {
value10 = value8 instanceof Object;
} catch (error) {
break exceptionLanding54;
}
if (value10) {
try {
object2 = {};
} catch (error) {
break exceptionLanding54;
}
try {
binding = env3_11;
} catch (error) {
break exceptionLanding54;
}
try {
value13 = binding(value8);
} catch (error) {
break exceptionLanding54;
}
try {
object2.purchaseResponse = value13;
} catch (error) {
break exceptionLanding54;
}
try {
Array = global.Array;
} catch (error) {
break exceptionLanding54;
}
try {
isArray = Array.isArray;
} catch (error) {
break exceptionLanding54;
}
try {
isArray2 = Reflect.apply(isArray, Array, [value8]);
} catch (error) {
break exceptionLanding54;
}
if (isArray2) {
try {
property = value8[0];
} catch (error) {
break exceptionLanding54;
}
r7 = property;
} else {
r7 = value8;
}
try {
object2.originalPurchase = r7;
} catch (error) {
break exceptionLanding54;
}
try {
a0(object2);
} catch (error) {
break exceptionLanding54;
}
break reduciblePort55;
}
try {
Error = global.Error;
} catch (error) {
break exceptionLanding54;
}
try {
prototype = Error.prototype;
} catch (error) {
break exceptionLanding54;
}
try {
} catch (error) {
break exceptionLanding54;
}
try {
error = new Error('Unable to select a platform, no request was made');
} catch (error) {
break exceptionLanding54;
}
try {
value12 = error instanceof Object ? error : undefined;
} catch (error) {
break exceptionLanding54;
}
try {
throw value12;
} catch (error) {
break exceptionLanding54;
}
}
binding = env3_0;
value = binding(env3_2[16]);
captureBillingException = value.captureBillingException;
Reflect.apply(captureBillingException, value, [error]);
a1(error);
break reduciblePort55;
}
}