@tanstack/solid-start
Version:
Modern and scalable routing for Solid applications
22 lines (21 loc) • 554 B
JavaScript
import { isRedirect, useRouter } from "@tanstack/solid-router";
//#region src/useServerFn.ts
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;
}
});
}
//#endregion
export { useServerFn };
//# sourceMappingURL=useServerFn.js.map