@budarin/use-route 1.3.3 → 1.3.5
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/CHANGELOG.md +12 -0
- package/demo/node_modules/.vite/deps/@budarin_use-route.js +186 -168
- package/demo/node_modules/.vite/deps/@budarin_use-route.js.map +3 -3
- package/demo/node_modules/.vite/deps/_metadata.json +10 -10
- package/demo/package.json +1 -1
- package/demo/src/App.tsx +15 -3
- package/demo/src/index.css +37 -0
- package/demo/src/pages/PushReplace.tsx +3 -1
- package/demo/src/pages/State.tsx +6 -2
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +198 -193
- package/dist/index.js.map +1 -1
- package/dist/native-api-types.d.ts +0 -7
- package/dist/native-api-types.d.ts.map +1 -1
- package/dist/native-api-types.js +0 -7
- package/dist/native-api-types.js.map +1 -1
- package/dist/types.d.ts +0 -38
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -11
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
package/demo/src/pages/State.tsx
CHANGED
|
@@ -43,7 +43,9 @@ export function State() {
|
|
|
43
43
|
</code>
|
|
44
44
|
</p>
|
|
45
45
|
<p>
|
|
46
|
-
<Link to="/state"
|
|
46
|
+
<Link to="/state" className="demo-link-btn">
|
|
47
|
+
← Вернуться к примеру State
|
|
48
|
+
</Link>
|
|
47
49
|
</p>
|
|
48
50
|
</div>
|
|
49
51
|
);
|
|
@@ -112,7 +114,9 @@ export function State() {
|
|
|
112
114
|
</div>
|
|
113
115
|
|
|
114
116
|
<p>
|
|
115
|
-
<Link to="/"
|
|
117
|
+
<Link to="/" className="demo-link-btn">
|
|
118
|
+
На главную
|
|
119
|
+
</Link>
|
|
116
120
|
</p>
|
|
117
121
|
</div>
|
|
118
122
|
);
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import type { PathMatcher, UseRouteReturn, UseRouteOptions } from './types';
|
|
2
2
|
export { configureRouter, type LoggerLevel, type Logger, type NavigateOptions, type UseRouteOptions, type UseRouteReturn, type ExtractRouteParams, type ParamsForPath, type PathMatcher, type Pathname, type RouteParams, } from './types';
|
|
3
|
-
/** Очищает кэши паттернов и URL. Для тестов или при смене base/origin. */
|
|
4
3
|
export declare function clearRouterCaches(): void;
|
|
5
|
-
/** Overload: options only (no pattern). E.g. useRoute({ section: '/dashboard' }). */
|
|
6
4
|
export declare function useRoute(options: UseRouteOptions): UseRouteReturn;
|
|
7
|
-
/** Перегрузка: pattern и опции. */
|
|
8
5
|
export declare function useRoute<P extends string | PathMatcher>(pattern: P, options?: UseRouteOptions): UseRouteReturn<P>;
|
|
9
|
-
/** Перегрузка: только pattern или без аргументов. */
|
|
10
6
|
export declare function useRoute<P extends string | PathMatcher = string>(pattern?: P): UseRouteReturn<P>;
|
|
11
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,WAAW,EAGX,cAAc,EACd,eAAe,EAGlB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAKR,WAAW,EAGX,cAAc,EACd,eAAe,EAGlB,MAAM,SAAS,CAAC;AAgQjB,OAAO,EACH,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,KAAK,WAAW,GACnB,MAAM,SAAS,CAAC;AAGjB,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC;AAyND,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC;AAEnE,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,EACnD,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,eAAe,GAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;AAErB,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { getRouterConfig, getLogger } from './types';
|
|
2
|
-
import { useSyncExternalStore,
|
|
3
|
-
// Утилита для проверки браузерного окружения
|
|
2
|
+
import { useSyncExternalStore, useMemo } from 'react';
|
|
4
3
|
const isBrowser = typeof window !== 'undefined';
|
|
5
|
-
// Валидация URL: разрешаем только http://, https:// и относительные пути
|
|
6
4
|
function isValidUrl(url) {
|
|
7
5
|
if (!url || typeof url !== 'string')
|
|
8
6
|
return false;
|
|
9
|
-
// Относительные пути всегда валидны
|
|
10
7
|
if (url.startsWith('/') || !url.includes(':'))
|
|
11
8
|
return true;
|
|
12
|
-
// Абсолютные URL должны начинаться с http:// или https://
|
|
13
9
|
try {
|
|
14
10
|
const parsed = new URL(url);
|
|
15
11
|
return parsed.protocol === 'http:' || parsed.protocol === 'https:';
|
|
@@ -18,11 +14,9 @@ function isValidUrl(url) {
|
|
|
18
14
|
return false;
|
|
19
15
|
}
|
|
20
16
|
}
|
|
21
|
-
// Проверка соответствия паттерна pathname (только URLPattern)
|
|
22
17
|
function testPattern(compiled, pathname) {
|
|
23
18
|
return compiled.test({ pathname });
|
|
24
19
|
}
|
|
25
|
-
/** pathname без базового префикса (для возврата из хука при заданном base). */
|
|
26
20
|
function pathnameWithoutBase(pathname, base) {
|
|
27
21
|
if (!base || base === '/')
|
|
28
22
|
return pathname;
|
|
@@ -31,7 +25,6 @@ function pathnameWithoutBase(pathname, base) {
|
|
|
31
25
|
}
|
|
32
26
|
return pathname;
|
|
33
27
|
}
|
|
34
|
-
/** Combines global base and section into full prefix. section '' = app root (globalBase only). */
|
|
35
28
|
function combineBases(globalBase, section) {
|
|
36
29
|
const g = globalBase && globalBase !== '/' ? globalBase.replace(/\/$/, '') : '';
|
|
37
30
|
if (section === undefined)
|
|
@@ -41,11 +34,7 @@ function combineBases(globalBase, section) {
|
|
|
41
34
|
const s = section.startsWith('/') ? section : '/' + section;
|
|
42
35
|
return g ? g + s : s;
|
|
43
36
|
}
|
|
44
|
-
// Общий LRU-кэш URL → разобранный URL (используется в snapshot, один раз на текущий URL)
|
|
45
37
|
const URL_CACHE = new Map();
|
|
46
|
-
/**
|
|
47
|
-
* Парсит URL с LRU-кэшем. При ошибке парсинга не кэширует — возвращает fallback URL.
|
|
48
|
-
*/
|
|
49
38
|
function getCachedParsedUrl(urlStr) {
|
|
50
39
|
const cache = URL_CACHE;
|
|
51
40
|
const existing = cache.get(urlStr);
|
|
@@ -92,8 +81,19 @@ function getNavigation() {
|
|
|
92
81
|
: undefined;
|
|
93
82
|
}
|
|
94
83
|
function computeNavigationSnapshot(nav) {
|
|
95
|
-
if (!nav)
|
|
84
|
+
if (!nav) {
|
|
85
|
+
if (!isBrowser) {
|
|
86
|
+
const urlStr = getRouterConfig().initialLocation ?? '/';
|
|
87
|
+
const parsed = getCachedParsedUrl(urlStr);
|
|
88
|
+
return {
|
|
89
|
+
...DEFAULT_SNAPSHOT,
|
|
90
|
+
urlStr,
|
|
91
|
+
pathname: parsed.pathname,
|
|
92
|
+
searchParams: parsed.searchParams,
|
|
93
|
+
};
|
|
94
|
+
}
|
|
96
95
|
return DEFAULT_SNAPSHOT;
|
|
96
|
+
}
|
|
97
97
|
const entry = nav.currentEntry;
|
|
98
98
|
const urlStr = entry?.url ?? (isBrowser ? window.location.href : '/');
|
|
99
99
|
const parsed = getCachedParsedUrl(urlStr);
|
|
@@ -111,7 +111,7 @@ function computeNavigationSnapshot(nav) {
|
|
|
111
111
|
state,
|
|
112
112
|
};
|
|
113
113
|
}
|
|
114
|
-
let sharedSnapshot =
|
|
114
|
+
let sharedSnapshot = computeNavigationSnapshot(getNavigation());
|
|
115
115
|
const storeCallbacks = new Set();
|
|
116
116
|
let unsubscribeNavigation = null;
|
|
117
117
|
function subscribeToNavigation(callback) {
|
|
@@ -119,6 +119,7 @@ function subscribeToNavigation(callback) {
|
|
|
119
119
|
if (storeCallbacks.size === 1) {
|
|
120
120
|
const nav = getNavigation();
|
|
121
121
|
if (nav) {
|
|
122
|
+
sharedSnapshot = computeNavigationSnapshot(nav);
|
|
122
123
|
const interceptListener = (event) => {
|
|
123
124
|
const navEvent = event;
|
|
124
125
|
if (!navEvent.canIntercept || !isBrowser)
|
|
@@ -130,7 +131,6 @@ function subscribeToNavigation(callback) {
|
|
|
130
131
|
navEvent.intercept({ handler() { } });
|
|
131
132
|
}
|
|
132
133
|
catch {
|
|
133
|
-
// невалидный URL — не перехватываем
|
|
134
134
|
}
|
|
135
135
|
};
|
|
136
136
|
const listener = () => {
|
|
@@ -154,38 +154,19 @@ function subscribeToNavigation(callback) {
|
|
|
154
154
|
unsubscribeNavigation();
|
|
155
155
|
unsubscribeNavigation = null;
|
|
156
156
|
}
|
|
157
|
-
sharedSnapshot = null;
|
|
158
|
-
noNavSnapshot = null;
|
|
159
|
-
noNavSnapshotUrl = null;
|
|
160
157
|
}
|
|
161
158
|
};
|
|
162
159
|
}
|
|
163
|
-
let noNavSnapshot = null;
|
|
164
|
-
let noNavSnapshotUrl = null;
|
|
165
160
|
function getNavigationSnapshot() {
|
|
166
|
-
if (sharedSnapshot !== null)
|
|
167
|
-
return sharedSnapshot;
|
|
168
161
|
const nav = getNavigation();
|
|
169
|
-
if (nav) {
|
|
170
|
-
|
|
171
|
-
|
|
162
|
+
if (storeCallbacks.size === 0 && nav) {
|
|
163
|
+
const currentUrl = nav.currentEntry?.url ?? (isBrowser ? window.location.href : '/');
|
|
164
|
+
if (currentUrl !== sharedSnapshot.urlStr) {
|
|
165
|
+
sharedSnapshot = computeNavigationSnapshot(nav);
|
|
166
|
+
}
|
|
172
167
|
}
|
|
173
|
-
|
|
174
|
-
const urlStr = isBrowser ? window.location.href : (getRouterConfig().initialLocation ?? '/');
|
|
175
|
-
if (noNavSnapshot !== null && noNavSnapshotUrl === urlStr)
|
|
176
|
-
return noNavSnapshot;
|
|
177
|
-
const parsed = getCachedParsedUrl(urlStr);
|
|
178
|
-
noNavSnapshotUrl = urlStr;
|
|
179
|
-
noNavSnapshot = {
|
|
180
|
-
...DEFAULT_SNAPSHOT,
|
|
181
|
-
urlStr,
|
|
182
|
-
pathname: parsed.pathname,
|
|
183
|
-
searchParams: parsed.searchParams,
|
|
184
|
-
state: isBrowser ? window.history.state : undefined,
|
|
185
|
-
};
|
|
186
|
-
return noNavSnapshot;
|
|
168
|
+
return sharedSnapshot;
|
|
187
169
|
}
|
|
188
|
-
// Один keyToIndexMap на снимок (один на все хуки при общем rawState)
|
|
189
170
|
let lastEntriesKeysRef = null;
|
|
190
171
|
let lastKeyToIndexMap = null;
|
|
191
172
|
function getKeyToIndexMap(entriesKeys) {
|
|
@@ -198,7 +179,6 @@ function getKeyToIndexMap(entriesKeys) {
|
|
|
198
179
|
lastKeyToIndexMap = map;
|
|
199
180
|
return map;
|
|
200
181
|
}
|
|
201
|
-
// Кэш скомпилированных URLPattern
|
|
202
182
|
const PATTERN_CACHE = new Map();
|
|
203
183
|
function getCompiledPattern(pattern) {
|
|
204
184
|
let compiled = PATTERN_CACHE.get(pattern);
|
|
@@ -208,29 +188,185 @@ function getCompiledPattern(pattern) {
|
|
|
208
188
|
}
|
|
209
189
|
return compiled;
|
|
210
190
|
}
|
|
211
|
-
// Извлечение params из уже скомпилированного URLPattern (один exec, без повторного getCompiledPattern)
|
|
212
|
-
// URLPattern кладёт сегменты * в groups с числовыми ключами — их не возвращаем.
|
|
213
191
|
function parseParamsFromCompiled(compiled, pathname) {
|
|
214
192
|
const match = compiled.exec({ pathname });
|
|
215
193
|
const groups = (match?.pathname.groups ?? {});
|
|
216
194
|
return Object.fromEntries(Object.entries(groups).filter(([key]) => !/^\d+$/.test(key)));
|
|
217
195
|
}
|
|
218
|
-
// Экспортируем configureRouter и очистку кэшей (для тестов / смены окружения)
|
|
219
196
|
export { configureRouter, } from './types';
|
|
220
|
-
/** Очищает кэши паттернов и URL. Для тестов или при смене base/origin. */
|
|
221
197
|
export function clearRouterCaches() {
|
|
222
198
|
PATTERN_CACHE.clear();
|
|
223
199
|
URL_CACHE.clear();
|
|
224
200
|
lastEntriesKeysRef = null;
|
|
225
201
|
lastKeyToIndexMap = null;
|
|
226
|
-
|
|
227
|
-
|
|
202
|
+
sharedSnapshot = computeNavigationSnapshot(getNavigation());
|
|
203
|
+
}
|
|
204
|
+
function globalBack() {
|
|
205
|
+
try {
|
|
206
|
+
const nav = getNavigation();
|
|
207
|
+
if (nav)
|
|
208
|
+
nav.back();
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
getLogger().error('[useRoute] Back navigation error:', error);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
function globalForward() {
|
|
215
|
+
try {
|
|
216
|
+
const nav = getNavigation();
|
|
217
|
+
if (nav)
|
|
218
|
+
nav.forward();
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
getLogger().error('[useRoute] Forward navigation error:', error);
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
function globalUpdateState(state) {
|
|
225
|
+
try {
|
|
226
|
+
const nav = getNavigation();
|
|
227
|
+
if (nav) {
|
|
228
|
+
nav.updateCurrentEntry({ state });
|
|
229
|
+
sharedSnapshot = computeNavigationSnapshot(nav);
|
|
230
|
+
storeCallbacks.forEach((cb) => cb());
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
getLogger().warn('[useRoute] updateState requires Navigation API');
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
getLogger().error('[useRoute] updateState error:', error);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
const navigateCache = new Map();
|
|
241
|
+
function getNavigateForBase(effectiveBase) {
|
|
242
|
+
const cacheKey = effectiveBase ?? '__root__';
|
|
243
|
+
let cachedNavigate = navigateCache.get(cacheKey);
|
|
244
|
+
if (!cachedNavigate) {
|
|
245
|
+
cachedNavigate = async (to, navOptions = {}) => {
|
|
246
|
+
let targetUrl = typeof to === 'string' ? to : to.toString();
|
|
247
|
+
let baseForCall;
|
|
248
|
+
if (navOptions.base !== undefined) {
|
|
249
|
+
baseForCall =
|
|
250
|
+
navOptions.base === '' || navOptions.base === '/' ? undefined : navOptions.base;
|
|
251
|
+
}
|
|
252
|
+
else if (navOptions.section !== undefined) {
|
|
253
|
+
baseForCall = combineBases(getRouterConfig().base, navOptions.section);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
baseForCall = effectiveBase;
|
|
257
|
+
}
|
|
258
|
+
if (baseForCall &&
|
|
259
|
+
baseForCall !== '/' &&
|
|
260
|
+
typeof to === 'string' &&
|
|
261
|
+
to.startsWith('/') &&
|
|
262
|
+
!to.startsWith('//') &&
|
|
263
|
+
!to.includes(':')) {
|
|
264
|
+
targetUrl = baseForCall + (to === '/' ? '' : to);
|
|
265
|
+
}
|
|
266
|
+
if (!isValidUrl(targetUrl)) {
|
|
267
|
+
getLogger().warn('[useRoute] Invalid URL rejected:', targetUrl);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
const nav = getNavigation();
|
|
271
|
+
if (!nav) {
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
const defaultHistory = getRouterConfig().defaultHistory ?? 'auto';
|
|
275
|
+
const navigationOpts = {
|
|
276
|
+
state: navOptions.state,
|
|
277
|
+
history: navOptions.history ?? defaultHistory,
|
|
278
|
+
};
|
|
279
|
+
try {
|
|
280
|
+
await nav.navigate(targetUrl, navigationOpts);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
getLogger().error('[useRoute] Navigation error:', error);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
navigateCache.set(cacheKey, cachedNavigate);
|
|
287
|
+
}
|
|
288
|
+
return cachedNavigate;
|
|
289
|
+
}
|
|
290
|
+
const replaceCache = new Map();
|
|
291
|
+
function getReplaceForBase(effectiveBase) {
|
|
292
|
+
const cacheKey = effectiveBase ?? '__root__';
|
|
293
|
+
let cachedReplace = replaceCache.get(cacheKey);
|
|
294
|
+
if (!cachedReplace) {
|
|
295
|
+
const navigateFn = getNavigateForBase(effectiveBase);
|
|
296
|
+
cachedReplace = (to, options) => navigateFn(to, { ...options, history: 'replace' });
|
|
297
|
+
replaceCache.set(cacheKey, cachedReplace);
|
|
298
|
+
}
|
|
299
|
+
return cachedReplace;
|
|
300
|
+
}
|
|
301
|
+
function globalGo(delta) {
|
|
302
|
+
if (delta === Infinity || delta === -Infinity) {
|
|
303
|
+
getLogger().warn('[useRoute] Delta value too large:', delta);
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (!Number.isFinite(delta) || delta === 0)
|
|
307
|
+
return;
|
|
308
|
+
if (delta > Number.MAX_SAFE_INTEGER || delta < -Number.MAX_SAFE_INTEGER) {
|
|
309
|
+
getLogger().warn('[useRoute] Delta value too large:', delta);
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
const nav = getNavigation();
|
|
313
|
+
if (!nav)
|
|
314
|
+
return;
|
|
315
|
+
try {
|
|
316
|
+
const snapshot = getNavigationSnapshot();
|
|
317
|
+
if (snapshot.entriesKeys.length === 0)
|
|
318
|
+
return;
|
|
319
|
+
const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
|
|
320
|
+
const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
|
|
321
|
+
if (idx === -1)
|
|
322
|
+
return;
|
|
323
|
+
const targetIdx = idx + delta;
|
|
324
|
+
if (targetIdx < 0 || targetIdx >= snapshot.entriesKeys.length) {
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
327
|
+
const targetKey = snapshot.entriesKeys[targetIdx];
|
|
328
|
+
if (targetKey === undefined)
|
|
329
|
+
return;
|
|
330
|
+
nav.traverseTo(targetKey);
|
|
331
|
+
}
|
|
332
|
+
catch (error) {
|
|
333
|
+
getLogger().error('[useRoute] Go navigation error:', error);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function globalCanGoBack(steps = 1) {
|
|
337
|
+
if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
|
|
338
|
+
return false;
|
|
339
|
+
}
|
|
340
|
+
const nav = getNavigation();
|
|
341
|
+
if (!nav)
|
|
342
|
+
return false;
|
|
343
|
+
const snapshot = getNavigationSnapshot();
|
|
344
|
+
if (snapshot.entriesKeys.length === 0) {
|
|
345
|
+
return false;
|
|
346
|
+
}
|
|
347
|
+
const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
|
|
348
|
+
const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
|
|
349
|
+
if (idx === -1)
|
|
350
|
+
return false;
|
|
351
|
+
return idx - steps >= 0;
|
|
352
|
+
}
|
|
353
|
+
function globalCanGoForward(steps = 1) {
|
|
354
|
+
if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
|
|
355
|
+
return false;
|
|
356
|
+
}
|
|
357
|
+
const nav = getNavigation();
|
|
358
|
+
if (!nav)
|
|
359
|
+
return false;
|
|
360
|
+
const snapshot = getNavigationSnapshot();
|
|
361
|
+
if (snapshot.entriesKeys.length === 0) {
|
|
362
|
+
return false;
|
|
363
|
+
}
|
|
364
|
+
const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
|
|
365
|
+
const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
|
|
366
|
+
if (idx === -1)
|
|
367
|
+
return false;
|
|
368
|
+
return idx + steps < snapshot.entriesKeys.length;
|
|
228
369
|
}
|
|
229
|
-
/**
|
|
230
|
-
* Хук состояния маршрута и навигации (Navigation API + URLPattern).
|
|
231
|
-
* useRoute({ section: '/dashboard' }) — options only, no pattern.
|
|
232
|
-
* useRoute('/users/:id') or useRoute('/users/:id', { section: '/dashboard' }).
|
|
233
|
-
*/
|
|
234
370
|
export function useRoute(patternOrOptions, optionsParam) {
|
|
235
371
|
let pattern;
|
|
236
372
|
let options;
|
|
@@ -245,11 +381,9 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
245
381
|
pattern = patternOrOptions;
|
|
246
382
|
options = optionsParam;
|
|
247
383
|
}
|
|
248
|
-
const navigation = getNavigation();
|
|
249
384
|
const rawState = useSyncExternalStore(subscribeToNavigation, getNavigationSnapshot, () => DEFAULT_SNAPSHOT);
|
|
250
385
|
const keyToIndexMap = getKeyToIndexMap(rawState.entriesKeys);
|
|
251
386
|
const effectiveBase = combineBases(getRouterConfig().base, options?.section);
|
|
252
|
-
// 2. Производное состояние роутера. pathname/searchParams берём из snapshot (разбор URL один раз в store).
|
|
253
387
|
const routerState = useMemo(() => {
|
|
254
388
|
const { urlStr, pathname: rawPathname, searchParams } = rawState;
|
|
255
389
|
const pathname = pathnameWithoutBase(rawPathname, effectiveBase);
|
|
@@ -277,7 +411,6 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
277
411
|
historyIndex,
|
|
278
412
|
state: rawState.state,
|
|
279
413
|
matched,
|
|
280
|
-
_entriesKeys: rawState.entriesKeys,
|
|
281
414
|
};
|
|
282
415
|
}, [
|
|
283
416
|
rawState.currentKey,
|
|
@@ -289,143 +422,15 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
289
422
|
pattern,
|
|
290
423
|
effectiveBase,
|
|
291
424
|
]);
|
|
292
|
-
|
|
293
|
-
const
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
baseForCall = combineBases(getRouterConfig().base, navOptions.section);
|
|
302
|
-
}
|
|
303
|
-
else {
|
|
304
|
-
baseForCall = effectiveBase;
|
|
305
|
-
}
|
|
306
|
-
if (baseForCall &&
|
|
307
|
-
baseForCall !== '/' &&
|
|
308
|
-
typeof to === 'string' &&
|
|
309
|
-
to.startsWith('/') &&
|
|
310
|
-
!to.startsWith('//') &&
|
|
311
|
-
!to.includes(':')) {
|
|
312
|
-
targetUrl = baseForCall + (to === '/' ? '' : to);
|
|
313
|
-
}
|
|
314
|
-
if (!isValidUrl(targetUrl)) {
|
|
315
|
-
getLogger().warn('[useRoute] Invalid URL rejected:', targetUrl);
|
|
316
|
-
return;
|
|
317
|
-
}
|
|
318
|
-
if (!navigation) {
|
|
319
|
-
return;
|
|
320
|
-
}
|
|
321
|
-
const defaultHistory = getRouterConfig().defaultHistory ?? 'auto';
|
|
322
|
-
const navigationOpts = {
|
|
323
|
-
state: navOptions.state,
|
|
324
|
-
history: navOptions.history ?? defaultHistory,
|
|
325
|
-
};
|
|
326
|
-
try {
|
|
327
|
-
await navigation.navigate(targetUrl, navigationOpts);
|
|
328
|
-
}
|
|
329
|
-
catch (error) {
|
|
330
|
-
getLogger().error('[useRoute] Navigation error:', error);
|
|
331
|
-
}
|
|
332
|
-
}, [navigation, effectiveBase]);
|
|
333
|
-
const back = useCallback(() => {
|
|
334
|
-
try {
|
|
335
|
-
if (navigation)
|
|
336
|
-
navigation.back();
|
|
337
|
-
}
|
|
338
|
-
catch (error) {
|
|
339
|
-
getLogger().error('[useRoute] Back navigation error:', error);
|
|
340
|
-
}
|
|
341
|
-
}, [navigation]);
|
|
342
|
-
const forward = useCallback(() => {
|
|
343
|
-
try {
|
|
344
|
-
if (navigation)
|
|
345
|
-
navigation.forward();
|
|
346
|
-
}
|
|
347
|
-
catch (error) {
|
|
348
|
-
getLogger().error('[useRoute] Forward navigation error:', error);
|
|
349
|
-
}
|
|
350
|
-
}, [navigation]);
|
|
351
|
-
const canGoBack = useCallback((steps = 1) => {
|
|
352
|
-
// Валидация входных данных
|
|
353
|
-
if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
|
|
354
|
-
return false;
|
|
355
|
-
}
|
|
356
|
-
if (!navigation || routerState._entriesKeys.length === 0) {
|
|
357
|
-
return false;
|
|
358
|
-
}
|
|
359
|
-
const idx = routerState.historyIndex;
|
|
360
|
-
if (idx === -1)
|
|
361
|
-
return false;
|
|
362
|
-
return idx - steps >= 0;
|
|
363
|
-
}, [navigation, routerState._entriesKeys.length, routerState.historyIndex]);
|
|
364
|
-
const canGoForward = useCallback((steps = 1) => {
|
|
365
|
-
// Валидация входных данных
|
|
366
|
-
if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
|
|
367
|
-
return false;
|
|
368
|
-
}
|
|
369
|
-
if (!navigation || routerState._entriesKeys.length === 0) {
|
|
370
|
-
return false;
|
|
371
|
-
}
|
|
372
|
-
const idx = routerState.historyIndex;
|
|
373
|
-
if (idx === -1)
|
|
374
|
-
return false;
|
|
375
|
-
return idx + steps < routerState._entriesKeys.length;
|
|
376
|
-
}, [navigation, routerState._entriesKeys.length, routerState.historyIndex]);
|
|
377
|
-
const go = useCallback((delta) => {
|
|
378
|
-
// Валидация входных данных
|
|
379
|
-
if (delta === Infinity || delta === -Infinity) {
|
|
380
|
-
getLogger().warn('[useRoute] Delta value too large:', delta);
|
|
381
|
-
return;
|
|
382
|
-
}
|
|
383
|
-
if (!Number.isFinite(delta) || delta === 0)
|
|
384
|
-
return;
|
|
385
|
-
if (delta > Number.MAX_SAFE_INTEGER || delta < -Number.MAX_SAFE_INTEGER) {
|
|
386
|
-
getLogger().warn('[useRoute] Delta value too large:', delta);
|
|
387
|
-
return;
|
|
388
|
-
}
|
|
389
|
-
try {
|
|
390
|
-
if (navigation && routerState._entriesKeys.length > 0) {
|
|
391
|
-
const idx = routerState.historyIndex;
|
|
392
|
-
if (idx === -1)
|
|
393
|
-
return;
|
|
394
|
-
const targetIdx = idx + delta;
|
|
395
|
-
if (targetIdx < 0 || targetIdx >= routerState._entriesKeys.length) {
|
|
396
|
-
return;
|
|
397
|
-
}
|
|
398
|
-
const targetKey = routerState._entriesKeys[targetIdx];
|
|
399
|
-
if (targetKey === undefined)
|
|
400
|
-
return;
|
|
401
|
-
navigation.traverseTo(targetKey);
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
catch (error) {
|
|
405
|
-
getLogger().error('[useRoute] Go navigation error:', error);
|
|
406
|
-
}
|
|
407
|
-
}, [navigation, routerState._entriesKeys, routerState.historyIndex]);
|
|
408
|
-
const replace = useCallback((to, options) => navigate(to, { ...options, history: 'replace' }), [navigate]);
|
|
409
|
-
const updateState = useCallback((state) => {
|
|
410
|
-
try {
|
|
411
|
-
if (navigation) {
|
|
412
|
-
navigation.updateCurrentEntry({ state });
|
|
413
|
-
sharedSnapshot = computeNavigationSnapshot(navigation);
|
|
414
|
-
storeCallbacks.forEach((cb) => cb());
|
|
415
|
-
}
|
|
416
|
-
else if (isBrowser) {
|
|
417
|
-
window.history.replaceState(state, '', window.location.href);
|
|
418
|
-
if (noNavSnapshot !== null) {
|
|
419
|
-
noNavSnapshot = { ...noNavSnapshot, state };
|
|
420
|
-
}
|
|
421
|
-
storeCallbacks.forEach((cb) => cb());
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
catch (error) {
|
|
425
|
-
getLogger().error('[useRoute] updateState error:', error);
|
|
426
|
-
}
|
|
427
|
-
}, [navigation]);
|
|
428
|
-
return useMemo(() => ({
|
|
425
|
+
const navigate = getNavigateForBase(effectiveBase);
|
|
426
|
+
const replace = getReplaceForBase(effectiveBase);
|
|
427
|
+
const back = globalBack;
|
|
428
|
+
const forward = globalForward;
|
|
429
|
+
const go = globalGo;
|
|
430
|
+
const updateState = globalUpdateState;
|
|
431
|
+
const canGoBack = globalCanGoBack;
|
|
432
|
+
const canGoForward = globalCanGoForward;
|
|
433
|
+
return {
|
|
429
434
|
navigate,
|
|
430
435
|
back,
|
|
431
436
|
forward,
|
|
@@ -441,6 +446,6 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
441
446
|
historyIndex: routerState.historyIndex,
|
|
442
447
|
state: routerState.state,
|
|
443
448
|
matched: routerState.matched,
|
|
444
|
-
}
|
|
449
|
+
};
|
|
445
450
|
}
|
|
446
451
|
//# sourceMappingURL=index.js.map
|
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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"}
|
|
@@ -1,10 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Временные объявления нативного API до появления типов в lib.dom.
|
|
3
|
-
* Когда URLPattern и Navigation API появятся в TypeScript lib.dom — удалить этот файл
|
|
4
|
-
* и убрать реэкспорт из types.ts (или перейти на типы из lib).
|
|
5
|
-
*
|
|
6
|
-
* Источники: WHATWG URL Pattern Standard, MDN/WHATWG Navigation API.
|
|
7
|
-
*/
|
|
8
1
|
declare global {
|
|
9
2
|
class URLPattern {
|
|
10
3
|
constructor(init?: URLPatternInit);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-api-types.d.ts","sourceRoot":"","sources":["../src/native-api-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"native-api-types.d.ts","sourceRoot":"","sources":["../src/native-api-types.ts"],"names":[],"mappings":"AASA,OAAO,CAAC,MAAM,CAAC;IAEX,MAAM,UAAU;oBACA,IAAI,CAAC,EAAE,cAAc;QACjC,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,OAAO;QAC7C,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,GAAG,gBAAgB,GAAG,IAAI;KAChE;IAED,UAAU,cAAc;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB;IAED,UAAU,gBAAgB;QACtB,QAAQ,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QAC7C,MAAM,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;QAC3C,IAAI,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;SAAE,CAAC;KAC5C;CACJ;AAGD,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,yBAAyB;IACtC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACrC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,UAAW,SAAQ,WAAW;IAC3C,QAAQ,CAAC,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrD,OAAO,IAAI,sBAAsB,EAAE,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CACJ,GAAG,EAAE,MAAM,GAAG,GAAG,EACjB,OAAO,CAAC,EAAE,yBAAyB,GACpC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,wBAAwB,CAAC;IAChF,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3D;AAED,OAAO,EAAE,CAAC"}
|