@tanstack/react-start-client
Version:
Modern and scalable routing for React applications
25 lines (24 loc) • 605 B
JavaScript
import { isRedirect } from "@tanstack/router-core";
import { useRouter } from "@tanstack/react-router";
function useServerFn(serverFn) {
const router = useRouter();
return async (...args) => {
try {
const res = await serverFn(...args);
if (isRedirect(res)) {
throw res;
}
return res;
} catch (err) {
if (isRedirect(err)) {
err.options._fromLocation = router.state.location;
return router.navigate(router.resolveRedirect(err).options);
}
throw err;
}
};
}
export {
useServerFn
};
//# sourceMappingURL=useServerFn.js.map