@budarin/use-route 1.3.4 → 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.
@@ -3,7 +3,7 @@ import {
3
3
  require_react
4
4
  } from "./chunk-3SNVYWQ3.js";
5
5
 
6
- // ../node_modules/.pnpm/@budarin+use-route@1.3.3/node_modules/@budarin/use-route/dist/types.js
6
+ // ../node_modules/.pnpm/@budarin+use-route@1.3.4/node_modules/@budarin/use-route/dist/types.js
7
7
  var routerConfig = {
8
8
  urlCacheLimit: 50
9
9
  };
@@ -17,7 +17,7 @@ function getLogger() {
17
17
  return routerConfig.logger ?? console;
18
18
  }
19
19
 
20
- // ../node_modules/.pnpm/@budarin+use-route@1.3.3/node_modules/@budarin/use-route/dist/index.js
20
+ // ../node_modules/.pnpm/@budarin+use-route@1.3.4/node_modules/@budarin/use-route/dist/index.js
21
21
  var import_react = __toESM(require_react());
22
22
  var isBrowser = typeof window !== "undefined";
23
23
  function isValidUrl(url) {
@@ -95,8 +95,19 @@ function getNavigation() {
95
95
  return typeof window !== "undefined" && "navigation" in window ? window.navigation : void 0;
96
96
  }
97
97
  function computeNavigationSnapshot(nav) {
98
- if (!nav)
98
+ if (!nav) {
99
+ if (!isBrowser) {
100
+ const urlStr2 = getRouterConfig().initialLocation ?? "/";
101
+ const parsed2 = getCachedParsedUrl(urlStr2);
102
+ return {
103
+ ...DEFAULT_SNAPSHOT,
104
+ urlStr: urlStr2,
105
+ pathname: parsed2.pathname,
106
+ searchParams: parsed2.searchParams
107
+ };
108
+ }
99
109
  return DEFAULT_SNAPSHOT;
110
+ }
100
111
  const entry = nav.currentEntry;
101
112
  const urlStr = entry?.url ?? (isBrowser ? window.location.href : "/");
102
113
  const parsed = getCachedParsedUrl(urlStr);
@@ -112,7 +123,7 @@ function computeNavigationSnapshot(nav) {
112
123
  state
113
124
  };
114
125
  }
115
- var sharedSnapshot = null;
126
+ var sharedSnapshot = computeNavigationSnapshot(getNavigation());
116
127
  var storeCallbacks = /* @__PURE__ */ new Set();
117
128
  var unsubscribeNavigation = null;
118
129
  function subscribeToNavigation(callback) {
@@ -120,6 +131,7 @@ function subscribeToNavigation(callback) {
120
131
  if (storeCallbacks.size === 1) {
121
132
  const nav = getNavigation();
122
133
  if (nav) {
134
+ sharedSnapshot = computeNavigationSnapshot(nav);
123
135
  const interceptListener = (event) => {
124
136
  const navEvent = event;
125
137
  if (!navEvent.canIntercept || !isBrowser)
@@ -154,35 +166,18 @@ function subscribeToNavigation(callback) {
154
166
  unsubscribeNavigation();
155
167
  unsubscribeNavigation = null;
156
168
  }
157
- sharedSnapshot = null;
158
- noNavSnapshot = null;
159
- noNavSnapshotUrl = null;
160
169
  }
161
170
  };
162
171
  }
163
- var noNavSnapshot = null;
164
- var noNavSnapshotUrl = null;
165
172
  function getNavigationSnapshot() {
166
- if (sharedSnapshot !== null)
167
- return sharedSnapshot;
168
173
  const nav = getNavigation();
169
- if (nav) {
170
- sharedSnapshot = computeNavigationSnapshot(nav);
171
- return sharedSnapshot;
174
+ if (storeCallbacks.size === 0 && nav) {
175
+ const currentUrl = nav.currentEntry?.url ?? (isBrowser ? window.location.href : "/");
176
+ if (currentUrl !== sharedSnapshot.urlStr) {
177
+ sharedSnapshot = computeNavigationSnapshot(nav);
178
+ }
172
179
  }
173
- const urlStr = isBrowser ? window.location.href : getRouterConfig().initialLocation ?? "/";
174
- if (noNavSnapshot !== null && noNavSnapshotUrl === urlStr)
175
- return noNavSnapshot;
176
- const parsed = getCachedParsedUrl(urlStr);
177
- noNavSnapshotUrl = urlStr;
178
- noNavSnapshot = {
179
- ...DEFAULT_SNAPSHOT,
180
- urlStr,
181
- pathname: parsed.pathname,
182
- searchParams: parsed.searchParams,
183
- state: isBrowser ? window.history.state : void 0
184
- };
185
- return noNavSnapshot;
180
+ return sharedSnapshot;
186
181
  }
187
182
  var lastEntriesKeysRef = null;
188
183
  var lastKeyToIndexMap = null;
@@ -215,8 +210,159 @@ function clearRouterCaches() {
215
210
  URL_CACHE.clear();
216
211
  lastEntriesKeysRef = null;
217
212
  lastKeyToIndexMap = null;
218
- noNavSnapshot = null;
219
- noNavSnapshotUrl = null;
213
+ sharedSnapshot = computeNavigationSnapshot(getNavigation());
214
+ }
215
+ function globalBack() {
216
+ try {
217
+ const nav = getNavigation();
218
+ if (nav)
219
+ nav.back();
220
+ } catch (error) {
221
+ getLogger().error("[useRoute] Back navigation error:", error);
222
+ }
223
+ }
224
+ function globalForward() {
225
+ try {
226
+ const nav = getNavigation();
227
+ if (nav)
228
+ nav.forward();
229
+ } catch (error) {
230
+ getLogger().error("[useRoute] Forward navigation error:", error);
231
+ }
232
+ }
233
+ function globalUpdateState(state) {
234
+ try {
235
+ const nav = getNavigation();
236
+ if (nav) {
237
+ nav.updateCurrentEntry({ state });
238
+ sharedSnapshot = computeNavigationSnapshot(nav);
239
+ storeCallbacks.forEach((cb) => cb());
240
+ } else {
241
+ getLogger().warn("[useRoute] updateState requires Navigation API");
242
+ }
243
+ } catch (error) {
244
+ getLogger().error("[useRoute] updateState error:", error);
245
+ }
246
+ }
247
+ var navigateCache = /* @__PURE__ */ new Map();
248
+ function getNavigateForBase(effectiveBase) {
249
+ const cacheKey = effectiveBase ?? "__root__";
250
+ let cachedNavigate = navigateCache.get(cacheKey);
251
+ if (!cachedNavigate) {
252
+ cachedNavigate = async (to, navOptions = {}) => {
253
+ let targetUrl = typeof to === "string" ? to : to.toString();
254
+ let baseForCall;
255
+ if (navOptions.base !== void 0) {
256
+ baseForCall = navOptions.base === "" || navOptions.base === "/" ? void 0 : navOptions.base;
257
+ } else if (navOptions.section !== void 0) {
258
+ baseForCall = combineBases(getRouterConfig().base, navOptions.section);
259
+ } else {
260
+ baseForCall = effectiveBase;
261
+ }
262
+ if (baseForCall && baseForCall !== "/" && typeof to === "string" && to.startsWith("/") && !to.startsWith("//") && !to.includes(":")) {
263
+ targetUrl = baseForCall + (to === "/" ? "" : to);
264
+ }
265
+ if (!isValidUrl(targetUrl)) {
266
+ getLogger().warn("[useRoute] Invalid URL rejected:", targetUrl);
267
+ return;
268
+ }
269
+ const nav = getNavigation();
270
+ if (!nav) {
271
+ return;
272
+ }
273
+ const defaultHistory = getRouterConfig().defaultHistory ?? "auto";
274
+ const navigationOpts = {
275
+ state: navOptions.state,
276
+ history: navOptions.history ?? defaultHistory
277
+ };
278
+ try {
279
+ await nav.navigate(targetUrl, navigationOpts);
280
+ } catch (error) {
281
+ getLogger().error("[useRoute] Navigation error:", error);
282
+ }
283
+ };
284
+ navigateCache.set(cacheKey, cachedNavigate);
285
+ }
286
+ return cachedNavigate;
287
+ }
288
+ var replaceCache = /* @__PURE__ */ new Map();
289
+ function getReplaceForBase(effectiveBase) {
290
+ const cacheKey = effectiveBase ?? "__root__";
291
+ let cachedReplace = replaceCache.get(cacheKey);
292
+ if (!cachedReplace) {
293
+ const navigateFn = getNavigateForBase(effectiveBase);
294
+ cachedReplace = (to, options) => navigateFn(to, { ...options, history: "replace" });
295
+ replaceCache.set(cacheKey, cachedReplace);
296
+ }
297
+ return cachedReplace;
298
+ }
299
+ function globalGo(delta) {
300
+ if (delta === Infinity || delta === -Infinity) {
301
+ getLogger().warn("[useRoute] Delta value too large:", delta);
302
+ return;
303
+ }
304
+ if (!Number.isFinite(delta) || delta === 0)
305
+ return;
306
+ if (delta > Number.MAX_SAFE_INTEGER || delta < -Number.MAX_SAFE_INTEGER) {
307
+ getLogger().warn("[useRoute] Delta value too large:", delta);
308
+ return;
309
+ }
310
+ const nav = getNavigation();
311
+ if (!nav)
312
+ return;
313
+ try {
314
+ const snapshot = getNavigationSnapshot();
315
+ if (snapshot.entriesKeys.length === 0)
316
+ return;
317
+ const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
318
+ const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
319
+ if (idx === -1)
320
+ return;
321
+ const targetIdx = idx + delta;
322
+ if (targetIdx < 0 || targetIdx >= snapshot.entriesKeys.length) {
323
+ return;
324
+ }
325
+ const targetKey = snapshot.entriesKeys[targetIdx];
326
+ if (targetKey === void 0)
327
+ return;
328
+ nav.traverseTo(targetKey);
329
+ } catch (error) {
330
+ getLogger().error("[useRoute] Go navigation error:", error);
331
+ }
332
+ }
333
+ function globalCanGoBack(steps = 1) {
334
+ if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
335
+ return false;
336
+ }
337
+ const nav = getNavigation();
338
+ if (!nav)
339
+ return false;
340
+ const snapshot = getNavigationSnapshot();
341
+ if (snapshot.entriesKeys.length === 0) {
342
+ return false;
343
+ }
344
+ const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
345
+ const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
346
+ if (idx === -1)
347
+ return false;
348
+ return idx - steps >= 0;
349
+ }
350
+ function globalCanGoForward(steps = 1) {
351
+ if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
352
+ return false;
353
+ }
354
+ const nav = getNavigation();
355
+ if (!nav)
356
+ return false;
357
+ const snapshot = getNavigationSnapshot();
358
+ if (snapshot.entriesKeys.length === 0) {
359
+ return false;
360
+ }
361
+ const keyToIndexMap = getKeyToIndexMap(snapshot.entriesKeys);
362
+ const idx = keyToIndexMap.get(snapshot.currentKey) ?? -1;
363
+ if (idx === -1)
364
+ return false;
365
+ return idx + steps < snapshot.entriesKeys.length;
220
366
  }
221
367
  function useRoute(patternOrOptions, optionsParam) {
222
368
  let pattern;
@@ -228,7 +374,6 @@ function useRoute(patternOrOptions, optionsParam) {
228
374
  pattern = patternOrOptions;
229
375
  options = optionsParam;
230
376
  }
231
- const navigation = getNavigation();
232
377
  const rawState = (0, import_react.useSyncExternalStore)(subscribeToNavigation, getNavigationSnapshot, () => DEFAULT_SNAPSHOT);
233
378
  const keyToIndexMap = getKeyToIndexMap(rawState.entriesKeys);
234
379
  const effectiveBase = combineBases(getRouterConfig().base, options?.section);
@@ -257,8 +402,7 @@ function useRoute(patternOrOptions, optionsParam) {
257
402
  params,
258
403
  historyIndex,
259
404
  state: rawState.state,
260
- matched,
261
- _entriesKeys: rawState.entriesKeys
405
+ matched
262
406
  };
263
407
  }, [
264
408
  rawState.currentKey,
@@ -270,125 +414,15 @@ function useRoute(patternOrOptions, optionsParam) {
270
414
  pattern,
271
415
  effectiveBase
272
416
  ]);
273
- const navigate = (0, import_react.useCallback)(async (to, navOptions = {}) => {
274
- let targetUrl = typeof to === "string" ? to : to.toString();
275
- let baseForCall;
276
- if (navOptions.base !== void 0) {
277
- baseForCall = navOptions.base === "" || navOptions.base === "/" ? void 0 : navOptions.base;
278
- } else if (navOptions.section !== void 0) {
279
- baseForCall = combineBases(getRouterConfig().base, navOptions.section);
280
- } else {
281
- baseForCall = effectiveBase;
282
- }
283
- if (baseForCall && baseForCall !== "/" && typeof to === "string" && to.startsWith("/") && !to.startsWith("//") && !to.includes(":")) {
284
- targetUrl = baseForCall + (to === "/" ? "" : to);
285
- }
286
- if (!isValidUrl(targetUrl)) {
287
- getLogger().warn("[useRoute] Invalid URL rejected:", targetUrl);
288
- return;
289
- }
290
- if (!navigation) {
291
- return;
292
- }
293
- const defaultHistory = getRouterConfig().defaultHistory ?? "auto";
294
- const navigationOpts = {
295
- state: navOptions.state,
296
- history: navOptions.history ?? defaultHistory
297
- };
298
- try {
299
- await navigation.navigate(targetUrl, navigationOpts);
300
- } catch (error) {
301
- getLogger().error("[useRoute] Navigation error:", error);
302
- }
303
- }, [navigation, effectiveBase]);
304
- const back = (0, import_react.useCallback)(() => {
305
- try {
306
- if (navigation)
307
- navigation.back();
308
- } catch (error) {
309
- getLogger().error("[useRoute] Back navigation error:", error);
310
- }
311
- }, [navigation]);
312
- const forward = (0, import_react.useCallback)(() => {
313
- try {
314
- if (navigation)
315
- navigation.forward();
316
- } catch (error) {
317
- getLogger().error("[useRoute] Forward navigation error:", error);
318
- }
319
- }, [navigation]);
320
- const canGoBack = (0, import_react.useCallback)((steps = 1) => {
321
- if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
322
- return false;
323
- }
324
- if (!navigation || routerState._entriesKeys.length === 0) {
325
- return false;
326
- }
327
- const idx = routerState.historyIndex;
328
- if (idx === -1)
329
- return false;
330
- return idx - steps >= 0;
331
- }, [navigation, routerState._entriesKeys.length, routerState.historyIndex]);
332
- const canGoForward = (0, import_react.useCallback)((steps = 1) => {
333
- if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
334
- return false;
335
- }
336
- if (!navigation || routerState._entriesKeys.length === 0) {
337
- return false;
338
- }
339
- const idx = routerState.historyIndex;
340
- if (idx === -1)
341
- return false;
342
- return idx + steps < routerState._entriesKeys.length;
343
- }, [navigation, routerState._entriesKeys.length, routerState.historyIndex]);
344
- const go = (0, import_react.useCallback)((delta) => {
345
- if (delta === Infinity || delta === -Infinity) {
346
- getLogger().warn("[useRoute] Delta value too large:", delta);
347
- return;
348
- }
349
- if (!Number.isFinite(delta) || delta === 0)
350
- return;
351
- if (delta > Number.MAX_SAFE_INTEGER || delta < -Number.MAX_SAFE_INTEGER) {
352
- getLogger().warn("[useRoute] Delta value too large:", delta);
353
- return;
354
- }
355
- try {
356
- if (navigation && routerState._entriesKeys.length > 0) {
357
- const idx = routerState.historyIndex;
358
- if (idx === -1)
359
- return;
360
- const targetIdx = idx + delta;
361
- if (targetIdx < 0 || targetIdx >= routerState._entriesKeys.length) {
362
- return;
363
- }
364
- const targetKey = routerState._entriesKeys[targetIdx];
365
- if (targetKey === void 0)
366
- return;
367
- navigation.traverseTo(targetKey);
368
- }
369
- } catch (error) {
370
- getLogger().error("[useRoute] Go navigation error:", error);
371
- }
372
- }, [navigation, routerState._entriesKeys, routerState.historyIndex]);
373
- const replace = (0, import_react.useCallback)((to, options2) => navigate(to, { ...options2, history: "replace" }), [navigate]);
374
- const updateState = (0, import_react.useCallback)((state) => {
375
- try {
376
- if (navigation) {
377
- navigation.updateCurrentEntry({ state });
378
- sharedSnapshot = computeNavigationSnapshot(navigation);
379
- storeCallbacks.forEach((cb) => cb());
380
- } else if (isBrowser) {
381
- window.history.replaceState(state, "", window.location.href);
382
- if (noNavSnapshot !== null) {
383
- noNavSnapshot = { ...noNavSnapshot, state };
384
- }
385
- storeCallbacks.forEach((cb) => cb());
386
- }
387
- } catch (error) {
388
- getLogger().error("[useRoute] updateState error:", error);
389
- }
390
- }, [navigation]);
391
- return (0, import_react.useMemo)(() => ({
417
+ const navigate = getNavigateForBase(effectiveBase);
418
+ const replace = getReplaceForBase(effectiveBase);
419
+ const back = globalBack;
420
+ const forward = globalForward;
421
+ const go = globalGo;
422
+ const updateState = globalUpdateState;
423
+ const canGoBack = globalCanGoBack;
424
+ const canGoForward = globalCanGoForward;
425
+ return {
392
426
  navigate,
393
427
  back,
394
428
  forward,
@@ -404,7 +438,7 @@ function useRoute(patternOrOptions, optionsParam) {
404
438
  historyIndex: routerState.historyIndex,
405
439
  state: routerState.state,
406
440
  matched: routerState.matched
407
- }), [navigate, back, forward, go, replace, updateState, canGoBack, canGoForward, routerState]);
441
+ };
408
442
  }
409
443
  export {
410
444
  clearRouterCaches,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../node_modules/.pnpm/@budarin+use-route@1.3.3/node_modules/@budarin/use-route/src/types.ts", "../../../../node_modules/.pnpm/@budarin+use-route@1.3.3/node_modules/@budarin/use-route/src/index.ts"],
3
+ "sources": ["../../../../node_modules/.pnpm/@budarin+use-route@1.3.4/node_modules/@budarin/use-route/src/types.ts", "../../../../node_modules/.pnpm/@budarin+use-route@1.3.4/node_modules/@budarin/use-route/src/index.ts"],
4
4
  "sourcesContent": [null, null],
5
- "mappings": "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",
6
- "names": ["options"]
5
+ "mappings": "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",
6
+ "names": ["urlStr", "parsed"]
7
7
  }
@@ -1,43 +1,43 @@
1
1
  {
2
- "hash": "cb1e6a6b",
2
+ "hash": "e9f3058a",
3
3
  "configHash": "5d40f1b5",
4
- "lockfileHash": "1b741544",
5
- "browserHash": "8b21f158",
4
+ "lockfileHash": "b110f999",
5
+ "browserHash": "77e455a2",
6
6
  "optimized": {
7
7
  "react": {
8
8
  "src": "../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/index.js",
9
9
  "file": "react.js",
10
- "fileHash": "ab23ae70",
10
+ "fileHash": "3427d084",
11
11
  "needsInterop": true
12
12
  },
13
13
  "react-dom": {
14
14
  "src": "../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/index.js",
15
15
  "file": "react-dom.js",
16
- "fileHash": "8b1b812d",
16
+ "fileHash": "d9711b24",
17
17
  "needsInterop": true
18
18
  },
19
19
  "react/jsx-dev-runtime": {
20
20
  "src": "../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-dev-runtime.js",
21
21
  "file": "react_jsx-dev-runtime.js",
22
- "fileHash": "ecc018d4",
22
+ "fileHash": "7b60a338",
23
23
  "needsInterop": true
24
24
  },
25
25
  "react/jsx-runtime": {
26
26
  "src": "../../../../node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js",
27
27
  "file": "react_jsx-runtime.js",
28
- "fileHash": "30888066",
28
+ "fileHash": "2806e1e3",
29
29
  "needsInterop": true
30
30
  },
31
31
  "@budarin/use-route": {
32
- "src": "../../../../node_modules/.pnpm/@budarin+use-route@1.3.3/node_modules/@budarin/use-route/dist/index.js",
32
+ "src": "../../../../node_modules/.pnpm/@budarin+use-route@1.3.4/node_modules/@budarin/use-route/dist/index.js",
33
33
  "file": "@budarin_use-route.js",
34
- "fileHash": "9af4966b",
34
+ "fileHash": "5b933597",
35
35
  "needsInterop": false
36
36
  },
37
37
  "react-dom/client": {
38
38
  "src": "../../../../node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.js",
39
39
  "file": "react-dom_client.js",
40
- "fileHash": "2e2e7deb",
40
+ "fileHash": "31004c82",
41
41
  "needsInterop": true
42
42
  }
43
43
  },
package/demo/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@budarin/use-route": "^1.3.3",
7
+ "@budarin/use-route": "^1.3.4",
8
8
  "react": "^19.0.0",
9
9
  "react-dom": "^19.0.0"
10
10
  },
package/demo/src/App.tsx CHANGED
@@ -35,7 +35,11 @@ function Nav() {
35
35
  <span style={{ width: '0.5rem' }} />
36
36
  <Link
37
37
  to={section || '/'}
38
- className={pathname === (section || '/') ? 'active' : ''}
38
+ className={
39
+ // Вне раздела: Главная активна на pathname === '/'
40
+ // В разделе: Главная не подсвечивается — активна «Выйти из раздела»
41
+ !section && pathname === '/' ? 'active' : ''
42
+ }
39
43
  title="Главная страница демо"
40
44
  >
41
45
  Главная
@@ -93,7 +97,13 @@ function Nav() {
93
97
  Раздел (section)
94
98
  </Link>
95
99
  ) : (
96
- <Link to="/">Выйти из раздела</Link>
100
+ <Link
101
+ to="/"
102
+ className={pathname.startsWith(section) ? 'active' : ''}
103
+ title="Выйти из раздела в корень приложения"
104
+ >
105
+ Выйти из раздела
106
+ </Link>
97
107
  )}
98
108
  </div>
99
109
  </nav>
@@ -137,7 +147,9 @@ function Router() {
137
147
  <p>
138
148
  Путь <code>{pathname}</code> не найден.
139
149
  </p>
140
- <Link to="/">На главную</Link>
150
+ <Link to="/" className="demo-link-btn">
151
+ На главную
152
+ </Link>
141
153
  </div>
142
154
  );
143
155
  }
@@ -158,3 +158,40 @@ button:disabled {
158
158
  gap: 0.5rem;
159
159
  margin: 0.75rem 0;
160
160
  }
161
+
162
+ /* Ссылки внутри блока кнопок — в одном стиле с кнопками */
163
+ .demo-buttons a {
164
+ display: inline-block;
165
+ font: inherit;
166
+ cursor: pointer;
167
+ padding: 0.4em 0.8em;
168
+ border: 1px solid #ccc;
169
+ border-radius: 4px;
170
+ background: #fff;
171
+ color: #1a1a1a;
172
+ text-decoration: none;
173
+ }
174
+
175
+ .demo-buttons a:hover {
176
+ background: #f0f0f0;
177
+ text-decoration: none;
178
+ }
179
+
180
+ /* Отдельные ссылки «назад» / «на главную» в контенте — тоже под кнопку */
181
+ .demo-content a.demo-link-btn {
182
+ display: inline-block;
183
+ font: inherit;
184
+ cursor: pointer;
185
+ padding: 0.4em 0.8em;
186
+ margin: 0.25rem 0;
187
+ border: 1px solid #ccc;
188
+ border-radius: 4px;
189
+ background: #fff;
190
+ color: #1a1a1a;
191
+ text-decoration: none;
192
+ }
193
+
194
+ .demo-content a.demo-link-btn:hover {
195
+ background: #f0f0f0;
196
+ text-decoration: none;
197
+ }
@@ -36,7 +36,9 @@ export function PushReplace() {
36
36
  </button>
37
37
  </div>
38
38
  <p>
39
- <Link to="/push-replace">Вернуться в начало этого раздела</Link>
39
+ <Link to="/push-replace" className="demo-link-btn">
40
+ Вернуться в начало этого раздела
41
+ </Link>
40
42
  </p>
41
43
  </div>
42
44
  );
@@ -43,7 +43,9 @@ export function State() {
43
43
  </code>
44
44
  </p>
45
45
  <p>
46
- <Link to="/state">← Вернуться к примеру State</Link>
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="/">На главную</Link>
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
@@ -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;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;AAEjB,0EAA0E;AAC1E,wBAAgB,iBAAiB,IAAI,IAAI,CAOxC;AAwND,qFAAqF;AACrF,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAAC;AACnE,mCAAmC;AACnC,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,EACnD,OAAO,EAAE,CAAC,EACV,OAAO,CAAC,EAAE,eAAe,GAC1B,cAAc,CAAC,CAAC,CAAC,CAAC;AACrB,qDAAqD;AACrD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,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
2
  import { useSyncExternalStore, useMemo } from 'react';
3
- // Утилита для проверки браузерного окружения
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);
@@ -93,7 +82,6 @@ function getNavigation() {
93
82
  }
94
83
  function computeNavigationSnapshot(nav) {
95
84
  if (!nav) {
96
- // SSR fallback: используем initialLocation из конфига
97
85
  if (!isBrowser) {
98
86
  const urlStr = getRouterConfig().initialLocation ?? '/';
99
87
  const parsed = getCachedParsedUrl(urlStr);
@@ -104,7 +92,6 @@ function computeNavigationSnapshot(nav) {
104
92
  searchParams: parsed.searchParams,
105
93
  };
106
94
  }
107
- // В браузере без Navigation API возвращаем дефолтный snapshot
108
95
  return DEFAULT_SNAPSHOT;
109
96
  }
110
97
  const entry = nav.currentEntry;
@@ -124,7 +111,6 @@ function computeNavigationSnapshot(nav) {
124
111
  state,
125
112
  };
126
113
  }
127
- // Инициализируем снимок сразу (всегда валидный, не null)
128
114
  let sharedSnapshot = computeNavigationSnapshot(getNavigation());
129
115
  const storeCallbacks = new Set();
130
116
  let unsubscribeNavigation = null;
@@ -133,7 +119,6 @@ function subscribeToNavigation(callback) {
133
119
  if (storeCallbacks.size === 1) {
134
120
  const nav = getNavigation();
135
121
  if (nav) {
136
- // Обновляем snapshot при первой подписке
137
122
  sharedSnapshot = computeNavigationSnapshot(nav);
138
123
  const interceptListener = (event) => {
139
124
  const navEvent = event;
@@ -146,7 +131,6 @@ function subscribeToNavigation(callback) {
146
131
  navEvent.intercept({ handler() { } });
147
132
  }
148
133
  catch {
149
- // невалидный URL — не перехватываем
150
134
  }
151
135
  };
152
136
  const listener = () => {
@@ -170,14 +154,11 @@ function subscribeToNavigation(callback) {
170
154
  unsubscribeNavigation();
171
155
  unsubscribeNavigation = null;
172
156
  }
173
- // ✅ Не очищаем sharedSnapshot - он остаётся валидным для глобальных методов
174
- // Обновляем snapshot при следующем чтении, если нет подписчиков
175
157
  }
176
158
  };
177
159
  }
178
160
  function getNavigationSnapshot() {
179
161
  const nav = getNavigation();
180
- // Если нет подписчиков и есть Navigation API, проверяем актуальность
181
162
  if (storeCallbacks.size === 0 && nav) {
182
163
  const currentUrl = nav.currentEntry?.url ?? (isBrowser ? window.location.href : '/');
183
164
  if (currentUrl !== sharedSnapshot.urlStr) {
@@ -186,7 +167,6 @@ function getNavigationSnapshot() {
186
167
  }
187
168
  return sharedSnapshot;
188
169
  }
189
- // Один keyToIndexMap на снимок (один на все хуки при общем rawState)
190
170
  let lastEntriesKeysRef = null;
191
171
  let lastKeyToIndexMap = null;
192
172
  function getKeyToIndexMap(entriesKeys) {
@@ -199,7 +179,6 @@ function getKeyToIndexMap(entriesKeys) {
199
179
  lastKeyToIndexMap = map;
200
180
  return map;
201
181
  }
202
- // Кэш скомпилированных URLPattern
203
182
  const PATTERN_CACHE = new Map();
204
183
  function getCompiledPattern(pattern) {
205
184
  let compiled = PATTERN_CACHE.get(pattern);
@@ -209,29 +188,19 @@ function getCompiledPattern(pattern) {
209
188
  }
210
189
  return compiled;
211
190
  }
212
- // Извлечение params из уже скомпилированного URLPattern (один exec, без повторного getCompiledPattern)
213
- // URLPattern кладёт сегменты * в groups с числовыми ключами — их не возвращаем.
214
191
  function parseParamsFromCompiled(compiled, pathname) {
215
192
  const match = compiled.exec({ pathname });
216
193
  const groups = (match?.pathname.groups ?? {});
217
194
  return Object.fromEntries(Object.entries(groups).filter(([key]) => !/^\d+$/.test(key)));
218
195
  }
219
- // Экспортируем configureRouter и очистку кэшей (для тестов / смены окружения)
220
196
  export { configureRouter, } from './types';
221
- /** Очищает кэши паттернов и URL. Для тестов или при смене base/origin. */
222
197
  export function clearRouterCaches() {
223
198
  PATTERN_CACHE.clear();
224
199
  URL_CACHE.clear();
225
200
  lastEntriesKeysRef = null;
226
201
  lastKeyToIndexMap = null;
227
- // Пересоздаём snapshot после очистки
228
202
  sharedSnapshot = computeNavigationSnapshot(getNavigation());
229
203
  }
230
- // ============================================================================
231
- // ГЛОБАЛЬНЫЕ МЕТОДЫ НАВИГАЦИИ (создаются один раз, переиспользуются всеми хуками)
232
- // ============================================================================
233
- // Простые глобальные методы без зависимостей
234
- /** Глобальный метод back() - создаётся один раз */
235
204
  function globalBack() {
236
205
  try {
237
206
  const nav = getNavigation();
@@ -242,7 +211,6 @@ function globalBack() {
242
211
  getLogger().error('[useRoute] Back navigation error:', error);
243
212
  }
244
213
  }
245
- /** Глобальный метод forward() - создаётся один раз */
246
214
  function globalForward() {
247
215
  try {
248
216
  const nav = getNavigation();
@@ -253,7 +221,6 @@ function globalForward() {
253
221
  getLogger().error('[useRoute] Forward navigation error:', error);
254
222
  }
255
223
  }
256
- /** Глобальный метод updateState() - создаётся один раз */
257
224
  function globalUpdateState(state) {
258
225
  try {
259
226
  const nav = getNavigation();
@@ -263,7 +230,6 @@ function globalUpdateState(state) {
263
230
  storeCallbacks.forEach((cb) => cb());
264
231
  }
265
232
  else {
266
- // Без Navigation API - no-op с предупреждением
267
233
  getLogger().warn('[useRoute] updateState requires Navigation API');
268
234
  }
269
235
  }
@@ -271,9 +237,7 @@ function globalUpdateState(state) {
271
237
  getLogger().error('[useRoute] updateState error:', error);
272
238
  }
273
239
  }
274
- // Кэшированные методы navigate и replace по effectiveBase
275
240
  const navigateCache = new Map();
276
- /** Создаёт navigate для конкретного effectiveBase и кэширует */
277
241
  function getNavigateForBase(effectiveBase) {
278
242
  const cacheKey = effectiveBase ?? '__root__';
279
243
  let cachedNavigate = navigateCache.get(cacheKey);
@@ -323,7 +287,6 @@ function getNavigateForBase(effectiveBase) {
323
287
  }
324
288
  return cachedNavigate;
325
289
  }
326
- /** Создаёт replace для конкретного navigate и кэширует */
327
290
  const replaceCache = new Map();
328
291
  function getReplaceForBase(effectiveBase) {
329
292
  const cacheKey = effectiveBase ?? '__root__';
@@ -335,10 +298,7 @@ function getReplaceForBase(effectiveBase) {
335
298
  }
336
299
  return cachedReplace;
337
300
  }
338
- // Глобальные методы с чтением актуального snapshot
339
- /** Глобальный метод go() - читает актуальный snapshot */
340
301
  function globalGo(delta) {
341
- // Валидация входных данных
342
302
  if (delta === Infinity || delta === -Infinity) {
343
303
  getLogger().warn('[useRoute] Delta value too large:', delta);
344
304
  return;
@@ -373,9 +333,7 @@ function globalGo(delta) {
373
333
  getLogger().error('[useRoute] Go navigation error:', error);
374
334
  }
375
335
  }
376
- /** Глобальный метод canGoBack() - читает актуальный snapshot */
377
336
  function globalCanGoBack(steps = 1) {
378
- // Валидация входных данных
379
337
  if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
380
338
  return false;
381
339
  }
@@ -392,9 +350,7 @@ function globalCanGoBack(steps = 1) {
392
350
  return false;
393
351
  return idx - steps >= 0;
394
352
  }
395
- /** Глобальный метод canGoForward() - читает актуальный snapshot */
396
353
  function globalCanGoForward(steps = 1) {
397
- // Валидация входных данных
398
354
  if (!Number.isFinite(steps) || steps < 0 || steps > Number.MAX_SAFE_INTEGER) {
399
355
  return false;
400
356
  }
@@ -411,11 +367,6 @@ function globalCanGoForward(steps = 1) {
411
367
  return false;
412
368
  return idx + steps < snapshot.entriesKeys.length;
413
369
  }
414
- /**
415
- * Хук состояния маршрута и навигации (Navigation API + URLPattern).
416
- * useRoute({ section: '/dashboard' }) — options only, no pattern.
417
- * useRoute('/users/:id') or useRoute('/users/:id', { section: '/dashboard' }).
418
- */
419
370
  export function useRoute(patternOrOptions, optionsParam) {
420
371
  let pattern;
421
372
  let options;
@@ -433,7 +384,6 @@ export function useRoute(patternOrOptions, optionsParam) {
433
384
  const rawState = useSyncExternalStore(subscribeToNavigation, getNavigationSnapshot, () => DEFAULT_SNAPSHOT);
434
385
  const keyToIndexMap = getKeyToIndexMap(rawState.entriesKeys);
435
386
  const effectiveBase = combineBases(getRouterConfig().base, options?.section);
436
- // Производное состояние роутера. pathname/searchParams берём из snapshot (разбор URL один раз в store).
437
387
  const routerState = useMemo(() => {
438
388
  const { urlStr, pathname: rawPathname, searchParams } = rawState;
439
389
  const pathname = pathnameWithoutBase(rawPathname, effectiveBase);
@@ -472,7 +422,6 @@ export function useRoute(patternOrOptions, optionsParam) {
472
422
  pattern,
473
423
  effectiveBase,
474
424
  ]);
475
- // ✅ Используем глобальные/кэшированные методы - стабильные ссылки, без useCallback
476
425
  const navigate = getNavigateForBase(effectiveBase);
477
426
  const replace = getReplaceForBase(effectiveBase);
478
427
  const back = globalBack;
@@ -481,7 +430,6 @@ export function useRoute(patternOrOptions, optionsParam) {
481
430
  const updateState = globalUpdateState;
482
431
  const canGoBack = globalCanGoBack;
483
432
  const canGoForward = globalCanGoForward;
484
- // ✅ Возвращаем объект без useMemo - все методы стабильны, routerState мемоизирован выше
485
433
  return {
486
434
  navigate,
487
435
  back,
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":"AAAA;;;;;;GAMG;AAGH,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"}
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"}
@@ -1,9 +1,2 @@
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
  export {};
9
2
  //# sourceMappingURL=native-api-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"native-api-types.js","sourceRoot":"","sources":["../src/native-api-types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAuEH,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"native-api-types.js","sourceRoot":"","sources":["../src/native-api-types.ts"],"names":[],"mappings":"AA6EA,OAAO,EAAE,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,69 +1,46 @@
1
- /** Строка — полный URL. */
2
1
  export type UrlString = string;
3
- /** Строка — паттерн пути (например '/users/:id'). */
4
2
  export type PathPattern = string;
5
- /** Строка — pathname, часть пути URL (например '/users/123'). */
6
3
  export type Pathname = string;
7
- /** Ключ записи в Navigation API (history entry key). */
8
4
  export type NavigationEntryKey = string;
9
- /** Индекс в истории навигации. */
10
5
  export type HistoryIndex = number;
11
- /** Имя параметра маршрута (ключ в params). */
12
6
  export type RouteParamName = string;
13
- /** Значение параметра маршрута (сегмент pathname). */
14
7
  export type RouteParamValue = string;
15
- /** Параметры маршрута: имя параметра → значение (из pathname по паттерну). */
16
8
  export type RouteParams = Record<RouteParamName, RouteParamValue>;
17
- /** Функция-матчер пути: pathname → matched и params. Для иерархических/кастомных маршрутов. */
18
9
  export type PathMatcher = (pathname: Pathname) => {
19
10
  matched: boolean;
20
11
  params: RouteParams;
21
12
  };
22
- /** Извлекает тип params из строки паттерна: '/users/:id' → { id: string } */
23
13
  export type ExtractRouteParams<T extends string> = T extends `${string}:${infer Param}/${infer Rest}` ? {
24
14
  [K in Param]: string;
25
15
  } & ExtractRouteParams<`/${Rest}`> : T extends `${string}:${infer Param}` ? {
26
16
  [K in Param]: string;
27
17
  } : Record<string, never>;
28
- /** Тип params для useRoute(pattern): литерал пути → типизированные ключи; PathMatcher → RouteParams; иначе {} */
29
18
  export type ParamsForPath<P> = P extends PathMatcher ? RouteParams : [P] extends [string] ? string extends P ? RouteParams : ExtractRouteParams<P> : Record<string, never>;
30
19
  export interface RouterState {
31
20
  location: UrlString;
32
21
  pathname: Pathname;
33
- /** Только чтение. Мутировать не следует — не меняет реальный URL. */
34
22
  searchParams: URLSearchParams;
35
23
  params: RouteParams;
36
24
  historyIndex: HistoryIndex;
37
- /** State текущей записи истории (getState() / history.state). */
38
25
  state?: unknown;
39
- /** true, если передан pattern и он совпал с pathname; false при несовпадении; undefined, если pattern не передан */
40
26
  matched?: boolean;
41
27
  }
42
28
  export interface NavigateOptions {
43
- /** 'replace' — заменить текущую запись, 'push' — новая запись, 'auto' — по умолчанию (браузер решает). */
44
29
  history?: 'push' | 'replace' | 'auto';
45
- /** Состояние записи в истории (Navigation API): произвольные данные, связанные с этим переходом; можно прочитать из currentEntry.getState() после навигации. Передаётся в navigate и replace в одном поле options.state. */
46
30
  state?: unknown;
47
- /** Full path prefix for this call. Overrides everything. '' or '/' = no prefix (e.g. other app). Otherwise this path is the prefix. Use for leaving app or explicit full path. */
48
31
  base?: string;
49
- /** Section override for this call. '' = app root (global base only, no section). '/path' = that section under global base. Ignored if base is set. */
50
32
  section?: string;
51
33
  }
52
- /** useRoute options: section (subtree under global base). pathname without section prefix; navigate(to) adds global base + section. */
53
34
  export interface UseRouteOptions {
54
- /** Section path under global base (e.g. '/dashboard'). pathname returned without this prefix; navigate(to) adds globalBase + section. '' = app root. Combined with configureRouter.base, not replacing it. */
55
35
  section?: string;
56
36
  }
57
37
  export type UseRouteReturn<P extends string | PathMatcher | undefined = undefined> = Omit<RouterState, 'params'> & {
58
38
  params: ParamsForPath<P>;
59
- /** Резолвится при commit навигации (не обязательно при полном finish, см. Navigation API). */
60
39
  navigate: (to: string | URL, options?: NavigateOptions) => Promise<void>;
61
40
  back: () => void;
62
41
  forward: () => void;
63
42
  go: (delta: number) => void;
64
- /** Same as navigate(to, { ...options, history: 'replace' }). Options same as navigate (state, base, section); history ignored. */
65
43
  replace: (to: string | URL, options?: NavigateOptions) => Promise<void>;
66
- /** Обновляет state текущей записи истории без навигации (Navigation API updateCurrentEntry / history.replaceState). */
67
44
  updateState: (state: unknown) => void;
68
45
  canGoBack: (steps?: number) => boolean;
69
46
  canGoForward: (steps?: number) => boolean;
@@ -77,28 +54,13 @@ export interface Logger {
77
54
  error(...args: unknown[]): void;
78
55
  }
79
56
  export interface RouterConfig {
80
- /** Максимальное количество URL в кэше (по умолчанию: 50) */
81
57
  urlCacheLimit: number;
82
- /** Значение history по умолчанию для всех вызовов navigate() (по умолчанию: 'auto') */
83
58
  defaultHistory?: 'push' | 'replace' | 'auto';
84
- /** Логгер (по умолчанию: console) */
85
59
  logger?: Logger;
86
- /** Базовый путь приложения (например '/app'). pathname возвращается без base; navigate(to) добавляет base к относительным путям. */
87
60
  base?: string;
88
- /** Начальный URL для SSR: при рендере на сервере (нет window) используется этот URL для pathname/searchParams. Задаётся один раз перед рендером запроса (например request.url). */
89
61
  initialLocation?: string;
90
62
  }
91
- /**
92
- * Настройка глобальной конфигурации роутера
93
- * Вызывается один раз при инициализации приложения
94
- */
95
63
  export declare function configureRouter(config: Partial<RouterConfig>): void;
96
- /**
97
- * Получить текущую конфигурацию (для внутреннего использования)
98
- */
99
64
  export declare function getRouterConfig(): RouterConfig;
100
- /**
101
- * Получить логгер (config.logger ?? console)
102
- */
103
65
  export declare function getLogger(): Logger;
104
66
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,23 +1,12 @@
1
- // Внутренняя конфигурация (не экспортируется)
2
1
  let routerConfig = {
3
2
  urlCacheLimit: 50,
4
3
  };
5
- /**
6
- * Настройка глобальной конфигурации роутера
7
- * Вызывается один раз при инициализации приложения
8
- */
9
4
  export function configureRouter(config) {
10
5
  routerConfig = { ...routerConfig, ...config };
11
6
  }
12
- /**
13
- * Получить текущую конфигурацию (для внутреннего использования)
14
- */
15
7
  export function getRouterConfig() {
16
8
  return routerConfig;
17
9
  }
18
- /**
19
- * Получить логгер (config.logger ?? console)
20
- */
21
10
  export function getLogger() {
22
11
  return routerConfig.logger ?? console;
23
12
  }
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuHA,8CAA8C;AAC9C,IAAI,YAAY,GAAiB;IAC7B,aAAa,EAAE,EAAE;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAA6B;IACzD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe;IAC3B,OAAO,YAAY,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,SAAS;IACrB,OAAO,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAwHA,IAAI,YAAY,GAAiB;IAC7B,aAAa,EAAE,EAAE;CACpB,CAAC;AAMF,MAAM,UAAU,eAAe,CAAC,MAA6B;IACzD,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,GAAG,MAAM,EAAE,CAAC;AAClD,CAAC;AAKD,MAAM,UAAU,eAAe;IAC3B,OAAO,YAAY,CAAC;AACxB,CAAC;AAKD,MAAM,UAAU,SAAS;IACrB,OAAO,YAAY,CAAC,MAAM,IAAI,OAAO,CAAC;AAC1C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budarin/use-route",
3
- "version": "1.3.4",
3
+ "version": "1.3.5",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",