mobx-route 0.0.76 → 0.0.78

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/README.md CHANGED
@@ -19,6 +19,7 @@
19
19
  _Uses [`path-to-regexp` power](https://www.npmjs.com/package/path-to-regexp)_
20
20
 
21
21
 
22
+ ## WIP
22
23
  ## Documentation is [here](https://js2me.github.io/mobx-route)
23
24
 
24
25
 
@@ -1,7 +1,7 @@
1
1
  import { History, IQueryParams } from 'mobx-location-history';
2
2
  import { ParamData, TokenData } from 'path-to-regexp';
3
3
  import { AllPropertiesOptional, AnyObject, Maybe, MaybePromise } from 'yummies/utils/types';
4
- import { AnyRoute, BeforeEnterFeedback, PreparedNavigationData, ExtractPathParams, RouteConfiguration, ParsedPathData, RouteNavigateParams } from './route.types.js';
4
+ import { AnyRoute, BeforeOpenFeedback, PreparedNavigationData, ExtractPathParams, RouteConfiguration, ParsedPathData, RouteNavigateParams } from './route.types.js';
5
5
  /**
6
6
  * Class for creating path based route.
7
7
  *
@@ -85,7 +85,7 @@ export declare class Route<TPath extends string, TParams extends AnyObject = Ext
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<BeforeEnterFeedback>;
88
+ protected beforeOpen(openData: PreparedNavigationData): 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":"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"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.ts"],"names":[],"mappings":"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"}
@@ -52,10 +52,10 @@ export class Route {
52
52
  action(this, 'addChildren');
53
53
  action(this, 'removeChildren');
54
54
  makeObservable(this);
55
- if (this.config.onOpen) {
56
- when(() => this.isOpened, () => this.config.onOpen(this.parsedPathData, this), this.abortController);
55
+ if (this.config.afterOpen) {
56
+ when(() => this.isOpened, () => this.config.afterOpen(this.parsedPathData, this), this.abortController);
57
57
  }
58
- if (!config.onOpen && !config.afterClose) {
58
+ if (!config.afterOpen && !config.afterClose) {
59
59
  return;
60
60
  }
61
61
  let firstReactionCall = true;
@@ -68,7 +68,7 @@ export class Route {
68
68
  }
69
69
  }
70
70
  if (isOpened) {
71
- config.onOpen?.(this.parsedPathData, this);
71
+ config.afterOpen?.(this.parsedPathData, this);
72
72
  }
73
73
  else {
74
74
  config.afterClose?.();
@@ -142,7 +142,7 @@ export class Route {
142
142
  * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#isopened-boolean)
143
143
  */
144
144
  get isOpened() {
145
- if (this.parsedPathData === null) {
145
+ if (this.params === null || this.parsedPathData === null) {
146
146
  return false;
147
147
  }
148
148
  return (!this.config.checkOpened || this.config.checkOpened(this.parsedPathData));
@@ -17,18 +17,11 @@ export type PreparedNavigationData<TParams extends AnyObject = AnyObject> = {
17
17
  /**
18
18
  * Returning `false` means ignore navigation
19
19
  */
20
- export type BeforeEnterFeedback = void | boolean | {
20
+ export type BeforeOpenFeedback = void | boolean | {
21
21
  url: string;
22
22
  state?: any;
23
23
  replace?: boolean;
24
24
  };
25
- export type AfterLeaveFeedback = void | boolean | {
26
- url: string;
27
- state?: any;
28
- replace?: boolean;
29
- };
30
- export type BeforeOpenHandler<TParams extends AnyObject = AnyObject> = (preparedNavigationData: PreparedNavigationData<TParams>) => MaybePromise<BeforeEnterFeedback>;
31
- export type AfterCloseHandler = () => void;
32
25
  export interface RouteConfiguration<TPath extends string, TParams extends AnyObject = ParsedPathParams<TPath>, TParentRoute extends AnyRoute | null = null> extends Partial<RouteGlobalConfig> {
33
26
  abortSignal?: AbortSignal;
34
27
  index?: boolean;
@@ -39,9 +32,9 @@ export interface RouteConfiguration<TPath extends string, TParams extends AnyObj
39
32
  children?: AnyRoute[];
40
33
  params?: (params: ExtractPathParams<TPath>) => TParams | null | false;
41
34
  checkOpened?: (parsedPathData: ParsedPathData<NoInfer<TPath>>) => boolean;
42
- beforeOpen?: BeforeOpenHandler<NoInfer<TParams>>;
43
- afterClose?: AfterCloseHandler;
44
- onOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<TParams>, NoInfer<TParentRoute>>) => void;
35
+ beforeOpen?: (preparedNavigationData: PreparedNavigationData<NoInfer<TParams>>) => MaybePromise<BeforeOpenFeedback>;
36
+ afterClose?: () => void;
37
+ afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<TParams>, NoInfer<TParentRoute>>) => void;
45
38
  }
46
39
  export type AnyRoute = Route<string, any, any>;
47
40
  export type PathParam = string | number | boolean | null;
@@ -1 +1 @@
1
- {"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.types.d.ts","sourceRoot":"","sources":["../../../src/core/route/route.types.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,31 @@
1
1
  import { IQueryParams } from 'mobx-location-history';
2
- import { FnValue } from 'yummies/common';
3
2
  import { AllPropertiesOptional, AnyObject, EmptyObject, Maybe } from 'yummies/utils/types';
4
- import { VirtualRouteConfiguration } from './virtual-route.types.js';
3
+ import { VirtualOpenExtraParams, VirtualRouteConfiguration } from './virtual-route.types.js';
5
4
  /**
6
5
  * Class for creating routes with custom activation logic
7
6
  *
8
7
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html)
9
8
  */
10
- export declare class VirtualRoute<TParams extends AnyObject | EmptyObject = EmptyObject> extends String {
9
+ export declare class VirtualRoute<TParams extends AnyObject | EmptyObject = EmptyObject> {
11
10
  protected config: VirtualRouteConfiguration<TParams>;
12
11
  protected abortController: AbortController;
13
12
  query: IQueryParams;
14
13
  params: TParams | null;
15
- private checkOpened;
14
+ private isLocalOpened;
15
+ private openChecker;
16
16
  constructor(config?: VirtualRouteConfiguration<TParams>);
17
17
  /**
18
18
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#isopened-boolean)
19
19
  */
20
20
  get isOpened(): boolean;
21
21
  /**
22
- * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#setresolver-checkopened-void)
22
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#setopenchecker-openchecker-void)
23
23
  */
24
- setResolver(checkOpened: FnValue<boolean>): void;
24
+ setOpenChecker(openChecker: Maybe<VirtualRouteConfiguration<TParams>['checkOpened']>): void;
25
25
  /**
26
- * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#open-params-query-void)
26
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#open-params-extraparams-query-replace-promise-void)
27
27
  */
28
- open(...args: AllPropertiesOptional<TParams> extends true ? [params?: Maybe<TParams>, query?: AnyObject] : [params: TParams, query?: AnyObject]): void;
28
+ open(...args: AllPropertiesOptional<TParams> extends true ? [params?: Maybe<TParams>, extraParams?: VirtualOpenExtraParams] : [params: TParams, extraParams?: VirtualOpenExtraParams]): Promise<void>;
29
29
  /**
30
30
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#close-void)
31
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-route.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAkB,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,KAAK,EACN,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAErE;;;;GAIG;AACH,qBAAa,YAAY,CACvB,OAAO,SAAS,SAAS,GAAG,WAAW,GAAG,WAAW,CACrD,SAAQ,MAAM;IAOF,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC,OAAO,CAAC;IANhE,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IAEvB,OAAO,CAAC,WAAW,CAAkC;gBAE/B,MAAM,GAAE,yBAAyB,CAAC,OAAO,CAAM;IA2CrE;;OAEG;IACH,IAAI,QAAQ,YAEX;IAED;;OAEG;IACH,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC;IAIzC;;OAEG;IACH,IAAI,CACF,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,IAAI,GAChD,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GAC5C,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,CAAC,GACvC,IAAI;IAcP;;OAEG;IACH,KAAK;IASL,OAAO;CAGR"}
1
+ {"version":3,"file":"virtual-route.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,KAAK,EACN,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EAC1B,MAAM,0BAA0B,CAAC;AAElC;;;;GAIG;AACH,qBAAa,YAAY,CACvB,OAAO,SAAS,SAAS,GAAG,WAAW,GAAG,WAAW;IAUzC,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;IA2CrE;;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,qBAAqB,CAAC,OAAO,CAAC,SAAS,IAAI,GAChD,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,32 +1,34 @@
1
1
  import { LinkedAbortController } from 'linked-abort-controller';
2
- import { action, computed, makeObservable, observable, reaction } from 'mobx';
3
- import { resolveFnValue } from 'yummies/common';
2
+ import { action, computed, makeObservable, observable, reaction, runInAction, } from 'mobx';
3
+ import { callFunction } from 'yummies/common';
4
4
  import { routeConfig } from '../config/index.js';
5
5
  /**
6
6
  * Class for creating routes with custom activation logic
7
7
  *
8
8
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html)
9
9
  */
10
- export class VirtualRoute extends String {
10
+ export class VirtualRoute {
11
11
  config;
12
12
  abortController;
13
13
  query;
14
14
  params;
15
- checkOpened;
15
+ isLocalOpened;
16
+ openChecker;
16
17
  constructor(config = {}) {
17
- super(config.stringContent);
18
18
  this.config = config;
19
19
  this.abortController = new LinkedAbortController(config.abortSignal);
20
20
  this.query = config.queryParams ?? routeConfig.get().queryParams;
21
- this.params = resolveFnValue(config.initialParams, this) ?? null;
22
- this.checkOpened = config.checkOpened;
21
+ this.params = callFunction(config.initialParams, this) ?? null;
22
+ this.openChecker = config.checkOpened;
23
+ this.isLocalOpened = observable.box(this.openChecker?.(this) ?? false);
23
24
  observable(this, 'params');
24
- observable.ref(this, 'checkOpened');
25
+ observable.ref(this, '_isOpened');
25
26
  computed.struct(this, 'isOpened');
27
+ action(this, 'setOpenChecker');
26
28
  action(this, 'open');
27
29
  action(this, 'close');
28
30
  makeObservable(this);
29
- if (config.onOpen || config.afterClose) {
31
+ if (config.afterOpen || config.afterClose) {
30
32
  let firstReactionCall = true;
31
33
  reaction(() => this.isOpened, (isOpened) => {
32
34
  if (firstReactionCall) {
@@ -37,7 +39,7 @@ export class VirtualRoute extends String {
37
39
  }
38
40
  }
39
41
  if (isOpened) {
40
- config.onOpen?.(this.params, this);
42
+ config.afterOpen?.(this.params, this);
41
43
  }
42
44
  else {
43
45
  config.afterClose?.();
@@ -52,35 +54,57 @@ export class VirtualRoute extends String {
52
54
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#isopened-boolean)
53
55
  */
54
56
  get isOpened() {
55
- return this.checkOpened != null && resolveFnValue(this.checkOpened, this);
57
+ const isOuterOpened = this.openChecker == null || this.openChecker(this);
58
+ return this.isLocalOpened.get() && isOuterOpened;
56
59
  }
57
60
  /**
58
- * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#setresolver-checkopened-void)
61
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#setopenchecker-openchecker-void)
59
62
  */
60
- setResolver(checkOpened) {
61
- this.checkOpened = checkOpened;
63
+ setOpenChecker(openChecker) {
64
+ this.openChecker = openChecker;
62
65
  }
63
- open(...args) {
64
- this.params = args[0] ?? {};
65
- if (args[1] != null) {
66
- this.query.update(args[1]);
66
+ async open(...args) {
67
+ const params = (args[0] ?? {});
68
+ const extraParams = args[1];
69
+ if (this.config.beforeOpen) {
70
+ const beforeOpenResult = await this.config.beforeOpen(params, this);
71
+ if (beforeOpenResult === false) {
72
+ return;
73
+ }
67
74
  }
68
75
  if (this.config.open == null) {
69
- this.checkOpened = true;
76
+ this.isLocalOpened.set(true);
70
77
  }
71
78
  else {
72
- this.checkOpened = this.config.open(this.params, this);
79
+ const result = await this.config.open(params, this);
80
+ // because result can return void so this is truthy for opening state
81
+ this.isLocalOpened.set(result !== false);
73
82
  }
83
+ if (!this.isLocalOpened) {
84
+ return;
85
+ }
86
+ if (extraParams?.query) {
87
+ this.query.update(extraParams.query, extraParams.replace);
88
+ }
89
+ runInAction(() => {
90
+ this.params = params;
91
+ });
74
92
  }
75
93
  /**
76
94
  * [**Documentation**](https://js2me.github.io/mobx-route/core/VirtualRoute.html#close-void)
77
95
  */
78
96
  close() {
79
- if (this.config.close != null) {
80
- this.checkOpened = this.config.close(this);
81
- return;
97
+ if (this.config.close == null) {
98
+ this.isLocalOpened.set(false);
99
+ }
100
+ else {
101
+ const result = this.config.close(this);
102
+ // because result can return void so this is truthy for opening state
103
+ this.isLocalOpened.set(result !== false);
82
104
  }
83
- this.checkOpened = false;
105
+ runInAction(() => {
106
+ this.params = null;
107
+ });
84
108
  }
85
109
  destroy() {
86
110
  this.abortController.abort();
@@ -1,17 +1,20 @@
1
1
  import { IQueryParams } from 'mobx-location-history';
2
- import { FnValue } from 'yummies/common';
3
- import { AllPropertiesOptional, AnyObject, EmptyObject, Maybe } from 'yummies/utils/types';
2
+ import { AllPropertiesOptional, AnyObject, EmptyObject, Maybe, MaybeFn, MaybePromise } from 'yummies/utils/types';
4
3
  import type { VirtualRoute } from './virtual-route.js';
5
4
  export type AnyVirtualRoute = VirtualRoute<any>;
5
+ export interface VirtualOpenExtraParams {
6
+ query?: AnyObject;
7
+ replace?: boolean;
8
+ }
6
9
  export interface VirtualRouteConfiguration<TParams extends AnyObject | EmptyObject = EmptyObject> {
7
10
  abortSignal?: AbortSignal;
8
11
  queryParams?: IQueryParams;
9
- checkOpened?: FnValue<boolean, [route: VirtualRoute<TParams>]>;
10
- initialParams?: FnValue<Maybe<TParams>, [route: VirtualRoute<TParams>]>;
11
- open?: (...args: AllPropertiesOptional<TParams> extends true ? [params: Maybe<TParams>, route: VirtualRoute<TParams>] : [params: TParams, route: VirtualRoute<TParams>]) => boolean;
12
- close?: (route: VirtualRoute<TParams>) => boolean;
13
- onOpen?: (params: TParams, route: VirtualRoute<TParams>) => void;
12
+ initialParams?: MaybeFn<Maybe<TParams>, [route: VirtualRoute<TParams>]>;
13
+ open?: (...args: AllPropertiesOptional<TParams> extends true ? [params: Maybe<TParams>, route: VirtualRoute<TParams>] : [params: TParams, route: VirtualRoute<TParams>]) => MaybePromise<boolean | void>;
14
+ close?: (route: VirtualRoute<TParams>) => boolean | void;
15
+ checkOpened?: (route: VirtualRoute<TParams>) => boolean;
16
+ beforeOpen?: (...args: AllPropertiesOptional<TParams> extends true ? [params: Maybe<TParams>, route: VirtualRoute<TParams>] : [params: TParams, route: VirtualRoute<TParams>]) => MaybePromise<void | boolean>;
14
17
  afterClose?: () => void;
15
- stringContent?: string;
18
+ afterOpen?: (params: NoInfer<TParams>, route: VirtualRoute<NoInfer<TParams>>) => void;
16
19
  }
17
20
  //# sourceMappingURL=virtual-route.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual-route.types.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,KAAK,EACN,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,SAAS,GAAG,WAAW,GAAG,WAAW;IAErD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,EAAE,CACL,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,IAAI,GAChD,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GACtD,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,KAChD,OAAO,CAAC;IAGb,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAClD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IACjE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
1
+ {"version":3,"file":"virtual-route.types.d.ts","sourceRoot":"","sources":["../../../src/core/virtual-route/virtual-route.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,WAAW,EACX,KAAK,EACL,OAAO,EACP,YAAY,EACb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;AAEhD,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB,CACxC,OAAO,SAAS,SAAS,GAAG,WAAW,GAAG,WAAW;IAErD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAIxE,IAAI,CAAC,EAAE,CACL,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,IAAI,GAChD,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GACtD,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,KAChD,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAGlC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,OAAO,GAAG,IAAI,CAAC;IAEzD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IACxD,UAAU,CAAC,EAAE,CACX,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,SAAS,IAAI,GAChD,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,GACtD,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,KAChD,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,CACV,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,EACxB,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAClC,IAAI,CAAC;CACX"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-route",
3
- "version": "0.0.76",
3
+ "version": "0.0.78",
4
4
  "keywords": [
5
5
  "mobx",
6
6
  "react",
@@ -26,7 +26,7 @@
26
26
  "mobx-location-history": "^6.1.0",
27
27
  "path-to-regexp": "^8.2.0",
28
28
  "react-simple-loadable": "^2.1.0",
29
- "yummies": "^3.2.10"
29
+ "yummies": "^3.2.13"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "@types/react": "^18.3.20",