@studiolambda/router 0.1.0 → 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/dist/matcher-C4dv_pr6.cjs +2 -0
- package/dist/{matcher-CSJ3hjzA.cjs.map → matcher-C4dv_pr6.cjs.map} +1 -1
- package/dist/{matcher-XNPYU-tD.js → matcher-CQObVRFk.js} +22 -17
- package/dist/{matcher-XNPYU-tD.js.map → matcher-CQObVRFk.js.map} +1 -1
- package/dist/router.cjs +1 -1
- package/dist/router.js +1 -1
- package/dist/router_react.cjs +2 -2
- package/dist/router_react.cjs.map +1 -1
- package/dist/router_react.js +180 -135
- package/dist/router_react.js.map +1 -1
- package/dist/src/react/context/NavigationContext.d.ts +1 -1
- package/dist/src/react/context/UrlContext.d.ts +12 -0
- package/dist/src/react/createRouter.d.ts +5 -0
- package/dist/src/react/hooks/useBack.d.ts +7 -1
- package/dist/src/react/hooks/useForward.d.ts +8 -1
- package/dist/src/react/hooks/usePrefetch.d.ts +5 -0
- package/dist/src/react/hooks/useSearchParams.d.ts +9 -5
- package/dist/src/react/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist/matcher-CSJ3hjzA.cjs +0 -2
- package/dist/src/react/ExampleMain.d.ts +0 -7
- package/dist/src/react/example.d.ts +0 -1
- package/dist/src/react/examples/Auth.d.ts +0 -11
- package/dist/src/react/examples/HelloWorld.d.ts +0 -5
- package/dist/src/react/examples/Other.d.ts +0 -6
- package/dist/src/react/examples/User.d.ts +0 -6
- package/dist/src/react/test-helpers.d.ts +0 -50
package/dist/router_react.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as e } from "./matcher-
|
|
1
|
+
import { t as e } from "./matcher-CQObVRFk.js";
|
|
2
2
|
import { jsx as t } from "react/jsx-runtime";
|
|
3
3
|
import { Suspense as n, createContext as r, use as i, useEffect as a, useEffectEvent as o, useRef as s, useState as c, useTransition as l } from "react";
|
|
4
4
|
//#region \0rolldown/runtime.js
|
|
@@ -85,7 +85,7 @@ function w(e) {
|
|
|
85
85
|
handler: { component: n },
|
|
86
86
|
params: {}
|
|
87
87
|
};
|
|
88
|
-
return e ? t.match(new URL(e).pathname) ?? r : r;
|
|
88
|
+
return e ? t.match(new URL(e, "http://localhost").pathname) ?? r : r;
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
//#endregion
|
|
@@ -106,31 +106,34 @@ function T(e, t) {
|
|
|
106
106
|
}
|
|
107
107
|
//#endregion
|
|
108
108
|
//#region src/react/context/PathnameContext.ts
|
|
109
|
-
var E = r("/");
|
|
109
|
+
var E = r("/"), D = r(null);
|
|
110
110
|
//#endregion
|
|
111
111
|
//#region src/react/extractPathname.ts
|
|
112
|
-
function
|
|
112
|
+
function O(e) {
|
|
113
113
|
return e ? new URL(e, "http://localhost").pathname : "/";
|
|
114
114
|
}
|
|
115
115
|
//#endregion
|
|
116
116
|
//#region src/react/components/Router.tsx
|
|
117
|
-
function
|
|
118
|
-
let r = (0, h.c)(
|
|
117
|
+
function k(e) {
|
|
118
|
+
let r = (0, h.c)(47), a = i(_), s = e.navigation ?? a ?? (typeof window < "u" ? window.navigation : void 0);
|
|
119
|
+
if (s == null) throw Error("Router requires a navigation prop, NavigationContext provider, or browser Navigation API support. Use createMemoryNavigation() for SSR or non-browser environments.");
|
|
120
|
+
let u = e.matcher ?? i(C), d = l(), p = e.transition ?? d, m;
|
|
119
121
|
r[0] === u ? m = r[1] : (m = { matcher: u }, r[0] = u, r[1] = m);
|
|
120
|
-
let
|
|
121
|
-
r[2] !== s.currentEntry?.url || r[3] !==
|
|
122
|
+
let k = w(m), A = e.notFound ?? b, j;
|
|
123
|
+
r[2] !== s.currentEntry?.url || r[3] !== k || r[4] !== A ? (j = function() {
|
|
122
124
|
let e = s.currentEntry?.url ?? null;
|
|
123
125
|
return {
|
|
124
|
-
match:
|
|
126
|
+
match: k(e, A),
|
|
125
127
|
signal: null,
|
|
126
128
|
navigationType: null,
|
|
127
|
-
pathname:
|
|
129
|
+
pathname: O(e),
|
|
130
|
+
url: e
|
|
128
131
|
};
|
|
129
|
-
}, r[2] = s.currentEntry?.url, r[3] =
|
|
130
|
-
let [
|
|
131
|
-
r[6] !==
|
|
132
|
+
}, r[2] = s.currentEntry?.url, r[3] = k, r[4] = A, r[5] = j) : j = r[5];
|
|
133
|
+
let [M, N] = c(j), { createPrecommitHandler: P, createHandler: F } = S(p), I;
|
|
134
|
+
r[6] !== F || r[7] !== P || r[8] !== k || r[9] !== A ? (I = function(e) {
|
|
132
135
|
if (!e.canIntercept || e.hashChange || e.downloadRequest !== null) return;
|
|
133
|
-
let t =
|
|
136
|
+
let t = k(e.destination.url, A);
|
|
134
137
|
if (e.formData !== null && t.handler.formHandler !== void 0) {
|
|
135
138
|
e.intercept({
|
|
136
139
|
scroll: t.handler.scroll,
|
|
@@ -141,16 +144,17 @@ function O(e) {
|
|
|
141
144
|
});
|
|
142
145
|
return;
|
|
143
146
|
}
|
|
144
|
-
let n =
|
|
147
|
+
let n = P({
|
|
145
148
|
prefetch: t.handler.prefetch,
|
|
146
149
|
params: t.params,
|
|
147
150
|
url: new URL(e.destination.url)
|
|
148
|
-
}), r =
|
|
149
|
-
|
|
151
|
+
}), r = F(function() {
|
|
152
|
+
N({
|
|
150
153
|
match: t,
|
|
151
154
|
signal: e.signal,
|
|
152
155
|
navigationType: e.navigationType,
|
|
153
|
-
pathname:
|
|
156
|
+
pathname: O(e.destination.url),
|
|
157
|
+
url: e.destination.url
|
|
154
158
|
});
|
|
155
159
|
});
|
|
156
160
|
e.intercept({
|
|
@@ -159,65 +163,70 @@ function O(e) {
|
|
|
159
163
|
scroll: t.handler.scroll,
|
|
160
164
|
focusReset: t.handler.focusReset
|
|
161
165
|
});
|
|
162
|
-
}, r[6] =
|
|
163
|
-
let
|
|
164
|
-
r[11] !==
|
|
165
|
-
onNavigate:
|
|
166
|
+
}, r[6] = F, r[7] = P, r[8] = k, r[9] = A, r[10] = I) : I = r[10];
|
|
167
|
+
let L = o(I), R;
|
|
168
|
+
r[11] !== L || r[12] !== e.onNavigateError || r[13] !== e.onNavigateSuccess ? (R = {
|
|
169
|
+
onNavigate: L,
|
|
166
170
|
onNavigateSuccess: e.onNavigateSuccess,
|
|
167
171
|
onNavigateError: e.onNavigateError
|
|
168
|
-
}, r[11] =
|
|
169
|
-
let
|
|
170
|
-
r[15] ===
|
|
171
|
-
let V;
|
|
172
|
-
r[17] !== z || r[18] !== B ? (V = /* @__PURE__ */ t(f, {
|
|
173
|
-
value: z,
|
|
174
|
-
children: B
|
|
175
|
-
}), r[17] = z, r[18] = B, r[19] = V) : V = r[19];
|
|
172
|
+
}, r[11] = L, r[12] = e.onNavigateError, r[13] = e.onNavigateSuccess, r[14] = R) : R = r[14], T(s, R);
|
|
173
|
+
let z = M.match.handler.component, B = M.match.handler.middlewares, V;
|
|
174
|
+
r[15] === z ? V = r[16] : (V = /* @__PURE__ */ t(z, {}), r[15] = z, r[16] = V);
|
|
176
175
|
let H;
|
|
177
|
-
r[
|
|
178
|
-
|
|
176
|
+
r[17] !== B || r[18] !== V ? (H = /* @__PURE__ */ t(f, {
|
|
177
|
+
value: B,
|
|
179
178
|
children: V
|
|
180
|
-
}), r[
|
|
179
|
+
}), r[17] = B, r[18] = V, r[19] = H) : H = r[19];
|
|
181
180
|
let U;
|
|
182
|
-
r[
|
|
183
|
-
|
|
181
|
+
r[20] !== e.fallback || r[21] !== H ? (U = /* @__PURE__ */ t(n, {
|
|
182
|
+
fallback: e.fallback,
|
|
184
183
|
children: H
|
|
185
|
-
}), r[
|
|
184
|
+
}), r[20] = e.fallback, r[21] = H, r[22] = U) : U = r[22];
|
|
186
185
|
let W;
|
|
187
|
-
r[
|
|
188
|
-
value:
|
|
186
|
+
r[23] !== M.match.params || r[24] !== U ? (W = /* @__PURE__ */ t(g, {
|
|
187
|
+
value: M.match.params,
|
|
189
188
|
children: U
|
|
190
|
-
}), r[
|
|
189
|
+
}), r[23] = M.match.params, r[24] = U, r[25] = W) : W = r[25];
|
|
191
190
|
let G;
|
|
192
|
-
r[
|
|
193
|
-
value:
|
|
191
|
+
r[26] !== M.url || r[27] !== W ? (G = /* @__PURE__ */ t(D, {
|
|
192
|
+
value: M.url,
|
|
194
193
|
children: W
|
|
195
|
-
}), r[
|
|
194
|
+
}), r[26] = M.url, r[27] = W, r[28] = G) : G = r[28];
|
|
196
195
|
let K;
|
|
197
|
-
r[
|
|
198
|
-
value:
|
|
196
|
+
r[29] !== M.pathname || r[30] !== G ? (K = /* @__PURE__ */ t(E, {
|
|
197
|
+
value: M.pathname,
|
|
199
198
|
children: G
|
|
200
|
-
}), r[
|
|
199
|
+
}), r[29] = M.pathname, r[30] = G, r[31] = K) : K = r[31];
|
|
201
200
|
let q;
|
|
202
|
-
r[
|
|
203
|
-
value:
|
|
201
|
+
r[32] !== M.signal || r[33] !== K ? (q = /* @__PURE__ */ t(v, {
|
|
202
|
+
value: M.signal,
|
|
204
203
|
children: K
|
|
205
|
-
}), r[
|
|
204
|
+
}), r[32] = M.signal, r[33] = K, r[34] = q) : q = r[34];
|
|
206
205
|
let J;
|
|
207
|
-
r[
|
|
208
|
-
value:
|
|
206
|
+
r[35] !== M.navigationType || r[36] !== q ? (J = /* @__PURE__ */ t(y, {
|
|
207
|
+
value: M.navigationType,
|
|
209
208
|
children: q
|
|
210
|
-
}), r[
|
|
209
|
+
}), r[35] = M.navigationType, r[36] = q, r[37] = J) : J = r[37];
|
|
211
210
|
let Y;
|
|
212
|
-
|
|
213
|
-
value:
|
|
211
|
+
r[38] !== u || r[39] !== J ? (Y = /* @__PURE__ */ t(C, {
|
|
212
|
+
value: u,
|
|
214
213
|
children: J
|
|
215
|
-
}), r[
|
|
214
|
+
}), r[38] = u, r[39] = J, r[40] = Y) : Y = r[40];
|
|
215
|
+
let X;
|
|
216
|
+
r[41] !== s || r[42] !== Y ? (X = /* @__PURE__ */ t(_, {
|
|
217
|
+
value: s,
|
|
218
|
+
children: Y
|
|
219
|
+
}), r[41] = s, r[42] = Y, r[43] = X) : X = r[43];
|
|
220
|
+
let Z;
|
|
221
|
+
return r[44] !== X || r[45] !== p ? (Z = /* @__PURE__ */ t(x, {
|
|
222
|
+
value: p,
|
|
223
|
+
children: X
|
|
224
|
+
}), r[44] = X, r[45] = p, r[46] = Z) : Z = r[46], Z;
|
|
216
225
|
}
|
|
217
226
|
//#endregion
|
|
218
227
|
//#region src/react/hooks/useActiveLinkProps.ts
|
|
219
|
-
function
|
|
220
|
-
let n =
|
|
228
|
+
function A(e, t) {
|
|
229
|
+
let n = j(e, i(E), t?.exact ?? !0);
|
|
221
230
|
return {
|
|
222
231
|
isActive: n,
|
|
223
232
|
props: {
|
|
@@ -226,19 +235,23 @@ function k(e, t) {
|
|
|
226
235
|
}
|
|
227
236
|
};
|
|
228
237
|
}
|
|
229
|
-
function
|
|
238
|
+
function j(e, t, n) {
|
|
230
239
|
if (e === void 0) return !1;
|
|
231
|
-
let r =
|
|
240
|
+
let r = O(e);
|
|
232
241
|
return n ? r === t : t === r || t.startsWith(r + "/");
|
|
233
242
|
}
|
|
234
243
|
//#endregion
|
|
235
244
|
//#region src/react/hooks/usePrefetch.ts
|
|
236
|
-
|
|
245
|
+
var M = /* @__PURE__ */ new WeakMap();
|
|
246
|
+
function N(e) {
|
|
237
247
|
let t = e?.matcher ?? i(C);
|
|
238
248
|
return function(e) {
|
|
239
249
|
let n = new URL(e, "http://localhost"), r = t.match(n.pathname);
|
|
240
250
|
if (r?.handler.prefetch === void 0) return;
|
|
241
|
-
let i =
|
|
251
|
+
let i = M.get(t);
|
|
252
|
+
if (i === void 0 && (i = /* @__PURE__ */ new Set(), M.set(t, i)), i.has(n.pathname)) return;
|
|
253
|
+
i.add(n.pathname);
|
|
254
|
+
let a = {
|
|
242
255
|
params: r.params,
|
|
243
256
|
url: n,
|
|
244
257
|
controller: {
|
|
@@ -246,13 +259,13 @@ function j(e) {
|
|
|
246
259
|
addHandler() {}
|
|
247
260
|
}
|
|
248
261
|
};
|
|
249
|
-
return r.handler.prefetch(
|
|
262
|
+
return r.handler.prefetch(a);
|
|
250
263
|
};
|
|
251
264
|
}
|
|
252
265
|
//#endregion
|
|
253
266
|
//#region src/react/hooks/usePrefetchEffect.ts
|
|
254
|
-
function
|
|
255
|
-
let { href: n, on: r, once: i = !0, matcher: s } = t, c =
|
|
267
|
+
function P(e, t) {
|
|
268
|
+
let { href: n, on: r, once: i = !0, matcher: s } = t, c = N({ matcher: s }), l = o(function(e, t) {
|
|
256
269
|
for (let t of e) t.isIntersecting && n !== void 0 && c(n);
|
|
257
270
|
i && t.disconnect();
|
|
258
271
|
}), u = o(function() {
|
|
@@ -281,18 +294,18 @@ function M(e, t) {
|
|
|
281
294
|
}
|
|
282
295
|
//#endregion
|
|
283
296
|
//#region src/react/components/Link.tsx
|
|
284
|
-
function
|
|
297
|
+
function F(e) {
|
|
285
298
|
let n = (0, h.c)(23), r, i, a, o, c, l, u;
|
|
286
299
|
n[0] === e ? (r = n[1], i = n[2], a = n[3], o = n[4], c = n[5], l = n[6], u = n[7]) : ({prefetch: o, once: l, href: i, matcher: a, className: r, activeExact: u, ...c} = e, n[0] = e, n[1] = r, n[2] = i, n[3] = a, n[4] = o, n[5] = c, n[6] = l, n[7] = u);
|
|
287
300
|
let d = l === void 0 ? !0 : l, f = u === void 0 ? !0 : u, p = s(null), m;
|
|
288
301
|
n[8] === f ? m = n[9] : (m = { exact: f }, n[8] = f, n[9] = m);
|
|
289
|
-
let { isActive: g, props: _ } =
|
|
302
|
+
let { isActive: g, props: _ } = A(i, m), v;
|
|
290
303
|
n[10] !== i || n[11] !== a || n[12] !== d || n[13] !== o ? (v = {
|
|
291
304
|
href: i,
|
|
292
305
|
on: o,
|
|
293
306
|
once: d,
|
|
294
307
|
matcher: a
|
|
295
|
-
}, n[10] = i, n[11] = a, n[12] = d, n[13] = o, n[14] = v) : v = n[14],
|
|
308
|
+
}, n[10] = i, n[11] = a, n[12] = d, n[13] = o, n[14] = v) : v = n[14], P(p, v);
|
|
296
309
|
let y;
|
|
297
310
|
n[15] !== r || n[16] !== g ? (y = typeof r == "function" ? r({ isActive: g }) : r, n[15] = r, n[16] = g, n[17] = y) : y = n[17];
|
|
298
311
|
let b = y, x;
|
|
@@ -306,83 +319,99 @@ function N(e) {
|
|
|
306
319
|
}
|
|
307
320
|
//#endregion
|
|
308
321
|
//#region src/react/hooks/useNavigation.ts
|
|
309
|
-
function
|
|
322
|
+
function I() {
|
|
310
323
|
let e = i(_);
|
|
311
324
|
if (e === null) throw Error("useNavigation requires a <Router> or <NavigationContext> provider");
|
|
312
325
|
return e;
|
|
313
326
|
}
|
|
314
327
|
//#endregion
|
|
315
328
|
//#region src/react/hooks/useNavigate.ts
|
|
316
|
-
function
|
|
317
|
-
let e =
|
|
329
|
+
function L() {
|
|
330
|
+
let e = I();
|
|
318
331
|
return function(t, n) {
|
|
319
332
|
return e.navigate(t, n);
|
|
320
333
|
};
|
|
321
334
|
}
|
|
322
335
|
//#endregion
|
|
323
336
|
//#region src/react/hooks/useNavigationSignal.ts
|
|
324
|
-
function
|
|
337
|
+
function R() {
|
|
325
338
|
return i(v);
|
|
326
339
|
}
|
|
327
340
|
//#endregion
|
|
328
341
|
//#region src/react/hooks/useNavigationType.ts
|
|
329
|
-
function
|
|
342
|
+
function z() {
|
|
330
343
|
return i(y);
|
|
331
344
|
}
|
|
332
345
|
//#endregion
|
|
333
346
|
//#region src/react/hooks/useParams.ts
|
|
334
|
-
function
|
|
347
|
+
function B() {
|
|
335
348
|
return i(g);
|
|
336
349
|
}
|
|
337
350
|
//#endregion
|
|
338
351
|
//#region src/react/hooks/useIsPending.ts
|
|
339
|
-
function
|
|
352
|
+
function V() {
|
|
340
353
|
let e = i(x);
|
|
341
354
|
if (e === null) throw Error("useIsPending requires a <Router> or <TransitionContext> provider");
|
|
342
355
|
return e[0];
|
|
343
356
|
}
|
|
344
357
|
//#endregion
|
|
345
358
|
//#region src/react/hooks/usePathname.ts
|
|
346
|
-
function
|
|
359
|
+
function H() {
|
|
347
360
|
return i(E);
|
|
348
361
|
}
|
|
349
362
|
//#endregion
|
|
350
363
|
//#region src/react/hooks/useSearchParams.ts
|
|
351
|
-
function
|
|
352
|
-
let e =
|
|
353
|
-
function r(
|
|
354
|
-
let
|
|
355
|
-
return e.navigate(s, { history:
|
|
364
|
+
function U() {
|
|
365
|
+
let e = I(), t = i(D), n = t ? new URL(t, "http://localhost").searchParams : new URLSearchParams();
|
|
366
|
+
function r(n, r) {
|
|
367
|
+
let i = new URL(t ?? "/", "http://localhost"), a = typeof n == "function" ? n(i.searchParams) : n, o = (a instanceof URLSearchParams ? a : new URLSearchParams(a)).toString(), s = i.pathname + (o ? "?" + o : "") + i.hash;
|
|
368
|
+
return e.navigate(s, { history: r?.history ?? "replace" });
|
|
356
369
|
}
|
|
357
370
|
return [n, r];
|
|
358
371
|
}
|
|
359
372
|
//#endregion
|
|
360
373
|
//#region src/react/hooks/useBack.ts
|
|
361
|
-
function
|
|
362
|
-
let e =
|
|
363
|
-
function
|
|
374
|
+
function W() {
|
|
375
|
+
let e = I(), [t, n] = c(e.canGoBack);
|
|
376
|
+
a(function() {
|
|
377
|
+
function t() {
|
|
378
|
+
n(e.canGoBack);
|
|
379
|
+
}
|
|
380
|
+
return e.addEventListener("currententrychange", t), function() {
|
|
381
|
+
e.removeEventListener("currententrychange", t);
|
|
382
|
+
};
|
|
383
|
+
}, [e]);
|
|
384
|
+
function r(t) {
|
|
364
385
|
return e.back(t);
|
|
365
386
|
}
|
|
366
387
|
return {
|
|
367
|
-
back:
|
|
368
|
-
canGoBack:
|
|
388
|
+
back: r,
|
|
389
|
+
canGoBack: t
|
|
369
390
|
};
|
|
370
391
|
}
|
|
371
392
|
//#endregion
|
|
372
393
|
//#region src/react/hooks/useForward.ts
|
|
373
|
-
function
|
|
374
|
-
let e =
|
|
375
|
-
function
|
|
394
|
+
function G() {
|
|
395
|
+
let e = I(), [t, n] = c(e.canGoForward);
|
|
396
|
+
a(function() {
|
|
397
|
+
function t() {
|
|
398
|
+
n(e.canGoForward);
|
|
399
|
+
}
|
|
400
|
+
return e.addEventListener("currententrychange", t), function() {
|
|
401
|
+
e.removeEventListener("currententrychange", t);
|
|
402
|
+
};
|
|
403
|
+
}, [e]);
|
|
404
|
+
function r(t) {
|
|
376
405
|
return e.forward(t);
|
|
377
406
|
}
|
|
378
407
|
return {
|
|
379
|
-
forward:
|
|
380
|
-
canGoForward:
|
|
408
|
+
forward: r,
|
|
409
|
+
canGoForward: t
|
|
381
410
|
};
|
|
382
411
|
}
|
|
383
412
|
//#endregion
|
|
384
413
|
//#region src/react/navigation/createMemoryNavigation.ts
|
|
385
|
-
function
|
|
414
|
+
function K(e) {
|
|
386
415
|
let t = { url: e.url };
|
|
387
416
|
function n() {}
|
|
388
417
|
function r() {}
|
|
@@ -408,99 +437,115 @@ function W(e) {
|
|
|
408
437
|
}
|
|
409
438
|
//#endregion
|
|
410
439
|
//#region src/react/createRouter.ts
|
|
411
|
-
function
|
|
440
|
+
function q(e, t) {
|
|
412
441
|
return e === "" && t === "" ? "" : e === "" ? t : t === "" || t === "/" ? e : (e.endsWith("/") ? e.slice(0, -1) : e) + (t.startsWith("/") ? t : "/" + t);
|
|
413
442
|
}
|
|
414
|
-
function
|
|
443
|
+
function J(e) {
|
|
415
444
|
if (e.length !== 0) return e.length === 1 ? e[0] : async function(t) {
|
|
416
445
|
for (let n of e) await n(t);
|
|
417
446
|
};
|
|
418
447
|
}
|
|
419
|
-
function
|
|
448
|
+
function Y() {
|
|
420
449
|
return null;
|
|
421
450
|
}
|
|
422
|
-
function
|
|
423
|
-
return function(
|
|
424
|
-
let
|
|
425
|
-
path:
|
|
451
|
+
function X(e, t, n) {
|
|
452
|
+
return function(r) {
|
|
453
|
+
let i = {
|
|
454
|
+
path: r,
|
|
426
455
|
middlewares: [],
|
|
427
456
|
prefetches: [],
|
|
428
457
|
scroll: void 0,
|
|
429
458
|
focusReset: void 0,
|
|
430
459
|
formHandler: void 0
|
|
431
|
-
};
|
|
432
|
-
function
|
|
433
|
-
|
|
460
|
+
}, a = !1;
|
|
461
|
+
function o(e) {
|
|
462
|
+
if (a) throw Error(`cannot call .${e}() on a route builder that has already been consumed by .render(), .redirect(), or .group()`);
|
|
463
|
+
}
|
|
464
|
+
function s() {
|
|
465
|
+
let e = q(t.prefix, i.path ?? "");
|
|
434
466
|
if (e === "") throw Error("cannot register a route without a path or group prefix");
|
|
435
467
|
return e;
|
|
436
468
|
}
|
|
437
|
-
function
|
|
438
|
-
let e = [...t.middlewares, ...
|
|
469
|
+
function c() {
|
|
470
|
+
let e = [...t.middlewares, ...i.middlewares];
|
|
439
471
|
return e.length > 0 ? e : void 0;
|
|
440
472
|
}
|
|
441
|
-
function
|
|
442
|
-
return
|
|
473
|
+
function l() {
|
|
474
|
+
return J([...t.prefetches, ...i.prefetches]);
|
|
443
475
|
}
|
|
444
|
-
let
|
|
476
|
+
let u = {
|
|
445
477
|
middleware(e) {
|
|
446
|
-
return
|
|
478
|
+
return o("middleware"), i.middlewares.push(...e), u;
|
|
447
479
|
},
|
|
448
480
|
prefetch(e) {
|
|
449
|
-
return
|
|
481
|
+
return o("prefetch"), i.prefetches.push(e), u;
|
|
450
482
|
},
|
|
451
483
|
scroll(e) {
|
|
452
|
-
return
|
|
484
|
+
return o("scroll"), i.scroll = e, u;
|
|
453
485
|
},
|
|
454
486
|
focusReset(e) {
|
|
455
|
-
return
|
|
487
|
+
return o("focusReset"), i.focusReset = e, u;
|
|
456
488
|
},
|
|
457
489
|
formHandler(e) {
|
|
458
|
-
return
|
|
490
|
+
return o("formHandler"), i.formHandler = e, u;
|
|
459
491
|
},
|
|
460
492
|
render(t) {
|
|
461
|
-
|
|
493
|
+
o("render"), a = !0;
|
|
494
|
+
let n = s(), r = {
|
|
462
495
|
component: t,
|
|
463
|
-
middlewares:
|
|
464
|
-
prefetch:
|
|
465
|
-
scroll:
|
|
466
|
-
focusReset:
|
|
467
|
-
formHandler:
|
|
496
|
+
middlewares: c(),
|
|
497
|
+
prefetch: l(),
|
|
498
|
+
scroll: i.scroll,
|
|
499
|
+
focusReset: i.focusReset,
|
|
500
|
+
formHandler: i.formHandler
|
|
468
501
|
};
|
|
469
|
-
e.register(n,
|
|
502
|
+
e.register(n, r);
|
|
470
503
|
},
|
|
471
504
|
redirect(t) {
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
505
|
+
o("redirect"), a = !0;
|
|
506
|
+
let r = s();
|
|
507
|
+
typeof t == "string" && n.set(r, t);
|
|
508
|
+
let i = {
|
|
509
|
+
component: Y,
|
|
475
510
|
prefetch: function(e) {
|
|
476
511
|
let n = typeof t == "function" ? t(e) : t;
|
|
477
512
|
e.controller.redirect(n);
|
|
478
|
-
}
|
|
479
|
-
scroll: r.scroll,
|
|
480
|
-
focusReset: r.focusReset
|
|
513
|
+
}
|
|
481
514
|
};
|
|
482
|
-
e.register(
|
|
515
|
+
e.register(r, i);
|
|
483
516
|
},
|
|
484
517
|
group() {
|
|
485
|
-
return
|
|
486
|
-
prefix:
|
|
487
|
-
middlewares: [...t.middlewares, ...
|
|
488
|
-
prefetches: [...t.prefetches, ...
|
|
489
|
-
});
|
|
518
|
+
return o("group"), a = !0, X(e, {
|
|
519
|
+
prefix: q(t.prefix, i.path ?? ""),
|
|
520
|
+
middlewares: [...t.middlewares, ...i.middlewares],
|
|
521
|
+
prefetches: [...t.prefetches, ...i.prefetches]
|
|
522
|
+
}, n);
|
|
490
523
|
}
|
|
491
524
|
};
|
|
492
|
-
return
|
|
525
|
+
return u;
|
|
493
526
|
};
|
|
494
527
|
}
|
|
495
|
-
function
|
|
496
|
-
let
|
|
497
|
-
|
|
528
|
+
function Z(e) {
|
|
529
|
+
for (let [t] of e) {
|
|
530
|
+
let n = /* @__PURE__ */ new Set(), r = t;
|
|
531
|
+
for (; e.has(r);) {
|
|
532
|
+
if (n.has(r)) {
|
|
533
|
+
let e = [...n, r].join(" -> ");
|
|
534
|
+
throw Error(`redirect cycle detected: ${e}`);
|
|
535
|
+
}
|
|
536
|
+
n.add(r), r = e.get(r);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
function Q(t) {
|
|
541
|
+
let n = e(), r = /* @__PURE__ */ new Map();
|
|
542
|
+
return t(X(n, {
|
|
498
543
|
prefix: "",
|
|
499
544
|
middlewares: [],
|
|
500
545
|
prefetches: []
|
|
501
|
-
})), n;
|
|
546
|
+
}, r)), Z(r), n;
|
|
502
547
|
}
|
|
503
548
|
//#endregion
|
|
504
|
-
export {
|
|
549
|
+
export { F as Link, C as MatcherContext, f as Middlewares, _ as NavigationContext, v as NavigationSignalContext, y as NavigationTypeContext, b as NotFound, g as ParamsContext, E as PathnameContext, k as Router, x as TransitionContext, D as UrlContext, K as createMemoryNavigation, Q as createRouter, O as extractPathname, A as useActiveLinkProps, W as useBack, G as useForward, V as useIsPending, L as useNavigate, I as useNavigation, T as useNavigationEvents, S as useNavigationHandlers, R as useNavigationSignal, z as useNavigationType, w as useNextMatch, B as useParams, H as usePathname, N as usePrefetch, P as usePrefetchEffect, U as useSearchParams };
|
|
505
550
|
|
|
506
551
|
//# sourceMappingURL=router_react.js.map
|