@weave-framework/router 0.2.53 → 0.2.162
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/README.md +21 -0
- package/dist/index.d.ts +84 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +164 -34
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# @weave-framework/router
|
|
2
|
+
|
|
3
|
+
Weave's official client router — signal-driven, history-based, with `RouterView` + `Link`. Zero third-party deps.
|
|
4
|
+
|
|
5
|
+
Part of **[Weave](https://weaveframework.dev/)** — a fine-grained reactive, signal-native UI framework: no Virtual DOM, zero third-party runtime dependencies.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @weave-framework/router
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Most apps get this (and the rest of Weave) in one step:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm create weave@latest my-app
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
📚 **Guides + full API reference:** [weaveframework.dev](https://weaveframework.dev/)
|
|
18
|
+
|
|
19
|
+
## License
|
|
20
|
+
|
|
21
|
+
MIT
|
package/dist/index.d.ts
CHANGED
|
@@ -40,9 +40,56 @@ export interface Route {
|
|
|
40
40
|
guard?: Guard;
|
|
41
41
|
/** Static redirect target (pathname). When matched, resolve to this path instead. */
|
|
42
42
|
redirect?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Route-level data loader. Runs when the route is rendered; its result is exposed to
|
|
45
|
+
* the component (and descendants) via {@link useLoaderData}, which returns an
|
|
46
|
+
* `@await`-compatible `{ data, loading, error }` — so `@await (useLoaderData())` just
|
|
47
|
+
* works. Re-runs when this route's params/query change; the previous run is aborted.
|
|
48
|
+
*/
|
|
49
|
+
loader?: (ctx: LoaderContext) => unknown;
|
|
43
50
|
/** Nested routes, matched against the path remainder under this route. */
|
|
44
51
|
children?: Route[];
|
|
45
52
|
}
|
|
53
|
+
/** Context handed to a route {@link Route.loader}: the (typed, via `route()`) params, query, and an abort signal. */
|
|
54
|
+
export interface LoaderContext<P = RouteParams> {
|
|
55
|
+
params: P;
|
|
56
|
+
query: RouteParams;
|
|
57
|
+
/** Aborted when the loader re-runs (param/query change) or the route unmounts. */
|
|
58
|
+
signal: AbortSignal;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Type-level path-param inference: turns a path literal into the params object its
|
|
62
|
+
* matches carry. `'/user/:id'` → `{ id: string }`, `'/user/:id/post/:pid'` →
|
|
63
|
+
* `{ id: string; pid: string }`, a param-less path → `{}`. Used by {@link route} so
|
|
64
|
+
* `guard`/`loader` see typed `params`.
|
|
65
|
+
*/
|
|
66
|
+
export type RouteParamsOf<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ? {
|
|
67
|
+
[K in Param | keyof RouteParamsOf<`/${Rest}`>]: string;
|
|
68
|
+
} : Path extends `${string}:${infer Param}` ? {
|
|
69
|
+
[K in Param]: string;
|
|
70
|
+
} : Record<never, string>;
|
|
71
|
+
/** Config for {@link route} — like {@link Route} minus `path`, with a typed `guard`. */
|
|
72
|
+
export interface RouteConfig<Path extends string = string> {
|
|
73
|
+
component?: Component;
|
|
74
|
+
/** Sync guard with params typed from the path literal. */
|
|
75
|
+
guard?: (ctx: {
|
|
76
|
+
path: string;
|
|
77
|
+
params: RouteParamsOf<Path>;
|
|
78
|
+
query: RouteParams;
|
|
79
|
+
}) => boolean | string;
|
|
80
|
+
/** Data loader with params typed from the path literal (`route('/user/:id', …)` → `params.id`). */
|
|
81
|
+
loader?: (ctx: LoaderContext<RouteParamsOf<Path>>) => unknown;
|
|
82
|
+
redirect?: string;
|
|
83
|
+
children?: Route[];
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
|
|
87
|
+
* `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
|
|
88
|
+
* `params.id: string`. Returns a plain {@link Route}, so it drops into the same
|
|
89
|
+
* `createRouter([...])` array and nests via `children`. Plain-object routes still work
|
|
90
|
+
* (with untyped `params`); `route()` is the opt-in for inference.
|
|
91
|
+
*/
|
|
92
|
+
export declare function route<Path extends string>(path: Path, config?: RouteConfig<Path>): Route;
|
|
46
93
|
/**
|
|
47
94
|
* Set the base path the app is served under (e.g. `/weave` for a project page at
|
|
48
95
|
* `user.github.io/weave/`). Call once before the first render. Default is root.
|
|
@@ -66,11 +113,11 @@ type AfterHook = (nav: NavInfo) => void;
|
|
|
66
113
|
export declare function afterEach(fn: AfterHook): () => void;
|
|
67
114
|
/** Toggle Weave's built-in scroll handling (top-on-push, `#fragment`, restore-on-pop). */
|
|
68
115
|
export declare function setScrollHandling(on: boolean): void;
|
|
69
|
-
/** The reactive current pathname (read-only). */
|
|
116
|
+
/** The reactive current pathname of the active router (read-only). */
|
|
70
117
|
export declare const currentPath: () => string;
|
|
71
|
-
/** The reactive current query params (read-only). */
|
|
118
|
+
/** The reactive current query params of the active router (read-only). */
|
|
72
119
|
export declare const currentQuery: () => RouteParams;
|
|
73
|
-
/** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
|
|
120
|
+
/** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
|
|
74
121
|
export declare function navigate(to: string): void;
|
|
75
122
|
/** Go back one history entry (the `popstate` listener syncs the path). */
|
|
76
123
|
export declare function back(): void;
|
|
@@ -78,6 +125,8 @@ export declare function back(): void;
|
|
|
78
125
|
export interface Match {
|
|
79
126
|
view: Component;
|
|
80
127
|
params: RouteParams;
|
|
128
|
+
/** This route's data loader, if any (run by the outlet; read via {@link useLoaderData}). */
|
|
129
|
+
loader?: (ctx: LoaderContext) => unknown;
|
|
81
130
|
}
|
|
82
131
|
export interface Router {
|
|
83
132
|
/** The match at `depth` in the resolved chain (default 0 — the top component), or null. */
|
|
@@ -86,8 +135,14 @@ export interface Router {
|
|
|
86
135
|
chain: () => Match[];
|
|
87
136
|
/** Accumulated path params at `depth` (default: the leaf — i.e. all params). */
|
|
88
137
|
params: (depth?: number) => RouteParams;
|
|
138
|
+
/** This router's reactive current pathname (read-only). */
|
|
139
|
+
path: () => string;
|
|
89
140
|
/** The current query params (reactive). */
|
|
90
141
|
query: () => RouteParams;
|
|
142
|
+
/** Navigate this router (pushes history). */
|
|
143
|
+
navigate: (to: string) => void;
|
|
144
|
+
/** Go back one history entry. */
|
|
145
|
+
back: () => void;
|
|
91
146
|
/** Canonical pathname the URL should sync to after a guard/redirect, or null. */
|
|
92
147
|
redirectTo: () => string | null;
|
|
93
148
|
/** Warm a path's lazy route chunk(s) ahead of navigation (Link prefetch). */
|
|
@@ -101,9 +156,35 @@ export interface Router {
|
|
|
101
156
|
*/
|
|
102
157
|
export declare function createRouter(routes: Route[], options?: {
|
|
103
158
|
basename?: string;
|
|
159
|
+
viewTransitions?: boolean;
|
|
104
160
|
}): Router;
|
|
105
161
|
/** Warm a path's lazy route chunk(s) via the active router (no-op if none / not lazy). */
|
|
106
162
|
export declare function prefetch(to: string): void;
|
|
163
|
+
/**
|
|
164
|
+
* Inject the router from context — the canonical way a routed component reaches its
|
|
165
|
+
* router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
|
|
166
|
+
* a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
|
|
167
|
+
* code outside the routed tree.
|
|
168
|
+
*/
|
|
169
|
+
export declare function useRouter(): Router;
|
|
170
|
+
/**
|
|
171
|
+
* Reactive view of a route loader's result — the same `{ data, loading, error }` shape a
|
|
172
|
+
* `@weave-framework/data` resource exposes, so it drives `@await` directly.
|
|
173
|
+
*/
|
|
174
|
+
export interface LoaderData<T = unknown> {
|
|
175
|
+
/** Latest resolved value, or `undefined` while pending. Reactive. */
|
|
176
|
+
data: () => T | undefined;
|
|
177
|
+
/** True while the loader is in flight (initial run + each re-run). Reactive. */
|
|
178
|
+
loading: () => boolean;
|
|
179
|
+
/** The last rejection, or `undefined`. Cleared at the start of each run. Reactive. */
|
|
180
|
+
error: () => unknown;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Read the current route's {@link Route.loader} result inside a routed component. Returns
|
|
184
|
+
* an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
|
|
185
|
+
* pending / value / error branches. Throws if the route has no loader.
|
|
186
|
+
*/
|
|
187
|
+
export declare function useLoaderData<T = unknown>(): LoaderData<T>;
|
|
107
188
|
/**
|
|
108
189
|
* Router outlet: renders the matched component at its depth in the chain. The top
|
|
109
190
|
* outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EAAuB,KAAK,SAAS,EAAqB,MAAM,8BAA8B,CAAC;AAEtG,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,wFAAwF;AACxF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,GAAG,MAAM,CAAC;AAE5D,8EAA8E;AAC9E,MAAM,WAAW,KAAK;IACpB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kFAAkF;IAClF,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,qFAAqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,18 +17,31 @@
|
|
|
17
17
|
* signals (e.g. `isAuthed()`), so a route re-resolves automatically when auth changes.
|
|
18
18
|
* Async data loading belongs in the component via `@weave-framework/data`.
|
|
19
19
|
*/
|
|
20
|
-
import { signal, computed, effect, batch, getOwner, createContext, provide, inject } from '@weave-framework/runtime';
|
|
20
|
+
import { signal, computed, effect, batch, onCleanup, getOwner, createContext, provide, inject } from '@weave-framework/runtime';
|
|
21
21
|
import { ifBlock, transition } from '@weave-framework/runtime/dom';
|
|
22
|
+
/**
|
|
23
|
+
* Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
|
|
24
|
+
* `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
|
|
25
|
+
* `params.id: string`. Returns a plain {@link Route}, so it drops into the same
|
|
26
|
+
* `createRouter([...])` array and nests via `children`. Plain-object routes still work
|
|
27
|
+
* (with untyped `params`); `route()` is the opt-in for inference.
|
|
28
|
+
*/
|
|
29
|
+
export function route(path, config = {}) {
|
|
30
|
+
return { path, ...config };
|
|
31
|
+
}
|
|
22
32
|
/* ──────────── base path (for hosting under a sub-path, e.g. GitHub Pages) ──────────── */
|
|
23
33
|
// All public paths (route patterns, navigate(), Link `to`, currentPath()) are
|
|
24
34
|
// "internal" — written as if the app were at the origin root. `basename` is the
|
|
25
35
|
// prefix the app is actually served under (default '' = root). It's stripped when
|
|
26
36
|
// reading location and re-added when writing history, so nothing else changes.
|
|
27
37
|
let basename = '';
|
|
28
|
-
/** Normalize a base: strip
|
|
38
|
+
/** Normalize a base: strip trailing slashes; treat '' / '/' as "no base". */
|
|
29
39
|
function normalizeBase(b) {
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
// Non-regex trailing-slash trim (a `/\/+$/` regex is a polynomial-ReDoS shape).
|
|
41
|
+
let end = b.length;
|
|
42
|
+
while (end > 0 && b[end - 1] === '/')
|
|
43
|
+
end--;
|
|
44
|
+
return b.slice(0, end);
|
|
32
45
|
}
|
|
33
46
|
/** location.pathname → internal path (drop the basename prefix). */
|
|
34
47
|
function stripBase(pathname) {
|
|
@@ -51,10 +64,39 @@ function withBase(p) {
|
|
|
51
64
|
export function setBasename(base) {
|
|
52
65
|
basename = normalizeBase(base);
|
|
53
66
|
if (typeof location !== 'undefined')
|
|
54
|
-
path.set(stripBase(location.pathname));
|
|
67
|
+
activeState.path.set(stripBase(location.pathname));
|
|
68
|
+
}
|
|
69
|
+
function createState() {
|
|
70
|
+
const path = signal(typeof location !== 'undefined' ? stripBase(location.pathname) : '/');
|
|
71
|
+
const search = signal(typeof location !== 'undefined' ? location.search : '');
|
|
72
|
+
// Parsed query string as a reactive `{ key: value }` map (last value wins on repeats).
|
|
73
|
+
const query = computed(() => {
|
|
74
|
+
const out = {};
|
|
75
|
+
const s = search();
|
|
76
|
+
if (s)
|
|
77
|
+
new URLSearchParams(s).forEach((v, k) => (out[k] = v));
|
|
78
|
+
return out;
|
|
79
|
+
});
|
|
80
|
+
return { path, search, query, vt: false };
|
|
55
81
|
}
|
|
56
|
-
|
|
57
|
-
|
|
82
|
+
/**
|
|
83
|
+
* Apply a state mutation, wrapped in a native View Transition when this router opted in
|
|
84
|
+
* (`viewTransitions: true`) and the browser supports it. Weave's updates are synchronous,
|
|
85
|
+
* so the outlet's swap happens *inside* the callback — the browser snapshots before/after
|
|
86
|
+
* and cross-fades. Unsupported browsers (or `vt: false`) just apply directly — a graceful
|
|
87
|
+
* fallback, and any Weave `transition` prop on `<RouterView>` still plays as before.
|
|
88
|
+
*/
|
|
89
|
+
function applyWithViewTransition(state, apply) {
|
|
90
|
+
const doc = typeof document !== 'undefined' ? document : undefined;
|
|
91
|
+
if (state.vt && doc && typeof doc.startViewTransition === 'function') {
|
|
92
|
+
doc.startViewTransition(apply);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
apply();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const defaultState = createState();
|
|
99
|
+
let activeState = defaultState;
|
|
58
100
|
const afterHooks = new Set();
|
|
59
101
|
/**
|
|
60
102
|
* Register a callback that runs after every navigation (push / pop / replace) —
|
|
@@ -112,34 +154,28 @@ if (typeof window !== 'undefined') {
|
|
|
112
154
|
const st = e.state;
|
|
113
155
|
curPos = st && typeof st.__wpos === 'number' ? st.__wpos : 0;
|
|
114
156
|
const internal = stripBase(location.pathname);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
157
|
+
applyWithViewTransition(activeState, () => {
|
|
158
|
+
batch(() => {
|
|
159
|
+
activeState.path.set(internal);
|
|
160
|
+
activeState.search.set(location.search);
|
|
161
|
+
});
|
|
118
162
|
});
|
|
119
163
|
runAfter({ path: internal, search: location.search, hash: location.hash, type: 'pop' });
|
|
120
164
|
});
|
|
121
165
|
}
|
|
122
|
-
/** The reactive current pathname (read-only). */
|
|
123
|
-
export const currentPath = () => path();
|
|
124
|
-
/**
|
|
125
|
-
const
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (s)
|
|
129
|
-
new URLSearchParams(s).forEach((v, k) => (out[k] = v));
|
|
130
|
-
return out;
|
|
131
|
-
});
|
|
132
|
-
/** The reactive current query params (read-only). */
|
|
133
|
-
export const currentQuery = () => queryMap();
|
|
134
|
-
/** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
|
|
135
|
-
export function navigate(to) {
|
|
166
|
+
/** The reactive current pathname of the active router (read-only). */
|
|
167
|
+
export const currentPath = () => activeState.path();
|
|
168
|
+
/** The reactive current query params of the active router (read-only). */
|
|
169
|
+
export const currentQuery = () => activeState.query();
|
|
170
|
+
/** Programmatic navigation against a specific router state (pushes history). */
|
|
171
|
+
function navigateState(state, to) {
|
|
136
172
|
const hash = to.includes('#') ? to.slice(to.indexOf('#')) : '';
|
|
137
173
|
const noHash = to.split('#')[0];
|
|
138
174
|
const qI = noHash.indexOf('?');
|
|
139
175
|
const nextPath = qI === -1 ? noHash : noHash.slice(0, qI);
|
|
140
176
|
const nextSearch = qI === -1 ? '' : noHash.slice(qI);
|
|
141
177
|
// A bare same-URL navigation is a no-op — unless there's a `#fragment` to scroll to.
|
|
142
|
-
if (nextPath === path.peek() && nextSearch === search.peek() && !hash)
|
|
178
|
+
if (nextPath === state.path.peek() && nextSearch === state.search.peek() && !hash)
|
|
143
179
|
return;
|
|
144
180
|
// Remember where we are before leaving, so back/forward can restore it.
|
|
145
181
|
if (typeof window !== 'undefined')
|
|
@@ -153,12 +189,18 @@ export function navigate(to) {
|
|
|
153
189
|
catch {
|
|
154
190
|
/* non-navigable environment (tests, sandboxes) — the signals stay authoritative */
|
|
155
191
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
192
|
+
applyWithViewTransition(state, () => {
|
|
193
|
+
batch(() => {
|
|
194
|
+
state.path.set(nextPath);
|
|
195
|
+
state.search.set(nextSearch);
|
|
196
|
+
});
|
|
159
197
|
});
|
|
160
198
|
runAfter({ path: nextPath, search: nextSearch, hash, type: 'push' });
|
|
161
199
|
}
|
|
200
|
+
/** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
|
|
201
|
+
export function navigate(to) {
|
|
202
|
+
navigateState(activeState, to);
|
|
203
|
+
}
|
|
162
204
|
/** Go back one history entry (the `popstate` listener syncs the path). */
|
|
163
205
|
export function back() {
|
|
164
206
|
history.back();
|
|
@@ -204,7 +246,7 @@ function resolveLevel(routes, pathSegs, query, fullPath, inherited) {
|
|
|
204
246
|
return null; // blocked → caller falls back
|
|
205
247
|
if (typeof verdict === 'string')
|
|
206
248
|
return { redirect: verdict };
|
|
207
|
-
const here = { view: c.route.component, params };
|
|
249
|
+
const here = { view: c.route.component, params, loader: c.route.loader };
|
|
208
250
|
if (m.rest.length === 0) {
|
|
209
251
|
// Path fully consumed: include an index child (`path: ''`) if one matches.
|
|
210
252
|
if (c.children.length) {
|
|
@@ -237,14 +279,20 @@ let activeRouter = null;
|
|
|
237
279
|
* a top `<RouterView router={r}/>` and a nested `<RouterView/>` inside each layout.
|
|
238
280
|
*/
|
|
239
281
|
export function createRouter(routes, options) {
|
|
282
|
+
// This router owns its reactive state and becomes the browser-active one (the target
|
|
283
|
+
// of the module-level sugar + the popstate listener). Set active BEFORE applying the
|
|
284
|
+
// basename so `setBasename` corrects THIS router's path.
|
|
285
|
+
const state = createState();
|
|
286
|
+
state.vt = !!options?.viewTransitions;
|
|
287
|
+
activeState = state;
|
|
240
288
|
if (options?.basename !== undefined)
|
|
241
289
|
setBasename(options.basename);
|
|
242
290
|
const compiled = compileRoutes(routes);
|
|
243
291
|
const fallback = routes.find((r) => r.path === '*');
|
|
244
292
|
const fallbackChain = () => fallback?.component ? [{ view: fallback.component, params: {} }] : [];
|
|
245
293
|
const resolution = computed(() => {
|
|
246
|
-
const q =
|
|
247
|
-
const start = path();
|
|
294
|
+
const q = state.query();
|
|
295
|
+
const start = state.path();
|
|
248
296
|
let p = start;
|
|
249
297
|
for (let hops = 0; hops < 16; hops++) {
|
|
250
298
|
const res = resolveLevel(compiled, splitSegs(p), q, p, {});
|
|
@@ -283,7 +331,10 @@ export function createRouter(routes, options) {
|
|
|
283
331
|
const i = depth ?? ch.length - 1;
|
|
284
332
|
return ch[i]?.params ?? {};
|
|
285
333
|
},
|
|
286
|
-
|
|
334
|
+
path: () => state.path(),
|
|
335
|
+
query: () => state.query(),
|
|
336
|
+
navigate: (to) => navigateState(state, to),
|
|
337
|
+
back: () => back(),
|
|
287
338
|
redirectTo: () => resolution().redirectTo,
|
|
288
339
|
preload,
|
|
289
340
|
};
|
|
@@ -296,6 +347,78 @@ export function prefetch(to) {
|
|
|
296
347
|
}
|
|
297
348
|
/** Carries the router + the next outlet's depth down the tree (set by each RouterView). */
|
|
298
349
|
const OutletContext = createContext(null);
|
|
350
|
+
/**
|
|
351
|
+
* Inject the router from context — the canonical way a routed component reaches its
|
|
352
|
+
* router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
|
|
353
|
+
* a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
|
|
354
|
+
* code outside the routed tree.
|
|
355
|
+
*/
|
|
356
|
+
export function useRouter() {
|
|
357
|
+
const ctx = inject(OutletContext);
|
|
358
|
+
if (!ctx?.router) {
|
|
359
|
+
throw new Error('useRouter() must be called within a <RouterView> subtree');
|
|
360
|
+
}
|
|
361
|
+
return ctx.router;
|
|
362
|
+
}
|
|
363
|
+
/** Carries the current route's loader result down to the component + descendants. */
|
|
364
|
+
const LoaderDataContext = createContext(null);
|
|
365
|
+
/**
|
|
366
|
+
* Read the current route's {@link Route.loader} result inside a routed component. Returns
|
|
367
|
+
* an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
|
|
368
|
+
* pending / value / error branches. Throws if the route has no loader.
|
|
369
|
+
*/
|
|
370
|
+
export function useLoaderData() {
|
|
371
|
+
const data = inject(LoaderDataContext);
|
|
372
|
+
if (!data) {
|
|
373
|
+
throw new Error('useLoaderData() requires the current route to define a loader');
|
|
374
|
+
}
|
|
375
|
+
return data;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Run a match's loader as a reactive resource: (re)runs whenever this depth's params or
|
|
379
|
+
* query change (keyed, so unrelated navigations don't refetch), aborting the previous run
|
|
380
|
+
* and ignoring its late settle. Runtime-only (no `@weave-framework/data` dependency) —
|
|
381
|
+
* loaders need just load/value/error + abort, which the `@await` contract is built on.
|
|
382
|
+
*
|
|
383
|
+
* SSR seam (Phase D, RFC 0001 §4): a future `renderToString` will `await` these before
|
|
384
|
+
* serializing and seed the resolved value into the page so the client hydrates without a
|
|
385
|
+
* re-fetch — this resource is the single place that wiring will hook in.
|
|
386
|
+
*/
|
|
387
|
+
function createLoaderResource(match, router, depth) {
|
|
388
|
+
const dataSig = signal(undefined);
|
|
389
|
+
const loadingSig = signal(true);
|
|
390
|
+
const errorSig = signal(undefined);
|
|
391
|
+
let token = 0;
|
|
392
|
+
let lastKey = null;
|
|
393
|
+
let ac = null;
|
|
394
|
+
effect(() => {
|
|
395
|
+
const params = router.params(depth);
|
|
396
|
+
const query = router.query();
|
|
397
|
+
const key = JSON.stringify(params) + '' + JSON.stringify(query);
|
|
398
|
+
if (key === lastKey)
|
|
399
|
+
return; // same inputs → don't re-run on an unrelated navigation
|
|
400
|
+
lastKey = key;
|
|
401
|
+
const my = ++token;
|
|
402
|
+
ac?.abort();
|
|
403
|
+
ac = typeof AbortController !== 'undefined' ? new AbortController() : null;
|
|
404
|
+
const signal = ac ? ac.signal : { aborted: false };
|
|
405
|
+
batch(() => {
|
|
406
|
+
loadingSig.set(true);
|
|
407
|
+
errorSig.set(undefined);
|
|
408
|
+
});
|
|
409
|
+
Promise.resolve()
|
|
410
|
+
.then(() => match.loader({ params, query, signal }))
|
|
411
|
+
.then((value) => {
|
|
412
|
+
if (my === token)
|
|
413
|
+
batch(() => { dataSig.set(value); loadingSig.set(false); });
|
|
414
|
+
}, (err) => {
|
|
415
|
+
if (my === token)
|
|
416
|
+
batch(() => { errorSig.set(err); loadingSig.set(false); });
|
|
417
|
+
});
|
|
418
|
+
});
|
|
419
|
+
onCleanup(() => ac?.abort());
|
|
420
|
+
return { data: () => dataSig(), loading: () => loadingSig(), error: () => errorSig() };
|
|
421
|
+
}
|
|
299
422
|
/**
|
|
300
423
|
* Router outlet: renders the matched component at its depth in the chain. The top
|
|
301
424
|
* outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
|
|
@@ -331,8 +454,8 @@ export const RouterView = (props = {}) => {
|
|
|
331
454
|
if (router && depth === 0) {
|
|
332
455
|
effect(() => {
|
|
333
456
|
const to = router.redirectTo();
|
|
334
|
-
if (to !== null && to !== path
|
|
335
|
-
navigate(to);
|
|
457
|
+
if (to !== null && to !== router.path())
|
|
458
|
+
router.navigate(to);
|
|
336
459
|
});
|
|
337
460
|
}
|
|
338
461
|
const thunks = new Map();
|
|
@@ -343,7 +466,14 @@ export const RouterView = (props = {}) => {
|
|
|
343
466
|
let thunk = thunks.get(m.view);
|
|
344
467
|
if (!thunk) {
|
|
345
468
|
const view = m.view;
|
|
469
|
+
const loaderMatch = m; // loader fn is stable per route; params are read live
|
|
346
470
|
thunk = () => {
|
|
471
|
+
// Run this route's loader (if any) and expose it via context so a descendant's
|
|
472
|
+
// useLoaderData() resolves it. Provided in the branch's own owner scope, so it
|
|
473
|
+
// disposes with the view on swap/unmount.
|
|
474
|
+
if (loaderMatch.loader && getOwner()) {
|
|
475
|
+
provide(LoaderDataContext, createLoaderResource(loaderMatch, router, depth));
|
|
476
|
+
}
|
|
347
477
|
const node = view({
|
|
348
478
|
get params() {
|
|
349
479
|
return router.params(depth);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@weave-framework/router",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.162",
|
|
4
4
|
"description": "Weave official client router — signal-driven, history-based, with RouterView + Link. Zero third-party deps.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@weave-framework/runtime": "0.2.
|
|
38
|
+
"@weave-framework/runtime": "0.2.162"
|
|
39
39
|
},
|
|
40
40
|
"license": "MIT"
|
|
41
41
|
}
|