Files
discord-decomp/hooks/useRequest.tsx
T
2026-11-01 12:12:55 +02:00

73 lines
1.8 KiB
TypeScript

// Metro module 11377 (f11378).
import { useState, useCallback } from "react";
import { intl, t } from "../intl/index.native";
import APIError from "../errors/APIError";
export default function useRequest(a0) {
const [loading, setState] = useState(false);
const [error, setState2] = useState(null);
return [useCallback(async function(...c27045_0) {
let r71;
let c27045_3;
let c27045_4 = 0;
let c30397_0, c30397_1;
try {
c30397_0 = c27045_0;
await void 0;
c27045_4 = 2;
(0, setState2)(null);
(0, setState)(true);
r71 = await a0.apply(void 0, [...c30397_0]);
c27045_4 = 0;
(0, setState)(false);
} catch ($e) {
const r32 = $e;
let r7 = r32;
c27045_3 = r32;
let r33 = c27045_4;
if (r33 !== 0) {
while (true) {
if (r33 !== 1) {
try {
const r95 = c27045_3;
c27045_4 = 1;
c30397_1 = r95;
if (c30397_1.message !== intl.string(t.N2yb9a)) {
setState2(c30397_1 instanceof APIError ? c30397_1 : new APIError(c30397_1));
}
c27045_4 = 0;
(0, setState)(false);
} catch (r92) {
r7 = r92;
c27045_3 = r92;
r33 = c27045_4;
if (r33 === 0) {
break;
}
continue;
}
return void 0;
}
try {
const r140 = c27045_3;
c27045_4 = 0;
(0, setState)(false);
throw r140;
} catch (r138) {
r7 = r138;
c27045_3 = r138;
r33 = c27045_4;
if (r33 === 0) {
break;
}
}
}
}
throw r7;
}
return r71;
}, [a0]), {
loading,
error
}];
};