// Metro module 8723 (f8724). import _asyncToGenerator from "../../../_bundle/_asyncToGenerator"; import _slicedToArray from "../../../_bundle/_slicedToArray"; import { useState, useCallback, useEffect } from "react"; import { OrderStatus } from "../../payments/PaymentConstants"; import OrbRedemptionOrdersExperiment from "../experiments/OrbRedemptionOrdersExperiment"; import BillingError from "../../../errors/BillingError"; import { OrderProcessingPendingError, fetchOrderEntitlements, OrderSigningFailedWithConstraintsError, signOrder } from "../../payments/OrderActionCreators"; import { isExpectedHttpClientError, captureBillingException } from "../../../utils/BillingUtils"; import { redeemVirtualCurrencyForSKU } from "../VirtualCurrencyActionCreators"; import { intl, t } from "../../../intl/index.native"; import { HermesBuiltin, $createGenerator } from "../../../_hermes/prelude"; function $mk118100($env) { return function* _loop(a0) { let env31979 = { $parent: $env }; env31979[0] = a0; env31979[2] = 0; env31979[3] = 0; L14: { const r23 = env31979.$parent; env31979[1] = r23; let c32128_0 = env31979[0]; if (r23[4].length > 0) { break L14; } yield new Promise((resolve) => setTimeout(resolve, c32128_0)); const r46 = env31979[1]; const r47 = r46.$parent.$parent; env31979[1][4] = yield (0, r47[0])(r47[2][6]).fetchOrderEntitlements(r46.$parent[7].id); return void 0; } return 1; }; } let env5687 = {}; export function useRedeemVirtualCurrency(a0) { let env16744 = { $parent: env5687 }; const r8 = _slicedToArray(useState(""), 2); const responseMessage = r8[0]; env16744[0] = r8[1]; const r22 = _slicedToArray(useState([]), 2); const entitlements = r22[0]; env16744[1] = entitlements; env16744[2] = r22[1]; const r12 = _slicedToArray(useState(null), 2); const error = r12[0]; env16744[3] = error; env16744[4] = r12[1]; const r28 = _slicedToArray(useState(false), 2); const isSubmitting = r28[0]; env16744[5] = r28[1]; const enabled = OrbRedemptionOrdersExperiment.useConfig({ location: "orb_checkout_modal" }).enabled; env16744[6] = enabled; let r15 = a0?.order; if (r15 == null) { r15 = null; } env16744[7] = r15; const onSignFailure = a0?.onSignFailure; env16744[8] = onSignFailure; let c16745_0 = _asyncToGenerator(function(c29975_0, loadId, c29975_2) { let c29975_3, c29975_4, c29975_5, c29975_6, next, c29975_8, c29975_9, c29975_10, c29975_12; let c29975_13 = 0; let c29975_14 = 0; let c29975_11 = 0; return $createGenerator(function(a0, a1, a2) { let r2, r13, r20, r21, r32, r36, r49, r52, r54, r69, r74, r99, r113, r133, r236, r258, r259, r279, r337, r338, method, method2, method3, value, value3, value4; let env31472; let $pc = 0, $e; while (true) { switch ($pc) { case 0: const r0 = c29975_14; r2 = r0; if (r0 === 2) { $pc = 98; continue; } $pc = 1; continue; case 1: const r30 = r2; r21 = void 0; r20 = env16744; r13 = Symbol; if (r30 === 3) { $pc = 93; continue; } $pc = 2; continue; case 2: try { c29975_14 = 2; r52 = c29975_13; if (r52 === 0) { $pc = 76; continue; } $pc = 3; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 3: try { if (r52 === 1) { $pc = 60; continue; } $pc = 4; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 4: try { if (r52 === 2) { $pc = 48; continue; } $pc = 5; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 5: try { if (r52 === 3) { $pc = 29; continue; } $pc = 6; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 6: try { if (r52 === 4) { $pc = 28; continue; } $pc = 7; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 7: try { if (r52 === 5) { $pc = 16; continue; } $pc = 8; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 8: try { const r39 = c29975_8; r32 = c29975_12; c29975_11 = 2; method = HermesBuiltin.getMethod(r39, "throw"); if (method === void 0) { $pc = 13; continue; } $pc = 9; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 9: try { r54 = method.call(c29975_8, r32); HermesBuiltin.ensureObject(r54, "iterator.throw() did not return an object"); if (r54.done) { $pc = 12; continue; } $pc = 10; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 10: try { c29975_13 = 5; c29975_14 = 1; $pc = 11; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 11: return r54; case 12: try { c29975_6 = r54; $pc = 37; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 13: try { method3 = HermesBuiltin.getMethod(c29975_8, "return"); if (method3 === void 0) { $pc = 15; continue; } $pc = 14; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 14: try { HermesBuiltin.ensureObject(method3.call(c29975_8), "iterator.return() did not return an object"); $pc = 15; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 15: try { HermesBuiltin.throwTypeError("yield* delegate must have a .throw() method"); $pc = 16; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 16: try { c29975_11 = 3; if (a0 === 1) { $pc = 27; continue; } $pc = 17; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 17: try { c29975_5 = a1; if (a0 === 2) { $pc = 19; continue; } $pc = 18; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 18: try { c29975_11 = 2; r69 = a1; $pc = 34; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 19: try { c29975_5 = a1; c29975_11 = 2; method2 = HermesBuiltin.getMethod(c29975_8, "return"); if (method2 === void 0) { $pc = 25; continue; } $pc = 20; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 20: try { r74 = method2.call(c29975_8, c29975_5); HermesBuiltin.ensureObject(r74, "iterator.return() did not return an object"); if (r74.done) { $pc = 23; continue; } $pc = 21; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 21: try { c29975_13 = 5; c29975_14 = 1; $pc = 22; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 22: return r74; case 23: try { value = r74.value; c29975_11 = 1; const r81 = c29975_3; if (r81 !== void 0 && typeof r81.return === "function") { r81.return(); } c29975_11 = 0; c29975_14 = 3; $pc = 24; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 24: return { value, done: true }; case 25: try { c29975_11 = 1; const r84 = c29975_3; if (r84 !== void 0 && typeof r84.return === "function") { r84.return(); } c29975_11 = 0; c29975_14 = 3; $pc = 26; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 26: return { value: a1, done: true }; case 27: try { c29975_14 = 3; throw a1; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 28: try { const r88 = c29975_12; c29975_11 = 1; const r90 = c29975_3; if (r90 !== void 0 && typeof r90.return === "function") { try { r90.return(); } catch {} } throw r88; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 29: try { if (a0 === 1) { $pc = 47; continue; } $pc = 30; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 30: try { if (a0 === 2) { $pc = 45; continue; } $pc = 31; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 31: try { const r91 = c29975_9; env31472[4] = a1; env31472[5] = $mk118100(r91); const r93 = [250, 500, 1000, 1500, 2500, 4250]; c29975_4 = r93; const r95 = r93[Symbol.iterator](); c29975_4 = r95.next; c29975_3 = r95; $pc = 32; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 32: try { const r97 = c29975_4; let r98 = c29975_3; r99 = r98 === void 0 ? void 0 : (r49 = r97.call(r98)).done ? r98 = void 0 : r49.value; c29975_3 = r98; if (r98 === void 0) { $pc = 40; continue; } $pc = 33; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 33: try { c29975_11 = 2; env31472[6] = r99; const r106 = (0, env31472[5])(env31472[6])[r13.iterator](); c29975_8 = r106; HermesBuiltin.ensureObject(r106, "iterator is not an object"); next = r106.next; c29975_5 = void 0; r69 = void 0; $pc = 34; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 34: try { r113 = next.call(c29975_8, r69); HermesBuiltin.ensureObject(r113, "iterator.next() did not return an object"); c29975_6 = r113; if (r113.done) { $pc = 37; continue; } $pc = 35; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 35: try { c29975_13 = 5; c29975_14 = 1; $pc = 36; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 36: return r113; case 37: try { const value2 = c29975_6.value; c29975_11 = 1; if (value2) { $pc = 39; continue; } $pc = 38; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 38: try { $pc = 32; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 39: try { const r121 = c29975_3; if (r121 !== void 0 && typeof r121.return === "function") { r121.return(); } $pc = 40; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 40: try { if (env31472[4].length === 0) { $pc = 44; continue; } $pc = 41; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 41: try { (0, env16744[2])(env31472[4]); (0, env16744[5])(false); r133 = env31472[2]; if (r133 == null) { $pc = 43; continue; } $pc = 42; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 42: try { r133(env31472[4]); $pc = 43; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 43: try { c29975_11 = 0; $pc = 70; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 44: try { throw new OrderProcessingPendingError(); } catch ($caught) { $e = $caught; $pc = 86; continue; } case 45: try { c29975_11 = 0; c29975_14 = 3; $pc = 46; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 46: return { value: a1, done: true }; case 47: try { c29975_14 = 3; throw a1; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 48: try { if (a0 === 1) { $pc = 59; continue; } $pc = 49; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 49: try { if (a0 === 2) { $pc = 57; continue; } $pc = 50; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 50: try { env31472[3] = a1; if (env31472[3].status !== OrderStatus.SIGNED) { $pc = 53; continue; } $pc = 51; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 51: try { value3 = fetchOrderEntitlements(env16744[7].id); c29975_13 = 3; c29975_14 = 1; $pc = 52; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 52: return { value: value3, done: false }; case 53: try { if (env31472[3].errors == null) { $pc = 55; continue; } $pc = 54; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 54: try { if (env31472[3].errors.length > 0) { $pc = 56; continue; } $pc = 55; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 55: try { throw new Error(`Unexpected order status: ${env31472[3].status}`); } catch ($caught) { $e = $caught; $pc = 86; continue; } case 56: try { throw new Error(`Order signing failed with errors: ${env31472[3].errors.join(", ")}`); } catch ($caught) { $e = $caught; $pc = 86; continue; } case 57: try { c29975_11 = 0; c29975_14 = 3; $pc = 58; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 58: return { value: a1, done: true }; case 59: try { c29975_14 = 3; throw a1; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 60: try { const r206 = c29975_12; c29975_11 = 0; env31472[8] = r206; const r208 = env31472[8]; if (r208 instanceof OrderSigningFailedWithConstraintsError) { $pc = 72; continue; } $pc = 61; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 61: try { const r218 = env31472[8]; const r224 = r218 instanceof BillingError; if (r224) { $pc = 63; continue; } $pc = 62; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 62: try { r236 = new BillingError(env31472[8]); $pc = 64; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 63: try { r236 = env31472[8]; $pc = 64; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 64: try { env31472[7] = r236; if (isExpectedHttpClientError(env31472[8])) { $pc = 69; continue; } $pc = 65; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 65: try { const r257 = env31472[8] instanceof Error; r258 = c29975_9; if (r257) { $pc = 67; continue; } $pc = 66; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 66: try { r259 = env31472[7]; r36 = r258; $pc = 68; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 67: try { r259 = env31472[8]; r36 = r258; $pc = 68; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 68: try { captureBillingException(r259, { tags: { source: "orb_redeem_orders_api" }, extra: { skuId: env31472[0], loadId: env31472[1], orderId: env16744[7].id } }); $pc = 69; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 69: try { (0, env16744[4])(env31472[7]); (0, env16744[5])(false); $pc = 70; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 70: try { c29975_14 = 3; $pc = 71; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 71: return { value: void 0, done: true }; case 72: try { r279 = env16744[8]; if (r279 == null) { $pc = 74; continue; } $pc = 73; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 73: try { r279(env31472[8].order); $pc = 74; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 74: try { (0, env16744[4])(env31472[8]); (0, env16744[5])(false); c29975_14 = 3; $pc = 75; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 75: return { value: void 0, done: true }; case 76: try { if (a0 === 1) { $pc = 85; continue; } $pc = 77; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 77: try { if (a0 === 2) { $pc = 83; continue; } $pc = 78; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 78: try { c29975_10 = r21; const r295 = env31472 = { $parent: r20 }; c29975_9 = r295; env31472[0] = c29975_0; env31472[1] = loadId; env31472[2] = c29975_2; env31472[3] = void 0; env31472[4] = void 0; env31472[5] = void 0; env31472[6] = void 0; env31472[7] = void 0; if (env16744[7] == null) { $pc = 81; continue; } $pc = 79; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 79: try { (0, env16744[5])(true); (0, env16744[4])(null); c29975_11 = 1; value4 = signOrder({ orderId: env16744[7].id, loadId }); c29975_13 = 2; c29975_14 = 1; $pc = 80; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 80: return { value: value4, done: false }; case 81: try { (0, env16744[4])(new BillingError("Order not created yet")); (0, env16744[5])(false); c29975_14 = 3; $pc = 82; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 82: return { value: void 0, done: true }; case 83: try { c29975_14 = 3; $pc = 84; continue; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 84: return { value: a1, done: true }; case 85: try { c29975_14 = 3; throw a1; } catch ($caught) { $e = $caught; $pc = 86; continue; } case 86: const r336 = $e; r337 = r336; c29975_12 = r336; r338 = c29975_11; if (r338 === 0) { $pc = 92; continue; } $pc = 87; continue; case 87: if (r338 === 1) { $pc = 91; continue; } $pc = 88; continue; case 88: if (r338 === 2) { $pc = 90; continue; } $pc = 89; continue; case 89: c29975_13 = 6; $pc = 2; continue; case 90: c29975_13 = 4; $pc = 2; continue; case 91: c29975_13 = 1; $pc = 2; continue; case 92: c29975_14 = 3; throw r337; case 93: if (a0 === 1) { $pc = 97; continue; } $pc = 94; continue; case 94: if (a0 === 2) { $pc = 96; continue; } $pc = 95; continue; case 95: return { value: void 0, done: true }; case 96: return { value: a1, done: true }; case 97: throw a1; case 98: c29975_14 = 3; HermesBuiltin.throwTypeError("Generator functions may not be called on executing generators"); throw new Error("unreachable"); } throw new Error("bad pc " + $pc); } }); }); const callback = useCallback(function(a0, a1, a2) { return c16745_0.apply(this, arguments); }, [r15, onSignFailure]); env16744[9] = callback; const callback2 = useCallback((a0, a1, c26277_0) => redeemVirtualCurrencyForSKU({ skuId: a0, loadId: a1, onRedeemStart: function onRedeemStart() { (0, env16744[5])(true); (0, env16744[4])(null); }, onRedeemSucceed: function onRedeemSucceed(a0) { (0, env16744[2])(a0); (0, env16744[5])(false); if (c26277_0 != null) { c26277_0(a0); } }, onRedeemFail: function onRedeemFail(a0) { (0, env16744[4])(a0); (0, env16744[5])(false); } }), []); env16744[10] = callback2; const callback3 = useCallback((a0, a1, a2) => { if (env16744[6]) { (0, env16744[9])(a0, a1, a2); } else { (0, env16744[10])(a0, a1, a2); } }, [enabled, callback, callback2]); (0, useEffect)(() => { L10: { const r8 = env16744[3]; if (r8 == null) { const r11 = env16744[1]; if (r11 != null && r11.length > 0) { const r46 = r11.map((item) => item.sku?.name); (0, env16744[0])(intl.format(t.JxNFav, { amountDescription: "1 orb", redeemedItemDescription: `${r46.length === 1 ? "SKU" : "SKUs"}: ${r46.join(", ")}. Entitlement ${r11.length === 1 ? "ID" : "IDs"}: ${r11.map((item) => item.id).join(", ")}` })); break L10; } (0, env16744[0])(""); } else { (0, env16744[0])(intl.format(t["7gHWrd"], { amount: "1 orb", errorMessage: r8.message })); } } }, [entitlements, error]); return { entitlements, error, isSubmitting, responseMessage, redeemVirtualCurrency: callback3 }; }