vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
24 lines (23 loc) • 872 B
JavaScript
export { isNewError };
export { setAlreadyLogged };
export { hasAlreadyLogged };
import { getGlobalObject, isObject, isSameErrorMessage, warnIfErrorIsNotObject } from '../utils.js';
const globalObject = getGlobalObject('renderPage/isNewError.ts', {
wasAlreadyLogged: new WeakSet(),
});
function isNewError(errErrorPage, errNominalPage) {
warnIfErrorIsNotObject(errErrorPage);
return (!isSameErrorMessage(errNominalPage, errErrorPage) ||
// Isn't this redudant/superfluous? I think we can remove this entire file and only use isSameErrorMessage() instead.
!hasAlreadyLogged(errNominalPage));
}
function hasAlreadyLogged(err) {
if (!isObject(err))
return false;
return globalObject.wasAlreadyLogged.has(err);
}
function setAlreadyLogged(err) {
if (!isObject(err))
return;
globalObject.wasAlreadyLogged.add(err);
}