mobx-route 0.14.2 → 0.16.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.
Files changed (203) hide show
  1. package/README.md +5 -7
  2. package/dist/core/config/config.cjs +43 -0
  3. package/dist/core/config/config.d.cts +7 -0
  4. package/dist/core/config/config.d.cts.map +1 -0
  5. package/{core → dist/core}/config/config.d.ts +1 -1
  6. package/{core → dist/core}/config/config.d.ts.map +1 -1
  7. package/dist/core/config/config.types.cjs +2 -0
  8. package/dist/core/config/config.types.d.cts +11 -0
  9. package/dist/core/config/config.types.d.cts.map +1 -0
  10. package/{core → dist/core}/config/config.types.d.ts +1 -1
  11. package/dist/core/config/config.types.d.ts.map +1 -0
  12. package/dist/core/config/index.cjs +18 -0
  13. package/dist/core/config/index.d.cts +3 -0
  14. package/dist/core/config/index.d.cts.map +1 -0
  15. package/dist/core/config/index.d.ts +3 -0
  16. package/dist/core/config/index.d.ts.map +1 -0
  17. package/dist/core/config/index.js +2 -0
  18. package/dist/core/index.cjs +21 -0
  19. package/dist/core/index.d.cts +6 -0
  20. package/dist/core/index.d.cts.map +1 -0
  21. package/dist/core/index.d.ts +6 -0
  22. package/dist/core/index.d.ts.map +1 -0
  23. package/dist/core/index.js +5 -0
  24. package/dist/core/route/index.cjs +18 -0
  25. package/dist/core/route/index.d.cts +3 -0
  26. package/dist/core/route/index.d.cts.map +1 -0
  27. package/dist/core/route/index.d.ts +3 -0
  28. package/dist/core/route/index.d.ts.map +1 -0
  29. package/dist/core/route/index.js +2 -0
  30. package/dist/core/route/route.cjs +296 -0
  31. package/dist/core/route/route.d.cts +107 -0
  32. package/dist/core/route/route.d.cts.map +1 -0
  33. package/{core → dist/core}/route/route.d.ts +1 -1
  34. package/dist/core/route/route.d.ts.map +1 -0
  35. package/{core → dist/core}/route/route.js +1 -1
  36. package/dist/core/route/route.types.cjs +2 -0
  37. package/dist/core/route/route.types.d.cts +142 -0
  38. package/dist/core/route/route.types.d.cts.map +1 -0
  39. package/{core → dist/core}/route/route.types.d.ts +4 -4
  40. package/dist/core/route/route.types.d.ts.map +1 -0
  41. package/dist/core/route-group/index.cjs +18 -0
  42. package/dist/core/route-group/index.d.cts +3 -0
  43. package/dist/core/route-group/index.d.cts.map +1 -0
  44. package/dist/core/route-group/index.d.ts +3 -0
  45. package/{core → dist/core}/route-group/index.d.ts.map +1 -1
  46. package/dist/core/route-group/index.js +2 -0
  47. package/dist/core/route-group/route-group.cjs +67 -0
  48. package/dist/core/route-group/route-group.d.cts +31 -0
  49. package/dist/core/route-group/route-group.d.cts.map +1 -0
  50. package/{core → dist/core}/route-group/route-group.d.ts +1 -1
  51. package/dist/core/route-group/route-group.d.ts.map +1 -0
  52. package/dist/core/route-group/route-group.types.cjs +2 -0
  53. package/dist/core/route-group/route-group.types.d.cts +15 -0
  54. package/dist/core/route-group/route-group.types.d.cts.map +1 -0
  55. package/{core → dist/core}/route-group/route-group.types.d.ts +3 -3
  56. package/dist/core/route-group/route-group.types.d.ts.map +1 -0
  57. package/dist/core/router/index.cjs +18 -0
  58. package/dist/core/router/index.d.cts +3 -0
  59. package/dist/core/router/index.d.cts.map +1 -0
  60. package/dist/core/router/index.d.ts +3 -0
  61. package/dist/core/router/index.d.ts.map +1 -0
  62. package/dist/core/router/index.js +2 -0
  63. package/dist/core/router/router.cjs +42 -0
  64. package/dist/core/router/router.d.cts +18 -0
  65. package/dist/core/router/router.d.cts.map +1 -0
  66. package/{core → dist/core}/router/router.d.ts +2 -2
  67. package/dist/core/router/router.d.ts.map +1 -0
  68. package/{core → dist/core}/router/router.js +1 -1
  69. package/dist/core/router/router.types.cjs +2 -0
  70. package/dist/core/router/router.types.d.cts +13 -0
  71. package/dist/core/router/router.types.d.cts.map +1 -0
  72. package/{core → dist/core}/router/router.types.d.ts +3 -3
  73. package/dist/core/router/router.types.d.ts.map +1 -0
  74. package/dist/core/utils/is-route-entity.cjs +5 -0
  75. package/dist/core/utils/is-route-entity.d.cts +3 -0
  76. package/dist/core/utils/is-route-entity.d.cts.map +1 -0
  77. package/dist/core/utils/is-route-entity.d.ts +3 -0
  78. package/{core → dist/core}/utils/is-route-entity.d.ts.map +1 -1
  79. package/dist/core/virtual-route/index.cjs +18 -0
  80. package/dist/core/virtual-route/index.d.cts +3 -0
  81. package/dist/core/virtual-route/index.d.cts.map +1 -0
  82. package/dist/core/virtual-route/index.d.ts +3 -0
  83. package/{core → dist/core}/virtual-route/index.d.ts.map +1 -1
  84. package/dist/core/virtual-route/index.js +2 -0
  85. package/dist/core/virtual-route/virtual-route.cjs +133 -0
  86. package/dist/core/virtual-route/virtual-route.d.cts +39 -0
  87. package/dist/core/virtual-route/virtual-route.d.cts.map +1 -0
  88. package/{core → dist/core}/virtual-route/virtual-route.d.ts +1 -1
  89. package/dist/core/virtual-route/virtual-route.d.ts.map +1 -0
  90. package/{core → dist/core}/virtual-route/virtual-route.js +1 -1
  91. package/dist/core/virtual-route/virtual-route.types.cjs +2 -0
  92. package/dist/core/virtual-route/virtual-route.types.d.cts +57 -0
  93. package/dist/core/virtual-route/virtual-route.types.d.cts.map +1 -0
  94. package/{core → dist/core}/virtual-route/virtual-route.types.d.ts +2 -2
  95. package/dist/core/virtual-route/virtual-route.types.d.ts.map +1 -0
  96. package/dist/index.cjs +18 -0
  97. package/dist/index.d.cts +3 -0
  98. package/dist/index.d.cts.map +1 -0
  99. package/dist/index.d.ts +3 -0
  100. package/{index.d.ts.map → dist/index.d.ts.map} +1 -1
  101. package/{index.js → dist/index.js} +1 -1
  102. package/dist/react/components/index.cjs +21 -0
  103. package/dist/react/components/index.d.cts +4 -0
  104. package/dist/react/components/index.d.cts.map +1 -0
  105. package/dist/react/components/index.d.ts +4 -0
  106. package/{react → dist/react}/components/index.d.ts.map +1 -1
  107. package/dist/react/components/index.js +5 -0
  108. package/dist/react/components/link.cjs +79 -0
  109. package/dist/react/components/link.d.cts +23 -0
  110. package/dist/react/components/link.d.cts.map +1 -0
  111. package/{react → dist/react}/components/link.d.ts +1 -1
  112. package/dist/react/components/link.d.ts.map +1 -0
  113. package/{react → dist/react}/components/link.js +2 -4
  114. package/dist/react/components/route-view-group.cjs +57 -0
  115. package/dist/react/components/route-view-group.d.cts +26 -0
  116. package/dist/react/components/route-view-group.d.cts.map +1 -0
  117. package/{react → dist/react}/components/route-view-group.d.ts +1 -1
  118. package/dist/react/components/route-view-group.d.ts.map +1 -0
  119. package/{react → dist/react}/components/route-view-group.js +3 -3
  120. package/dist/react/components/route-view.cjs +43 -0
  121. package/dist/react/components/route-view.d.cts +25 -0
  122. package/dist/react/components/route-view.d.cts.map +1 -0
  123. package/{react → dist/react}/components/route-view.d.ts +1 -1
  124. package/dist/react/components/route-view.d.ts.map +1 -0
  125. package/dist/react/index.cjs +17 -0
  126. package/dist/react/index.d.cts +2 -0
  127. package/dist/react/index.d.cts.map +1 -0
  128. package/dist/react/index.d.ts +2 -0
  129. package/dist/react/index.d.ts.map +1 -0
  130. package/dist/react/index.js +1 -0
  131. package/dist/view-model/index.cjs +17 -0
  132. package/dist/view-model/index.d.cts +2 -0
  133. package/dist/view-model/index.d.cts.map +1 -0
  134. package/dist/view-model/index.d.ts +2 -0
  135. package/dist/view-model/index.d.ts.map +1 -0
  136. package/dist/view-model/index.js +1 -0
  137. package/dist/view-model/route-view-model.cjs +37 -0
  138. package/dist/view-model/route-view-model.d.cts +13 -0
  139. package/dist/view-model/route-view-model.d.cts.map +1 -0
  140. package/{view-model → dist/view-model}/route-view-model.d.ts +1 -1
  141. package/dist/view-model/route-view-model.d.ts.map +1 -0
  142. package/{view-model → dist/view-model}/route-view-model.js +1 -1
  143. package/package.json +41 -132
  144. package/assets/logo.png +0 -0
  145. package/assets/logo.pxz +0 -0
  146. package/assets/new-logo.pxz +0 -0
  147. package/core/config/config.types.d.ts.map +0 -1
  148. package/core/config/index.d.ts +0 -3
  149. package/core/config/index.d.ts.map +0 -1
  150. package/core/config/index.js +0 -2
  151. package/core/index.d.ts +0 -6
  152. package/core/index.d.ts.map +0 -1
  153. package/core/index.js +0 -5
  154. package/core/route/index.d.ts +0 -3
  155. package/core/route/index.d.ts.map +0 -1
  156. package/core/route/index.js +0 -2
  157. package/core/route/route.d.ts.map +0 -1
  158. package/core/route/route.test.d.ts +0 -19
  159. package/core/route/route.test.d.ts.map +0 -1
  160. package/core/route/route.test.js +0 -250
  161. package/core/route/route.types.d.ts.map +0 -1
  162. package/core/route-group/index.d.ts +0 -3
  163. package/core/route-group/index.js +0 -2
  164. package/core/route-group/route-group.d.ts.map +0 -1
  165. package/core/route-group/route-group.types.d.ts.map +0 -1
  166. package/core/router/index.d.ts +0 -3
  167. package/core/router/index.d.ts.map +0 -1
  168. package/core/router/index.js +0 -2
  169. package/core/router/router.d.ts.map +0 -1
  170. package/core/router/router.types.d.ts.map +0 -1
  171. package/core/utils/build-url.d.ts +0 -3
  172. package/core/utils/build-url.d.ts.map +0 -1
  173. package/core/utils/build-url.js +0 -12
  174. package/core/utils/is-route-entity.d.ts +0 -3
  175. package/core/virtual-route/index.d.ts +0 -3
  176. package/core/virtual-route/index.js +0 -2
  177. package/core/virtual-route/virtual-route.d.ts.map +0 -1
  178. package/core/virtual-route/virtual-route.types.d.ts.map +0 -1
  179. package/index.d.ts +0 -3
  180. package/react/components/index.d.ts +0 -4
  181. package/react/components/index.js +0 -5
  182. package/react/components/link.d.ts.map +0 -1
  183. package/react/components/route-view-group.d.ts.map +0 -1
  184. package/react/components/route-view-group.test.d.ts +0 -2
  185. package/react/components/route-view-group.test.d.ts.map +0 -1
  186. package/react/components/route-view-group.test.js +0 -101
  187. package/react/components/route-view.d.ts.map +0 -1
  188. package/react/index.d.ts +0 -2
  189. package/react/index.d.ts.map +0 -1
  190. package/react/index.js +0 -1
  191. package/view-model/index.d.ts +0 -2
  192. package/view-model/index.d.ts.map +0 -1
  193. package/view-model/index.js +0 -1
  194. package/view-model/route-view-model.d.ts.map +0 -1
  195. /package/{core → dist/core}/config/config.js +0 -0
  196. /package/{core → dist/core}/config/config.types.js +0 -0
  197. /package/{core → dist/core}/route/route.types.js +0 -0
  198. /package/{core → dist/core}/route-group/route-group.js +0 -0
  199. /package/{core → dist/core}/route-group/route-group.types.js +0 -0
  200. /package/{core → dist/core}/router/router.types.js +0 -0
  201. /package/{core → dist/core}/utils/is-route-entity.js +0 -0
  202. /package/{core → dist/core}/virtual-route/virtual-route.types.js +0 -0
  203. /package/{react → dist/react}/components/route-view.js +0 -0
@@ -0,0 +1,107 @@
1
+ import { type History, type IQueryParams } from 'mobx-location-history';
2
+ import { type ParamData, type TokenData } from 'path-to-regexp';
3
+ import type { AnyObject, IsPartial, Maybe, MaybePromise } from 'yummies/utils/types';
4
+ import type { AnyRoute, BeforeOpenFeedback, CreatedUrlOutputParams, InputPathParams, IRoute, ParsedPathData, ParsedPathParams, PreparedNavigationData, RouteConfiguration, RouteNavigateParams } from "./route.types.cjs";
5
+ /**
6
+ * Class for creating path based route.
7
+ *
8
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html)
9
+ */
10
+ export declare class Route<TPath extends string, TInputParams extends InputPathParams<TPath> = InputPathParams<TPath>, TOutputParams extends AnyObject = ParsedPathParams<TPath>, TParentRoute extends Route<any, any, any, any> | null = null> implements IRoute<TPath, TInputParams, TOutputParams> {
11
+ path: TPath;
12
+ protected config: RouteConfiguration<TPath, TInputParams, TOutputParams, TParentRoute>;
13
+ protected abortController: AbortController;
14
+ protected history: History;
15
+ parent: TParentRoute;
16
+ query: IQueryParams;
17
+ private _tokenData;
18
+ private _matcher?;
19
+ private _compiler?;
20
+ private reactionDisposer;
21
+ meta?: AnyObject;
22
+ /**
23
+ * Indicates if this route is an index route. Index routes activate when parent route path matches exactly.
24
+ *
25
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#isindex-boolean)
26
+ */
27
+ isIndex: boolean;
28
+ /**
29
+ * Indicates if this route is an hash route.
30
+ *
31
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#ishash-boolean)
32
+ */
33
+ isHash: boolean;
34
+ children: AnyRoute[];
35
+ constructor(path: TPath, config?: RouteConfiguration<TPath, TInputParams, TOutputParams, TParentRoute>);
36
+ protected get baseUrl(): string | undefined;
37
+ protected get parsedPathData(): ParsedPathData<TPath> | null;
38
+ /**
39
+ * Matched path segment for current URL.
40
+ *
41
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#currentpath-parsedpathname-null)
42
+ */
43
+ get currentPath(): string | null;
44
+ /**
45
+ * Current parsed path parameters.
46
+ *
47
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#params-parsedpathparams-null)
48
+ */
49
+ get params(): TOutputParams | null;
50
+ /**
51
+ * Defines the "open" state for this route.
52
+ *
53
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#isopened-boolean)
54
+ */
55
+ get isOpened(): boolean;
56
+ /**
57
+ * Allows to create child route based on this route with merging this route path and extending path.
58
+ *
59
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#extend-path-config-route)
60
+ */
61
+ extend<TExtendedPath extends string, TExtendedInputParams extends InputPathParams<`${TPath}${TExtendedPath}`> = InputPathParams<`${TPath}${TExtendedPath}`>, TExtendedOutputParams extends AnyObject = TInputParams & ParsedPathParams<`${TPath}${TExtendedPath}`>>(path: TExtendedPath, config?: Omit<RouteConfiguration<`${TPath}${TExtendedPath}`, TInputParams & TExtendedInputParams, TExtendedOutputParams, any>, 'parent'>): Route<`${TPath}${TExtendedPath}`, TInputParams & TExtendedInputParams, TExtendedOutputParams, this>;
62
+ addChildren(...routes: AnyRoute[]): void;
63
+ removeChildren(...routes: AnyRoute[]): void;
64
+ /**
65
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#hasopenedchildren-boolean)
66
+ */
67
+ get hasOpenedChildren(): boolean;
68
+ protected processParams(params?: TInputParams | null | undefined): ParamData | undefined;
69
+ createUrl(...args: IsPartial<TInputParams> extends true ? [
70
+ params?: Maybe<TInputParams>,
71
+ query?: Maybe<AnyObject>,
72
+ mergeQueryOrParams?: boolean | CreatedUrlOutputParams
73
+ ] : [
74
+ params: TInputParams,
75
+ query?: Maybe<AnyObject>,
76
+ mergeQueryOrParams?: boolean | CreatedUrlOutputParams
77
+ ]): string;
78
+ /**
79
+ * Navigates to this route.
80
+ *
81
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#open-args)
82
+ */
83
+ open(...args: IsPartial<TInputParams> extends true ? [
84
+ params?: TInputParams | null | undefined,
85
+ navigateParams?: RouteNavigateParams
86
+ ] : [params: TInputParams, navigateParams?: RouteNavigateParams]): Promise<void>;
87
+ open(...args: IsPartial<TInputParams> extends true ? [
88
+ params?: TInputParams | null | undefined,
89
+ replace?: RouteNavigateParams['replace'],
90
+ query?: RouteNavigateParams['query']
91
+ ] : [
92
+ params: TInputParams,
93
+ replace?: RouteNavigateParams['replace'],
94
+ query?: RouteNavigateParams['query']
95
+ ]): Promise<void>;
96
+ open(url: string, navigateParams?: RouteNavigateParams): Promise<void>;
97
+ open(url: string, replace?: RouteNavigateParams['replace'], query?: RouteNavigateParams['query']): Promise<void>;
98
+ protected beforeOpen(openData: PreparedNavigationData<TInputParams>): MaybePromise<BeforeOpenFeedback>;
99
+ protected afterClose(): true | void;
100
+ protected get tokenData(): TokenData;
101
+ private firstOpenedStateCheck;
102
+ private processOpenedState;
103
+ private get isAbleToMergeQuery();
104
+ destroy(): void;
105
+ }
106
+ export declare const createRoute: <TPath extends string, TInputParams extends InputPathParams<TPath> = InputPathParams<TPath>, TOutputParams extends AnyObject = ParsedPathParams<TPath>, TParentRoute extends Route<any, any, any, any> | null = null>(path: TPath, config?: RouteConfiguration<TPath, TInputParams, TOutputParams, TParentRoute>) => Route<TPath, TInputParams, TOutputParams, TParentRoute>;
107
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type History, type IQueryParams } from 'mobx-location-history';
2
2
  import { type ParamData, type TokenData } from 'path-to-regexp';
3
3
  import type { AnyObject, IsPartial, Maybe, MaybePromise } from 'yummies/utils/types';
4
- import type { AnyRoute, BeforeOpenFeedback, CreatedUrlOutputParams, InputPathParams, IRoute, ParsedPathData, ParsedPathParams, PreparedNavigationData, RouteConfiguration, RouteNavigateParams } from './route.types.js';
4
+ import type { AnyRoute, BeforeOpenFeedback, CreatedUrlOutputParams, InputPathParams, IRoute, ParsedPathData, ParsedPathParams, PreparedNavigationData, RouteConfiguration, RouteNavigateParams } from "./route.types.js";
5
5
  /**
6
6
  * Class for creating path based route.
7
7
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { LinkedAbortController } from 'linked-abort-controller';
2
2
  import { action, computed, makeObservable, observable, onBecomeObserved, onBecomeUnobserved, reaction, } from 'mobx';
3
3
  import { buildSearchString, } from 'mobx-location-history';
4
4
  import { compile, match, parse, } from 'path-to-regexp';
5
- import { routeConfig } from '../config/config.js';
5
+ import { routeConfig } from "../config/config.js";
6
6
  /**
7
7
  * Class for creating path based route.
8
8
  *
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,142 @@
1
+ import type { RawQueryParamsData } from 'mobx-location-history';
2
+ import type { ParseOptions } from 'path-to-regexp';
3
+ import type { AnyObject, IsPartial, Maybe, MaybePromise } from 'yummies/utils/types';
4
+ import type { RouteGlobalConfig } from "../config/config.types.cjs";
5
+ import type { AnyAbstractRouteEntity } from "../route-group/route-group.types.cjs";
6
+ import type { VirtualRoute } from "../virtual-route/virtual-route.cjs";
7
+ import type { Route } from "./route.cjs";
8
+ export type PreparedNavigationData<TParams extends AnyObject = AnyObject> = {
9
+ state?: any;
10
+ /**
11
+ * path parameters
12
+ *
13
+ * can be received from extended routes
14
+ */
15
+ params?: TParams;
16
+ url: string;
17
+ replace?: boolean;
18
+ query?: AnyObject;
19
+ };
20
+ /**
21
+ * Returning `false` means ignore navigation
22
+ */
23
+ export type BeforeOpenFeedback = void | boolean | {
24
+ url: string;
25
+ state?: any;
26
+ replace?: boolean;
27
+ };
28
+ export interface UrlCreateParams<TInputParams> {
29
+ baseUrl?: string | undefined;
30
+ params: TInputParams;
31
+ query: AnyObject;
32
+ }
33
+ export type UrlCreateParamsFn<TInputParams = any> = (params: UrlCreateParams<TInputParams>, currentQueryData: RawQueryParamsData) => Maybe<UrlCreateParams<TInputParams>>;
34
+ export interface CreatedUrlOutputParams {
35
+ mergeQuery?: boolean;
36
+ omitQuery?: boolean;
37
+ }
38
+ export interface RouteConfiguration<TPath extends string, TInputParams extends InputPathParams<TPath> = InputPathParams<TPath>, TOutputParams extends AnyObject = ParsedPathParams<TPath>, TParentRoute extends Route<string, any, any, any> | null = null> extends Omit<Partial<RouteGlobalConfig>, 'createUrl'> {
39
+ /**
40
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#abortsignal)
41
+ */
42
+ abortSignal?: AbortSignal;
43
+ index?: boolean;
44
+ hash?: boolean;
45
+ /**
46
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#meta)
47
+ */
48
+ meta?: AnyObject;
49
+ parseOptions?: ParseOptions;
50
+ parent?: TParentRoute;
51
+ children?: AnyRoute[];
52
+ /**
53
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#params)
54
+ */
55
+ params?: (params: ParsedPathParams<TPath>, meta: AnyObject | undefined) => TOutputParams | null | false;
56
+ /**
57
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#checkopened)
58
+ */
59
+ checkOpened?: (parsedPathData: ParsedPathData<NoInfer<TPath>>) => boolean;
60
+ /**
61
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#beforeopen)
62
+ */
63
+ beforeOpen?: (preparedNavigationData: PreparedNavigationData<NoInfer<TInputParams>>) => MaybePromise<BeforeOpenFeedback>;
64
+ /**
65
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#afterclose)
66
+ */
67
+ afterClose?: () => void;
68
+ /**
69
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#afteropen)
70
+ */
71
+ afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<TInputParams>, NoInfer<TOutputParams>, NoInfer<TParentRoute>>) => void;
72
+ /**
73
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#createurl)
74
+ */
75
+ createUrl?: UrlCreateParamsFn<TInputParams>;
76
+ }
77
+ export type AnyRoute = IRoute;
78
+ export interface IRoute<TPath extends string = string, TInputParams extends InputPathParams<TPath> = InputPathParams<TPath>, TOutputParams extends AnyObject = ParsedPathParams<TPath>> {
79
+ isOpened: boolean;
80
+ path: TPath;
81
+ /**
82
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#hasopenedchildren-boolean)
83
+ */
84
+ hasOpenedChildren: boolean;
85
+ /**
86
+ * Navigates to this route.
87
+ *
88
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#open-args)
89
+ */
90
+ open(...args: IsPartial<TInputParams> extends true ? [
91
+ params?: TInputParams | null | undefined,
92
+ navigateParams?: RouteNavigateParams
93
+ ] : [params: TInputParams, navigateParams?: RouteNavigateParams]): Promise<void>;
94
+ open(...args: IsPartial<TInputParams> extends true ? [
95
+ params?: TInputParams | null | undefined,
96
+ replace?: RouteNavigateParams['replace'],
97
+ query?: RouteNavigateParams['query']
98
+ ] : [
99
+ params: TInputParams,
100
+ replace?: RouteNavigateParams['replace'],
101
+ query?: RouteNavigateParams['query']
102
+ ]): Promise<void>;
103
+ open(url: string, navigateParams?: RouteNavigateParams): Promise<void>;
104
+ open(url: string, replace?: RouteNavigateParams['replace'], query?: RouteNavigateParams['query']): Promise<void>;
105
+ createUrl(...args: IsPartial<TInputParams> extends true ? [params?: Maybe<TInputParams>, query?: AnyObject, mergeQuery?: boolean] : [params: TInputParams, query?: AnyObject, mergeQuery?: boolean]): string;
106
+ destroy(): void;
107
+ readonly params: TOutputParams | null;
108
+ }
109
+ export type InputPathParam = string | number | boolean | null;
110
+ export type ParsedPathParam = string;
111
+ type Simplify<T> = T extends infer U ? {
112
+ [K in keyof U]: U[K];
113
+ } : never;
114
+ export type RouteParams<TRoute extends AnyAbstractRouteEntity> = TRoute extends {
115
+ path: string;
116
+ } ? ParsedPathParams<TRoute['path']> : TRoute extends {
117
+ params: infer TParams;
118
+ } ? Exclude<TParams, null> : AnyObject;
119
+ export type PathToObject<Path extends string, PropertyValue = string> = Simplify<Path extends `${infer Prefix}{${infer Optional}}${infer Suffix}` ? PathToObject<`${Prefix}${Suffix}`, PropertyValue> & Partial<PathToObject<Optional, PropertyValue>> : Path extends `${infer PartA}/${infer PartB}` ? PathToObject<PartA, PropertyValue> & PathToObject<PartB, PropertyValue> : Path extends `:${infer Param}?` ? {
120
+ [K in Param]?: PropertyValue;
121
+ } : Path extends `:${infer Param}` ? {
122
+ [K in Param]: PropertyValue;
123
+ } : Path extends `*${infer Wildcard}` ? {
124
+ [K in Wildcard]: PropertyValue[];
125
+ } : {}>;
126
+ export type ParsedPathParams<Path extends string> = PathToObject<Path, ParsedPathParam>;
127
+ export type InputPathParams<Path extends string> = PathToObject<Path, InputPathParam>;
128
+ export interface RouteNavigateParams {
129
+ replace?: boolean;
130
+ state?: any;
131
+ query?: AnyObject;
132
+ mergeQuery?: boolean;
133
+ }
134
+ export interface ParsedPathData<TPath extends string> {
135
+ path: string;
136
+ params: ParsedPathParams<TPath>;
137
+ }
138
+ export type InferPath<T extends AnyRoute> = T extends IRoute<infer TPath, any, any> ? TPath : never;
139
+ export type InferInputParams<T extends AnyRoute> = T extends VirtualRoute<infer TParams> ? TParams : T extends IRoute<any, infer TInputParams, any> ? TInputParams : never;
140
+ export type InferParams<T extends AnyRoute> = T extends VirtualRoute<infer TParams> ? TParams : T extends IRoute<any, any, infer TParams> ? TParams : never;
141
+ export {};
142
+ //# sourceMappingURL=route.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,YAAY,EACb,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,mCAAkC;AACnE,OAAO,KAAK,EAAE,sBAAsB,EAAE,6CAA4C;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,2CAA0C;AACtE,OAAO,KAAK,EAAE,KAAK,EAAE,oBAAmB;AAExC,MAAM,MAAM,sBAAsB,CAAC,OAAO,SAAS,SAAS,GAAG,SAAS,IAAI;IAC1E,KAAK,CAAC,EAAE,GAAG,CAAC;IAEZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,GAAG,EAAE,MAAM,CAAC;IAEZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,IAAI,GACJ,OAAO,GACP;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEN,MAAM,WAAW,eAAe,CAAC,YAAY;IAC3C,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,MAAM,iBAAiB,CAAC,YAAY,GAAG,GAAG,IAAI,CAClD,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC,EACrC,gBAAgB,EAAE,kBAAkB,KACjC,KAAK,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB,CACjC,KAAK,SAAS,MAAM,EACpB,YAAY,SAAS,eAAe,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,EACpE,aAAa,SAAS,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,EACzD,YAAY,SAAS,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAC/D,SAAQ,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC;IACrD;;OAEG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB;;OAEG;IACH,MAAM,CAAC,EAAE,CACP,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC/B,IAAI,EAAE,SAAS,GAAG,SAAS,KACxB,aAAa,GAAG,IAAI,GAAG,KAAK,CAAC;IAClC;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,CAAC;IAC1E;;OAEG;IACH,UAAU,CAAC,EAAE,CACX,sBAAsB,EAAE,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAClE,YAAY,CAAC,kBAAkB,CAAC,CAAC;IACtC;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,CACV,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACpC,KAAK,EAAE,KAAK,CACV,OAAO,CAAC,KAAK,CAAC,EACd,OAAO,CAAC,YAAY,CAAC,EACrB,OAAO,CAAC,aAAa,CAAC,EACtB,OAAO,CAAC,YAAY,CAAC,CACtB,KACE,IAAI,CAAC;IACV;;OAEG;IACH,SAAS,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,WAAW,MAAM,CACrB,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,YAAY,SAAS,eAAe,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,EACpE,aAAa,SAAS,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC;IAEzD,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC;IAEZ;;OAEG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,IAAI,CACF,GAAG,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,IAAI,GACzC;QACE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS;QACxC,cAAc,CAAC,EAAE,mBAAmB;KACrC,GACD,CAAC,MAAM,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,mBAAmB,CAAC,GAC/D,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CACF,GAAG,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,IAAI,GACzC;QACE,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS;QACxC,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;QACxC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC;KACrC,GACD;QACE,MAAM,EAAE,YAAY;QACpB,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;QACxC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC;KACrC,GACJ,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,CACF,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,EACxC,KAAK,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,GACnC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,SAAS,CACP,GAAG,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC,SAAS,IAAI,GACzC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,GACvE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,GAClE,MAAM,CAAC;IAEV,OAAO,IAAI,IAAI,CAAC;IAEhB,QAAQ,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,CAAC;AAExE,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,sBAAsB,IAC3D,MAAM,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAC3B,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAChC,MAAM,SAAS;IAAE,MAAM,EAAE,MAAM,OAAO,CAAA;CAAE,GACtC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GACtB,SAAS,CAAC;AAElB,MAAM,MAAM,YAAY,CACtB,IAAI,SAAS,MAAM,EACnB,aAAa,GAAG,MAAM,IACpB,QAAQ,CACV,IAAI,SAAS,GAAG,MAAM,MAAM,IAAI,MAAM,QAAQ,IAAI,MAAM,MAAM,EAAE,GAC5D,YAAY,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,aAAa,CAAC,GAC/C,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,GAChD,IAAI,SAAS,GAAG,MAAM,KAAK,IAAI,MAAM,KAAK,EAAE,GAC1C,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE,aAAa,CAAC,GACvE,IAAI,SAAS,IAAI,MAAM,KAAK,GAAG,GAC7B;KAAG,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,aAAa;CAAE,GAChC,IAAI,SAAS,IAAI,MAAM,KAAK,EAAE,GAC5B;KAAG,CAAC,IAAI,KAAK,GAAG,aAAa;CAAE,GAC/B,IAAI,SAAS,IAAI,MAAM,QAAQ,EAAE,GAC/B;KAAG,CAAC,IAAI,QAAQ,GAAG,aAAa,EAAE;CAAE,GACpC,EAAE,CACf,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,IAAI,SAAS,MAAM,IAAI,YAAY,CAC9D,IAAI,EACJ,eAAe,CAChB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,IAAI,SAAS,MAAM,IAAI,YAAY,CAC7D,IAAI,EACJ,cAAc,CACf,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,MAAM,CAC1D,MAAM,KAAK,EACX,GAAG,EACH,GAAG,CACJ,GACG,KAAK,GACL,KAAK,CAAC;AAEV,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,YAAY,CACvE,MAAM,OAAO,CACd,GACG,OAAO,GACP,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,YAAY,EAAE,GAAG,CAAC,GAC5C,YAAY,GACZ,KAAK,CAAC;AAEZ,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,YAAY,CAClE,MAAM,OAAO,CACd,GACG,OAAO,GACP,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,GACvC,OAAO,GACP,KAAK,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { RawQueryParamsData } from 'mobx-location-history';
2
2
  import type { ParseOptions } from 'path-to-regexp';
3
3
  import type { AnyObject, IsPartial, Maybe, MaybePromise } from 'yummies/utils/types';
4
- import type { RouteGlobalConfig } from '../config/config.types.js';
5
- import type { AnyAbstractRouteEntity } from '../route-group/route-group.types.js';
6
- import type { VirtualRoute } from '../virtual-route/virtual-route.js';
7
- import type { Route } from './route.js';
4
+ import type { RouteGlobalConfig } from "../config/config.types.js";
5
+ import type { AnyAbstractRouteEntity } from "../route-group/route-group.types.js";
6
+ import type { VirtualRoute } from "../virtual-route/virtual-route.js";
7
+ import type { Route } from "./route.js";
8
8
  export type PreparedNavigationData<TParams extends AnyObject = AnyObject> = {
9
9
  state?: any;
10
10
  /**
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./route-group.cjs"), exports);
18
+ __exportStar(require("./route-group.types.cjs"), exports);
@@ -0,0 +1,3 @@
1
+ export * from "./route-group.cjs";
2
+ export * from "./route-group.types.cjs";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/index.ts"],"names":[],"mappings":"AAAA,kCAAiC;AACjC,wCAAuC"}
@@ -0,0 +1,3 @@
1
+ export * from "./route-group.js";
2
+ export * from "./route-group.types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,uCAAuC"}
@@ -0,0 +1,2 @@
1
+ export * from "./route-group.js";
2
+ export * from "./route-group.types.js";
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRouteGroup = exports.RouteGroup = void 0;
4
+ const mobx_1 = require("mobx");
5
+ /**
6
+ * Class for grouping related routes and managing their state.
7
+ *
8
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html)
9
+ */
10
+ class RouteGroup {
11
+ _indexRoute;
12
+ routes;
13
+ constructor(routes, _indexRoute) {
14
+ this._indexRoute = _indexRoute;
15
+ this.routes = routes;
16
+ mobx_1.computed.struct(this, 'isOpened');
17
+ mobx_1.computed.struct(this, 'indexRoute');
18
+ mobx_1.observable.shallow(this, 'routes');
19
+ (0, mobx_1.makeObservable)(this);
20
+ }
21
+ /**
22
+ * Returns true if at least one route in the group is open.
23
+ *
24
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#isopened-boolean)
25
+ */
26
+ get isOpened() {
27
+ const routes = Object.values(this.routes);
28
+ return routes.some((route) => route.isOpened ||
29
+ ('hasOpenedChildren' in route && route.hasOpenedChildren));
30
+ }
31
+ /**
32
+ * First found index route.
33
+ *
34
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#indexroute-route-undefined)
35
+ */
36
+ get indexRoute() {
37
+ return (this._indexRoute ??
38
+ Object.values(this.routes).find((route) => 'isIndex' in route && route.isIndex));
39
+ }
40
+ /**
41
+ * Main navigation method for the group.
42
+ *
43
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#open-args-any-void)
44
+ */
45
+ open(...args) {
46
+ let lastGroupRoute;
47
+ if (this.indexRoute && 'open' in this.indexRoute) {
48
+ this.indexRoute.open(...args);
49
+ return;
50
+ }
51
+ for (const routeName in this.routes) {
52
+ const route = this.routes[routeName];
53
+ if (route instanceof RouteGroup) {
54
+ lastGroupRoute = route;
55
+ }
56
+ }
57
+ if (lastGroupRoute) {
58
+ lastGroupRoute.open(...args);
59
+ }
60
+ else if (process.env.NODE_ENV !== 'production') {
61
+ console.warn("RouteGroup doesn't have index route. open() method doesn't work.");
62
+ }
63
+ }
64
+ }
65
+ exports.RouteGroup = RouteGroup;
66
+ const createRouteGroup = (routes, indexRoute) => new RouteGroup(routes, indexRoute);
67
+ exports.createRouteGroup = createRouteGroup;
@@ -0,0 +1,31 @@
1
+ import type { AbstractRouteGroup, AnyRouteEntity, RoutesCollection } from "./route-group.types.cjs";
2
+ /**
3
+ * Class for grouping related routes and managing their state.
4
+ *
5
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html)
6
+ */
7
+ export declare class RouteGroup<TRoutesCollection extends RoutesCollection> implements AbstractRouteGroup<TRoutesCollection> {
8
+ private _indexRoute?;
9
+ routes: TRoutesCollection;
10
+ constructor(routes: TRoutesCollection, _indexRoute?: AnyRouteEntity | undefined);
11
+ /**
12
+ * Returns true if at least one route in the group is open.
13
+ *
14
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#isopened-boolean)
15
+ */
16
+ get isOpened(): boolean;
17
+ /**
18
+ * First found index route.
19
+ *
20
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#indexroute-route-undefined)
21
+ */
22
+ get indexRoute(): AnyRouteEntity | undefined;
23
+ /**
24
+ * Main navigation method for the group.
25
+ *
26
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/RouteGroup.html#open-args-any-void)
27
+ */
28
+ open(...args: any[]): void;
29
+ }
30
+ export declare const createRouteGroup: <TRoutesCollection extends RoutesCollection>(routes: TRoutesCollection, indexRoute?: AnyRouteEntity) => RouteGroup<TRoutesCollection>;
31
+ //# sourceMappingURL=route-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-group.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/route-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,gCAA+B;AAIhC;;;;GAIG;AACH,qBAAa,UAAU,CAAC,iBAAiB,SAAS,gBAAgB,CAChE,YAAW,kBAAkB,CAAC,iBAAiB,CAAC;IAM9C,OAAO,CAAC,WAAW,CAAC;IAJtB,MAAM,EAAE,iBAAiB,CAAC;gBAGxB,MAAM,EAAE,iBAAiB,EACjB,WAAW,CAAC,EAAE,cAAc,YAAA;IAUtC;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAOtB;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAK3C;IAED;;;;OAIG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAuBpB;AAED,eAAO,MAAM,gBAAgB,GAAI,iBAAiB,SAAS,gBAAgB,EACzE,QAAQ,iBAAiB,EACzB,aAAa,cAAc,kCAC6B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { AbstractRouteGroup, AnyRouteEntity, RoutesCollection } from './route-group.types.js';
1
+ import type { AbstractRouteGroup, AnyRouteEntity, RoutesCollection } from "./route-group.types.js";
2
2
  /**
3
3
  * Class for grouping related routes and managing their state.
4
4
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-group.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/route-group.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EACjB,+BAA+B;AAIhC;;;;GAIG;AACH,qBAAa,UAAU,CAAC,iBAAiB,SAAS,gBAAgB,CAChE,YAAW,kBAAkB,CAAC,iBAAiB,CAAC;IAM9C,OAAO,CAAC,WAAW,CAAC;IAJtB,MAAM,EAAE,iBAAiB,CAAC;gBAGxB,MAAM,EAAE,iBAAiB,EACjB,WAAW,CAAC,EAAE,cAAc,YAAA;IAUtC;;;;OAIG;IACH,IAAI,QAAQ,IAAI,OAAO,CAOtB;IAED;;;;OAIG;IACH,IAAI,UAAU,IAAI,cAAc,GAAG,SAAS,CAK3C;IAED;;;;OAIG;IACH,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAuBpB;AAED,eAAO,MAAM,gBAAgB,GAAI,iBAAiB,SAAS,gBAAgB,EACzE,QAAQ,iBAAiB,EACzB,aAAa,cAAc,kCAC6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,15 @@
1
+ import type { AnyRoute } from "../route/index.cjs";
2
+ import type { AbstractVirtualRoute, AnyVirtualRoute } from "../virtual-route/index.cjs";
3
+ import type { RouteGroup } from "./route-group.cjs";
4
+ export type AnyRouteGroup = RouteGroup<RoutesCollection>;
5
+ export type AnyRouteEntity = AnyRoute | AnyRouteGroup | AnyVirtualRoute;
6
+ export interface AbstractRouteGroup<TRoutesCollection extends RoutesCollection = RoutesCollection> {
7
+ routes: TRoutesCollection;
8
+ isOpened: boolean;
9
+ }
10
+ export type AnyAbstractRoute = AnyRoute | AbstractVirtualRoute<any>;
11
+ export type AnyAbstractRouteEntity = AnyAbstractRoute | AbstractRouteGroup;
12
+ export type RoutesArrayCollection = AnyAbstractRouteEntity[];
13
+ export type RoutesObjectCollection = Record<string, AnyAbstractRouteEntity>;
14
+ export type RoutesCollection = RoutesArrayCollection | RoutesObjectCollection;
15
+ //# sourceMappingURL=route-group.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-group.types.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/route-group.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,2BAA0B;AAClD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,mCAAkC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,0BAAyB;AAEnD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AAExE,MAAM,WAAW,kBAAkB,CACjC,iBAAiB,SAAS,gBAAgB,GAAG,gBAAgB;IAE7D,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,EAAE,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
@@ -1,6 +1,6 @@
1
- import type { AnyRoute } from '../route/index.js';
2
- import type { AbstractVirtualRoute, AnyVirtualRoute } from '../virtual-route/index.js';
3
- import type { RouteGroup } from './route-group.js';
1
+ import type { AnyRoute } from "../route/index.js";
2
+ import type { AbstractVirtualRoute, AnyVirtualRoute } from "../virtual-route/index.js";
3
+ import type { RouteGroup } from "./route-group.js";
4
4
  export type AnyRouteGroup = RouteGroup<RoutesCollection>;
5
5
  export type AnyRouteEntity = AnyRoute | AnyRouteGroup | AnyVirtualRoute;
6
6
  export interface AbstractRouteGroup<TRoutesCollection extends RoutesCollection = RoutesCollection> {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-group.types.d.ts","sourceRoot":"","sources":["../../../src/core/route-group/route-group.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,0BAA0B;AAClD,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EAChB,kCAAkC;AAEnC,OAAO,KAAK,EAAE,UAAU,EAAE,yBAAyB;AAEnD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AAExE,MAAM,WAAW,kBAAkB,CACjC,iBAAiB,SAAS,gBAAgB,GAAG,gBAAgB;IAE7D,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;AAEpE,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE3E,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,EAAE,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./router.cjs"), exports);
18
+ __exportStar(require("./router.types.cjs"), exports);
@@ -0,0 +1,3 @@
1
+ export * from "./router.cjs";
2
+ export * from "./router.types.cjs";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":"AAAA,6BAA4B;AAC5B,mCAAkC"}
@@ -0,0 +1,3 @@
1
+ export * from "./router.js";
2
+ export * from "./router.types.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/router/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,kCAAkC"}
@@ -0,0 +1,2 @@
1
+ export * from "./router.js";
2
+ export * from "./router.types.js";
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRouter = exports.Router = void 0;
4
+ const mobx_1 = require("mobx");
5
+ const mobx_location_history_1 = require("mobx-location-history");
6
+ const config_js_1 = require("../config/config.cjs");
7
+ /**
8
+ * Class for centralized routing management.
9
+ *
10
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Router.html)
11
+ */
12
+ class Router {
13
+ routes;
14
+ history;
15
+ query;
16
+ constructor(config) {
17
+ this.routes = config.routes;
18
+ this.history = config.history ?? config_js_1.routeConfig.get().history;
19
+ this.query = config.queryParams ?? config_js_1.routeConfig.get().queryParams;
20
+ mobx_1.computed.struct(this, 'location');
21
+ (0, mobx_1.makeObservable)(this);
22
+ }
23
+ get location() {
24
+ return this.history.location;
25
+ }
26
+ navigate(url, options) {
27
+ const query = (options?.mergeQuery ?? config_js_1.routeConfig.get().mergeQuery)
28
+ ? { ...this.query.data, ...options?.query }
29
+ : { ...options?.query };
30
+ const searchString = (0, mobx_location_history_1.buildSearchString)(query);
31
+ const navigationUrl = `${url}${searchString}`;
32
+ if (options?.replace) {
33
+ this.history.replace(navigationUrl, options?.state);
34
+ }
35
+ else {
36
+ this.history.push(navigationUrl, options?.state);
37
+ }
38
+ }
39
+ }
40
+ exports.Router = Router;
41
+ const createRouter = (config) => new Router(config);
42
+ exports.createRouter = createRouter;