UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

30 lines (29 loc) 1.03 kB
import { isModuleNotFoundError } from "@tanstack/router-core"; import { lazy } from "solid-js"; //#region src/lazyRouteComponent.tsx function lazyRouteComponent(importer, exportName) { const resolvedExport = exportName ?? "default"; let preloadPromise; const comp = lazy(() => importer().catch((error) => { if (isModuleNotFoundError(error) && error instanceof Error && typeof window !== "undefined" && typeof sessionStorage !== "undefined") { const storageKey = `tanstack_router_reload:${error.message}`; if (!sessionStorage.getItem(storageKey)) { sessionStorage.setItem(storageKey, "1"); window.location.reload(); return { [resolvedExport]: () => null }; } } throw error; }), { export: resolvedExport }); const load = comp.preload; comp.preload = () => { if (!preloadPromise) preloadPromise = load().then(() => {}, () => { preloadPromise = void 0; }); return preloadPromise; }; return comp; } //#endregion export { lazyRouteComponent }; //# sourceMappingURL=lazyRouteComponent.js.map