65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
// Metro module 8223 (f8224).
|
|
import { useState } from "react";
|
|
import { APIError } from "../errors/index";
|
|
export default function useLazyAPIPromise(c16380_0, c16380_1) {
|
|
let _execFn2 = function _execFn() {
|
|
const r9 = async () => {
|
|
let r58;
|
|
let c29925_2;
|
|
let c29925_3 = 0;
|
|
let c31461_0, c31461_1, c31461_2;
|
|
try {
|
|
c31461_0 = void 0;
|
|
c31461_1 = void 0;
|
|
setState(true);
|
|
setState2(null);
|
|
c29925_3 = 1;
|
|
c31461_0 = await c16380_0();
|
|
(0, setState)(false);
|
|
(0, setState2)(null);
|
|
r58 = c31461_0;
|
|
c29925_3 = 0;
|
|
} catch ($e) {
|
|
const r27 = $e;
|
|
let r7 = r27;
|
|
c29925_2 = r27;
|
|
if (c29925_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r67 = c29925_2;
|
|
c29925_3 = 0;
|
|
c31461_2 = r67;
|
|
c31461_1 = new APIError(c31461_2);
|
|
if (c16380_1 != null) {
|
|
c16380_1(c31461_1);
|
|
}
|
|
(0, setState2)(c31461_1);
|
|
(0, setState)(false);
|
|
} catch (r63) {
|
|
r7 = r63;
|
|
c29925_2 = r63;
|
|
if (c29925_3 === 0) {
|
|
break;
|
|
}
|
|
continue;
|
|
}
|
|
return null;
|
|
}
|
|
}
|
|
throw r7;
|
|
}
|
|
return r58;
|
|
};
|
|
_execFn2 = r9;
|
|
return r9.apply(this, arguments);
|
|
};
|
|
const [loading, setState] = useState(false);
|
|
const [error, setState2] = useState(null);
|
|
return [function execFn() {
|
|
return _execFn2.apply(this, arguments);
|
|
}, {
|
|
loading,
|
|
error
|
|
}];
|
|
};
|