UNPKG

fully-react

Version:
22 lines (20 loc) 617 B
// 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 };