fully-react
Version:
React Server for Vite
22 lines (20 loc) • 617 B
JavaScript
// src/shared/redirect.ts
var REDIRECT_ERROR_CODE = "REDIRECT";
function redirect(url) {
const error = new Error(REDIRECT_ERROR_CODE);
error.digest = `${REDIRECT_ERROR_CODE};${url}`;
throw error;
}
function isRedirectError(error) {
return typeof error?.digest === "string" && error.digest.startsWith(REDIRECT_ERROR_CODE + ";") && error.digest.length > REDIRECT_ERROR_CODE.length + 1;
}
function getURLFromRedirectError(error) {
if (!isRedirectError(error))
return null;
return error.digest.slice(REDIRECT_ERROR_CODE.length + 1);
}
export {
redirect,
isRedirectError,
getURLFromRedirectError
};