@weave-framework/router 0.2.107 → 1.0.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/README.md +2 -2
- package/dist/index.d.ts +86 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +158 -31
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Weave's official client router — signal-driven, history-based, with `RouterView` + `Link`. Zero third-party deps.
|
|
4
4
|
|
|
5
|
-
Part of **[Weave](https://
|
|
5
|
+
Part of **[Weave](https://weaveframework.dev/)** — a fine-grained reactive, signal-native UI framework: no Virtual DOM, zero third-party runtime dependencies.
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install @weave-framework/router
|
|
@@ -14,7 +14,7 @@ Most apps get this (and the rest of Weave) in one step:
|
|
|
14
14
|
npm create weave@latest my-app
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
📚 **Guides + full API reference:** [
|
|
17
|
+
📚 **Guides + full API reference:** [weaveframework.dev](https://weaveframework.dev/)
|
|
18
18
|
|
|
19
19
|
## License
|
|
20
20
|
|
package/dist/index.d.ts
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
* Async data loading belongs in the component via `@weave-framework/data`.
|
|
19
19
|
*/
|
|
20
20
|
import { type Component } from '@weave-framework/runtime/dom';
|
|
21
|
+
/** Path parameters matched from the URL, as a string map (`/users/:id` → `{ id: '42' }`). */
|
|
21
22
|
export type RouteParams = Record<string, string>;
|
|
22
23
|
/** Context handed to a guard: the resolved path, accumulated path params, and query. */
|
|
23
24
|
export interface RouteContext {
|
|
@@ -40,9 +41,56 @@ export interface Route {
|
|
|
40
41
|
guard?: Guard;
|
|
41
42
|
/** Static redirect target (pathname). When matched, resolve to this path instead. */
|
|
42
43
|
redirect?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Route-level data loader. Runs when the route is rendered; its result is exposed to
|
|
46
|
+
* the component (and descendants) via {@link useLoaderData}, which returns an
|
|
47
|
+
* `@await`-compatible `{ data, loading, error }` — so `@await (useLoaderData())` just
|
|
48
|
+
* works. Re-runs when this route's params/query change; the previous run is aborted.
|
|
49
|
+
*/
|
|
50
|
+
loader?: (ctx: LoaderContext) => unknown;
|
|
43
51
|
/** Nested routes, matched against the path remainder under this route. */
|
|
44
52
|
children?: Route[];
|
|
45
53
|
}
|
|
54
|
+
/** Context handed to a route {@link Route.loader}: the (typed, via `route()`) params, query, and an abort signal. */
|
|
55
|
+
export interface LoaderContext<P = RouteParams> {
|
|
56
|
+
params: P;
|
|
57
|
+
query: RouteParams;
|
|
58
|
+
/** Aborted when the loader re-runs (param/query change) or the route unmounts. */
|
|
59
|
+
signal: AbortSignal;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Type-level path-param inference: turns a path literal into the params object its
|
|
63
|
+
* matches carry. `'/user/:id'` → `{ id: string }`, `'/user/:id/post/:pid'` →
|
|
64
|
+
* `{ id: string; pid: string }`, a param-less path → `{}`. Used by {@link route} so
|
|
65
|
+
* `guard`/`loader` see typed `params`.
|
|
66
|
+
*/
|
|
67
|
+
export type RouteParamsOf<Path extends string> = Path extends `${string}:${infer Param}/${infer Rest}` ? {
|
|
68
|
+
[K in Param | keyof RouteParamsOf<`/${Rest}`>]: string;
|
|
69
|
+
} : Path extends `${string}:${infer Param}` ? {
|
|
70
|
+
[K in Param]: string;
|
|
71
|
+
} : Record<never, string>;
|
|
72
|
+
/** Config for {@link route} — like {@link Route} minus `path`, with a typed `guard`. */
|
|
73
|
+
export interface RouteConfig<Path extends string = string> {
|
|
74
|
+
component?: Component;
|
|
75
|
+
/** Sync guard with params typed from the path literal. */
|
|
76
|
+
guard?: (ctx: {
|
|
77
|
+
path: string;
|
|
78
|
+
params: RouteParamsOf<Path>;
|
|
79
|
+
query: RouteParams;
|
|
80
|
+
}) => boolean | string;
|
|
81
|
+
/** Data loader with params typed from the path literal (`route('/user/:id', …)` → `params.id`). */
|
|
82
|
+
loader?: (ctx: LoaderContext<RouteParamsOf<Path>>) => unknown;
|
|
83
|
+
redirect?: string;
|
|
84
|
+
children?: Route[];
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Typed route builder. Captures the path *literal* in a generic so `guard` (and, in v2,
|
|
88
|
+
* `loader`) receive `params` inferred from the path — `route('/user/:id', …)` gives
|
|
89
|
+
* `params.id: string`. Returns a plain {@link Route}, so it drops into the same
|
|
90
|
+
* `createRouter([...])` array and nests via `children`. Plain-object routes still work
|
|
91
|
+
* (with untyped `params`); `route()` is the opt-in for inference.
|
|
92
|
+
*/
|
|
93
|
+
export declare function route<Path extends string>(path: Path, config?: RouteConfig<Path>): Route;
|
|
46
94
|
/**
|
|
47
95
|
* Set the base path the app is served under (e.g. `/weave` for a project page at
|
|
48
96
|
* `user.github.io/weave/`). Call once before the first render. Default is root.
|
|
@@ -66,11 +114,11 @@ type AfterHook = (nav: NavInfo) => void;
|
|
|
66
114
|
export declare function afterEach(fn: AfterHook): () => void;
|
|
67
115
|
/** Toggle Weave's built-in scroll handling (top-on-push, `#fragment`, restore-on-pop). */
|
|
68
116
|
export declare function setScrollHandling(on: boolean): void;
|
|
69
|
-
/** The reactive current pathname (read-only). */
|
|
117
|
+
/** The reactive current pathname of the active router (read-only). */
|
|
70
118
|
export declare const currentPath: () => string;
|
|
71
|
-
/** The reactive current query params (read-only). */
|
|
119
|
+
/** The reactive current query params of the active router (read-only). */
|
|
72
120
|
export declare const currentQuery: () => RouteParams;
|
|
73
|
-
/** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
|
|
121
|
+
/** Programmatic navigation on the active router (pushes history). Resilient if the env blocks pushState. */
|
|
74
122
|
export declare function navigate(to: string): void;
|
|
75
123
|
/** Go back one history entry (the `popstate` listener syncs the path). */
|
|
76
124
|
export declare function back(): void;
|
|
@@ -78,7 +126,10 @@ export declare function back(): void;
|
|
|
78
126
|
export interface Match {
|
|
79
127
|
view: Component;
|
|
80
128
|
params: RouteParams;
|
|
129
|
+
/** This route's data loader, if any (run by the outlet; read via {@link useLoaderData}). */
|
|
130
|
+
loader?: (ctx: LoaderContext) => unknown;
|
|
81
131
|
}
|
|
132
|
+
/** A router instance — owns its reactive URL state and resolves the matched route chain. Created by {@link createRouter}; reach the ambient one with {@link useRouter}. */
|
|
82
133
|
export interface Router {
|
|
83
134
|
/** The match at `depth` in the resolved chain (default 0 — the top component), or null. */
|
|
84
135
|
matched: (depth?: number) => Match | null;
|
|
@@ -86,8 +137,14 @@ export interface Router {
|
|
|
86
137
|
chain: () => Match[];
|
|
87
138
|
/** Accumulated path params at `depth` (default: the leaf — i.e. all params). */
|
|
88
139
|
params: (depth?: number) => RouteParams;
|
|
140
|
+
/** This router's reactive current pathname (read-only). */
|
|
141
|
+
path: () => string;
|
|
89
142
|
/** The current query params (reactive). */
|
|
90
143
|
query: () => RouteParams;
|
|
144
|
+
/** Navigate this router (pushes history). */
|
|
145
|
+
navigate: (to: string) => void;
|
|
146
|
+
/** Go back one history entry. */
|
|
147
|
+
back: () => void;
|
|
91
148
|
/** Canonical pathname the URL should sync to after a guard/redirect, or null. */
|
|
92
149
|
redirectTo: () => string | null;
|
|
93
150
|
/** Warm a path's lazy route chunk(s) ahead of navigation (Link prefetch). */
|
|
@@ -101,9 +158,35 @@ export interface Router {
|
|
|
101
158
|
*/
|
|
102
159
|
export declare function createRouter(routes: Route[], options?: {
|
|
103
160
|
basename?: string;
|
|
161
|
+
viewTransitions?: boolean;
|
|
104
162
|
}): Router;
|
|
105
163
|
/** Warm a path's lazy route chunk(s) via the active router (no-op if none / not lazy). */
|
|
106
164
|
export declare function prefetch(to: string): void;
|
|
165
|
+
/**
|
|
166
|
+
* Inject the router from context — the canonical way a routed component reaches its
|
|
167
|
+
* router (`const r = useRouter(); r.navigate('/x'); r.params()`). Must be called within
|
|
168
|
+
* a `<RouterView>` subtree; the module-level `navigate()`/`currentPath()` sugar covers
|
|
169
|
+
* code outside the routed tree.
|
|
170
|
+
*/
|
|
171
|
+
export declare function useRouter(): Router;
|
|
172
|
+
/**
|
|
173
|
+
* Reactive view of a route loader's result — the same `{ data, loading, error }` shape a
|
|
174
|
+
* `@weave-framework/data` resource exposes, so it drives `@await` directly.
|
|
175
|
+
*/
|
|
176
|
+
export interface LoaderData<T = unknown> {
|
|
177
|
+
/** Latest resolved value, or `undefined` while pending. Reactive. */
|
|
178
|
+
data: () => T | undefined;
|
|
179
|
+
/** True while the loader is in flight (initial run + each re-run). Reactive. */
|
|
180
|
+
loading: () => boolean;
|
|
181
|
+
/** The last rejection, or `undefined`. Cleared at the start of each run. Reactive. */
|
|
182
|
+
error: () => unknown;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Read the current route's {@link Route.loader} result inside a routed component. Returns
|
|
186
|
+
* an `@await`-compatible `{ data, loading, error }`, so `@await (useLoaderData())` renders
|
|
187
|
+
* pending / value / error branches. Throws if the route has no loader.
|
|
188
|
+
*/
|
|
189
|
+
export declare function useLoaderData<T = unknown>(): LoaderData<T>;
|
|
107
190
|
/**
|
|
108
191
|
* Router outlet: renders the matched component at its depth in the chain. The top
|
|
109
192
|
* 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;AAiCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAG9C;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -17,8 +17,18 @@
|
|
|
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
|
|
@@ -54,10 +64,39 @@ function withBase(p) {
|
|
|
54
64
|
export function setBasename(base) {
|
|
55
65
|
basename = normalizeBase(base);
|
|
56
66
|
if (typeof location !== 'undefined')
|
|
57
|
-
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 };
|
|
58
81
|
}
|
|
59
|
-
|
|
60
|
-
|
|
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;
|
|
61
100
|
const afterHooks = new Set();
|
|
62
101
|
/**
|
|
63
102
|
* Register a callback that runs after every navigation (push / pop / replace) —
|
|
@@ -115,34 +154,28 @@ if (typeof window !== 'undefined') {
|
|
|
115
154
|
const st = e.state;
|
|
116
155
|
curPos = st && typeof st.__wpos === 'number' ? st.__wpos : 0;
|
|
117
156
|
const internal = stripBase(location.pathname);
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
157
|
+
applyWithViewTransition(activeState, () => {
|
|
158
|
+
batch(() => {
|
|
159
|
+
activeState.path.set(internal);
|
|
160
|
+
activeState.search.set(location.search);
|
|
161
|
+
});
|
|
121
162
|
});
|
|
122
163
|
runAfter({ path: internal, search: location.search, hash: location.hash, type: 'pop' });
|
|
123
164
|
});
|
|
124
165
|
}
|
|
125
|
-
/** The reactive current pathname (read-only). */
|
|
126
|
-
export const currentPath = () => path();
|
|
127
|
-
/**
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
if (s)
|
|
132
|
-
new URLSearchParams(s).forEach((v, k) => (out[k] = v));
|
|
133
|
-
return out;
|
|
134
|
-
});
|
|
135
|
-
/** The reactive current query params (read-only). */
|
|
136
|
-
export const currentQuery = () => queryMap();
|
|
137
|
-
/** Programmatic navigation (pushes history). Resilient if the env blocks pushState. */
|
|
138
|
-
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) {
|
|
139
172
|
const hash = to.includes('#') ? to.slice(to.indexOf('#')) : '';
|
|
140
173
|
const noHash = to.split('#')[0];
|
|
141
174
|
const qI = noHash.indexOf('?');
|
|
142
175
|
const nextPath = qI === -1 ? noHash : noHash.slice(0, qI);
|
|
143
176
|
const nextSearch = qI === -1 ? '' : noHash.slice(qI);
|
|
144
177
|
// A bare same-URL navigation is a no-op — unless there's a `#fragment` to scroll to.
|
|
145
|
-
if (nextPath === path.peek() && nextSearch === search.peek() && !hash)
|
|
178
|
+
if (nextPath === state.path.peek() && nextSearch === state.search.peek() && !hash)
|
|
146
179
|
return;
|
|
147
180
|
// Remember where we are before leaving, so back/forward can restore it.
|
|
148
181
|
if (typeof window !== 'undefined')
|
|
@@ -156,12 +189,18 @@ export function navigate(to) {
|
|
|
156
189
|
catch {
|
|
157
190
|
/* non-navigable environment (tests, sandboxes) — the signals stay authoritative */
|
|
158
191
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
192
|
+
applyWithViewTransition(state, () => {
|
|
193
|
+
batch(() => {
|
|
194
|
+
state.path.set(nextPath);
|
|
195
|
+
state.search.set(nextSearch);
|
|
196
|
+
});
|
|
162
197
|
});
|
|
163
198
|
runAfter({ path: nextPath, search: nextSearch, hash, type: 'push' });
|
|
164
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
|
+
}
|
|
165
204
|
/** Go back one history entry (the `popstate` listener syncs the path). */
|
|
166
205
|
export function back() {
|
|
167
206
|
history.back();
|
|
@@ -207,7 +246,7 @@ function resolveLevel(routes, pathSegs, query, fullPath, inherited) {
|
|
|
207
246
|
return null; // blocked → caller falls back
|
|
208
247
|
if (typeof verdict === 'string')
|
|
209
248
|
return { redirect: verdict };
|
|
210
|
-
const here = { view: c.route.component, params };
|
|
249
|
+
const here = { view: c.route.component, params, loader: c.route.loader };
|
|
211
250
|
if (m.rest.length === 0) {
|
|
212
251
|
// Path fully consumed: include an index child (`path: ''`) if one matches.
|
|
213
252
|
if (c.children.length) {
|
|
@@ -240,14 +279,20 @@ let activeRouter = null;
|
|
|
240
279
|
* a top `<RouterView router={r}/>` and a nested `<RouterView/>` inside each layout.
|
|
241
280
|
*/
|
|
242
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;
|
|
243
288
|
if (options?.basename !== undefined)
|
|
244
289
|
setBasename(options.basename);
|
|
245
290
|
const compiled = compileRoutes(routes);
|
|
246
291
|
const fallback = routes.find((r) => r.path === '*');
|
|
247
292
|
const fallbackChain = () => fallback?.component ? [{ view: fallback.component, params: {} }] : [];
|
|
248
293
|
const resolution = computed(() => {
|
|
249
|
-
const q =
|
|
250
|
-
const start = path();
|
|
294
|
+
const q = state.query();
|
|
295
|
+
const start = state.path();
|
|
251
296
|
let p = start;
|
|
252
297
|
for (let hops = 0; hops < 16; hops++) {
|
|
253
298
|
const res = resolveLevel(compiled, splitSegs(p), q, p, {});
|
|
@@ -286,7 +331,10 @@ export function createRouter(routes, options) {
|
|
|
286
331
|
const i = depth ?? ch.length - 1;
|
|
287
332
|
return ch[i]?.params ?? {};
|
|
288
333
|
},
|
|
289
|
-
|
|
334
|
+
path: () => state.path(),
|
|
335
|
+
query: () => state.query(),
|
|
336
|
+
navigate: (to) => navigateState(state, to),
|
|
337
|
+
back: () => back(),
|
|
290
338
|
redirectTo: () => resolution().redirectTo,
|
|
291
339
|
preload,
|
|
292
340
|
};
|
|
@@ -299,6 +347,78 @@ export function prefetch(to) {
|
|
|
299
347
|
}
|
|
300
348
|
/** Carries the router + the next outlet's depth down the tree (set by each RouterView). */
|
|
301
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
|
+
}
|
|
302
422
|
/**
|
|
303
423
|
* Router outlet: renders the matched component at its depth in the chain. The top
|
|
304
424
|
* outlet takes `router` as a prop and renders depth 0; a nested `<RouterView/>` written
|
|
@@ -334,8 +454,8 @@ export const RouterView = (props = {}) => {
|
|
|
334
454
|
if (router && depth === 0) {
|
|
335
455
|
effect(() => {
|
|
336
456
|
const to = router.redirectTo();
|
|
337
|
-
if (to !== null && to !== path
|
|
338
|
-
navigate(to);
|
|
457
|
+
if (to !== null && to !== router.path())
|
|
458
|
+
router.navigate(to);
|
|
339
459
|
});
|
|
340
460
|
}
|
|
341
461
|
const thunks = new Map();
|
|
@@ -346,7 +466,14 @@ export const RouterView = (props = {}) => {
|
|
|
346
466
|
let thunk = thunks.get(m.view);
|
|
347
467
|
if (!thunk) {
|
|
348
468
|
const view = m.view;
|
|
469
|
+
const loaderMatch = m; // loader fn is stable per route; params are read live
|
|
349
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
|
+
}
|
|
350
477
|
const node = view({
|
|
351
478
|
get params() {
|
|
352
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.
|
|
3
|
+
"version": "1.0.0",
|
|
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.
|
|
38
|
+
"@weave-framework/runtime": "1.0.0"
|
|
39
39
|
},
|
|
40
40
|
"license": "MIT"
|
|
41
41
|
}
|