@budarin/use-route 1.1.0 → 1.2.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/CHANGELOG.md +40 -0
- package/README.md +13 -8
- package/demo/node_modules/.vite/deps/@budarin_use-route.js +20 -4
- package/demo/node_modules/.vite/deps/@budarin_use-route.js.map +2 -2
- package/demo/node_modules/.vite/deps/_metadata.json +10 -10
- package/demo/package.json +1 -1
- package/demo/src/App.tsx +18 -16
- package/demo/src/pages/BaseDemo.tsx +4 -4
- package/demo/src/pages/Home.tsx +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +77 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/.github/workflows/ci.yml +0 -45
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# История изменений
|
|
2
|
+
|
|
3
|
+
Все значимые изменения в проекте описываются в этом файле.
|
|
4
|
+
|
|
5
|
+
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.1.0/),
|
|
6
|
+
версионирование — [Semantic Versioning](https://semver.org/lang/ru/).
|
|
7
|
+
|
|
8
|
+
## [1.2.0] - 2025-01-30
|
|
9
|
+
|
|
10
|
+
### Изменено
|
|
11
|
+
|
|
12
|
+
- Для **same-origin в браузере** навигация выполняется через **History API** (`pushState`/`replaceState`, подписка на `popstate`, `history.back()`/`forward()`) вместо Navigation API — переходы по ссылкам и кнопки «Назад»/«Вперёд» без полной перезагрузки страницы.
|
|
13
|
+
- При same-origin переходах **state** сохраняется в `history.state`; при переходах через Navigation API (cross-origin и т.п.) — в `window.navigation.currentEntry.getState()`. В README описаны оба варианта.
|
|
14
|
+
|
|
15
|
+
### Документация
|
|
16
|
+
|
|
17
|
+
- README и JSDoc обновлены: разделение History API (same-origin) и Navigation API (cross-origin, `go(n)`), явное требование **Navigation API и URLPattern** (пакет работает только в поддерживающих средах), таблица браузеров, раздел «Под капотом», уточнённое описание state; сокращён повтор в блоке «Когда не использовать».
|
|
18
|
+
|
|
19
|
+
## [1.1.1] - 2025-01-30
|
|
20
|
+
|
|
21
|
+
### Добавлено
|
|
22
|
+
|
|
23
|
+
- **section** в `UseRouteOptions`: путь подраздела под глобальным base (например `/dashboard`). `pathname` возвращается без этого префикса; `navigate(to)` добавляет глобальный base + section. Комбинируется с `configureRouter.base`, не заменяет его.
|
|
24
|
+
- **section** и **base** в `NavigateOptions`: переопределение section или полного base для одного перехода (например `navigate('/', { section: '' })` — в корень приложения, `navigate('/login', { base: '' })` — путь вне приложения).
|
|
25
|
+
- Демо-приложение в `demo/` (Vite + React): примеры section, base, push/replace, свой matcher.
|
|
26
|
+
- CI (GitHub Actions): проверка форматирования, типов, тесты и сборка при push в `master`.
|
|
27
|
+
|
|
28
|
+
### Изменено
|
|
29
|
+
|
|
30
|
+
- Эффективный base для маршрута при `useRoute({ section })` теперь `combineBases(globalBase, section)`; глобальный base больше не отбрасывается при заданном section.
|
|
31
|
+
- Формулировки в README и демо: единый термин **section** (убраны «префикс» и «локальный base» в тексте для пользователя).
|
|
32
|
+
|
|
33
|
+
## [1.0.0] - 2024-12-01
|
|
34
|
+
|
|
35
|
+
### Добавлено
|
|
36
|
+
|
|
37
|
+
- Первый релиз.
|
|
38
|
+
- Хук `useRoute(options?)`: `pathname`, `searchParams`, `navigate`, `replace`, `back`, `forward`, `canGoBack`, `canGoForward`, `state`, опционально `pattern` и параметры URL.
|
|
39
|
+
- `configureRouter(options)`: глобальные `base`, `logger`, `initialLocation` (SSR).
|
|
40
|
+
- Интеграция с Navigation API; запасной вариант для старых окружений.
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
**Минимум кода. Максимум SPA-навигации.**
|
|
4
4
|
|
|
5
|
-
Инфраструктурный хук для React
|
|
5
|
+
Инфраструктурный хук для React. **Требует Navigation API и URLPattern** — работает только в браузерах и средах, где они есть (см. таблицу версий). Для same-origin переходов в браузере дополнительно используется History API (без перезагрузки страницы). Без провайдеров, без контекста, без бизнес-логики.
|
|
6
6
|
|
|
7
7
|
**Сферы применения:**
|
|
8
8
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
[](https://bundlephobia.com/result?p=@budarin/use-route)
|
|
22
22
|
[](https://github.com/budarin/use-route)
|
|
23
23
|
|
|
24
|
-
**Живое демо:** запуск в браузере без
|
|
24
|
+
**Живое демо:** запуск в браузере без установки;.
|
|
25
25
|
|
|
26
26
|
- [Open in StackBlitz](https://stackblitz.com/github/budarin/use-route/tree/master/demo)
|
|
27
27
|
- [Open in CodeSandbox](https://codesandbox.io/p/sandbox/github/budarin/use-route/tree/master/demo)
|
|
@@ -30,7 +30,8 @@
|
|
|
30
30
|
|
|
31
31
|
- ✅ **Динамическое дерево** — маршрутизация в рантайме по pathname/params, без статичного route tree
|
|
32
32
|
- ✅ **Динамическая история** — при каждом `navigate`/`replace` выбирается `push` или `replace`
|
|
33
|
-
- ✅ **
|
|
33
|
+
- ✅ **History API** в браузере для same-origin — `pushState`/`replaceState`, подписка на `popstate`, `history.back()`/`forward()` — без перезагрузки страницы
|
|
34
|
+
- ✅ **Navigation API** для cross-origin и `go(n)` — `navigation.navigate()`, `traverseTo()`
|
|
34
35
|
- ✅ **URLPattern** для парсинга `:params` (только актуальные браузеры и Node.js)
|
|
35
36
|
- ✅ `useSyncExternalStore` — concurrent-safe, SSR-ready
|
|
36
37
|
- ✅ `canGoBack(n)`, `canGoForward(n)` — точная проверка по истории
|
|
@@ -42,7 +43,7 @@
|
|
|
42
43
|
|
|
43
44
|
## ⚠️ Когда не использовать
|
|
44
45
|
|
|
45
|
-
- **Нужна поддержка старых браузеров** — хук
|
|
46
|
+
- **Нужна поддержка старых браузеров** — хук требует Navigation API и URLPattern (см. таблицу версий). Для старых браузеров возьмите React Router, TanStack Router или роутер с полифиллами.
|
|
46
47
|
- **Нужны loaders или загрузка данных в роутере** — здесь загрузка данных не входит в зону ответственности; её делают use cases и сервисы. Если вы хотите loaders/данные «из коробки» в маршруте — подойдут React Router (loaders) или TanStack Router.
|
|
47
48
|
- **Нужно декларативное дерево маршрутов** — хук не предоставляет `<Route>` / `<Routes>`; что рендерить, вы решаете в коде по `pathname`/`params`. Если важна именно декларативная вложенная структура маршрутов — используйте один из перечисленных роутеров.
|
|
48
49
|
- **Нужны встроенные guards, redirects, lazy-роуты** — этого в пакете нет; реализуется в приложении поверх хука.
|
|
@@ -115,7 +116,7 @@ function App() {
|
|
|
115
116
|
matched?: boolean; // true/false при переданном pattern, иначе undefined
|
|
116
117
|
|
|
117
118
|
// Навигация
|
|
118
|
-
navigate: (to: string | URL, options?) => Promise<void>; //
|
|
119
|
+
navigate: (to: string | URL, options?) => Promise<void>; // same-origin в браузере — синхронно (History API); иначе — Navigation API
|
|
119
120
|
back: () => void;
|
|
120
121
|
forward: () => void;
|
|
121
122
|
go: (delta: number) => void;
|
|
@@ -144,7 +145,7 @@ function App() {
|
|
|
144
145
|
|
|
145
146
|
Многие разработчики ни разу не используют state при переходах — это нормально. State нужен только в узких сценариях. Ниже — когда его стоит добавлять, какое состояние можно передавать и какое нельзя, чтобы не было недопониманий.
|
|
146
147
|
|
|
147
|
-
**Что такое state и откуда он берётся.** State — это произвольные данные, которые вы передаёте в `navigate(to, { state })` или `replace(to, { state })`. Они сохраняются в записи
|
|
148
|
+
**Что такое state и откуда он берётся.** State — это произвольные данные, которые вы передаёте в `navigate(to, { state })` или `replace(to, { state })`. Они сохраняются в записи истории. В браузере при same-origin переходах используется History API — state доступен через `history.state`; при переходах через Navigation API (cross-origin и т.д.) — через `window.navigation.currentEntry.getState()`. **Важно:** state появляется только при программном переходе (ваш вызов navigate/replace). Если пользователь попал на тот же URL извне — ввёл адрес в строке, перешёл по букмарку, по ссылке с другого сайта, обновил страницу — для этой записи истории state нет. Поэтому поведение страницы не должно от state критически зависеть.
|
|
148
149
|
|
|
149
150
|
**Когда нужно добавлять state в историю.** Добавляйте state только когда вы хотите передать «подсказку» для целевой страницы, которая улучшает UX при программном переходе, но не обязательна для корректной работы:
|
|
150
151
|
|
|
@@ -570,16 +571,20 @@ import 'urlpattern-polyfill';
|
|
|
570
571
|
|
|
571
572
|
## 🌐 Браузеры и Node.js
|
|
572
573
|
|
|
574
|
+
Пакет **работает только** там, где есть **Navigation API** и **URLPattern**. Ограничивающие требования — версии ниже; без них хук не запустится.
|
|
575
|
+
|
|
573
576
|
| API | Chrome/Edge | Firefox | Safari | Node.js |
|
|
574
577
|
| -------------- | ----------- | ------- | ------ | ------- |
|
|
575
578
|
| Navigation API | 102+ | 109+ | 16.4+ | — |
|
|
576
579
|
| URLPattern | 110+ | 115+ | 16.4+ | 23.8+ |
|
|
577
580
|
|
|
578
|
-
|
|
581
|
+
В браузере для same-origin переходов дополнительно используется History API (pushState/replaceState, popstate — без перезагрузки). Fallback на среды без Navigation API или URLPattern нет.
|
|
579
582
|
|
|
580
583
|
## 🎛 Под капотом
|
|
581
584
|
|
|
582
|
-
-
|
|
585
|
+
- **Браузер, same-origin:** переходы через `history.pushState`/`replaceState`, подписка на `popstate`; снимок pathname/searchParams из `window.location`
|
|
586
|
+
- **Браузер, cross-origin и go(n):** Navigation API (`navigate`, `traverseTo`); подписка на события `navigate`, `currententrychange`
|
|
587
|
+
- `useSyncExternalStore` на оба источника (popstate + navigation события)
|
|
583
588
|
- LRU кэш parsed URL (настраиваемый лимит)
|
|
584
589
|
- Map для O(1) поиска `historyIndex`
|
|
585
590
|
- URLPattern для `:params`
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
require_react
|
|
4
4
|
} from "./chunk-DBBEQ5LR.js";
|
|
5
5
|
|
|
6
|
-
// ../node_modules/.pnpm/@budarin+use-route@1.
|
|
6
|
+
// ../node_modules/.pnpm/@budarin+use-route@1.1.1/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.
|
|
20
|
+
// ../node_modules/.pnpm/@budarin+use-route@1.1.1/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) {
|
|
@@ -43,6 +43,15 @@ function pathnameWithoutBase(pathname, base) {
|
|
|
43
43
|
}
|
|
44
44
|
return pathname;
|
|
45
45
|
}
|
|
46
|
+
function combineBases(globalBase, section) {
|
|
47
|
+
const g = globalBase && globalBase !== "/" ? globalBase.replace(/\/$/, "") : "";
|
|
48
|
+
if (section === void 0)
|
|
49
|
+
return g || void 0;
|
|
50
|
+
if (section === "" || section === "/")
|
|
51
|
+
return g || void 0;
|
|
52
|
+
const s = section.startsWith("/") ? section : "/" + section;
|
|
53
|
+
return g ? g + s : s;
|
|
54
|
+
}
|
|
46
55
|
var URL_CACHE = /* @__PURE__ */ new Map();
|
|
47
56
|
function getCachedParsedUrl(urlStr) {
|
|
48
57
|
const cache = URL_CACHE;
|
|
@@ -203,7 +212,7 @@ function useRoute(patternOrOptions, optionsParam) {
|
|
|
203
212
|
const navigation = getNavigation();
|
|
204
213
|
const rawState = (0, import_react.useSyncExternalStore)(subscribeToNavigation, getNavigationSnapshot, () => DEFAULT_SNAPSHOT);
|
|
205
214
|
const keyToIndexMap = getKeyToIndexMap(rawState.entriesKeys);
|
|
206
|
-
const effectiveBase = (options == null ? void 0 : options.
|
|
215
|
+
const effectiveBase = combineBases(getRouterConfig().base, options == null ? void 0 : options.section);
|
|
207
216
|
const routerState = (0, import_react.useMemo)(() => {
|
|
208
217
|
const { urlStr, pathname: rawPathname, searchParams } = rawState;
|
|
209
218
|
const pathname = pathnameWithoutBase(rawPathname, effectiveBase);
|
|
@@ -242,7 +251,14 @@ function useRoute(patternOrOptions, optionsParam) {
|
|
|
242
251
|
]);
|
|
243
252
|
const navigate = (0, import_react.useCallback)(async (to, navOptions = {}) => {
|
|
244
253
|
let targetUrl = typeof to === "string" ? to : to.toString();
|
|
245
|
-
|
|
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
|
+
}
|
|
246
262
|
if (baseForCall && baseForCall !== "/" && typeof to === "string" && to.startsWith("/") && !to.startsWith("//") && !to.includes(":")) {
|
|
247
263
|
targetUrl = baseForCall + (to === "/" ? "" : to);
|
|
248
264
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../node_modules/.pnpm/@budarin+use-route@1.
|
|
3
|
+
"sources": ["../../../../node_modules/.pnpm/@budarin+use-route@1.1.1/node_modules/@budarin/use-route/src/types.ts", "../../../../node_modules/.pnpm/@budarin+use-route@1.1.1/node_modules/@budarin/use-route/src/index.ts"],
|
|
4
4
|
"sourcesContent": [null, null],
|
|
5
|
-
"mappings": ";;;;;;
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["options"]
|
|
7
7
|
}
|
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
{
|
|
2
|
-
"hash": "
|
|
2
|
+
"hash": "6bb3da91",
|
|
3
3
|
"configHash": "78b6e680",
|
|
4
|
-
"lockfileHash": "
|
|
5
|
-
"browserHash": "
|
|
4
|
+
"lockfileHash": "643b661a",
|
|
5
|
+
"browserHash": "e75c5bbc",
|
|
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": "
|
|
10
|
+
"fileHash": "677383fd",
|
|
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": "
|
|
16
|
+
"fileHash": "4348920c",
|
|
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": "
|
|
22
|
+
"fileHash": "fdfb3747",
|
|
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": "
|
|
28
|
+
"fileHash": "5fa176d9",
|
|
29
29
|
"needsInterop": true
|
|
30
30
|
},
|
|
31
31
|
"@budarin/use-route": {
|
|
32
|
-
"src": "../../../../node_modules/.pnpm/@budarin+use-route@1.
|
|
32
|
+
"src": "../../../../node_modules/.pnpm/@budarin+use-route@1.1.1/node_modules/@budarin/use-route/dist/index.js",
|
|
33
33
|
"file": "@budarin_use-route.js",
|
|
34
|
-
"fileHash": "
|
|
34
|
+
"fileHash": "dcd2e439",
|
|
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": "
|
|
40
|
+
"fileHash": "6f97547e",
|
|
41
41
|
"needsInterop": true
|
|
42
42
|
}
|
|
43
43
|
},
|
package/demo/package.json
CHANGED
package/demo/src/App.tsx
CHANGED
|
@@ -11,7 +11,7 @@ import { BaseDemo } from './pages/BaseDemo';
|
|
|
11
11
|
|
|
12
12
|
function Nav() {
|
|
13
13
|
const { pathname, searchParams, back, forward, canGoBack, canGoForward } = useRoute();
|
|
14
|
-
const
|
|
14
|
+
const section = pathname.startsWith('/base-demo') ? '/base-demo' : '';
|
|
15
15
|
const urlPath = pathname + (searchParams.toString() ? '?' + searchParams.toString() : '');
|
|
16
16
|
|
|
17
17
|
return (
|
|
@@ -33,54 +33,56 @@ function Nav() {
|
|
|
33
33
|
</button>
|
|
34
34
|
<span style={{ width: '0.5rem' }} />
|
|
35
35
|
<Link
|
|
36
|
-
to={
|
|
37
|
-
className={pathname === (
|
|
36
|
+
to={section || '/'}
|
|
37
|
+
className={pathname === (section || '/') ? 'active' : ''}
|
|
38
38
|
title="Главная страница демо"
|
|
39
39
|
>
|
|
40
40
|
Главная
|
|
41
41
|
</Link>
|
|
42
42
|
<Link
|
|
43
|
-
to={(
|
|
44
|
-
className={pathname === (
|
|
43
|
+
to={(section || '') + '/users'}
|
|
44
|
+
className={pathname === (section || '') + '/users' ? 'active' : ''}
|
|
45
45
|
title="Параметры в URL: /users/123"
|
|
46
46
|
>
|
|
47
47
|
Пользователи
|
|
48
48
|
</Link>
|
|
49
49
|
<Link
|
|
50
|
-
to={(
|
|
51
|
-
className={pathname.startsWith((
|
|
50
|
+
to={(section || '') + '/posts'}
|
|
51
|
+
className={pathname.startsWith((section || '') + '/posts') ? 'active' : ''}
|
|
52
52
|
title="Параметры в строке запроса: ?page=2"
|
|
53
53
|
>
|
|
54
54
|
Посты
|
|
55
55
|
</Link>
|
|
56
56
|
<Link
|
|
57
|
-
to={(
|
|
58
|
-
className={pathname === (
|
|
57
|
+
to={(section || '') + '/history'}
|
|
58
|
+
className={pathname === (section || '') + '/history' ? 'active' : ''}
|
|
59
59
|
title="Назад / Вперёд по истории"
|
|
60
60
|
>
|
|
61
61
|
История
|
|
62
62
|
</Link>
|
|
63
63
|
<Link
|
|
64
|
-
to={(
|
|
65
|
-
className={
|
|
64
|
+
to={(section || '') + '/push-replace'}
|
|
65
|
+
className={
|
|
66
|
+
pathname.startsWith((section || '') + '/push-replace') ? 'active' : ''
|
|
67
|
+
}
|
|
66
68
|
title="Добавить или заменить запись в истории"
|
|
67
69
|
>
|
|
68
70
|
Push/Replace
|
|
69
71
|
</Link>
|
|
70
72
|
<Link
|
|
71
|
-
to={(
|
|
72
|
-
className={pathname.startsWith((
|
|
73
|
+
to={(section || '') + '/products/books/1'}
|
|
74
|
+
className={pathname.startsWith((section || '') + '/products') ? 'active' : ''}
|
|
73
75
|
title="Свой разбор пути (PathMatcher)"
|
|
74
76
|
>
|
|
75
77
|
Товары
|
|
76
78
|
</Link>
|
|
77
|
-
{!
|
|
79
|
+
{!section ? (
|
|
78
80
|
<Link
|
|
79
81
|
to="/base-demo"
|
|
80
82
|
className={pathname.startsWith('/base-demo') ? 'active' : ''}
|
|
81
|
-
title="Раздел
|
|
83
|
+
title="Раздел (section) в URL"
|
|
82
84
|
>
|
|
83
|
-
Раздел (
|
|
85
|
+
Раздел (section)
|
|
84
86
|
</Link>
|
|
85
87
|
) : (
|
|
86
88
|
<Link to="/">Выйти из раздела</Link>
|
|
@@ -8,18 +8,18 @@ export function BaseDemo() {
|
|
|
8
8
|
|
|
9
9
|
return (
|
|
10
10
|
<div className="demo-content">
|
|
11
|
-
<h1>Раздел
|
|
11
|
+
<h1>Раздел (section)</h1>
|
|
12
12
|
<p className="demo-lead">
|
|
13
13
|
Когда приложение живёт не в корне сайта, а в подпапке (например <code>/app/</code>),
|
|
14
14
|
можно задать <code>section: '/base-demo'</code>. Тогда внутри раздела{' '}
|
|
15
15
|
<code>pathname</code>
|
|
16
|
-
приходит без
|
|
16
|
+
приходит без пути раздела (section), а <code>navigate('/page1')</code> ведёт на{' '}
|
|
17
17
|
<code>/base-demo/page1</code>. Так удобно писать пути «относительно раздела». Ниже —
|
|
18
18
|
кнопки перехода внутри раздела и выход на главную.
|
|
19
19
|
</p>
|
|
20
20
|
<p>
|
|
21
21
|
Сейчас pathname внутри раздела: <code>{pathname || '/'}</code> (в полном адресе к
|
|
22
|
-
нему добавлен
|
|
22
|
+
нему добавлен section <code>/base-demo</code>).
|
|
23
23
|
</p>
|
|
24
24
|
<h2>Действия</h2>
|
|
25
25
|
<div className="demo-buttons">
|
|
@@ -37,7 +37,7 @@ export function BaseDemo() {
|
|
|
37
37
|
Вне приложения → /login (base: '')
|
|
38
38
|
</button>
|
|
39
39
|
<button type="button" onClick={() => navigate('/profile', { base: '/base-demo' })}>
|
|
40
|
-
С
|
|
40
|
+
С опцией base → /base-demo/profile (base: '/base-demo')
|
|
41
41
|
</button>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
package/demo/src/pages/Home.tsx
CHANGED
|
@@ -31,7 +31,7 @@ export function Home() {
|
|
|
31
31
|
Push и Replace — как добавлять или заменять запись в истории
|
|
32
32
|
</button>
|
|
33
33
|
<Link to="/products/books/1">Товары — свой разбор пути (PathMatcher)</Link>
|
|
34
|
-
<Link to="/base-demo">Раздел
|
|
34
|
+
<Link to="/base-demo">Раздел (section)</Link>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
37
|
);
|
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;AA0QjB,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;AAED,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"}
|
package/dist/index.js
CHANGED
|
@@ -108,6 +108,13 @@ function computeNavigationSnapshot(nav) {
|
|
|
108
108
|
let sharedSnapshot = null;
|
|
109
109
|
const storeCallbacks = new Set();
|
|
110
110
|
let unsubscribeNavigation = null;
|
|
111
|
+
let unsubscribePopstate = null;
|
|
112
|
+
function invalidateSnapshotAndNotify() {
|
|
113
|
+
sharedSnapshot = null;
|
|
114
|
+
noNavSnapshot = null;
|
|
115
|
+
noNavSnapshotUrl = null;
|
|
116
|
+
storeCallbacks.forEach((cb) => cb());
|
|
117
|
+
}
|
|
111
118
|
function subscribeToNavigation(callback) {
|
|
112
119
|
storeCallbacks.add(callback);
|
|
113
120
|
if (storeCallbacks.size === 1) {
|
|
@@ -124,6 +131,13 @@ function subscribeToNavigation(callback) {
|
|
|
124
131
|
nav.removeEventListener('currententrychange', listener);
|
|
125
132
|
};
|
|
126
133
|
}
|
|
134
|
+
if (isBrowser && typeof window.addEventListener === 'function') {
|
|
135
|
+
const popListener = () => invalidateSnapshotAndNotify();
|
|
136
|
+
window.addEventListener('popstate', popListener);
|
|
137
|
+
unsubscribePopstate = () => {
|
|
138
|
+
window.removeEventListener('popstate', popListener);
|
|
139
|
+
};
|
|
140
|
+
}
|
|
127
141
|
}
|
|
128
142
|
return () => {
|
|
129
143
|
storeCallbacks.delete(callback);
|
|
@@ -132,6 +146,10 @@ function subscribeToNavigation(callback) {
|
|
|
132
146
|
unsubscribeNavigation();
|
|
133
147
|
unsubscribeNavigation = null;
|
|
134
148
|
}
|
|
149
|
+
if (unsubscribePopstate) {
|
|
150
|
+
unsubscribePopstate();
|
|
151
|
+
unsubscribePopstate = null;
|
|
152
|
+
}
|
|
135
153
|
sharedSnapshot = null;
|
|
136
154
|
noNavSnapshot = null;
|
|
137
155
|
noNavSnapshotUrl = null;
|
|
@@ -143,13 +161,32 @@ let noNavSnapshotUrl = null;
|
|
|
143
161
|
function getNavigationSnapshot() {
|
|
144
162
|
if (sharedSnapshot !== null)
|
|
145
163
|
return sharedSnapshot;
|
|
164
|
+
// В браузере pathname/searchParams всегда из location — чтобы после pushState снимок был актуальным
|
|
165
|
+
if (isBrowser) {
|
|
166
|
+
const urlStr = window.location.href;
|
|
167
|
+
const parsed = getCachedParsedUrl(urlStr);
|
|
168
|
+
const nav = getNavigation();
|
|
169
|
+
sharedSnapshot = nav
|
|
170
|
+
? {
|
|
171
|
+
...computeNavigationSnapshot(nav),
|
|
172
|
+
urlStr,
|
|
173
|
+
pathname: parsed.pathname,
|
|
174
|
+
searchParams: parsed.searchParams,
|
|
175
|
+
}
|
|
176
|
+
: {
|
|
177
|
+
...DEFAULT_SNAPSHOT,
|
|
178
|
+
urlStr,
|
|
179
|
+
pathname: parsed.pathname,
|
|
180
|
+
searchParams: parsed.searchParams,
|
|
181
|
+
};
|
|
182
|
+
return sharedSnapshot;
|
|
183
|
+
}
|
|
146
184
|
const nav = getNavigation();
|
|
147
185
|
if (nav) {
|
|
148
186
|
sharedSnapshot = computeNavigationSnapshot(nav);
|
|
149
187
|
return sharedSnapshot;
|
|
150
188
|
}
|
|
151
|
-
|
|
152
|
-
const urlStr = isBrowser ? window.location.href : (getRouterConfig().initialLocation ?? '/');
|
|
189
|
+
const urlStr = getRouterConfig().initialLocation ?? '/';
|
|
153
190
|
if (noNavSnapshot !== null && noNavSnapshotUrl === urlStr)
|
|
154
191
|
return noNavSnapshot;
|
|
155
192
|
const parsed = getCachedParsedUrl(urlStr);
|
|
@@ -204,7 +241,7 @@ export function clearRouterCaches() {
|
|
|
204
241
|
noNavSnapshotUrl = null;
|
|
205
242
|
}
|
|
206
243
|
/**
|
|
207
|
-
* Хук состояния маршрута и навигации (Navigation API + URLPattern).
|
|
244
|
+
* Хук состояния маршрута и навигации (History API same-origin + Navigation API + URLPattern).
|
|
208
245
|
* useRoute({ section: '/dashboard' }) — options only, no pattern.
|
|
209
246
|
* useRoute('/users/:id') or useRoute('/users/:id', { section: '/dashboard' }).
|
|
210
247
|
*/
|
|
@@ -290,6 +327,33 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
290
327
|
getLogger().warn('[useRoute] Invalid URL rejected:', targetUrl);
|
|
291
328
|
return;
|
|
292
329
|
}
|
|
330
|
+
// Same-document переход через History API — без перезагрузки страницы
|
|
331
|
+
if (isBrowser && typeof window.history !== 'undefined') {
|
|
332
|
+
const origin = window.location.origin;
|
|
333
|
+
const fullUrl = targetUrl.startsWith('http://') || targetUrl.startsWith('https://')
|
|
334
|
+
? targetUrl
|
|
335
|
+
: origin + (targetUrl.startsWith('/') ? targetUrl : '/' + targetUrl);
|
|
336
|
+
try {
|
|
337
|
+
const urlParsed = new URL(fullUrl);
|
|
338
|
+
if (urlParsed.origin === origin) {
|
|
339
|
+
const useReplace = navOptions.history === 'replace' ||
|
|
340
|
+
(navOptions.history !== 'push' &&
|
|
341
|
+
getRouterConfig().defaultHistory === 'replace');
|
|
342
|
+
const state = navOptions.state ?? null;
|
|
343
|
+
if (useReplace) {
|
|
344
|
+
window.history.replaceState(state, '', fullUrl);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
window.history.pushState(state, '', fullUrl);
|
|
348
|
+
}
|
|
349
|
+
invalidateSnapshotAndNotify();
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
catch {
|
|
354
|
+
// не тот формат URL — fallback к Navigation API
|
|
355
|
+
}
|
|
356
|
+
}
|
|
293
357
|
if (!navigation) {
|
|
294
358
|
return;
|
|
295
359
|
}
|
|
@@ -307,8 +371,12 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
307
371
|
}, [navigation, effectiveBase]);
|
|
308
372
|
const back = useCallback(() => {
|
|
309
373
|
try {
|
|
310
|
-
if (
|
|
374
|
+
if (isBrowser && typeof window.history !== 'undefined') {
|
|
375
|
+
window.history.back();
|
|
376
|
+
}
|
|
377
|
+
else if (navigation) {
|
|
311
378
|
navigation.back();
|
|
379
|
+
}
|
|
312
380
|
}
|
|
313
381
|
catch (error) {
|
|
314
382
|
getLogger().error('[useRoute] Back navigation error:', error);
|
|
@@ -316,8 +384,12 @@ export function useRoute(patternOrOptions, optionsParam) {
|
|
|
316
384
|
}, [navigation]);
|
|
317
385
|
const forward = useCallback(() => {
|
|
318
386
|
try {
|
|
319
|
-
if (
|
|
387
|
+
if (isBrowser && typeof window.history !== 'undefined') {
|
|
388
|
+
window.history.forward();
|
|
389
|
+
}
|
|
390
|
+
else if (navigation) {
|
|
320
391
|
navigation.forward();
|
|
392
|
+
}
|
|
321
393
|
}
|
|
322
394
|
catch (error) {
|
|
323
395
|
getLogger().error('[useRoute] Forward navigation error:', error);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEnE,6CAA6C;AAC7C,MAAM,SAAS,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;AAEhD,yEAAyE;AACzE,SAAS,UAAU,CAAC,GAAc;IAC9B,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAElD,oCAAoC;IACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3D,0DAA0D;IAC1D,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,8DAA8D;AAC9D,SAAS,WAAW,CAAC,QAAoB,EAAE,QAAkB;IACzD,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,+EAA+E;AAC/E,SAAS,mBAAmB,CAAC,QAAkB,EAAE,IAAwB;IACrE,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG;QAAE,OAAO,QAAQ,CAAC;IAC3C,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACvD,OAAO,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,kGAAkG;AAClG,SAAS,YAAY,CACjB,UAA8B,EAC9B,OAA2B;IAE3B,MAAM,CAAC,GAAG,UAAU,IAAI,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,SAAS,CAAC;IACjD,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,CAAC,IAAI,SAAS,CAAC;IAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;IAC5D,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC;AAED,yFAAyF;AACzF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE5C;;GAEG;AACH,SAAS,kBAAkB,CAAC,MAAiB;IACzC,MAAM,KAAK,GAAG,SAAS,CAAC;IACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5B,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACrE,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,aAAa,CAAC;QAC9C,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,SAAS,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC;YACD,OAAO,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;AACL,CAAC;AAcD,MAAM,gBAAgB,GAAuB;IACzC,UAAU,EAAE,EAAE;IACd,aAAa,EAAE,KAAK;IACpB,gBAAgB,EAAE,KAAK;IACvB,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,YAAY,EAAE,IAAI,eAAe,EAAE;CACtC,CAAC;AAEF,SAAS,aAAa;IAClB,OAAO,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM;QAC1D,CAAC,CAAE,MAAM,CAAC,UAAyB;QACnC,CAAC,CAAC,SAAS,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAAC,GAA2B;IAC1D,IAAI,CAAC,GAAG;QAAE,OAAO,gBAAgB,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,OAAO;QACH,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,IAAI,EAAE;QACvC,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;QAC9B,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;QACpC,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;QAClD,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC;AACN,CAAC;AAED,IAAI,cAAc,GAA8B,IAAI,CAAC;AACrD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAc,CAAC;AAC7C,IAAI,qBAAqB,GAAwB,IAAI,CAAC;AAEtD,SAAS,qBAAqB,CAAC,QAAoB;IAC/C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;QAC5B,IAAI,GAAG,EAAE,CAAC;YACN,MAAM,QAAQ,GAAG,GAAG,EAAE;gBAClB,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;gBAChD,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC;YACF,GAAG,CAAC,gBAAgB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC3C,GAAG,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YACrD,qBAAqB,GAAG,GAAG,EAAE;gBACzB,GAAG,CAAC,mBAAmB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC9C,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;YAC5D,CAAC,CAAC;QACN,CAAC;IACL,CAAC;IACD,OAAO,GAAG,EAAE;QACR,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,qBAAqB,EAAE,CAAC;gBACxB,qBAAqB,EAAE,CAAC;gBACxB,qBAAqB,GAAG,IAAI,CAAC;YACjC,CAAC;YACD,cAAc,GAAG,IAAI,CAAC;YACtB,aAAa,GAAG,IAAI,CAAC;YACrB,gBAAgB,GAAG,IAAI,CAAC;QAC5B,CAAC;IACL,CAAC,CAAC;AACN,CAAC;AAED,IAAI,aAAa,GAA8B,IAAI,CAAC;AACpD,IAAI,gBAAgB,GAAqB,IAAI,CAAC;AAE9C,SAAS,qBAAqB;IAC1B,IAAI,cAAc,KAAK,IAAI;QAAE,OAAO,cAAc,CAAC;IACnD,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,GAAG,EAAE,CAAC;QACN,cAAc,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,cAAc,CAAC;IAC1B,CAAC;IACD,oHAAoH;IACpH,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,eAAe,IAAI,GAAG,CAAC,CAAC;IAC7F,IAAI,aAAa,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM;QAAE,OAAO,aAAa,CAAC;IAChF,MAAM,MAAM,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,gBAAgB,GAAG,MAAM,CAAC;IAC1B,aAAa,GAAG;QACZ,GAAG,gBAAgB;QACnB,MAAM;QACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;KACpC,CAAC;IACF,OAAO,aAAa,CAAC;AACzB,CAAC;AAED,qEAAqE;AACrE,IAAI,kBAAkB,GAAgC,IAAI,CAAC;AAC3D,IAAI,iBAAiB,GAAiD,IAAI,CAAC;AAE3E,SAAS,gBAAgB,CACrB,WAAiC;IAEjC,IAAI,WAAW,KAAK,kBAAkB,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;QACnE,OAAO,iBAAiB,CAAC;IAC7B,CAAC;IACD,kBAAkB,GAAG,WAAW,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAoC,CAAC;IACxD,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IACzD,iBAAiB,GAAG,GAAG,CAAC;IACxB,OAAO,GAAG,CAAC;AACf,CAAC;AAED,kCAAkC;AAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;AAEzD,SAAS,kBAAkB,CAAC,OAAoB;IAC5C,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,uGAAuG;AACvG,gFAAgF;AAChF,SAAS,uBAAuB,CAAC,QAAoB,EAAE,QAAkB;IACrE,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAgB,CAAC;IAC7D,OAAO,MAAM,CAAC,WAAW,CACrB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAChD,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,OAAO,EACH,eAAe,GAWlB,MAAM,SAAS,CAAC;AAEjB,0EAA0E;AAC1E,MAAM,UAAU,iBAAiB;IAC7B,aAAa,CAAC,KAAK,EAAE,CAAC;IACtB,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,kBAAkB,GAAG,IAAI,CAAC;IAC1B,iBAAiB,GAAG,IAAI,CAAC;IACzB,aAAa,GAAG,IAAI,CAAC;IACrB,gBAAgB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAWD;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CACpB,gBAAsC,EACtC,YAA8B;IAE9B,IAAI,OAAsB,CAAC;IAC3B,IAAI,OAAoC,CAAC;IACzC,IACI,SAAS,CAAC,MAAM,KAAK,CAAC;QACtB,OAAO,gBAAgB,KAAK,QAAQ;QACpC,gBAAgB,KAAK,IAAI;QACzB,OAAO,gBAAgB,KAAK,UAAU,EACxC,CAAC;QACC,OAAO,GAAG,gBAAmC,CAAC;QAC9C,OAAO,GAAG,SAAyB,CAAC;IACxC,CAAC;SAAM,CAAC;QACJ,OAAO,GAAG,gBAAiC,CAAC;QAC5C,OAAO,GAAG,YAAY,CAAC;IAC3B,CAAC;IAED,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,oBAAoB,CACjC,qBAAqB,EACrB,qBAAqB,EACrB,GAAG,EAAE,CAAC,gBAAgB,CACzB,CAAC;IACF,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAE7E,2GAA2G;IAC3G,MAAM,WAAW,GAEb,OAAO,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QACjE,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAEjE,IAAI,OAA4B,CAAC;QACjC,IAAI,MAAM,GAAgB,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;gBACzB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAC7C,MAAM,cAAc,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBACvD,OAAO,GAAG,cAAc,CAAC;gBACzB,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/E,CAAC;QACL,CAAC;QACD,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAElE,OAAO;YACH,QAAQ,EAAE,MAAM;YAChB,QAAQ;YACR,YAAY;YACZ,MAAM;YACN,YAAY;YACZ,OAAO;YACP,YAAY,EAAE,QAAQ,CAAC,WAAW;SACrC,CAAC;IACN,CAAC,EAAE;QACC,QAAQ,CAAC,UAAU;QACnB,QAAQ,CAAC,WAAW;QACpB,QAAQ,CAAC,MAAM;QACf,QAAQ,CAAC,QAAQ;QACjB,QAAQ,CAAC,YAAY;QACrB,OAAO;QACP,aAAa;KAChB,CAAC,CAAC;IAEH,8FAA8F;IAC9F,MAAM,QAAQ,GAAG,WAAW,CACxB,KAAK,EAAE,EAAgB,EAAE,aAA8B,EAAE,EAAiB,EAAE;QACxE,IAAI,SAAS,GAAG,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,IAAI,WAA+B,CAAC;QACpC,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,WAAW;gBACP,UAAU,CAAC,IAAI,KAAK,EAAE,IAAI,UAAU,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QACxF,CAAC;aAAM,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1C,WAAW,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,WAAW,GAAG,aAAa,CAAC;QAChC,CAAC;QACD,IACI,WAAW;YACX,WAAW,KAAK,GAAG;YACnB,OAAO,EAAE,KAAK,QAAQ;YACtB,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAClB,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;YACpB,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EACnB,CAAC;YACC,SAAS,GAAG,WAAW,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACzB,SAAS,EAAE,CAAC,IAAI,CAAC,kCAAkC,EAAE,SAAS,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,eAAe,EAAE,CAAC,cAAc,IAAI,MAAM,CAAC;QAClE,MAAM,cAAc,GAA8B;YAC9C,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,OAAO,EAAE,UAAU,CAAC,OAAO,IAAI,cAAc;SAChD,CAAC;QAEF,IAAI,CAAC;YACD,MAAM,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QAC7D,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,CAAC,CAC9B,CAAC;IAEF,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC1B,IAAI,CAAC;YACD,IAAI,UAAU;gBAAE,UAAU,CAAC,IAAI,EAAE,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAClE,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC;YACD,IAAI,UAAU;gBAAE,UAAU,CAAC,OAAO,EAAE,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,SAAS,GAAG,WAAW,CACzB,CAAC,QAAgB,CAAC,EAAW,EAAE;QAC3B,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,YAAY,CAAC;QACrC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAC1E,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC5B,CAAC,QAAgB,CAAC,EAAW,EAAE;QAC3B,2BAA2B;QAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1E,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,GAAG,GAAG,WAAW,CAAC,YAAY,CAAC;QACrC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7B,OAAO,GAAG,GAAG,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC;IACzD,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAC1E,CAAC;IAEF,MAAM,EAAE,GAAG,WAAW,CAClB,CAAC,KAAa,EAAQ,EAAE;QACpB,2BAA2B;QAC3B,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC5C,SAAS,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO;QACnD,IAAI,KAAK,GAAG,MAAM,CAAC,gBAAgB,IAAI,KAAK,GAAG,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACtE,SAAS,EAAE,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC7D,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,IAAI,UAAU,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpD,MAAM,GAAG,GAAG,WAAW,CAAC,YAAY,CAAC;gBACrC,IAAI,GAAG,KAAK,CAAC,CAAC;oBAAE,OAAO;gBACvB,MAAM,SAAS,GAAG,GAAG,GAAG,KAAK,CAAC;gBAC9B,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;oBAChE,OAAO;gBACX,CAAC;gBACD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;gBACtD,IAAI,SAAS,KAAK,SAAS;oBAAE,OAAO;gBACpC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,SAAS,EAAE,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;IACL,CAAC,EACD,CAAC,UAAU,EAAE,WAAW,CAAC,YAAY,EAAE,WAAW,CAAC,YAAY,CAAC,CACnE,CAAC;IAEF,MAAM,OAAO,GAAG,WAAW,CACvB,CAAC,EAAgB,EAAE,OAAyB,EAAE,EAAE,CAC5C,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EACpD,CAAC,QAAQ,CAAC,CACb,CAAC;IAEF,OAAO,OAAO,CACV,GAAG,EAAE,CACD,CAAC;QACG,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,EAAE;QACF,OAAO;QACP,SAAS;QACT,YAAY;QACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,OAAO,EAAE,WAAW,CAAC,OAAO;KAC/B,CAAsB,EAC3B;QACI,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,EAAE;QACF,OAAO;QACP,SAAS;QACT,YAAY;QACZ,WAAW,CAAC,QAAQ;QACpB,WAAW,CAAC,QAAQ;QACpB,WAAW,CAAC,YAAY;QACxB,WAAW,CAAC,MAAM;QAClB,WAAW,CAAC,YAAY;QACxB,WAAW,CAAC,OAAO;KACtB,CACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/.github/workflows/ci.yml
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
name: CI
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
push:
|
|
5
|
-
branches: [master]
|
|
6
|
-
paths:
|
|
7
|
-
- 'src/**'
|
|
8
|
-
- 'tests/**'
|
|
9
|
-
- 'package.json'
|
|
10
|
-
- 'pnpm-lock.yaml'
|
|
11
|
-
- 'tsconfig.json'
|
|
12
|
-
- 'vitest.config.ts'
|
|
13
|
-
- '.prettierrc'
|
|
14
|
-
- '.prettierignore'
|
|
15
|
-
- '.github/workflows/**'
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
check:
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
steps:
|
|
21
|
-
- uses: actions/checkout@v4
|
|
22
|
-
|
|
23
|
-
- uses: pnpm/action-setup@v4
|
|
24
|
-
with:
|
|
25
|
-
version: 9
|
|
26
|
-
|
|
27
|
-
- uses: actions/setup-node@v4
|
|
28
|
-
with:
|
|
29
|
-
node-version: '20'
|
|
30
|
-
cache: 'pnpm'
|
|
31
|
-
|
|
32
|
-
- name: Установка зависимостей
|
|
33
|
-
run: pnpm install --frozen-lockfile
|
|
34
|
-
|
|
35
|
-
- name: Lint
|
|
36
|
-
run: pnpm lint
|
|
37
|
-
|
|
38
|
-
- name: Type-check
|
|
39
|
-
run: pnpm type-check
|
|
40
|
-
|
|
41
|
-
- name: Тесты
|
|
42
|
-
run: pnpm test:run
|
|
43
|
-
|
|
44
|
-
- name: Сборка
|
|
45
|
-
run: pnpm build
|