Initial commit of eigent-main

This commit is contained in:
puzhen 2025-08-12 01:16:39 +02:00
commit 723df5a03e
1144 changed files with 103478 additions and 0 deletions

View file

@ -0,0 +1,38 @@
// src/hooks/use-async-callback.tsx
import React from "react";
import { captureError } from "../utils/errors";
function useAsyncCallback(callback, deps) {
const [error, setError] = React.useState(void 0);
const [loadingCount, setLoadingCount] = React.useState(0);
const cb = React.useCallback(
async (...args) => {
setLoadingCount((c) => c + 1);
try {
return await callback(...args);
} catch (e) {
setError(e);
throw e;
} finally {
setLoadingCount((c) => c - 1);
}
},
deps
);
return [cb, loadingCount > 0, error];
}
function useAsyncCallbackWithLoggedError(callback, deps) {
const [newCallback, loading] = useAsyncCallback(async (...args) => {
try {
return await callback(...args);
} catch (e) {
captureError("async-callback", e);
throw e;
}
}, deps);
return [newCallback, loading];
}
export {
useAsyncCallback,
useAsyncCallbackWithLoggedError
};
//# sourceMappingURL=use-async-callback.js.map