@pyreon/router 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/analysis/index.js.html +1 -1
- package/lib/index.js +283 -30
- package/lib/index.js.map +1 -1
- package/lib/types/index.d.ts +285 -29
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index2.d.ts +118 -5
- package/lib/types/index2.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/components.tsx +2 -1
- package/src/index.ts +12 -1
- package/src/match.ts +94 -28
- package/src/router.ts +336 -25
- package/src/tests/router.test.ts +629 -2
- package/src/types.ts +79 -7
package/lib/types/index.d.ts
CHANGED
|
@@ -140,18 +140,28 @@ function compileSegment(raw) {
|
|
|
140
140
|
raw,
|
|
141
141
|
isParam: true,
|
|
142
142
|
isSplat: true,
|
|
143
|
+
isOptional: false,
|
|
144
|
+
paramName: raw.slice(1, -1)
|
|
145
|
+
};
|
|
146
|
+
if (raw.endsWith("?") && raw.startsWith(":")) return {
|
|
147
|
+
raw,
|
|
148
|
+
isParam: true,
|
|
149
|
+
isSplat: false,
|
|
150
|
+
isOptional: true,
|
|
143
151
|
paramName: raw.slice(1, -1)
|
|
144
152
|
};
|
|
145
153
|
if (raw.startsWith(":")) return {
|
|
146
154
|
raw,
|
|
147
155
|
isParam: true,
|
|
148
156
|
isSplat: false,
|
|
157
|
+
isOptional: false,
|
|
149
158
|
paramName: raw.slice(1)
|
|
150
159
|
};
|
|
151
160
|
return {
|
|
152
161
|
raw,
|
|
153
162
|
isParam: false,
|
|
154
163
|
isSplat: false,
|
|
164
|
+
isOptional: false,
|
|
155
165
|
paramName: ""
|
|
156
166
|
};
|
|
157
167
|
}
|
|
@@ -183,14 +193,33 @@ function compileRoute(route) {
|
|
|
183
193
|
firstSegment
|
|
184
194
|
};
|
|
185
195
|
}
|
|
196
|
+
/** Expand alias paths into additional compiled entries sharing the original RouteRecord */
|
|
197
|
+
function expandAliases(r, c) {
|
|
198
|
+
if (!r.alias) return [];
|
|
199
|
+
return (Array.isArray(r.alias) ? r.alias : [r.alias]).map(aliasPath => {
|
|
200
|
+
const {
|
|
201
|
+
alias: _,
|
|
202
|
+
...withoutAlias
|
|
203
|
+
} = r;
|
|
204
|
+
const ac = compileRoute({
|
|
205
|
+
...withoutAlias,
|
|
206
|
+
path: aliasPath
|
|
207
|
+
});
|
|
208
|
+
ac.children = c.children;
|
|
209
|
+
ac.route = r;
|
|
210
|
+
return ac;
|
|
211
|
+
});
|
|
212
|
+
}
|
|
186
213
|
function compileRoutes(routes) {
|
|
187
214
|
const cached = _compiledCache.get(routes);
|
|
188
215
|
if (cached) return cached;
|
|
189
|
-
const compiled =
|
|
216
|
+
const compiled = [];
|
|
217
|
+
for (const r of routes) {
|
|
190
218
|
const c = compileRoute(r);
|
|
191
219
|
if (r.children && r.children.length > 0) c.children = compileRoutes(r.children);
|
|
192
|
-
|
|
193
|
-
|
|
220
|
+
compiled.push(c);
|
|
221
|
+
compiled.push(...expandAliases(r, c));
|
|
222
|
+
}
|
|
194
223
|
_compiledCache.set(routes, compiled);
|
|
195
224
|
return compiled;
|
|
196
225
|
}
|
|
@@ -203,6 +232,9 @@ function getFirstSegment(segments) {
|
|
|
203
232
|
/** Build a FlattenedRoute from segments + metadata */
|
|
204
233
|
function makeFlatEntry(segments, chain, meta, isWildcard) {
|
|
205
234
|
const isStatic = !isWildcard && segments.every(s => !s.isParam);
|
|
235
|
+
const hasOptional = segments.some(s => s.isOptional);
|
|
236
|
+
let minSegs = segments.length;
|
|
237
|
+
if (hasOptional) while (minSegs > 0 && segments[minSegs - 1]?.isOptional) minSegs--;
|
|
206
238
|
return {
|
|
207
239
|
segments,
|
|
208
240
|
segmentCount: segments.length,
|
|
@@ -212,7 +244,9 @@ function makeFlatEntry(segments, chain, meta, isWildcard) {
|
|
|
212
244
|
meta,
|
|
213
245
|
firstSegment: getFirstSegment(segments),
|
|
214
246
|
hasSplat: segments.some(s => s.isSplat),
|
|
215
|
-
isWildcard
|
|
247
|
+
isWildcard,
|
|
248
|
+
hasOptional,
|
|
249
|
+
minSegments: minSegs
|
|
216
250
|
};
|
|
217
251
|
}
|
|
218
252
|
/**
|
|
@@ -304,22 +338,31 @@ function captureSplat(pathParts, from, pathLen) {
|
|
|
304
338
|
}
|
|
305
339
|
return remaining.join("/");
|
|
306
340
|
}
|
|
341
|
+
/** Check whether a flattened route's segment count is compatible with the path length */
|
|
342
|
+
function isSegmentCountCompatible(f, pathLen) {
|
|
343
|
+
if (f.segmentCount === pathLen) return true;
|
|
344
|
+
if (f.hasSplat && pathLen >= f.segmentCount) return true;
|
|
345
|
+
if (f.hasOptional && pathLen >= f.minSegments && pathLen <= f.segmentCount) return true;
|
|
346
|
+
return false;
|
|
347
|
+
}
|
|
307
348
|
/** Try to match a flattened route against path parts */
|
|
308
349
|
function matchFlattened(f, pathParts, pathLen) {
|
|
309
|
-
if (f
|
|
310
|
-
if (!f.hasSplat || pathLen < f.segmentCount) return null;
|
|
311
|
-
}
|
|
350
|
+
if (!isSegmentCountCompatible(f, pathLen)) return null;
|
|
312
351
|
const params = {};
|
|
313
352
|
const segments = f.segments;
|
|
314
353
|
const count = f.segmentCount;
|
|
315
354
|
for (let i = 0; i < count; i++) {
|
|
316
355
|
const seg = segments[i];
|
|
317
356
|
const pt = pathParts[i];
|
|
318
|
-
if (!seg
|
|
357
|
+
if (!seg) return null;
|
|
319
358
|
if (seg.isSplat) {
|
|
320
359
|
params[seg.paramName] = captureSplat(pathParts, i, pathLen);
|
|
321
360
|
return params;
|
|
322
361
|
}
|
|
362
|
+
if (pt === void 0) {
|
|
363
|
+
if (!seg.isOptional) return null;
|
|
364
|
+
continue;
|
|
365
|
+
}
|
|
323
366
|
if (seg.isParam) params[seg.paramName] = decodeSafe(pt);else if (seg.raw !== pt) return null;
|
|
324
367
|
}
|
|
325
368
|
return params;
|
|
@@ -411,7 +454,11 @@ function mergeMeta(matched) {
|
|
|
411
454
|
}
|
|
412
455
|
/** Build a path string from a named route's pattern and params */
|
|
413
456
|
function buildPath(pattern, params) {
|
|
414
|
-
return pattern.replace(
|
|
457
|
+
return pattern.replace(/\/:([^/]+)\?/g, (_match, key) => {
|
|
458
|
+
const val = params[key];
|
|
459
|
+
if (!val) return "";
|
|
460
|
+
return `/${encodeURIComponent(val)}`;
|
|
461
|
+
}).replace(/:([^/]+)\*?/g, (match, key) => {
|
|
415
462
|
const val = params[key] ?? "";
|
|
416
463
|
if (match.endsWith("*")) return val.split("/").map(encodeURIComponent).join("/");
|
|
417
464
|
return encodeURIComponent(val);
|
|
@@ -486,6 +533,113 @@ function useRoute() {
|
|
|
486
533
|
if (!router) throw new Error("[pyreon-router] No router installed. Wrap your app in <RouterProvider router={router}>.");
|
|
487
534
|
return router.currentRoute;
|
|
488
535
|
}
|
|
536
|
+
/**
|
|
537
|
+
* In-component guard: called before the component's route is left.
|
|
538
|
+
* Return `false` to cancel, a string to redirect, or `undefined`/`true` to proceed.
|
|
539
|
+
* Automatically removed on component unmount.
|
|
540
|
+
*
|
|
541
|
+
* @example
|
|
542
|
+
* onBeforeRouteLeave((to, from) => {
|
|
543
|
+
* if (hasUnsavedChanges()) return false
|
|
544
|
+
* })
|
|
545
|
+
*/
|
|
546
|
+
function onBeforeRouteLeave(guard) {
|
|
547
|
+
const router = useContext(RouterContext) ?? _activeRouter;
|
|
548
|
+
if (!router) throw new Error("[pyreon-router] No router installed. Wrap your app in <RouterProvider router={router}>.");
|
|
549
|
+
const currentMatched = router.currentRoute().matched;
|
|
550
|
+
const wrappedGuard = (to, from) => {
|
|
551
|
+
if (!from.matched.some(r => currentMatched.includes(r))) return void 0;
|
|
552
|
+
return guard(to, from);
|
|
553
|
+
};
|
|
554
|
+
const remove = router.beforeEach(wrappedGuard);
|
|
555
|
+
onUnmount(() => remove());
|
|
556
|
+
return remove;
|
|
557
|
+
}
|
|
558
|
+
/**
|
|
559
|
+
* In-component guard: called when the route changes but the component is reused
|
|
560
|
+
* (e.g. `/user/1` → `/user/2`). Useful for reacting to param changes.
|
|
561
|
+
* Automatically removed on component unmount.
|
|
562
|
+
*
|
|
563
|
+
* @example
|
|
564
|
+
* onBeforeRouteUpdate((to, from) => {
|
|
565
|
+
* if (!isValidId(to.params.id)) return false
|
|
566
|
+
* })
|
|
567
|
+
*/
|
|
568
|
+
function onBeforeRouteUpdate(guard) {
|
|
569
|
+
const router = useContext(RouterContext) ?? _activeRouter;
|
|
570
|
+
if (!router) throw new Error("[pyreon-router] No router installed. Wrap your app in <RouterProvider router={router}>.");
|
|
571
|
+
const currentMatched = router.currentRoute().matched;
|
|
572
|
+
const wrappedGuard = (to, from) => {
|
|
573
|
+
if (!to.matched.some(r => currentMatched.includes(r))) return void 0;
|
|
574
|
+
return guard(to, from);
|
|
575
|
+
};
|
|
576
|
+
const remove = router.beforeEach(wrappedGuard);
|
|
577
|
+
onUnmount(() => remove());
|
|
578
|
+
return remove;
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Register a navigation blocker. The `fn` callback is called before each
|
|
582
|
+
* navigation — return `true` (or resolve to `true`) to block it.
|
|
583
|
+
*
|
|
584
|
+
* Automatically removed on component unmount if called during component setup.
|
|
585
|
+
* Also installs a `beforeunload` handler so the browser shows a confirmation
|
|
586
|
+
* dialog when the user tries to close the tab while a blocker is active.
|
|
587
|
+
*
|
|
588
|
+
* @example
|
|
589
|
+
* const blocker = useBlocker((to, from) => {
|
|
590
|
+
* return hasUnsavedChanges() && !confirm("Discard changes?")
|
|
591
|
+
* })
|
|
592
|
+
* // later: blocker.remove()
|
|
593
|
+
*/
|
|
594
|
+
function useBlocker(fn) {
|
|
595
|
+
const router = useContext(RouterContext) ?? _activeRouter;
|
|
596
|
+
if (!router) throw new Error("[pyreon-router] No router installed. Wrap your app in <RouterProvider router={router}>.");
|
|
597
|
+
router._blockers.add(fn);
|
|
598
|
+
const beforeUnloadHandler = _isBrowser ? e => {
|
|
599
|
+
e.preventDefault();
|
|
600
|
+
} : null;
|
|
601
|
+
if (beforeUnloadHandler) window.addEventListener("beforeunload", beforeUnloadHandler);
|
|
602
|
+
const remove = () => {
|
|
603
|
+
router._blockers.delete(fn);
|
|
604
|
+
if (beforeUnloadHandler) window.removeEventListener("beforeunload", beforeUnloadHandler);
|
|
605
|
+
};
|
|
606
|
+
onUnmount(() => remove());
|
|
607
|
+
return {
|
|
608
|
+
remove
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
/**
|
|
612
|
+
* Reactive read/write access to the current route's query parameters.
|
|
613
|
+
*
|
|
614
|
+
* Returns `[get, set]` where `get` is a reactive signal producing the merged
|
|
615
|
+
* query object and `set` navigates to the current path with updated params.
|
|
616
|
+
*
|
|
617
|
+
* @example
|
|
618
|
+
* const [params, setParams] = useSearchParams({ page: "1", sort: "name" })
|
|
619
|
+
* params().page // "1" if not in URL
|
|
620
|
+
* setParams({ page: "2" }) // navigates to ?page=2&sort=name
|
|
621
|
+
*/
|
|
622
|
+
function useSearchParams(defaults) {
|
|
623
|
+
const router = useContext(RouterContext) ?? _activeRouter;
|
|
624
|
+
if (!router) throw new Error("[pyreon-router] No router installed. Wrap your app in <RouterProvider router={router}>.");
|
|
625
|
+
const get = () => {
|
|
626
|
+
const query = router.currentRoute().query;
|
|
627
|
+
if (!defaults) return query;
|
|
628
|
+
return {
|
|
629
|
+
...defaults,
|
|
630
|
+
...query
|
|
631
|
+
};
|
|
632
|
+
};
|
|
633
|
+
const set = updates => {
|
|
634
|
+
const merged = {
|
|
635
|
+
...get(),
|
|
636
|
+
...updates
|
|
637
|
+
};
|
|
638
|
+
const path = router.currentRoute().path + stringifyQuery(merged);
|
|
639
|
+
return router.replace(path);
|
|
640
|
+
};
|
|
641
|
+
return [get, set];
|
|
642
|
+
}
|
|
489
643
|
function createRouter(options) {
|
|
490
644
|
const opts = Array.isArray(options) ? {
|
|
491
645
|
routes: options
|
|
@@ -495,27 +649,29 @@ function createRouter(options) {
|
|
|
495
649
|
mode = "hash",
|
|
496
650
|
scrollBehavior,
|
|
497
651
|
onError,
|
|
498
|
-
maxCacheSize = 100
|
|
652
|
+
maxCacheSize = 100,
|
|
653
|
+
trailingSlash = "strip"
|
|
499
654
|
} = opts;
|
|
655
|
+
const base = mode === "history" ? normalizeBase(opts.base ?? "") : "";
|
|
500
656
|
const nameIndex = buildNameIndex(routes);
|
|
501
657
|
const guards = [];
|
|
502
658
|
const afterHooks = [];
|
|
503
659
|
const scrollManager = new ScrollManager(scrollBehavior);
|
|
504
660
|
let _navGen = 0;
|
|
505
661
|
const getInitialLocation = () => {
|
|
506
|
-
if (opts.url) return opts.url;
|
|
662
|
+
if (opts.url) return stripBase(opts.url, base);
|
|
507
663
|
if (!_isBrowser) return "/";
|
|
508
|
-
if (mode === "history") return window.location.pathname + window.location.search;
|
|
664
|
+
if (mode === "history") return stripBase(window.location.pathname, base) + window.location.search;
|
|
509
665
|
const hash = window.location.hash;
|
|
510
666
|
return hash.startsWith("#") ? hash.slice(1) || "/" : "/";
|
|
511
667
|
};
|
|
512
668
|
const getCurrentLocation = () => {
|
|
513
669
|
if (!_isBrowser) return currentPath();
|
|
514
|
-
if (mode === "history") return window.location.pathname + window.location.search;
|
|
670
|
+
if (mode === "history") return stripBase(window.location.pathname, base) + window.location.search;
|
|
515
671
|
const hash = window.location.hash;
|
|
516
672
|
return hash.startsWith("#") ? hash.slice(1) || "/" : "/";
|
|
517
673
|
};
|
|
518
|
-
const currentPath = signal(getInitialLocation());
|
|
674
|
+
const currentPath = signal(normalizeTrailingSlash(getInitialLocation(), trailingSlash));
|
|
519
675
|
const currentRoute = computed(() => resolveRoute(currentPath(), routes));
|
|
520
676
|
let _popstateHandler = null;
|
|
521
677
|
let _hashchangeHandler = null;
|
|
@@ -581,7 +737,7 @@ function createRouter(options) {
|
|
|
581
737
|
}
|
|
582
738
|
function syncBrowserUrl(path, replace) {
|
|
583
739
|
if (!_isBrowser) return;
|
|
584
|
-
const url = mode === "history" ? path : `#${path}`;
|
|
740
|
+
const url = mode === "history" ? `${base}${path}` : `#${path}`;
|
|
585
741
|
if (replace) window.history.replaceState(null, "", url);else window.history.pushState(null, "", url);
|
|
586
742
|
}
|
|
587
743
|
function resolveRedirect(to) {
|
|
@@ -596,27 +752,52 @@ function createRouter(options) {
|
|
|
596
752
|
if (enterOutcome.action !== "continue") return enterOutcome;
|
|
597
753
|
return runGlobalGuards(guards, to, from, gen);
|
|
598
754
|
}
|
|
599
|
-
async function
|
|
600
|
-
const loadableRecords = to.matched.filter(r => r.loader);
|
|
601
|
-
if (loadableRecords.length === 0) return true;
|
|
755
|
+
async function runBlockingLoaders(records, to, gen, ac) {
|
|
602
756
|
const loaderCtx = {
|
|
603
757
|
params: to.params,
|
|
604
758
|
query: to.query,
|
|
605
759
|
signal: ac.signal
|
|
606
760
|
};
|
|
607
|
-
const results = await Promise.allSettled(
|
|
608
|
-
if (!r.loader) return Promise.resolve(void 0);
|
|
609
|
-
return r.loader(loaderCtx);
|
|
610
|
-
}));
|
|
761
|
+
const results = await Promise.allSettled(records.map(r => r.loader ? r.loader(loaderCtx) : Promise.resolve(void 0)));
|
|
611
762
|
if (gen !== _navGen) return false;
|
|
612
|
-
for (let i = 0; i <
|
|
763
|
+
for (let i = 0; i < records.length; i++) {
|
|
613
764
|
const result = results[i];
|
|
614
|
-
const record =
|
|
765
|
+
const record = records[i];
|
|
615
766
|
if (!result || !record) continue;
|
|
616
767
|
if (!processLoaderResult(result, record, ac, to)) return false;
|
|
617
768
|
}
|
|
618
769
|
return true;
|
|
619
770
|
}
|
|
771
|
+
/** Fire-and-forget background revalidation for stale-while-revalidate routes. */
|
|
772
|
+
function revalidateSwrLoaders(records, to, ac) {
|
|
773
|
+
const loaderCtx = {
|
|
774
|
+
params: to.params,
|
|
775
|
+
query: to.query,
|
|
776
|
+
signal: ac.signal
|
|
777
|
+
};
|
|
778
|
+
for (const r of records) {
|
|
779
|
+
if (!r.loader) continue;
|
|
780
|
+
r.loader(loaderCtx).then(data => {
|
|
781
|
+
if (!ac.signal.aborted) {
|
|
782
|
+
router._loaderData.set(r, data);
|
|
783
|
+
loadingSignal.update(n => n + 1);
|
|
784
|
+
loadingSignal.update(n => n - 1);
|
|
785
|
+
}
|
|
786
|
+
}).catch(() => {});
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
async function runLoaders(to, gen, ac) {
|
|
790
|
+
const loadableRecords = to.matched.filter(r => r.loader);
|
|
791
|
+
if (loadableRecords.length === 0) return true;
|
|
792
|
+
const blocking = [];
|
|
793
|
+
const swr = [];
|
|
794
|
+
for (const r of loadableRecords) if (r.staleWhileRevalidate && router._loaderData.has(r)) swr.push(r);else blocking.push(r);
|
|
795
|
+
if (blocking.length > 0) {
|
|
796
|
+
if (!(await runBlockingLoaders(blocking, to, gen, ac))) return false;
|
|
797
|
+
}
|
|
798
|
+
if (swr.length > 0) revalidateSwrLoaders(swr, to, ac);
|
|
799
|
+
return true;
|
|
800
|
+
}
|
|
620
801
|
function commitNavigation(path, replace, to, from) {
|
|
621
802
|
scrollManager.save(from.path);
|
|
622
803
|
currentPath.set(path);
|
|
@@ -628,8 +809,16 @@ function createRouter(options) {
|
|
|
628
809
|
} catch (_err) {}
|
|
629
810
|
if (_isBrowser) queueMicrotask(() => scrollManager.restore(to, from));
|
|
630
811
|
}
|
|
631
|
-
async function
|
|
812
|
+
async function checkBlockers(to, from, gen) {
|
|
813
|
+
for (const blocker of router._blockers) {
|
|
814
|
+
const blocked = await blocker(to, from);
|
|
815
|
+
if (gen !== _navGen || blocked) return "cancel";
|
|
816
|
+
}
|
|
817
|
+
return "continue";
|
|
818
|
+
}
|
|
819
|
+
async function navigate(rawPath, replace, redirectDepth = 0) {
|
|
632
820
|
if (redirectDepth > 10) return;
|
|
821
|
+
const path = normalizeTrailingSlash(rawPath, trailingSlash);
|
|
633
822
|
const gen = ++_navGen;
|
|
634
823
|
loadingSignal.update(n => n + 1);
|
|
635
824
|
const to = resolveRoute(path, routes);
|
|
@@ -639,6 +828,10 @@ function createRouter(options) {
|
|
|
639
828
|
loadingSignal.update(n => n - 1);
|
|
640
829
|
return navigate(redirectTarget, replace, redirectDepth + 1);
|
|
641
830
|
}
|
|
831
|
+
if ((await checkBlockers(to, from, gen)) !== "continue") {
|
|
832
|
+
loadingSignal.update(n => n - 1);
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
642
835
|
const guardOutcome = await runAllGuards(to, from, gen);
|
|
643
836
|
if (guardOutcome.action !== "continue") {
|
|
644
837
|
loadingSignal.update(n => n - 1);
|
|
@@ -655,9 +848,14 @@ function createRouter(options) {
|
|
|
655
848
|
commitNavigation(path, replace, to, from);
|
|
656
849
|
loadingSignal.update(n => n - 1);
|
|
657
850
|
}
|
|
851
|
+
let _readyResolve = null;
|
|
852
|
+
const _readyPromise = new Promise(resolve => {
|
|
853
|
+
_readyResolve = resolve;
|
|
854
|
+
});
|
|
658
855
|
const router = {
|
|
659
856
|
routes,
|
|
660
857
|
mode,
|
|
858
|
+
_base: base,
|
|
661
859
|
currentRoute,
|
|
662
860
|
_currentPath: currentPath,
|
|
663
861
|
_currentRoute: currentRoute,
|
|
@@ -669,18 +867,28 @@ function createRouter(options) {
|
|
|
669
867
|
_erroredChunks: /* @__PURE__ */new Set(),
|
|
670
868
|
_loaderData: /* @__PURE__ */new Map(),
|
|
671
869
|
_abortController: null,
|
|
870
|
+
_blockers: /* @__PURE__ */new Set(),
|
|
871
|
+
_readyResolve,
|
|
872
|
+
_readyPromise,
|
|
672
873
|
_onError: onError,
|
|
673
874
|
_maxCacheSize: maxCacheSize,
|
|
674
875
|
async push(location) {
|
|
675
|
-
if (typeof location === "string") return navigate(sanitizePath(location), false);
|
|
876
|
+
if (typeof location === "string") return navigate(sanitizePath(resolveRelativePath(location, currentPath())), false);
|
|
676
877
|
return navigate(resolveNamedPath(location.name, location.params ?? {}, location.query ?? {}, nameIndex), false);
|
|
677
878
|
},
|
|
678
|
-
async replace(
|
|
679
|
-
return navigate(sanitizePath(
|
|
879
|
+
async replace(location) {
|
|
880
|
+
if (typeof location === "string") return navigate(sanitizePath(resolveRelativePath(location, currentPath())), true);
|
|
881
|
+
return navigate(resolveNamedPath(location.name, location.params ?? {}, location.query ?? {}, nameIndex), true);
|
|
680
882
|
},
|
|
681
883
|
back() {
|
|
682
884
|
if (_isBrowser) window.history.back();
|
|
683
885
|
},
|
|
886
|
+
forward() {
|
|
887
|
+
if (_isBrowser) window.history.forward();
|
|
888
|
+
},
|
|
889
|
+
go(delta) {
|
|
890
|
+
if (_isBrowser) window.history.go(delta);
|
|
891
|
+
},
|
|
684
892
|
beforeEach(guard) {
|
|
685
893
|
guards.push(guard);
|
|
686
894
|
return () => {
|
|
@@ -696,6 +904,9 @@ function createRouter(options) {
|
|
|
696
904
|
};
|
|
697
905
|
},
|
|
698
906
|
loading: () => loadingSignal() > 0,
|
|
907
|
+
isReady() {
|
|
908
|
+
return router._readyPromise;
|
|
909
|
+
},
|
|
699
910
|
destroy() {
|
|
700
911
|
if (_popstateHandler) {
|
|
701
912
|
window.removeEventListener("popstate", _popstateHandler);
|
|
@@ -707,6 +918,7 @@ function createRouter(options) {
|
|
|
707
918
|
}
|
|
708
919
|
guards.length = 0;
|
|
709
920
|
afterHooks.length = 0;
|
|
921
|
+
router._blockers.clear();
|
|
710
922
|
componentCache.clear();
|
|
711
923
|
router._loaderData.clear();
|
|
712
924
|
router._abortController?.abort();
|
|
@@ -714,6 +926,12 @@ function createRouter(options) {
|
|
|
714
926
|
},
|
|
715
927
|
_resolve: rawPath => resolveRoute(rawPath, routes)
|
|
716
928
|
};
|
|
929
|
+
queueMicrotask(() => {
|
|
930
|
+
if (router._readyResolve) {
|
|
931
|
+
router._readyResolve();
|
|
932
|
+
router._readyResolve = null;
|
|
933
|
+
}
|
|
934
|
+
});
|
|
717
935
|
return router;
|
|
718
936
|
}
|
|
719
937
|
async function runGuard(guard, to, from) {
|
|
@@ -731,6 +949,44 @@ function resolveNamedPath(name, params, query, index) {
|
|
|
731
949
|
if (qs) path += `?${qs}`;
|
|
732
950
|
return path;
|
|
733
951
|
}
|
|
952
|
+
/** Normalize a base path: ensure leading `/`, strip trailing `/`. */
|
|
953
|
+
function normalizeBase(raw) {
|
|
954
|
+
if (!raw) return "";
|
|
955
|
+
let b = raw;
|
|
956
|
+
if (!b.startsWith("/")) b = `/${b}`;
|
|
957
|
+
if (b.endsWith("/")) b = b.slice(0, -1);
|
|
958
|
+
return b;
|
|
959
|
+
}
|
|
960
|
+
/** Strip the base prefix from a full URL path. Returns the app-relative path. */
|
|
961
|
+
function stripBase(path, base) {
|
|
962
|
+
if (!base) return path;
|
|
963
|
+
if (path === base || path === `${base}/`) return "/";
|
|
964
|
+
if (path.startsWith(`${base}/`)) return path.slice(base.length);
|
|
965
|
+
return path;
|
|
966
|
+
}
|
|
967
|
+
/** Normalize trailing slash on a path according to the configured strategy. */
|
|
968
|
+
function normalizeTrailingSlash(path, strategy) {
|
|
969
|
+
if (strategy === "ignore" || path === "/") return path;
|
|
970
|
+
const qIdx = path.indexOf("?");
|
|
971
|
+
const hIdx = path.indexOf("#");
|
|
972
|
+
const endIdx = qIdx >= 0 ? qIdx : hIdx >= 0 ? hIdx : path.length;
|
|
973
|
+
const pathPart = path.slice(0, endIdx);
|
|
974
|
+
const suffix = path.slice(endIdx);
|
|
975
|
+
if (strategy === "strip") return pathPart.length > 1 && pathPart.endsWith("/") ? pathPart.slice(0, -1) + suffix : path;
|
|
976
|
+
return !pathPart.endsWith("/") ? `${pathPart}/${suffix}` : path;
|
|
977
|
+
}
|
|
978
|
+
/**
|
|
979
|
+
* Resolve a relative path (starting with `.` or `..`) against the current path.
|
|
980
|
+
* Non-relative paths are returned as-is.
|
|
981
|
+
*/
|
|
982
|
+
function resolveRelativePath(to, from) {
|
|
983
|
+
if (!to.startsWith("./") && !to.startsWith("../") && to !== "." && to !== "..") return to;
|
|
984
|
+
const fromSegments = from.split("/").filter(Boolean);
|
|
985
|
+
fromSegments.pop();
|
|
986
|
+
const toSegments = to.split("/").filter(Boolean);
|
|
987
|
+
for (const seg of toSegments) if (seg === "..") fromSegments.pop();else if (seg !== ".") fromSegments.push(seg);
|
|
988
|
+
return `/${fromSegments.join("/")}`;
|
|
989
|
+
}
|
|
734
990
|
/** Block unsafe navigation targets: javascript/data/vbscript URIs and absolute URLs. */
|
|
735
991
|
function sanitizePath(path) {
|
|
736
992
|
const trimmed = path.trim();
|
|
@@ -830,5 +1086,5 @@ function isStaleChunk(err) {
|
|
|
830
1086
|
}
|
|
831
1087
|
|
|
832
1088
|
//#endregion
|
|
833
|
-
export { RouterContext, RouterLink, RouterProvider, RouterView, buildPath, createRouter, findRouteByName, hydrateLoaderData, lazy, parseQuery, parseQueryMulti, prefetchLoaderData, resolveRoute, serializeLoaderData, stringifyQuery, useLoaderData, useRoute, useRouter };
|
|
1089
|
+
export { RouterContext, RouterLink, RouterProvider, RouterView, buildPath, createRouter, findRouteByName, hydrateLoaderData, lazy, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, parseQueryMulti, prefetchLoaderData, resolveRoute, serializeLoaderData, stringifyQuery, useBlocker, useLoaderData, useRoute, useRouter, useSearchParams };
|
|
834
1090
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/loader.ts","../../src/match.ts","../../src/scroll.ts","../../src/types.ts","../../src/router.ts","../../src/components.tsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../src/loader.ts","../../src/match.ts","../../src/scroll.ts","../../src/types.ts","../../src/router.ts","../../src/components.tsx"],"mappings":"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"}
|