@vlian/router 1.0.13 → 1.0.16
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/provider/transform.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,WAAW,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,YAAY,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;CAC9B,CAAA;AAGD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,qBAAqB,EAAE,aAAY,MAAM,GAAG,SAAe,EAAE,UAAU,sBAAsB;;;
|
|
1
|
+
{"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../src/provider/transform.tsx"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,WAAW,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,qBAAqB,GAAG;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,YAAY,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,sBAAsB,GAAG;IACjC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;CAC9B,CAAA;AAGD,eAAO,MAAM,kBAAkB,GAAI,QAAQ,qBAAqB,EAAE,aAAY,MAAM,GAAG,SAAe,EAAE,UAAU,sBAAsB;;;CA6NvI,CAAA"}
|
|
@@ -286,7 +286,14 @@ export var useRouterTransform = function(config) {
|
|
|
286
286
|
}
|
|
287
287
|
// 获取转换配置
|
|
288
288
|
function convertConfig(m) {
|
|
289
|
+
if (!m) {
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
289
292
|
var action = m.action, loader = m.loader, shouldRevalidate = m.shouldRevalidate, Component = m.default;
|
|
293
|
+
// 如果 Component 不存在,记录警告
|
|
294
|
+
if (!Component) {
|
|
295
|
+
console.warn("路由组件未找到 default 导出: ".concat(name), m);
|
|
296
|
+
}
|
|
290
297
|
return {
|
|
291
298
|
action: action,
|
|
292
299
|
loader: loader,
|
|
@@ -359,8 +366,9 @@ export var useRouterTransform = function(config) {
|
|
|
359
366
|
if ((layout || isGroup) && !index) {
|
|
360
367
|
return null;
|
|
361
368
|
}
|
|
362
|
-
return _object_spread_props(_object_spread({}, handle
|
|
363
|
-
name: name
|
|
369
|
+
return _object_spread_props(_object_spread({}, handle), {
|
|
370
|
+
name: name,
|
|
371
|
+
path: path
|
|
364
372
|
});
|
|
365
373
|
}
|
|
366
374
|
var reactRoute = {
|
|
@@ -370,7 +378,7 @@ export var useRouterTransform = function(config) {
|
|
|
370
378
|
handle: getHandle(),
|
|
371
379
|
lazy: function() {
|
|
372
380
|
return _async_to_generator(function() {
|
|
373
|
-
var ErrorBoundary,
|
|
381
|
+
var ErrorBoundary, _$config;
|
|
374
382
|
return _ts_generator(this, function(_state) {
|
|
375
383
|
switch(_state.label){
|
|
376
384
|
case 0:
|
|
@@ -380,21 +388,26 @@ export var useRouterTransform = function(config) {
|
|
|
380
388
|
];
|
|
381
389
|
case 1:
|
|
382
390
|
ErrorBoundary = _state.sent();
|
|
383
|
-
_tmp = [
|
|
384
|
-
{
|
|
385
|
-
ErrorBoundary: ErrorBoundary === null || ErrorBoundary === void 0 ? void 0 : ErrorBoundary.default
|
|
386
|
-
}
|
|
387
|
-
];
|
|
388
391
|
return [
|
|
389
392
|
4,
|
|
390
393
|
getConfig()
|
|
391
394
|
];
|
|
392
395
|
case 2:
|
|
396
|
+
_$config = _state.sent();
|
|
397
|
+
// 如果配置为空,确保至少返回一个空对象,避免展开 undefined
|
|
398
|
+
if (!_$config) {
|
|
399
|
+
return [
|
|
400
|
+
2,
|
|
401
|
+
{
|
|
402
|
+
ErrorBoundary: ErrorBoundary === null || ErrorBoundary === void 0 ? void 0 : ErrorBoundary.default
|
|
403
|
+
}
|
|
404
|
+
];
|
|
405
|
+
}
|
|
393
406
|
return [
|
|
394
407
|
2,
|
|
395
|
-
_object_spread
|
|
396
|
-
|
|
397
|
-
|
|
408
|
+
_object_spread({
|
|
409
|
+
ErrorBoundary: ErrorBoundary === null || ErrorBoundary === void 0 ? void 0 : ErrorBoundary.default
|
|
410
|
+
}, _$config)
|
|
398
411
|
];
|
|
399
412
|
}
|
|
400
413
|
});
|
package/dist/router/router.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DOMRouterOpts, type MemoryRouterOpts } from 'react-router-dom';
|
|
1
|
+
import { DOMRouterOpts, type DataRouter, type MemoryRouterOpts } from 'react-router-dom';
|
|
2
2
|
import { navigator } from "../provider";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type { RouteItem } from '../types';
|
|
@@ -8,6 +8,15 @@ declare global {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
export type RouterMode = 'browser' | 'hash' | 'memory';
|
|
11
|
+
/**
|
|
12
|
+
* RouterProvider 通过 ref 暴露的接口
|
|
13
|
+
*/
|
|
14
|
+
export interface RouterProviderRef {
|
|
15
|
+
/**
|
|
16
|
+
* 获取路由实例
|
|
17
|
+
*/
|
|
18
|
+
getRouter: () => DataRouter | undefined;
|
|
19
|
+
}
|
|
11
20
|
export type RouterProviderProps = {
|
|
12
21
|
fetchRoutes: () => Promise<RouteItem[]>;
|
|
13
22
|
imports: Record<string, any>;
|
|
@@ -21,5 +30,5 @@ export type RouterProviderProps = {
|
|
|
21
30
|
loadingColor?: string;
|
|
22
31
|
loadingOpacity?: number;
|
|
23
32
|
};
|
|
24
|
-
export declare const RouterProvider: React.
|
|
33
|
+
export declare const RouterProvider: React.ForwardRefExoticComponent<RouterProviderProps & React.RefAttributes<RouterProviderRef>>;
|
|
25
34
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,KAAK,UAAU,EAAyF,KAAK,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAC9K,OAAO,EAAqB,SAAS,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,KAA6D,MAAM,OAAO,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,OAAO,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;KACvC;CACF;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,eAAO,MAAM,cAAc,+FAwEzB,CAAC"}
|
package/dist/router/router.js
CHANGED
|
@@ -46,10 +46,10 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
46
46
|
}
|
|
47
47
|
import { RouterProvider as Provider, createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';
|
|
48
48
|
import { useRouterTransform, navigator } from "../provider";
|
|
49
|
-
import React, { useState, useEffect } from 'react';
|
|
49
|
+
import React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';
|
|
50
50
|
import { staticRoutes as defaultStaticRoutes } from './routes';
|
|
51
51
|
import { useSquareRotate2Styles } from '../styles/square-rotate';
|
|
52
|
-
export var RouterProvider = function(param) {
|
|
52
|
+
export var RouterProvider = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
53
53
|
var fetchRoutes = param.fetchRoutes, imports = param.imports, _param_rootRoutes = param.rootRoutes, rootRoutes = _param_rootRoutes === void 0 ? '/' : _param_rootRoutes, _param_staticRoutes = param.staticRoutes, staticRoutes = _param_staticRoutes === void 0 ? defaultStaticRoutes : _param_staticRoutes, options = param.options, _param_routerMode = param.routerMode, routerMode = _param_routerMode === void 0 ? 'browser' : _param_routerMode, _param_isSubApp = param.isSubApp, isSubApp = _param_isSubApp === void 0 ? false : _param_isSubApp, loadingRender = param.loadingRender, _param_loadingSize = param.loadingSize, loadingSize = _param_loadingSize === void 0 ? '24px' : _param_loadingSize, _param_loadingColor = param.loadingColor, loadingColor = _param_loadingColor === void 0 ? 'currentColor' : _param_loadingColor, _param_loadingOpacity = param.loadingOpacity, loadingOpacity = _param_loadingOpacity === void 0 ? 0.25 : _param_loadingOpacity;
|
|
54
54
|
var _useState = _sliced_to_array(useState(), 2), dataRouter = _useState[0], setDataRouter = _useState[1];
|
|
55
55
|
var styles = useSquareRotate2Styles().styles;
|
|
@@ -88,6 +88,16 @@ export var RouterProvider = function(param) {
|
|
|
88
88
|
options,
|
|
89
89
|
isSubApp
|
|
90
90
|
]);
|
|
91
|
+
// 通过 ref 暴露路由实例
|
|
92
|
+
useImperativeHandle(ref, function() {
|
|
93
|
+
return {
|
|
94
|
+
getRouter: function() {
|
|
95
|
+
return dataRouter;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}, [
|
|
99
|
+
dataRouter
|
|
100
|
+
]);
|
|
91
101
|
if (!routeObject || !dataRouter) {
|
|
92
102
|
return /*#__PURE__*/ React.createElement("div", {
|
|
93
103
|
className: "w-full h-full flex-center",
|
|
@@ -110,4 +120,5 @@ export var RouterProvider = function(param) {
|
|
|
110
120
|
return /*#__PURE__*/ React.createElement(Provider, {
|
|
111
121
|
router: dataRouter
|
|
112
122
|
});
|
|
113
|
-
};
|
|
123
|
+
});
|
|
124
|
+
RouterProvider.displayName = 'RouterProvider';
|