mobx-route 0.4.0 → 0.6.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/core/route/route.d.ts +15 -15
- package/core/route/route.d.ts.map +1 -1
- package/core/route/route.js +27 -23
- package/core/route/route.test.d.ts.map +1 -1
- package/core/route/route.test.js +34 -0
- package/core/route/route.types.d.ts +25 -26
- package/core/route/route.types.d.ts.map +1 -1
- package/core/virtual-route/virtual-route.d.ts.map +1 -1
- package/core/virtual-route/virtual-route.js +13 -5
- package/package.json +1 -1
- package/react/components/link.d.ts +4 -4
- package/react/components/link.d.ts.map +1 -1
package/core/route/route.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { History, IQueryParams } from 'mobx-location-history';
|
|
2
2
|
import { ParamData, TokenData } from 'path-to-regexp';
|
|
3
3
|
import { IsPartial, AnyObject, Maybe, MaybePromise } from 'yummies/utils/types';
|
|
4
|
-
import { AnyRoute, BeforeOpenFeedback, PreparedNavigationData,
|
|
4
|
+
import { AnyRoute, BeforeOpenFeedback, PreparedNavigationData, InputPathParams, RouteConfiguration, ParsedPathData, RouteNavigateParams, IRoute, ParsedPathParams } from './route.types.js';
|
|
5
5
|
/**
|
|
6
6
|
* Class for creating path based route.
|
|
7
7
|
*
|
|
8
8
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html)
|
|
9
9
|
*/
|
|
10
|
-
export declare class Route<TPath extends string,
|
|
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
11
|
path: TPath;
|
|
12
|
-
protected config: RouteConfiguration<TPath,
|
|
12
|
+
protected config: RouteConfiguration<TPath, TInputParams, TOutputParams, TParentRoute>;
|
|
13
13
|
protected abortController: AbortController;
|
|
14
14
|
protected history: History;
|
|
15
15
|
parent: TParentRoute;
|
|
@@ -30,7 +30,7 @@ export declare class Route<TPath extends string, TParams extends AnyObject = Ext
|
|
|
30
30
|
*/
|
|
31
31
|
isHash: boolean;
|
|
32
32
|
children: AnyRoute[];
|
|
33
|
-
constructor(path: TPath, config?: RouteConfiguration<TPath,
|
|
33
|
+
constructor(path: TPath, config?: RouteConfiguration<TPath, TInputParams, TOutputParams, TParentRoute>);
|
|
34
34
|
protected get baseUrl(): string | undefined;
|
|
35
35
|
protected get parsedPathData(): ParsedPathData<TPath> | null;
|
|
36
36
|
/**
|
|
@@ -44,7 +44,7 @@ export declare class Route<TPath extends string, TParams extends AnyObject = Ext
|
|
|
44
44
|
*
|
|
45
45
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#params-parsedpathparams-null)
|
|
46
46
|
*/
|
|
47
|
-
get params():
|
|
47
|
+
get params(): TOutputParams | null;
|
|
48
48
|
/**
|
|
49
49
|
* Defines the "open" state for this route.
|
|
50
50
|
*
|
|
@@ -56,36 +56,36 @@ export declare class Route<TPath extends string, TParams extends AnyObject = Ext
|
|
|
56
56
|
*
|
|
57
57
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#extend-path-config-route)
|
|
58
58
|
*/
|
|
59
|
-
extend<TExtendPath extends string,
|
|
59
|
+
extend<TExtendPath extends string, TInputParams extends InputPathParams<`${TPath}${TExtendPath}`> = InputPathParams<`${TPath}${TExtendPath}`>, TOutputParams extends AnyObject = ParsedPathParams<`${TPath}${TExtendPath}`>>(path: TExtendPath, config?: Omit<RouteConfiguration<`${TPath}${TExtendPath}`, TInputParams, TOutputParams, any>, 'parent'>): Route<`${TPath}${TExtendPath}`, TInputParams, TOutputParams, this>;
|
|
60
60
|
addChildren(...routes: AnyRoute[]): void;
|
|
61
61
|
removeChildren(...routes: AnyRoute[]): void;
|
|
62
62
|
/**
|
|
63
63
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#hasopenedchildren-boolean)
|
|
64
64
|
*/
|
|
65
65
|
get hasOpenedChildren(): boolean;
|
|
66
|
-
protected processParams(params?:
|
|
67
|
-
createUrl(...args: IsPartial<
|
|
66
|
+
protected processParams(params?: TInputParams | null | undefined): ParamData | undefined;
|
|
67
|
+
createUrl(...args: IsPartial<TInputParams> extends true ? [params?: Maybe<TInputParams>, query?: AnyObject] : [params: TInputParams, query?: AnyObject]): string;
|
|
68
68
|
/**
|
|
69
69
|
* Navigates to this route.
|
|
70
70
|
*
|
|
71
71
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#open-args)
|
|
72
72
|
*/
|
|
73
|
-
open(...args: IsPartial<
|
|
74
|
-
params?:
|
|
73
|
+
open(...args: IsPartial<TInputParams> extends true ? [
|
|
74
|
+
params?: TInputParams | null | undefined,
|
|
75
75
|
navigateParams?: RouteNavigateParams
|
|
76
|
-
] : [params:
|
|
77
|
-
open(...args: IsPartial<
|
|
78
|
-
params?:
|
|
76
|
+
] : [params: TInputParams, navigateParams?: RouteNavigateParams]): Promise<void>;
|
|
77
|
+
open(...args: IsPartial<TInputParams> extends true ? [
|
|
78
|
+
params?: TInputParams | null | undefined,
|
|
79
79
|
replace?: RouteNavigateParams['replace'],
|
|
80
80
|
query?: RouteNavigateParams['query']
|
|
81
81
|
] : [
|
|
82
|
-
params:
|
|
82
|
+
params: TInputParams,
|
|
83
83
|
replace?: RouteNavigateParams['replace'],
|
|
84
84
|
query?: RouteNavigateParams['query']
|
|
85
85
|
]): Promise<void>;
|
|
86
86
|
open(url: string, navigateParams?: RouteNavigateParams): Promise<void>;
|
|
87
87
|
open(url: string, replace?: RouteNavigateParams['replace'], query?: RouteNavigateParams['query']): Promise<void>;
|
|
88
|
-
protected beforeOpen(openData: PreparedNavigationData): MaybePromise<BeforeOpenFeedback>;
|
|
88
|
+
protected beforeOpen(openData: PreparedNavigationData<TInputParams>): MaybePromise<BeforeOpenFeedback>;
|
|
89
89
|
protected afterClose(): true | void;
|
|
90
90
|
protected get tokenData(): TokenData;
|
|
91
91
|
destroy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.ts"],"names":[],"mappings":"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"}
|
package/core/route/route.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable prefer-const */
|
|
2
2
|
import { LinkedAbortController } from 'linked-abort-controller';
|
|
3
|
-
import { action, computed, makeObservable, observable,
|
|
3
|
+
import { action, computed, makeObservable, observable, onBecomeObserved, onBecomeUnobserved, reaction, } from 'mobx';
|
|
4
4
|
import { buildSearchString, } from 'mobx-location-history';
|
|
5
5
|
import { compile, match, parse } from 'path-to-regexp';
|
|
6
6
|
import { routeConfig } from '../config/config.js';
|
|
@@ -52,30 +52,34 @@ export class Route {
|
|
|
52
52
|
action(this, 'addChildren');
|
|
53
53
|
action(this, 'removeChildren');
|
|
54
54
|
makeObservable(this);
|
|
55
|
-
|
|
56
|
-
when(() => this.isOpened, () => this.config.afterOpen(this.parsedPathData, this), this.abortController);
|
|
57
|
-
}
|
|
58
|
-
if (!config.afterOpen && !config.afterClose) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
55
|
+
let dispose;
|
|
61
56
|
let firstReactionCall = true;
|
|
62
|
-
|
|
63
|
-
if (
|
|
64
|
-
|
|
65
|
-
// ignore first 'afterClose' callback call
|
|
66
|
-
if (!isOpened) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (isOpened) {
|
|
71
|
-
config.afterOpen?.(this.parsedPathData, this);
|
|
57
|
+
onBecomeObserved(this, 'isOpened', () => {
|
|
58
|
+
if (!config.afterOpen && !config.afterClose) {
|
|
59
|
+
return;
|
|
72
60
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
61
|
+
dispose = reaction(() => this.isOpened, (isOpened) => {
|
|
62
|
+
if (firstReactionCall) {
|
|
63
|
+
firstReactionCall = false;
|
|
64
|
+
// ignore first 'afterClose' callback call
|
|
65
|
+
if (!isOpened) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (isOpened) {
|
|
70
|
+
config.afterOpen?.(this.parsedPathData, this);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
config.afterClose?.();
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
signal: this.abortController.signal,
|
|
77
|
+
fireImmediately: true,
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
onBecomeUnobserved(this, 'isOpened', () => {
|
|
81
|
+
dispose?.();
|
|
82
|
+
dispose = undefined;
|
|
79
83
|
});
|
|
80
84
|
}
|
|
81
85
|
get baseUrl() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.test.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route.test.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAwB,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAStE,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO;;;;;;;;;;;;;;;;CAgB3C,CAAC"}
|
package/core/route/route.test.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
1
2
|
/* eslint-disable sonarjs/no-dead-store */
|
|
2
3
|
/* eslint-disable sonarjs/sonar-no-unused-vars */
|
|
3
4
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
@@ -181,4 +182,37 @@ describe('route', () => {
|
|
|
181
182
|
expect(routeB.isOpened).toBe(false);
|
|
182
183
|
expect(routeC.isOpened).toBe(true);
|
|
183
184
|
});
|
|
185
|
+
it('test param typings (no options)', () => {
|
|
186
|
+
const foo = new Route('/foo/:bar/:baz', {});
|
|
187
|
+
expectTypeOf(foo.open).toBeFunction();
|
|
188
|
+
expectTypeOf(foo.open)
|
|
189
|
+
.parameter(0)
|
|
190
|
+
.toEqualTypeOf();
|
|
191
|
+
expectTypeOf(foo.params).toEqualTypeOf();
|
|
192
|
+
expect(foo).toBeDefined();
|
|
193
|
+
});
|
|
194
|
+
it('test param typings (with options)', () => {
|
|
195
|
+
const foo = new Route('/foo/:bar/:baz', {
|
|
196
|
+
params: (params) => {
|
|
197
|
+
return {
|
|
198
|
+
bad: 1,
|
|
199
|
+
};
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
expectTypeOf(foo.open).toBeFunction();
|
|
203
|
+
expectTypeOf(foo.open)
|
|
204
|
+
.parameter(0)
|
|
205
|
+
.toEqualTypeOf();
|
|
206
|
+
expectTypeOf(foo.params).toEqualTypeOf();
|
|
207
|
+
expect(foo).toBeDefined();
|
|
208
|
+
});
|
|
209
|
+
it('test customized param typings', () => {
|
|
210
|
+
const foo = new Route('/', {});
|
|
211
|
+
expectTypeOf(foo.open).toBeFunction();
|
|
212
|
+
expectTypeOf(foo.open)
|
|
213
|
+
.parameter(0)
|
|
214
|
+
.toEqualTypeOf();
|
|
215
|
+
expectTypeOf(foo.params).toEqualTypeOf();
|
|
216
|
+
expect(foo).toBeDefined();
|
|
217
|
+
});
|
|
184
218
|
});
|
|
@@ -2,6 +2,7 @@ import { ParseOptions } from 'path-to-regexp';
|
|
|
2
2
|
import { IsPartial, AnyObject, Maybe, MaybePromise } from 'yummies/utils/types';
|
|
3
3
|
import { RouteGlobalConfig } from '../config/config.types.js';
|
|
4
4
|
import { AnyAbstractRouteEntity } from '../route-group/route-group.types.js';
|
|
5
|
+
import { VirtualRoute } from '../virtual-route/virtual-route.js';
|
|
5
6
|
import { Route } from './route.js';
|
|
6
7
|
export type PreparedNavigationData<TParams extends AnyObject = AnyObject> = {
|
|
7
8
|
state?: any;
|
|
@@ -27,7 +28,7 @@ export interface AbstractPathRoute<TPath extends string = string> {
|
|
|
27
28
|
isOpened: boolean;
|
|
28
29
|
path: TPath;
|
|
29
30
|
}
|
|
30
|
-
export interface RouteConfiguration<TPath extends string,
|
|
31
|
+
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 Partial<RouteGlobalConfig> {
|
|
31
32
|
abortSignal?: AbortSignal;
|
|
32
33
|
index?: boolean;
|
|
33
34
|
hash?: boolean;
|
|
@@ -35,14 +36,14 @@ export interface RouteConfiguration<TPath extends string, TParams extends AnyObj
|
|
|
35
36
|
parseOptions?: ParseOptions;
|
|
36
37
|
parent?: TParentRoute;
|
|
37
38
|
children?: AnyRoute[];
|
|
38
|
-
params?: (params:
|
|
39
|
+
params?: (params: ParsedPathParams<TPath>) => TOutputParams | null | false;
|
|
39
40
|
checkOpened?: (parsedPathData: ParsedPathData<NoInfer<TPath>>) => boolean;
|
|
40
|
-
beforeOpen?: (preparedNavigationData: PreparedNavigationData<NoInfer<
|
|
41
|
+
beforeOpen?: (preparedNavigationData: PreparedNavigationData<NoInfer<TInputParams>>) => MaybePromise<BeforeOpenFeedback>;
|
|
41
42
|
afterClose?: () => void;
|
|
42
|
-
afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<
|
|
43
|
+
afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<TInputParams>, NoInfer<TOutputParams>, NoInfer<TParentRoute>>) => void;
|
|
43
44
|
}
|
|
44
45
|
export type AnyRoute = IRoute;
|
|
45
|
-
export interface IRoute<TPath extends string = string> {
|
|
46
|
+
export interface IRoute<TPath extends string = string, TInputParams extends InputPathParams<TPath> = InputPathParams<TPath>, TOutputParams extends AnyObject = ParsedPathParams<TPath>> {
|
|
46
47
|
isOpened: boolean;
|
|
47
48
|
path: TPath;
|
|
48
49
|
/**
|
|
@@ -54,27 +55,27 @@ export interface IRoute<TPath extends string = string> {
|
|
|
54
55
|
*
|
|
55
56
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#open-args)
|
|
56
57
|
*/
|
|
57
|
-
open(...args: IsPartial<
|
|
58
|
-
params?:
|
|
58
|
+
open(...args: IsPartial<TInputParams> extends true ? [
|
|
59
|
+
params?: TInputParams | null | undefined,
|
|
59
60
|
navigateParams?: RouteNavigateParams
|
|
60
|
-
] : [params:
|
|
61
|
-
open(...args: IsPartial<
|
|
62
|
-
params?:
|
|
61
|
+
] : [params: TInputParams, navigateParams?: RouteNavigateParams]): Promise<void>;
|
|
62
|
+
open(...args: IsPartial<TInputParams> extends true ? [
|
|
63
|
+
params?: TInputParams | null | undefined,
|
|
63
64
|
replace?: RouteNavigateParams['replace'],
|
|
64
65
|
query?: RouteNavigateParams['query']
|
|
65
66
|
] : [
|
|
66
|
-
params:
|
|
67
|
+
params: TInputParams,
|
|
67
68
|
replace?: RouteNavigateParams['replace'],
|
|
68
69
|
query?: RouteNavigateParams['query']
|
|
69
70
|
]): Promise<void>;
|
|
70
71
|
open(url: string, navigateParams?: RouteNavigateParams): Promise<void>;
|
|
71
72
|
open(url: string, replace?: RouteNavigateParams['replace'], query?: RouteNavigateParams['query']): Promise<void>;
|
|
72
|
-
createUrl(...args: IsPartial<
|
|
73
|
+
createUrl(...args: IsPartial<TInputParams> extends true ? [params?: Maybe<TInputParams>, query?: AnyObject] : [params: TInputParams, query?: AnyObject]): string;
|
|
73
74
|
destroy(): void;
|
|
74
|
-
params:
|
|
75
|
+
readonly params: TOutputParams | null;
|
|
75
76
|
}
|
|
76
|
-
export type
|
|
77
|
-
export type
|
|
77
|
+
export type InputPathParam = string | number | boolean | null;
|
|
78
|
+
export type ParsedPathParam = string;
|
|
78
79
|
type Simplify<T> = T extends infer U ? {
|
|
79
80
|
[K in keyof U]: U[K];
|
|
80
81
|
} : never;
|
|
@@ -83,20 +84,15 @@ export type RouteParams<TRoute extends AnyAbstractRouteEntity> = TRoute extends
|
|
|
83
84
|
} ? ParsedPathParams<TRoute['path']> : TRoute extends {
|
|
84
85
|
params: infer TParams;
|
|
85
86
|
} ? Exclude<TParams, null> : AnyObject;
|
|
86
|
-
export type
|
|
87
|
-
[K in Param]?:
|
|
87
|
+
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}?` ? {
|
|
88
|
+
[K in Param]?: PropertyValue;
|
|
88
89
|
} : Path extends `:${infer Param}` ? {
|
|
89
|
-
[K in Param]:
|
|
90
|
+
[K in Param]: PropertyValue;
|
|
90
91
|
} : Path extends `*${infer Wildcard}` ? {
|
|
91
|
-
[K in Wildcard]:
|
|
92
|
-
} : {}>;
|
|
93
|
-
export type ExtractPathParams<Path extends string> = Simplify<Path extends `${infer Prefix}{${infer Optional}}${infer Suffix}` ? ExtractPathParams<`${Prefix}${Suffix}`> & Partial<ExtractPathParams<Optional>> : Path extends `${infer PartA}/${infer PartB}` ? ExtractPathParams<PartA> & ExtractPathParams<PartB> : Path extends `:${infer Param}?` ? {
|
|
94
|
-
[K in Param]?: PathParam;
|
|
95
|
-
} : Path extends `:${infer Param}` ? {
|
|
96
|
-
[K in Param]: PathParam;
|
|
97
|
-
} : Path extends `*${infer Wildcard}` ? {
|
|
98
|
-
[K in Wildcard]: PathParam[];
|
|
92
|
+
[K in Wildcard]: PropertyValue[];
|
|
99
93
|
} : {}>;
|
|
94
|
+
export type ParsedPathParams<Path extends string> = PathToObject<Path, ParsedPathParam>;
|
|
95
|
+
export type InputPathParams<Path extends string> = PathToObject<Path, InputPathParam>;
|
|
100
96
|
export interface RouteNavigateParams {
|
|
101
97
|
replace?: boolean;
|
|
102
98
|
state?: any;
|
|
@@ -106,5 +102,8 @@ export interface ParsedPathData<TPath extends string> {
|
|
|
106
102
|
path: string;
|
|
107
103
|
params: ParsedPathParams<TPath>;
|
|
108
104
|
}
|
|
105
|
+
export type InferPath<T extends AnyRoute> = T extends IRoute<infer TPath, any, any> ? TPath : never;
|
|
106
|
+
export type InferInputParams<T extends AnyRoute> = T extends VirtualRoute<infer TParams> ? TParams : T extends IRoute<any, infer TInputParams, any> ? TInputParams : never;
|
|
107
|
+
export type InferParams<T extends AnyRoute> = T extends VirtualRoute<infer TParams> ? TParams : T extends IRoute<any, any, infer TParams> ? TParams : never;
|
|
109
108
|
export {};
|
|
110
109
|
//# sourceMappingURL=route.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtual-route.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"virtual-route.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAI/E,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,qBAAa,YAAY,CAAC,OAAO,SAAS,SAAS,GAAG,WAAW,GAAG,WAAW,CAC7E,YAAW,oBAAoB,CAAC,OAAO,CAAC;IAU5B,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC;IARhE,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvB,OAAO,CAAC,aAAa,CAA4B;IAEjD,OAAO,CAAC,WAAW,CAA2D;gBAExD,MAAM,GAAE,yBAAyB,CAAC,OAAO,CAAM;IAmDrE;;OAEG;IACH,IAAI,QAAQ,YAGX;IAED;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,KAAK,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC;IAKvE;;OAEG;IACH,IAAI,CACF,GAAG,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,IAAI,GACpC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,GAC/D,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,sBAAsB,CAAC,GAC1D,OAAO,CAAC,IAAI,CAAC;IAiChB;;OAEG;IACH,KAAK;IAcL,OAAO;CAGR"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LinkedAbortController } from 'linked-abort-controller';
|
|
2
|
-
import { action, computed, makeObservable, observable, reaction, runInAction, } from 'mobx';
|
|
2
|
+
import { action, computed, makeObservable, observable, onBecomeObserved, onBecomeUnobserved, reaction, runInAction, } from 'mobx';
|
|
3
3
|
import { callFunction } from 'yummies/common';
|
|
4
4
|
import { routeConfig } from '../config/index.js';
|
|
5
5
|
/**
|
|
@@ -28,9 +28,13 @@ export class VirtualRoute {
|
|
|
28
28
|
action(this, 'open');
|
|
29
29
|
action(this, 'close');
|
|
30
30
|
makeObservable(this);
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
let dispose;
|
|
32
|
+
let firstReactionCall = true;
|
|
33
|
+
onBecomeObserved(this, 'isOpened', () => {
|
|
34
|
+
if (!config.afterOpen && !config.afterClose) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
dispose = reaction(() => this.isOpened, (isOpened) => {
|
|
34
38
|
if (firstReactionCall) {
|
|
35
39
|
firstReactionCall = false;
|
|
36
40
|
// ignore first 'afterClose' callback call
|
|
@@ -48,7 +52,11 @@ export class VirtualRoute {
|
|
|
48
52
|
signal: this.abortController.signal,
|
|
49
53
|
fireImmediately: true,
|
|
50
54
|
});
|
|
51
|
-
}
|
|
55
|
+
});
|
|
56
|
+
onBecomeUnobserved(this, 'isOpened', () => {
|
|
57
|
+
dispose?.();
|
|
58
|
+
dispose = undefined;
|
|
59
|
+
});
|
|
52
60
|
}
|
|
53
61
|
/**
|
|
54
62
|
* [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#isopened-boolean)
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AnchorHTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import { IsPartial } from 'yummies/utils/types';
|
|
3
|
-
import { AnyRoute,
|
|
3
|
+
import { AnyRoute, InputPathParams, RouteNavigateParams } from '../../core/index.js';
|
|
4
4
|
interface LinkAnchorProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
|
|
5
5
|
asChild?: boolean;
|
|
6
6
|
}
|
|
7
7
|
type LinkPathRouteProps<TRoute extends AnyRoute> = {
|
|
8
8
|
to: TRoute;
|
|
9
|
-
} & (IsPartial<
|
|
10
|
-
params?:
|
|
9
|
+
} & (IsPartial<InputPathParams<TRoute['path']>> extends true ? {
|
|
10
|
+
params?: InputPathParams<TRoute['path']> | null | undefined;
|
|
11
11
|
} : {
|
|
12
|
-
params:
|
|
12
|
+
params: InputPathParams<TRoute['path']>;
|
|
13
13
|
});
|
|
14
14
|
type LinkSimpleRouteProps = {
|
|
15
15
|
to: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/react/components/link.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EAKpB,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAa,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EACL,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/react/components/link.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,oBAAoB,EAKpB,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,SAAS,EAAa,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EACL,QAAQ,EACR,eAAe,EAEf,mBAAmB,EACpB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,eACR,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,KAAK,kBAAkB,CAAC,MAAM,SAAS,QAAQ,IAAI;IACjD,EAAE,EAAE,MAAM,CAAC;CACZ,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,GACxD;IAEE,MAAM,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAC7D,GACD;IAAE,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAEjD,KAAK,oBAAoB,GACrB;IACE,EAAE,EAAE,MAAM,CAAC;CACZ,GACD;IACE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN,MAAM,MAAM,SAAS,CAAC,MAAM,SAAS,QAAQ,IAAI,eAAe,GAC9D,mBAAmB,GACnB,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,CAAC;AAEtD,KAAK,iBAAiB,GAAG,CAAC,MAAM,SAAS,QAAQ,EAC/C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,KACrB,SAAS,CAAC;AAEf,eAAO,MAAM,IAAI,EAkED,iBAAiB,CAAC"}
|