mobx-route 0.0.78 → 0.0.80

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.
@@ -1,13 +1,13 @@
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, BeforeOpenFeedback, PreparedNavigationData, ExtractPathParams, RouteConfiguration, ParsedPathData, RouteNavigateParams } from './route.types.js';
4
+ import { AnyRoute, BeforeOpenFeedback, PreparedNavigationData, ExtractPathParams, RouteConfiguration, ParsedPathData, RouteNavigateParams, ReadOnlyRoute } 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, TParams extends AnyObject = ExtractPathParams<TPath>, TParentRoute extends Route<any, any, any> | null = null> {
10
+ export declare class Route<TPath extends string, TParams extends AnyObject = ExtractPathParams<TPath>, TParentRoute extends Route<any, any, any> | null = null> implements ReadOnlyRoute<TPath, TParams, TParentRoute> {
11
11
  path: TPath;
12
12
  protected config: RouteConfiguration<TPath, TParams, TParentRoute>;
13
13
  protected abortController: AbortController;
@@ -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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"}
@@ -1,7 +1,47 @@
1
+ import { IQueryParams } from 'mobx-location-history';
1
2
  import { ParseOptions } from 'path-to-regexp';
2
3
  import { AnyObject, MaybePromise } from 'yummies/utils/types';
3
4
  import { RouteGlobalConfig } from '../config/config.types.js';
4
- import type { Route } from './route.js';
5
+ import { Route } from './route.js';
6
+ export interface ReadOnlyRoute<TPath extends string, TParams extends AnyObject = ExtractPathParams<TPath>, TParentRoute extends AnyRoute | null = null> {
7
+ readonly parent: NoInfer<TParentRoute>;
8
+ readonly query: IQueryParams;
9
+ /**
10
+ * Indicates if this route is an index route. Index routes activate when parent route path matches exactly.
11
+ *
12
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#isindex-boolean)
13
+ */
14
+ readonly isIndex: boolean;
15
+ /**
16
+ * Indicates if this route is an hash route.
17
+ *
18
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#ishash-boolean)
19
+ */
20
+ readonly isHash: boolean;
21
+ readonly children: AnyRoute[];
22
+ /**
23
+ * Matched path segment for current URL.
24
+ *
25
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#currentpath-parsedpathname-null)
26
+ */
27
+ readonly currentPath: string | null;
28
+ /**
29
+ * Current parsed path parameters.
30
+ *
31
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#params-parsedpathparams-null)
32
+ */
33
+ readonly params: TParams | null;
34
+ /**
35
+ * Defines the "open" state for this route.
36
+ *
37
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#isopened-boolean)
38
+ */
39
+ readonly isOpened: boolean;
40
+ /**
41
+ * [**Documentation**](https://js2me.github.io/mobx-route/core/Route.html#hasopenedchildren-boolean)
42
+ */
43
+ readonly hasOpenedChildren: boolean;
44
+ }
5
45
  export type PreparedNavigationData<TParams extends AnyObject = AnyObject> = {
6
46
  state?: any;
7
47
  /**
@@ -34,8 +74,9 @@ export interface RouteConfiguration<TPath extends string, TParams extends AnyObj
34
74
  checkOpened?: (parsedPathData: ParsedPathData<NoInfer<TPath>>) => boolean;
35
75
  beforeOpen?: (preparedNavigationData: PreparedNavigationData<NoInfer<TParams>>) => MaybePromise<BeforeOpenFeedback>;
36
76
  afterClose?: () => void;
37
- afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: Route<NoInfer<TPath>, NoInfer<TParams>, NoInfer<TParentRoute>>) => void;
77
+ afterOpen?: (data: ParsedPathData<NoInfer<TPath>>, route: ReadOnlyRoute<NoInfer<TPath>, NoInfer<TParams>, NoInfer<TParentRoute>>) => void;
38
78
  }
79
+ export type AnyReadOnlyRoute = ReadOnlyRoute<string, any, any>;
39
80
  export type AnyRoute = Route<string, any, any>;
40
81
  export type PathParam = string | number | boolean | null;
41
82
  export type PathParsedParam = string;
@@ -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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"}
@@ -41,7 +41,7 @@ export class RouteGroup {
41
41
  */
42
42
  open(...args) {
43
43
  let lastGroupRoute;
44
- if (this.indexRoute) {
44
+ if (this.indexRoute && 'open' in this.indexRoute) {
45
45
  this.indexRoute.open(...args);
46
46
  return;
47
47
  }
@@ -1,8 +1,8 @@
1
- import type { AnyRoute } from '../route/index.js';
1
+ import type { AnyReadOnlyRoute, AnyRoute } from '../route/index.js';
2
2
  import { AnyVirtualRoute } from '../virtual-route/index.js';
3
3
  import type { RouteGroup } from './route-group.js';
4
4
  export type AnyRouteGroup = RouteGroup<RoutesCollection>;
5
- export type AnyRouteEntity = AnyRoute | AnyRouteGroup | AnyVirtualRoute;
5
+ export type AnyRouteEntity = AnyReadOnlyRoute | AnyRoute | AnyRouteGroup | AnyVirtualRoute;
6
6
  export type RoutesArrayCollection = AnyRouteEntity[];
7
7
  export type RoutesObjectCollection = Record<string, AnyRouteEntity>;
8
8
  export type RoutesCollection = RoutesArrayCollection | RoutesObjectCollection;
@@ -1 +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,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAEzD,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,GAAG,eAAe,CAAC;AAExE,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
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,gBAAgB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAEzD,MAAM,MAAM,cAAc,GACtB,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG,cAAc,EAAE,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,sBAAsB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-route",
3
- "version": "0.0.78",
3
+ "version": "0.0.80",
4
4
  "keywords": [
5
5
  "mobx",
6
6
  "react",
@@ -180,7 +180,6 @@
180
180
  "main": "./index.js",
181
181
  "typings": "./index.d.ts",
182
182
  "scripts": {
183
- "postinstall": "pnpm dev:install-hooks",
184
183
  "clean": "rimraf dist",
185
184
  "lint:check": "eslint . --fix",
186
185
  "ts:check": "tsc --noEmit",
@@ -4,7 +4,7 @@ export type RouteViewComponent<TRouteEntity extends AnyRouteEntity> = ComponentT
4
4
  export interface RouteViewConfigProps<TRouteEntity extends AnyRouteEntity> {
5
5
  route: TRouteEntity;
6
6
  view?: RouteViewComponent<TRouteEntity>;
7
- lazyView?: () => Promise<ComponentType<RouteViewProps<TRouteEntity>>>;
7
+ lazyView?: (route: TRouteEntity) => Promise<ComponentType<RouteViewProps<TRouteEntity>>>;
8
8
  loader?: ComponentType;
9
9
  fallbackView?: ReactNode;
10
10
  children?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"route-view.d.ts","sourceRoot":"","sources":["../../../src/react/components/route-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,cAAc,IAChE,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9C,MAAM,WAAW,oBAAoB,CAAC,YAAY,SAAS,cAAc;IACvE,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,CAAC,YAAY,SAAS,cAAc,IAAI;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,SAAS,QAAQ,GACjC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GACjD,YAAY,SAAS,eAAe,GAClC,YAAY,CAAC,QAAQ,CAAC,GACtB,KAAK,CAAC;CACb,CAAC;AAEF,iBAAS,aAAa,CAAC,YAAY,SAAS,cAAc,EACxD,KAAK,EAAE,oBAAoB,CAAC,YAAY,CAAC,gHA0B1C;AAED,eAAO,MAAM,SAAS;;CAA0B,CAAC"}
1
+ {"version":3,"file":"route-view.d.ts","sourceRoot":"","sources":["../../../src/react/components/route-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAU,MAAM,OAAO,CAAC;AAGzD,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,kBAAkB,CAAC,YAAY,SAAS,cAAc,IAChE,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC;AAE9C,MAAM,WAAW,oBAAoB,CAAC,YAAY,SAAS,cAAc;IACvE,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,YAAY,KAChB,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,CAAC,YAAY,SAAS,cAAc,IAAI;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,YAAY,SAAS,QAAQ,GACjC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC,GACjD,YAAY,SAAS,eAAe,GAClC,YAAY,CAAC,QAAQ,CAAC,GACtB,KAAK,CAAC;CACb,CAAC;AAEF,iBAAS,aAAa,CAAC,YAAY,SAAS,cAAc,EACxD,KAAK,EAAE,oBAAoB,CAAC,YAAY,CAAC,gHA6B1C;AAED,eAAO,MAAM,SAAS;;CAA0B,CAAC"}
@@ -9,7 +9,7 @@ function RouteViewBase(props) {
9
9
  return props.fallbackView ?? null;
10
10
  }
11
11
  if (props.lazyView) {
12
- lazyViewComponentRef.current = loadable(props.lazyView, {
12
+ lazyViewComponentRef.current = loadable(() => props.lazyView(props.route), {
13
13
  loader: props.loader,
14
14
  });
15
15
  Component = lazyViewComponentRef.current;