@buzola/router 0.0.1 → 0.0.4
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/dist/define/create-page.d.ts +17 -5
- package/dist/define/create-page.d.ts.map +1 -1
- package/dist/define/create-page.js +78 -38
- package/dist/define/create-page.js.map +1 -1
- package/dist/engine/loader-cache.d.ts +18 -0
- package/dist/engine/loader-cache.d.ts.map +1 -0
- package/dist/engine/loader-cache.js +48 -0
- package/dist/engine/loader-cache.js.map +1 -0
- package/dist/engine/matcher.d.ts +1 -1
- package/dist/engine/matcher.d.ts.map +1 -1
- package/dist/engine/navigation-adapter.d.ts +1 -1
- package/dist/engine/navigation-adapter.d.ts.map +1 -1
- package/dist/engine/route-tree.d.ts +1 -2
- package/dist/engine/route-tree.d.ts.map +1 -1
- package/dist/engine/route-tree.js +5 -4
- package/dist/engine/route-tree.js.map +1 -1
- package/dist/engine/router.d.ts +7 -10
- package/dist/engine/router.d.ts.map +1 -1
- package/dist/engine/router.js +23 -67
- package/dist/engine/router.js.map +1 -1
- package/dist/engine/schema.d.ts +5 -1
- package/dist/engine/schema.d.ts.map +1 -1
- package/dist/engine/schema.js +11 -1
- package/dist/engine/schema.js.map +1 -1
- package/dist/engine/types.d.ts +2 -15
- package/dist/engine/types.d.ts.map +1 -1
- package/dist/engine/utils.d.ts +8 -0
- package/dist/engine/utils.d.ts.map +1 -1
- package/dist/engine/utils.js +10 -3
- package/dist/engine/utils.js.map +1 -1
- package/dist/index.d.ts +14 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -7
- package/dist/index.js.map +1 -1
- package/dist/react/context.d.ts +2 -2
- package/dist/react/context.d.ts.map +1 -1
- package/dist/react/hooks.d.ts +3 -3
- package/dist/react/hooks.d.ts.map +1 -1
- package/dist/react/hooks.js +11 -9
- package/dist/react/hooks.js.map +1 -1
- package/dist/react/index.d.ts +11 -11
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +6 -6
- package/dist/react/index.js.map +1 -1
- package/dist/react/link.d.ts +5 -0
- package/dist/react/link.d.ts.map +1 -1
- package/dist/react/link.js +10 -1
- package/dist/react/link.js.map +1 -1
- package/dist/react/outlet.d.ts +3 -1
- package/dist/react/outlet.d.ts.map +1 -1
- package/dist/react/outlet.js +25 -1
- package/dist/react/outlet.js.map +1 -1
- package/dist/react/provider.d.ts +15 -2
- package/dist/react/provider.d.ts.map +1 -1
- package/dist/react/provider.js +15 -4
- package/dist/react/provider.js.map +1 -1
- package/package.json +15 -4
- package/src/__tests__/create-page.test.ts +42 -6
- package/src/__tests__/loader-cache.test.ts +115 -0
- package/src/__tests__/matcher.test.ts +3 -3
- package/src/__tests__/react.test.tsx +1020 -0
- package/src/__tests__/router.test.ts +4 -214
- package/src/__tests__/setup-dom.ts +21 -0
- package/src/define/create-page.tsx +94 -46
- package/src/engine/loader-cache.ts +55 -0
- package/src/engine/matcher.ts +1 -1
- package/src/engine/navigation-adapter.ts +1 -1
- package/src/engine/route-tree.ts +4 -6
- package/src/engine/router.ts +27 -73
- package/src/engine/schema.ts +13 -2
- package/src/engine/types.ts +2 -18
- package/src/engine/utils.ts +11 -3
- package/src/index.ts +15 -17
- package/src/react/context.ts +2 -2
- package/src/react/hooks.ts +14 -13
- package/src/react/index.ts +21 -11
- package/src/react/link.tsx +16 -0
- package/src/react/outlet.tsx +32 -1
- package/src/react/provider.tsx +33 -5
- package/dist/__tests__/create-page.test.d.ts +0 -2
- package/dist/__tests__/create-page.test.d.ts.map +0 -1
- package/dist/__tests__/create-page.test.js +0 -457
- package/dist/__tests__/create-page.test.js.map +0 -1
- package/dist/__tests__/define-routes.test.d.ts +0 -2
- package/dist/__tests__/define-routes.test.d.ts.map +0 -1
- package/dist/__tests__/define-routes.test.js +0 -42
- package/dist/__tests__/define-routes.test.js.map +0 -1
- package/dist/__tests__/matcher.test.d.ts +0 -2
- package/dist/__tests__/matcher.test.d.ts.map +0 -1
- package/dist/__tests__/matcher.test.js +0 -108
- package/dist/__tests__/matcher.test.js.map +0 -1
- package/dist/__tests__/router.test.d.ts +0 -2
- package/dist/__tests__/router.test.d.ts.map +0 -1
- package/dist/__tests__/router.test.js +0 -327
- package/dist/__tests__/router.test.js.map +0 -1
- package/dist/__tests__/type-safety.test.d.ts +0 -15
- package/dist/__tests__/type-safety.test.d.ts.map +0 -1
- package/dist/__tests__/type-safety.test.js +0 -163
- package/dist/__tests__/type-safety.test.js.map +0 -1
- package/dist/__tests__/types.test.d.ts +0 -2
- package/dist/__tests__/types.test.d.ts.map +0 -1
- package/dist/__tests__/types.test.js +0 -22
- package/dist/__tests__/types.test.js.map +0 -1
- package/dist/define/define-routes.d.ts +0 -34
- package/dist/define/define-routes.d.ts.map +0 -1
- package/dist/define/define-routes.js +0 -53
- package/dist/define/define-routes.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ComponentType } from 'react';
|
|
2
|
-
import { type ParamLiteral } from '../engine/schema';
|
|
3
|
-
import type { RouteComponent, StandardSchema } from '../engine/types';
|
|
2
|
+
import { type ParamLiteral } from '../engine/schema.js';
|
|
3
|
+
import type { EffectivePageParams, RegisteredPage, RouteComponent, StandardSchema } from '../engine/types.js';
|
|
4
4
|
export interface PageProps<TParams> {
|
|
5
5
|
params: TParams;
|
|
6
6
|
}
|
|
@@ -22,6 +22,7 @@ export interface PageDefinition<TParams = Record<string, never>> {
|
|
|
22
22
|
paramsMeta: ParamMeta[];
|
|
23
23
|
loader?: (ctx: {
|
|
24
24
|
params: any;
|
|
25
|
+
redirect: RedirectFn;
|
|
25
26
|
}) => Promise<unknown>;
|
|
26
27
|
}
|
|
27
28
|
/**
|
|
@@ -37,6 +38,14 @@ type LiteralToType<L extends string> = L extends `?${infer Base}[]` ? ScalarType
|
|
|
37
38
|
type InferShape<T extends ParamsShape> = {
|
|
38
39
|
[K in keyof T]: T[K] extends StandardSchema<infer V> ? V : T[K] extends string ? LiteralToType<T[K]> : never;
|
|
39
40
|
};
|
|
41
|
+
export declare class BuzolaRedirect {
|
|
42
|
+
readonly pageId: string;
|
|
43
|
+
readonly params?: Record<string, string> | undefined;
|
|
44
|
+
readonly __buzolaRedirect = true;
|
|
45
|
+
constructor(pageId: string, params?: Record<string, string> | undefined);
|
|
46
|
+
}
|
|
47
|
+
export type RedirectFn = <P extends RegisteredPage>(to: P, ...args: [keyof EffectivePageParams<P>] extends [never] ? [] : {} extends EffectivePageParams<P> ? [params?: EffectivePageParams<P>] : [params: EffectivePageParams<P>]) => BuzolaRedirect;
|
|
48
|
+
export declare const redirect: RedirectFn;
|
|
40
49
|
interface WithCatch<TParams, TRenderProps> {
|
|
41
50
|
route<R extends string>(pattern: [ExtractRouteParams<R>] extends [keyof TParams & string] ? R : never): {
|
|
42
51
|
render(fn: ComponentType<TRenderProps>): PageDefinition<TParams>;
|
|
@@ -60,19 +69,22 @@ interface WithLoaderChain<TParams, TData> extends WithRoute<TParams, PageProps<T
|
|
|
60
69
|
}> {
|
|
61
70
|
loader<TNew extends Record<string, unknown>>(fn: (ctx: {
|
|
62
71
|
params: TParams;
|
|
63
|
-
|
|
72
|
+
redirect: RedirectFn;
|
|
73
|
+
}) => Promise<TNew | BuzolaRedirect>): WithLoaderChain<TParams, TData & TNew>;
|
|
64
74
|
}
|
|
65
75
|
interface WithLoader<TParams> extends WithRoute<TParams, PageProps<TParams>> {
|
|
66
76
|
loader<TData extends Record<string, unknown>>(fn: (ctx: {
|
|
67
77
|
params: TParams;
|
|
68
|
-
|
|
78
|
+
redirect: RedirectFn;
|
|
79
|
+
}) => Promise<TData | BuzolaRedirect>): WithLoaderChain<TParams, TData>;
|
|
69
80
|
}
|
|
70
81
|
interface PageBuilder {
|
|
71
82
|
params<T extends ParamsShape>(shape: T): WithLoader<InferShape<T>>;
|
|
72
83
|
params<T extends Record<string, unknown>>(schema: StandardSchema<T>): WithLoader<T>;
|
|
73
84
|
loader<TData extends Record<string, unknown>>(fn: (ctx: {
|
|
74
85
|
params: Record<string, never>;
|
|
75
|
-
|
|
86
|
+
redirect: RedirectFn;
|
|
87
|
+
}) => Promise<TData | BuzolaRedirect>): WithLoaderChain<Record<string, never>, TData>;
|
|
76
88
|
catch(handler: CatchHandler): WithCatch<Record<string, never>, PageProps<Record<string, never>>>;
|
|
77
89
|
route<R extends string>(pattern: [ExtractRouteParams<R>] extends [never] ? R : never): {
|
|
78
90
|
catch(handler: CatchHandler): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-page.d.ts","sourceRoot":"","sources":["../../src/define/create-page.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAA8D,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"create-page.d.ts","sourceRoot":"","sources":["../../src/define/create-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { use, useCallback, useEffect, useMemo, useReducer, useState } from 'react';
|
|
3
|
-
import { isOptionalSchema, resolveParamLiteral } from '../engine/schema';
|
|
4
|
-
import { extractParamNames } from '../engine/utils';
|
|
5
|
-
import { RouteContext, RouterContext } from '../react/context';
|
|
6
|
-
import { ErrorBoundary } from '../react/error-boundary';
|
|
3
|
+
import { isOptionalSchema, resolveParamLiteral, validateSchema } from '../engine/schema.js';
|
|
4
|
+
import { extractParamNames } from '../engine/utils.js';
|
|
5
|
+
import { RouteContext, RouterContext } from '../react/context.js';
|
|
6
|
+
import { ErrorBoundary } from '../react/error-boundary.js';
|
|
7
7
|
function isStandardSchema(value) {
|
|
8
8
|
return '~standard' in value;
|
|
9
9
|
}
|
|
@@ -47,14 +47,34 @@ function resolveParamsInput(input) {
|
|
|
47
47
|
};
|
|
48
48
|
return { schema, paramsMeta };
|
|
49
49
|
}
|
|
50
|
+
// ─── Redirect response ───────────────────────────────────────────────────────
|
|
51
|
+
export class BuzolaRedirect {
|
|
52
|
+
pageId;
|
|
53
|
+
params;
|
|
54
|
+
__buzolaRedirect = true;
|
|
55
|
+
constructor(pageId, params) {
|
|
56
|
+
this.pageId = pageId;
|
|
57
|
+
this.params = params;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
export const redirect = (pageId, params) => {
|
|
61
|
+
return new BuzolaRedirect(pageId, params);
|
|
62
|
+
};
|
|
50
63
|
function combineLoaders(loaders) {
|
|
51
64
|
if (loaders.length === 0)
|
|
52
65
|
return undefined;
|
|
53
66
|
if (loaders.length === 1)
|
|
54
67
|
return loaders[0];
|
|
55
|
-
return async (ctx) =>
|
|
68
|
+
return async (ctx) => {
|
|
69
|
+
const results = await Promise.all(loaders.map(fn => fn(ctx)));
|
|
70
|
+
const redir = results.find(r => r instanceof BuzolaRedirect);
|
|
71
|
+
if (redir)
|
|
72
|
+
return redir;
|
|
73
|
+
return Object.assign({}, ...results);
|
|
74
|
+
};
|
|
56
75
|
}
|
|
57
76
|
// ─── Component factory ──────────────────────────────────────────────────────
|
|
77
|
+
let nextPageId = 0;
|
|
58
78
|
function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderComponent, catchHandler) {
|
|
59
79
|
const arrayParams = new Set(paramsMeta.filter(m => m.array).map(m => m.name));
|
|
60
80
|
// Loader promise cache lives in the closure, outside React's render cycle.
|
|
@@ -66,16 +86,24 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
66
86
|
let activeUrlHref = null;
|
|
67
87
|
let activeCacheKey = null;
|
|
68
88
|
let activePromise = null;
|
|
69
|
-
let activeResolvedData
|
|
89
|
+
let activeResolvedData;
|
|
70
90
|
let hasResolved = false;
|
|
71
91
|
let pendingBackgroundKey = null;
|
|
72
|
-
//
|
|
73
|
-
const
|
|
74
|
-
function
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
92
|
+
// Unique ID for namespacing entries in the global loader cache
|
|
93
|
+
const pageId = nextPageId++;
|
|
94
|
+
function staleCacheKey(urlHref) {
|
|
95
|
+
return `${pageId}:${urlHref}`;
|
|
96
|
+
}
|
|
97
|
+
function staleCacheGet(cache, urlHref) {
|
|
98
|
+
const key = staleCacheKey(urlHref);
|
|
99
|
+
if (!cache.has(key))
|
|
100
|
+
return { hit: false };
|
|
101
|
+
const value = cache.get(key);
|
|
102
|
+
cache.delete(key);
|
|
103
|
+
return { hit: true, value };
|
|
104
|
+
}
|
|
105
|
+
function staleCacheSet(cache, urlHref, value) {
|
|
106
|
+
cache.set(staleCacheKey(urlHref), value);
|
|
79
107
|
}
|
|
80
108
|
function BuzolaPage() {
|
|
81
109
|
const routeContext = use(RouteContext);
|
|
@@ -115,11 +143,7 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
115
143
|
}
|
|
116
144
|
}
|
|
117
145
|
if (schema) {
|
|
118
|
-
|
|
119
|
-
if ('issues' in result) {
|
|
120
|
-
throw new Error(`Page params validation failed: ${result.issues.map(i => i.message).join(', ')}`);
|
|
121
|
-
}
|
|
122
|
-
return result.value;
|
|
146
|
+
return validateSchema(schema, merged, 'Page params validation failed: ');
|
|
123
147
|
}
|
|
124
148
|
return merged;
|
|
125
149
|
}, [routeContext]);
|
|
@@ -132,21 +156,21 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
132
156
|
return;
|
|
133
157
|
return router.onInvalidate(() => setLoaderKey(k => k + 1));
|
|
134
158
|
}, [router]);
|
|
135
|
-
const
|
|
136
|
-
let data
|
|
159
|
+
const loaderCache = router?.loaderCache;
|
|
160
|
+
let data;
|
|
137
161
|
let isLoading = false;
|
|
162
|
+
let shouldRedirect = false;
|
|
138
163
|
if (loaderFn) {
|
|
139
164
|
const currentUrlHref = routeContext.state.location.href;
|
|
140
165
|
const cacheKey = `${currentUrlHref}:${loaderKey}`;
|
|
141
166
|
// URL changed — save old data to stale cache, restore from stale cache if available
|
|
142
167
|
if (activeUrlHref !== null && activeUrlHref !== currentUrlHref) {
|
|
143
|
-
if (hasResolved && activeResolvedData !== undefined) {
|
|
144
|
-
|
|
145
|
-
evictStaleCache(cacheSize);
|
|
168
|
+
if (loaderCache && hasResolved && activeResolvedData !== undefined) {
|
|
169
|
+
staleCacheSet(loaderCache, activeUrlHref, activeResolvedData);
|
|
146
170
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
171
|
+
const cached = loaderCache && staleCacheGet(loaderCache, currentUrlHref);
|
|
172
|
+
if (cached?.hit) {
|
|
173
|
+
activeResolvedData = cached.value;
|
|
150
174
|
hasResolved = true;
|
|
151
175
|
}
|
|
152
176
|
else {
|
|
@@ -155,11 +179,13 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
155
179
|
}
|
|
156
180
|
pendingBackgroundKey = null;
|
|
157
181
|
}
|
|
158
|
-
else if (activeUrlHref === null &&
|
|
182
|
+
else if (activeUrlHref === null && loaderCache) {
|
|
159
183
|
// Remount — restore from stale cache
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
184
|
+
const cached = staleCacheGet(loaderCache, currentUrlHref);
|
|
185
|
+
if (cached.hit) {
|
|
186
|
+
activeResolvedData = cached.value;
|
|
187
|
+
hasResolved = true;
|
|
188
|
+
}
|
|
163
189
|
}
|
|
164
190
|
activeUrlHref = currentUrlHref;
|
|
165
191
|
if (activeCacheKey === cacheKey) {
|
|
@@ -182,7 +208,7 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
182
208
|
}
|
|
183
209
|
else if (hasResolved) {
|
|
184
210
|
// Cache key changed + we have stale data → background reload (SWR)
|
|
185
|
-
const promise = loaderFn({ params });
|
|
211
|
+
const promise = loaderFn({ params, redirect });
|
|
186
212
|
activeCacheKey = cacheKey;
|
|
187
213
|
activePromise = promise;
|
|
188
214
|
pendingBackgroundKey = cacheKey;
|
|
@@ -191,6 +217,10 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
191
217
|
promise.then((result) => {
|
|
192
218
|
// Only apply if this is still the active load
|
|
193
219
|
if (activeCacheKey === cacheKey) {
|
|
220
|
+
if (result instanceof BuzolaRedirect) {
|
|
221
|
+
router?.navigateToPage(result.pageId, result.params, { replace: true });
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
194
224
|
activeResolvedData = result;
|
|
195
225
|
pendingBackgroundKey = null;
|
|
196
226
|
forceUpdate();
|
|
@@ -207,20 +237,28 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
207
237
|
}
|
|
208
238
|
else {
|
|
209
239
|
// No stale data — first load, suspend via use()
|
|
210
|
-
const promise = loaderFn({ params });
|
|
240
|
+
const promise = loaderFn({ params, redirect });
|
|
211
241
|
activeCacheKey = cacheKey;
|
|
212
242
|
activePromise = promise;
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
243
|
+
const result = use(promise);
|
|
244
|
+
if (result instanceof BuzolaRedirect) {
|
|
245
|
+
router?.navigateToPage(result.pageId, result.params, { replace: true });
|
|
246
|
+
shouldRedirect = true;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
data = result;
|
|
250
|
+
}
|
|
251
|
+
if (!shouldRedirect) {
|
|
252
|
+
activeResolvedData = data;
|
|
253
|
+
hasResolved = true;
|
|
254
|
+
}
|
|
216
255
|
}
|
|
217
256
|
}
|
|
218
257
|
// On unmount, save active data to stale cache and reset active state
|
|
219
258
|
useEffect(() => {
|
|
220
259
|
return () => {
|
|
221
|
-
if (hasResolved && activeResolvedData !== undefined && activeUrlHref) {
|
|
222
|
-
|
|
223
|
-
evictStaleCache(cacheSize);
|
|
260
|
+
if (loaderCache && hasResolved && activeResolvedData !== undefined && activeUrlHref) {
|
|
261
|
+
staleCacheSet(loaderCache, activeUrlHref, activeResolvedData);
|
|
224
262
|
}
|
|
225
263
|
hasResolved = false;
|
|
226
264
|
activeResolvedData = undefined;
|
|
@@ -230,6 +268,8 @@ function createPageComponent(schema, paramsMeta, loaderFn, routePattern, RenderC
|
|
|
230
268
|
activeUrlHref = null;
|
|
231
269
|
};
|
|
232
270
|
}, []);
|
|
271
|
+
if (shouldRedirect)
|
|
272
|
+
return null;
|
|
233
273
|
return _jsx(RenderComponent, { params: params, data: data, invalidate: invalidate, isLoading: isLoading });
|
|
234
274
|
}
|
|
235
275
|
function BuzolaPageWithCatch() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-page.js","sourceRoot":"","sources":["../../src/define/create-page.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create-page.js","sourceRoot":"","sources":["../../src/define/create-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global LRU cache for page loader data.
|
|
3
|
+
* Shared across all page components to limit total memory usage.
|
|
4
|
+
* Uses Map insertion order for LRU eviction — oldest entries are evicted first.
|
|
5
|
+
*/
|
|
6
|
+
export declare class LoaderCache {
|
|
7
|
+
private cache;
|
|
8
|
+
private _maxSize;
|
|
9
|
+
constructor(maxSize: number);
|
|
10
|
+
get maxSize(): number;
|
|
11
|
+
get size(): number;
|
|
12
|
+
get(key: string): unknown;
|
|
13
|
+
has(key: string): boolean;
|
|
14
|
+
set(key: string, value: unknown): void;
|
|
15
|
+
delete(key: string): void;
|
|
16
|
+
clear(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=loader-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-cache.d.ts","sourceRoot":"","sources":["../../src/engine/loader-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,OAAO,EAAE,MAAM;IAO3B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAStC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;CAGb"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global LRU cache for page loader data.
|
|
3
|
+
* Shared across all page components to limit total memory usage.
|
|
4
|
+
* Uses Map insertion order for LRU eviction — oldest entries are evicted first.
|
|
5
|
+
*/
|
|
6
|
+
export class LoaderCache {
|
|
7
|
+
cache = new Map();
|
|
8
|
+
_maxSize;
|
|
9
|
+
constructor(maxSize) {
|
|
10
|
+
if (maxSize < 0) {
|
|
11
|
+
throw new Error(`[buzola] LoaderCache maxSize must be non-negative, got ${maxSize}`);
|
|
12
|
+
}
|
|
13
|
+
this._maxSize = maxSize;
|
|
14
|
+
}
|
|
15
|
+
get maxSize() {
|
|
16
|
+
return this._maxSize;
|
|
17
|
+
}
|
|
18
|
+
get size() {
|
|
19
|
+
return this.cache.size;
|
|
20
|
+
}
|
|
21
|
+
get(key) {
|
|
22
|
+
const value = this.cache.get(key);
|
|
23
|
+
if (value !== undefined || this.cache.has(key)) {
|
|
24
|
+
// Move to end (most recently used)
|
|
25
|
+
this.cache.delete(key);
|
|
26
|
+
this.cache.set(key, value);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
has(key) {
|
|
31
|
+
return this.cache.has(key);
|
|
32
|
+
}
|
|
33
|
+
set(key, value) {
|
|
34
|
+
this.cache.delete(key);
|
|
35
|
+
this.cache.set(key, value);
|
|
36
|
+
while (this.cache.size > this._maxSize) {
|
|
37
|
+
const first = this.cache.keys().next().value;
|
|
38
|
+
this.cache.delete(first);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
delete(key) {
|
|
42
|
+
this.cache.delete(key);
|
|
43
|
+
}
|
|
44
|
+
clear() {
|
|
45
|
+
this.cache.clear();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=loader-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader-cache.js","sourceRoot":"","sources":["../../src/engine/loader-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACf,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAA;IAClC,QAAQ,CAAQ;IAExB,YAAY,OAAe;QAC1B,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,EAAE,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,QAAQ,CAAA;IACrB,CAAC;IAED,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;IACvB,CAAC;IAED,GAAG,CAAC,GAAW;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,mCAAmC;YACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;IAED,GAAG,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAc;QAC9B,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAA;YAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzB,CAAC;IACF,CAAC;IAED,MAAM,CAAC,GAAW;QACjB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,KAAK;QACJ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;CACD"}
|
package/dist/engine/matcher.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/engine/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../src/engine/matcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,GAAG,IAAI,CAS7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-adapter.d.ts","sourceRoot":"","sources":["../../src/engine/navigation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwC,iBAAiB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"navigation-adapter.d.ts","sourceRoot":"","sources":["../../src/engine/navigation-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAwC,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAIzF;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,iBAAiB,CAwElE;AAID,MAAM,WAAW,8BAA8B;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAOD;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,OAAO,GAAE,8BAAmC,GAC1C,iBAAiB,CA6FnB"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { RouteComponent, RouteConfig,
|
|
1
|
+
import type { RouteComponent, RouteConfig, RouteNode, StandardSchema } from './types.js';
|
|
2
2
|
export interface CreateRouteNodeOptions {
|
|
3
3
|
path: string;
|
|
4
4
|
fullPath: string;
|
|
5
5
|
component?: RouteComponent;
|
|
6
6
|
searchSchema?: StandardSchema;
|
|
7
|
-
beforeEnter?: RouteGuard;
|
|
8
7
|
children?: RouteNode[];
|
|
9
8
|
parent?: RouteNode;
|
|
10
9
|
isLayout?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../../src/engine/route-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"route-tree.d.ts","sourceRoot":"","sources":["../../src/engine/route-tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAqBxF,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,cAAc,CAAA;IAC1B,YAAY,CAAC,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CA8C1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,SAAK,GAAG,SAAS,EAAE,CAEnF"}
|
|
@@ -21,7 +21,7 @@ function joinPaths(parent, child) {
|
|
|
21
21
|
* Create a route node with a compiled URLPattern.
|
|
22
22
|
*/
|
|
23
23
|
export function createRouteNode(options) {
|
|
24
|
-
const { path, fullPath, component, searchSchema,
|
|
24
|
+
const { path, fullPath, component, searchSchema, children = [], parent, isLayout = false, isIndex = false, } = options;
|
|
25
25
|
// Build the pattern — layouts get a prefix pattern for param extraction,
|
|
26
26
|
// index and leaf routes get an exact pattern for matching.
|
|
27
27
|
let pattern;
|
|
@@ -43,7 +43,6 @@ export function createRouteNode(options) {
|
|
|
43
43
|
prefixPattern,
|
|
44
44
|
component,
|
|
45
45
|
searchSchema,
|
|
46
|
-
beforeEnter,
|
|
47
46
|
children,
|
|
48
47
|
parent,
|
|
49
48
|
isLayout,
|
|
@@ -69,7 +68,10 @@ function buildRouteNodes(configs, parentPath) {
|
|
|
69
68
|
const isLayout = config.isLayout ?? hasChildren;
|
|
70
69
|
const isIndex = config.isIndex ?? (!isLayout && (config.path === '/' || config.path === ''));
|
|
71
70
|
let fullPath;
|
|
72
|
-
if (
|
|
71
|
+
if (config.matchPath != null) {
|
|
72
|
+
fullPath = config.matchPath;
|
|
73
|
+
}
|
|
74
|
+
else if (isIndex) {
|
|
73
75
|
fullPath = parentPath || '/';
|
|
74
76
|
}
|
|
75
77
|
else {
|
|
@@ -83,7 +85,6 @@ function buildRouteNodes(configs, parentPath) {
|
|
|
83
85
|
fullPath,
|
|
84
86
|
component: config.component,
|
|
85
87
|
searchSchema: config.searchSchema,
|
|
86
|
-
beforeEnter: config.beforeEnter,
|
|
87
88
|
children,
|
|
88
89
|
isLayout,
|
|
89
90
|
isIndex,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-tree.js","sourceRoot":"","sources":["../../src/engine/route-tree.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,SAAS,aAAa,CAAC,IAAY;IAClC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,GAAG,CAAA;IAC3C,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAA;IAClD,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,MAAc,EAAE,KAAa;IAC/C,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;IACvD,MAAM,IAAI,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IACzC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAA;IAC3D,OAAO,IAAI,GAAG,OAAO,CAAA;AACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"route-tree.js","sourceRoot":"","sources":["../../src/engine/route-tree.ts"],"names":[],"mappings":"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"}
|
package/dist/engine/router.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { LoaderCache } from './loader-cache.js';
|
|
2
|
+
import type { BlockerFn, NavigateOptions, NavigationAdapter, RouteNode, RouterState } from './types.js';
|
|
2
3
|
/**
|
|
3
4
|
* Thrown when a route guard prevents navigation.
|
|
4
5
|
*/
|
|
@@ -30,7 +31,7 @@ export interface RouterOptions {
|
|
|
30
31
|
*/
|
|
31
32
|
pageRegistry?: Record<string, string>;
|
|
32
33
|
/**
|
|
33
|
-
*
|
|
34
|
+
* Maximum number of entries in the global loader cache (shared across all pages).
|
|
34
35
|
* When navigating back to a cached URL, stale data is shown immediately
|
|
35
36
|
* while a background reload runs (SWR).
|
|
36
37
|
* Set to 0 to always re-fetch on URL change (default).
|
|
@@ -52,20 +53,20 @@ export declare class Router {
|
|
|
52
53
|
private invalidationListeners;
|
|
53
54
|
private state;
|
|
54
55
|
private navigationId;
|
|
55
|
-
private currentAbortController?;
|
|
56
56
|
private stopFn;
|
|
57
57
|
private blockers;
|
|
58
58
|
private pendingScrollBehavior;
|
|
59
|
-
private readonly
|
|
59
|
+
private readonly _loaderCache;
|
|
60
60
|
constructor(options: RouterOptions);
|
|
61
61
|
/**
|
|
62
62
|
* The configured base path (e.g., "/app"). Empty string if none.
|
|
63
63
|
*/
|
|
64
64
|
get basePath(): string;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Global LRU cache for page loader data, shared across all page components.
|
|
67
|
+
* Undefined when loaderCacheSize is 0 (no caching).
|
|
67
68
|
*/
|
|
68
|
-
get
|
|
69
|
+
get loaderCache(): LoaderCache | undefined;
|
|
69
70
|
/**
|
|
70
71
|
* Get the current router state.
|
|
71
72
|
*/
|
|
@@ -121,10 +122,6 @@ export declare class Router {
|
|
|
121
122
|
* Only fills params that are present in the target pattern.
|
|
122
123
|
*/
|
|
123
124
|
resolveParams(pattern: string, explicitParams?: Record<string, string>): Record<string, string>;
|
|
124
|
-
/**
|
|
125
|
-
* Extract parameter names from a route pattern.
|
|
126
|
-
*/
|
|
127
|
-
private extractParamNames;
|
|
128
125
|
/**
|
|
129
126
|
* Get merged params from all current route matches.
|
|
130
127
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/engine/router.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/engine/router.ts"],"names":[],"mappings":"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"}
|