@viewfly/router 1.0.0-alpha.8 → 1.0.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.
@@ -0,0 +1,95 @@
1
+ import * as _viewfly_core_jsx_runtime from '@viewfly/core/jsx-runtime';
2
+ import { ComponentSetup, Props, Module, Application } from '@viewfly/core';
3
+ import { Observable } from '@tanbo/stream';
4
+
5
+ interface RouteConfig {
6
+ path: string;
7
+ component?: ComponentSetup;
8
+ asyncComponent?: () => Promise<ComponentSetup>;
9
+ beforeEach?(): boolean | Promise<boolean>;
10
+ }
11
+ declare class Router {
12
+ private navigator;
13
+ parent: Router | null;
14
+ path: string;
15
+ onRefresh: Observable<void>;
16
+ get pathname(): string;
17
+ get beforePath(): string;
18
+ private refreshEvent;
19
+ constructor(navigator: Navigator, parent: Router | null, path: string);
20
+ navigateTo(path: string, params?: QueryParams, fragment?: string): void;
21
+ replaceTo(path: string, params?: QueryParams): void;
22
+ refresh(path: string): void;
23
+ consumeConfig(routes: RouteConfig[]): {
24
+ remainingPath: string;
25
+ routeConfig: RouteConfig;
26
+ } | null;
27
+ back(): void;
28
+ forward(): void;
29
+ go(offset: number): void;
30
+ private matchRoute;
31
+ }
32
+
33
+ interface QueryParams {
34
+ [key: string]: string | string[];
35
+ }
36
+ declare abstract class Navigator {
37
+ baseUrl: string;
38
+ protected constructor(baseUrl: string);
39
+ abstract onUrlChanged: Observable<void>;
40
+ abstract get pathname(): string;
41
+ abstract to(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
42
+ abstract replace(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
43
+ abstract join(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): string;
44
+ abstract back(): void;
45
+ abstract forward(): void;
46
+ abstract go(offset: number): void;
47
+ abstract destroy(): void;
48
+ }
49
+ interface UrlFormatParams {
50
+ queryParams?: QueryParams;
51
+ fragment?: string;
52
+ }
53
+ declare function formatUrl(pathname: string, urlFormatParams: UrlFormatParams): string;
54
+ declare function formatQueryParams(queryParams: QueryParams): string;
55
+ declare class BrowserNavigator extends Navigator {
56
+ onUrlChanged: Observable<void>;
57
+ get pathname(): string;
58
+ private urlChangeEvent;
59
+ private subscription;
60
+ constructor(baseUrl: string);
61
+ to(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
62
+ replace(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
63
+ join(pathname: string, relative: Router, queryParams?: QueryParams, fragment?: string): string;
64
+ back(): void;
65
+ forward(): void;
66
+ go(offset: number): void;
67
+ destroy(): void;
68
+ }
69
+
70
+ interface LinkProps extends Props {
71
+ to: string;
72
+ active?: string;
73
+ exact?: boolean;
74
+ queryParams?: QueryParams;
75
+ fragment?: string;
76
+ tag?: string;
77
+ [key: string]: any;
78
+ }
79
+ declare function Link(props: LinkProps): () => _viewfly_core_jsx_runtime.JSX.Element;
80
+
81
+ interface RouterOutletProps extends Props {
82
+ config: RouteConfig[];
83
+ }
84
+ declare const RouterOutlet: (props: RouterOutletProps) => () => _viewfly_core_jsx_runtime.JSX.Element;
85
+
86
+ declare class RouterModule implements Module {
87
+ baseUrl: string;
88
+ private subscription;
89
+ private navigator;
90
+ constructor(baseUrl?: string);
91
+ setup(app: Application): void;
92
+ onDestroy(): void;
93
+ }
94
+
95
+ export { BrowserNavigator, Link, type LinkProps, Navigator, type QueryParams, type RouteConfig, Router, RouterModule, RouterOutlet, type RouterOutletProps, type UrlFormatParams, formatQueryParams, formatUrl };
package/package.json CHANGED
@@ -1,19 +1,21 @@
1
1
  {
2
2
  "name": "@viewfly/router",
3
- "version": "1.0.0-alpha.8",
3
+ "version": "1.0.0",
4
4
  "description": "A routing library based on the Viewfly framework that can be run in the browser or Nodejs background.",
5
5
  "main": "./bundles/index.js",
6
6
  "module": "./bundles/index.esm.js",
7
- "typings": "./bundles/public-api.d.ts",
7
+ "typings": "./bundles/index.d.ts",
8
8
  "scripts": {
9
- "build:lib": "rimraf bundles && rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
9
+ "build:lib": "rimraf bundles && npm run build && npm run build-d",
10
+ "build": "rollup --config rollup.config.ts --configPlugin @rollup/plugin-typescript",
11
+ "build-d": "rollup --config rollup-d.config.ts --configPlugin @rollup/plugin-typescript",
10
12
  "publish:lib": "npm run build:lib && npm publish --access=public"
11
13
  },
12
14
  "license": "MIT",
13
15
  "keywords": [],
14
16
  "dependencies": {
15
17
  "@tanbo/stream": "^1.2.4",
16
- "@viewfly/core": "^1.0.0-alpha.8",
18
+ "@viewfly/core": "^1.0.0",
17
19
  "url": "^0.11.1"
18
20
  },
19
21
  "devDependencies": {
@@ -21,6 +23,7 @@
21
23
  "@rollup/plugin-typescript": "^11.1.2",
22
24
  "rimraf": "^3.0.2",
23
25
  "rollup": "^3.26.3",
26
+ "rollup-plugin-dts": "^6.1.1",
24
27
  "tslib": "^2.6.0"
25
28
  },
26
29
  "author": {
@@ -34,5 +37,5 @@
34
37
  "bugs": {
35
38
  "url": "https://github.com/viewfly/viewfly.git/issues"
36
39
  },
37
- "gitHead": "95538a571b0d2e8a96dbfdc940959605ea06c252"
40
+ "gitHead": "06e8514f95609d0269246f4852ff6f93b76932c2"
38
41
  }
@@ -0,0 +1,14 @@
1
+ import dts from 'rollup-plugin-dts'
2
+
3
+ export default {
4
+ input: 'src/public-api.ts',
5
+ output: [
6
+ {
7
+ file: './bundles/index.d.ts',
8
+ format: 'es'
9
+ }
10
+ ],
11
+ plugins: [
12
+ dts(),
13
+ ]
14
+ }
package/bundles/link.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { Props } from '@viewfly/core';
2
- import { QueryParams } from './providers/_api';
3
- export interface LinkProps extends Props {
4
- to: string;
5
- active?: string;
6
- exact?: boolean;
7
- queryParams?: QueryParams;
8
- fragment?: string;
9
- tag?: string;
10
- [key: string]: any;
11
- }
12
- export declare function Link(props: LinkProps): () => any;
@@ -1,2 +0,0 @@
1
- export * from './navigator';
2
- export * from './router';
@@ -1,38 +0,0 @@
1
- import { Observable } from '@tanbo/stream';
2
- import { Router } from './router';
3
- export interface QueryParams {
4
- [key: string]: string | string[];
5
- }
6
- export declare abstract class Navigator {
7
- baseUrl: string;
8
- protected constructor(baseUrl: string);
9
- abstract onUrlChanged: Observable<void>;
10
- abstract get pathname(): string;
11
- abstract to(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
12
- abstract replace(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
13
- abstract join(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): string;
14
- abstract back(): void;
15
- abstract forward(): void;
16
- abstract go(offset: number): void;
17
- abstract destroy(): void;
18
- }
19
- export interface UrlFormatParams {
20
- queryParams?: QueryParams;
21
- fragment?: string;
22
- }
23
- export declare function formatUrl(pathname: string, urlFormatParams: UrlFormatParams): string;
24
- export declare function formatQueryParams(queryParams: QueryParams): string;
25
- export declare class BrowserNavigator extends Navigator {
26
- onUrlChanged: Observable<void>;
27
- get pathname(): string;
28
- private urlChangeEvent;
29
- private subscription;
30
- constructor(baseUrl: string);
31
- to(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
32
- replace(pathName: string, relative: Router, queryParams?: QueryParams, fragment?: string): boolean;
33
- join(pathname: string, relative: Router, queryParams?: QueryParams, fragment?: string): string;
34
- back(): void;
35
- forward(): void;
36
- go(offset: number): void;
37
- destroy(): void;
38
- }
@@ -1,29 +0,0 @@
1
- import { Observable } from '@tanbo/stream';
2
- import { Navigator, QueryParams } from './navigator';
3
- export interface RouteConfig {
4
- path: string;
5
- component?: JSXInternal.ComponentSetup;
6
- asyncComponent?: () => Promise<JSXInternal.ComponentSetup>;
7
- beforeEach?(): boolean | Promise<boolean>;
8
- }
9
- export declare class Router {
10
- private navigator;
11
- parent: Router | null;
12
- path: string;
13
- onRefresh: Observable<void>;
14
- get pathname(): string;
15
- get beforePath(): string;
16
- private refreshEvent;
17
- constructor(navigator: Navigator, parent: Router | null, path: string);
18
- navigateTo(path: string, params?: QueryParams, fragment?: string): void;
19
- replaceTo(path: string, params?: QueryParams): void;
20
- refresh(path: string): void;
21
- consumeConfig(routes: RouteConfig[]): {
22
- remainingPath: string;
23
- routeConfig: RouteConfig;
24
- } | null;
25
- back(): void;
26
- forward(): void;
27
- go(offset: number): void;
28
- private matchRoute;
29
- }
@@ -1,4 +0,0 @@
1
- export * from './link';
2
- export * from './router-outlet';
3
- export * from './router-module';
4
- export * from './providers/_api';
@@ -1,9 +0,0 @@
1
- import { Application, Module } from '@viewfly/core';
2
- export declare class RouterModule implements Module {
3
- baseUrl: string;
4
- private subscription;
5
- private navigator;
6
- constructor(baseUrl?: string);
7
- setup(app: Application): void;
8
- onDestroy(): void;
9
- }
@@ -1,6 +0,0 @@
1
- import { Props } from '@viewfly/core';
2
- import { RouteConfig } from './providers/_api';
3
- export interface RouterOutletProps extends Props {
4
- config: RouteConfig[];
5
- }
6
- export declare const RouterOutlet: (props: RouterOutletProps) => () => any;