decord/source/modules/checkout/native/useSyncGiftOptionsToOrder.tsx
2026-07-30 10:14:41 +00:00

152 lines
5.4 KiB
TypeScript

// Module ID: 9766
// Function ID: 9767
// Name: useSyncGiftOptionsToOrder
// Dependencies: [32, 19, 3, 6220, 3850, 2]
// Exports: default
// Module 9766 (useSyncGiftOptionsToOrder)
import _slicedToArray from "_slicedToArray";
import noop from "noop";
const require = arg1;
let c4 = new require("getOrders")("useSyncGiftOptionsToOrder");
const tmp2 = new require("getOrders")("useSyncGiftOptionsToOrder");
let result = require("timestamp").fileFinishedImporting("modules/checkout/native/useSyncGiftOptionsToOrder.tsx");
export default function useSyncGiftOptionsToOrder(arg0, arg1) {
let closure_11;
let tmp2;
let closure_0 = arg0;
let closure_1 = arg1;
let callback = React.useRef(null);
React = React.useRef(null);
let closure_4 = React.useRef(false);
let closure_5 = React.useRef(undefined);
let closure_6 = React.useRef(null);
let closure_7 = React.useRef(0);
let closure_8 = React.useRef(null);
let closure_9 = React.useRef(null);
let closure_10 = React.useRef([]);
[tmp2, closure_11] = callback(React.useState(0), 2);
callback = React.useCallback((arg0) => {
closure_10.current = [];
for (const item10008 of tmp) {
let item10008Result = item10008(arg0);
continue;
}
}, []);
const items = [callback];
const effect = React.useEffect(() => () => {
if (null != ref.current) {
const _clearTimeout = clearTimeout;
clearTimeout(tmp.current);
}
callback(false);
}, items);
const items1 = [arg0, arg1, tmp2, callback];
const effect1 = React.useEffect(() => {
if (null != id) {
id = tmp.id;
noop.current = table;
if (ref5.current !== id) {
ref5.current = id;
ref4.current = tmp.revision;
ref.current = null;
closure_7.current = 0;
}
if (ref7.current !== table) {
closure_7.current = 0;
}
if (!ref3.current) {
if (ref.current !== tmp5) {
if (null != ref8.current) {
const _clearTimeout = clearTimeout;
clearTimeout(tmp15.current);
tmp15.current = null;
}
tmp11.current = true;
tmp9.current = tmp5;
let obj = callback(table[3]);
obj = { orderId: null, giftInfo: null, expectedRevision: null };
obj[0] = id;
obj = { recipient_id: null, gift_style: null, emoji_id: null, emoji_name: null, sound_id: null, reward_sku_ids: null, custom_message_contents: null };
({ recipient_id: obj3[0], gift_style: obj3[1], emoji_id: obj3[2], emoji_name: obj3[3], sound_id: obj3[4], reward_sku_ids: obj3[5], custom_message: obj3[6] } = tmp5);
obj[1] = obj;
obj[2] = ref4.current;
const updateOrderResult = obj.updateOrder(obj);
const nextPromise = obj.updateOrder(obj).then((current) => {
closure_5.current = current;
_slicedToArray.current = closure_1;
closure_7.current = 0;
});
obj.updateOrder(obj).then((current) => {
closure_5.current = current;
_slicedToArray.current = closure_1;
closure_7.current = 0;
}).catch((error) => {
outer1_7.current = outer1_7.current + 1;
let obj = { error, orderId: id };
logger.error("Failed to sync gift customization to order", obj);
obj = { orderId: id };
const result = id(table[4]).captureBillingException(error, { tags: { source: "useSyncGiftOptionsToOrder" }, extra: obj });
}).finally(() => {
closure_4.current = false;
if (ref.current !== ref2.current) {
if (0 === ref3.current) {
callback((arg0) => arg0 + 1);
} else if (tmp3.current < 3) {
const _setTimeout = setTimeout;
closure_9.current = setTimeout(() => callback((arg0) => arg0 + 1), 500 * 2 ** (tmp3.current - 1));
} else {
callback2(false);
}
} else {
callback2(true);
}
});
const catchPromise = obj.updateOrder(obj).then((current) => {
closure_5.current = current;
_slicedToArray.current = closure_1;
closure_7.current = 0;
}).catch((error) => {
outer1_7.current = outer1_7.current + 1;
let obj = { error, orderId: id };
logger.error("Failed to sync gift customization to order", obj);
obj = { orderId: id };
const result = id(table[4]).captureBillingException(error, { tags: { source: "useSyncGiftOptionsToOrder" }, extra: obj });
});
} else {
callback(true);
}
}
tmp9 = ref7;
} else {
callback(true);
}
}, items1);
const items2 = [arg0];
const callback1 = React.useCallback(() => {
if (null != closure_0) {
if (ref.current !== ref2.current) {
if (ref6.current >= 3) {
tmp3.current = 0;
}
let resolved = new Promise((arg0) => {
let current = ref3.current;
current.push(arg0);
current = ref.current;
if (!current) {
current = null != ref2.current;
}
if (!current) {
callback((arg0) => arg0 + 1);
}
});
}
return resolved;
}
resolved = Promise.resolve(true);
}, items2);
const items3 = [callback1];
return React.useMemo(() => ({ awaitSync: callback1 }), items3);
};