UNPKG

@gulibs/vgrove-ui

Version:

VGrove UI component library built with HeroUI and React

243 lines 8.76 kB
/** * VGrove Autoroutes 集成工具 * 提供与 @gulibs/vgrove-autoroutes 的深度集成支持 * * 版本: 2.1.0 * 更新: 增强错误处理、类型安全、性能优化和配置验证 */ import type { LoaderFunction } from 'react-router'; import { type LoaderOptions } from './loaders'; import type { BaseUser, AuthOptions, ClientRouteConfigs } from './types'; /** * 路由配置分析器 * 分析和验证路由配置的完整性和依赖关系 */ declare class RouteConfigAnalyzer { /** * 分析路由配置的依赖关系 */ static analyzeDependencies<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): { authRoutes: string[]; roleRoutes: Map<string, string[]>; permissionRoutes: Map<string, string[]>; conflicts: string[]; recommendations: string[]; }; /** * 验证路由配置的完整性 */ static validateConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): { valid: boolean; errors: string[]; warnings: string[]; }; } /** * 路由性能优化器 * 优化路由配置以提升性能 */ declare class RoutePerformanceOptimizer { private static loaderCache; private static actionCache; /** * 缓存 loader 结果 */ static createCachedLoader(originalLoader: LoaderFunction, cacheKey: string, ttl?: number): LoaderFunction; /** * 清除缓存 */ static clearCache(): void; /** * 优化路由配置 */ static optimizeRoutes(routes: any[], options?: { enableLoaderCache?: boolean; cacheStrategy?: 'memory' | 'session' | 'local'; maxCacheSize?: number; }): any[]; } /** * 路由配置解析器 * 用于解析 vgrove-autoroutes 扫描到的路由配置文件 */ export declare class RouteConfigReader { private static configCache; /** * 读取并解析路由配置文件(带重试机制) * @param configPath 配置文件路径 * @returns 解析后的配置对象 */ static readConfig<TUser extends BaseUser = BaseUser>(configPath: string): Promise<ClientRouteConfigs<TUser> | null>; /** * 清除配置缓存 */ static clearCache(): void; /** * 合并多个配置对象 * @param configs 配置对象数组,按优先级排序(后面的会覆盖前面的) * @returns 合并后的配置 */ static mergeConfigs<TUser extends BaseUser = BaseUser>(...configs: (ClientRouteConfigs<TUser> | null)[]): ClientRouteConfigs<TUser>; } /** * 为 vgrove-autoroutes 创建集成的 loader */ export declare class LoaderIntegrator { /** * 根据路由配置创建认证 loader */ static createAuthLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction; /** * 根据路由配置创建角色 loader */ static createRoleLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null; /** * 根据路由配置创建权限 loader */ static createPermissionLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null; /** * 根据路由配置创建组合 loader */ static createCombinedLoaderFromConfig<TUser extends BaseUser = BaseUser>(config: AuthOptions<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction; /** * 根据完整的路由配置创建 loader */ static createLoaderFromRouteConfig<TUser extends BaseUser = BaseUser>(routeConfig: ClientRouteConfigs<TUser>, globalOptions?: LoaderOptions<TUser>): LoaderFunction | null; } /** * 中间件集成器 * 用于将路由配置转换为中间件注册 */ export declare class MiddlewareIntegrator { /** * 根据路由配置注册中间件 */ static registerMiddlewareFromConfig<TUser extends BaseUser = BaseUser>(routePath: string, routeConfig: ClientRouteConfigs<TUser>): void; } /** * 路由增强器 * 为生成的路由添加额外功能 */ export declare class RouteEnhancer { /** * 增强路由配置,添加认证和中间件支持 */ static enhanceRoute<TUser extends BaseUser = BaseUser>(route: any, routePath: string, config?: ClientRouteConfigs<TUser>, globalOptions?: LoaderOptions<TUser>): any; /** * 批量增强路由数组 */ static enhanceRoutes<TUser extends BaseUser = BaseUser>(routes: any[], routeConfigs: Map<string, ClientRouteConfigs<TUser>>, globalOptions?: LoaderOptions<TUser>): any[]; } /** * 智能路由工厂 * 根据不同场景创建优化的路由配置 */ export declare class SmartRouteFactory { /** * 创建认证保护的路由 */ static createProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, authConfig: AuthOptions<TUser>, options?: { layout?: any; errorBoundary?: any; loading?: any; }): any; /** * 创建角色保护的路由 */ static createRoleProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, roles: string[], authConfig?: AuthOptions<TUser>, options?: { layout?: any; errorBoundary?: any; }): any; /** * 创建权限保护的路由 */ static createPermissionProtectedRoute<TUser extends BaseUser = BaseUser>(path: string, component: any, permissions: string[], authConfig?: AuthOptions<TUser>, options?: { layout?: any; errorBoundary?: any; }): any; } /** * 为 vgrove-autoroutes 提供的集成助手 * 这些函数会被 autoroutes 生成的代码调用 */ export declare const AutoroutesIntegration: { /** * 初始化路由配置集成 * @param routeConfigs 路由配置映射 (路径 -> 配置文件路径) * @param globalLoaderOptions 全局 loader 选项 */ initializeRouteConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, string>, globalLoaderOptions?: LoaderOptions<TUser>): Promise<Map<string, LoaderFunction>>; /** * 创建集成的 loader,包含中间件支持 * @param originalLoader 原始 loader */ createIntegratedLoader(originalLoader?: LoaderFunction): LoaderFunction; /** * 获取路由配置管理器 */ getRouteConfigReader(): typeof RouteConfigReader; /** * 获取 loader 集成器 */ getLoaderIntegrator(): typeof LoaderIntegrator; /** * 获取中间件集成器 */ getMiddlewareIntegrator(): typeof MiddlewareIntegrator; /** * 获取路由增强器 */ getRouteEnhancer(): typeof RouteEnhancer; /** * 获取智能路由工厂 */ getSmartRouteFactory(): typeof SmartRouteFactory; /** * 获取路由配置分析器 */ getRouteConfigAnalyzer(): typeof RouteConfigAnalyzer; /** * 获取路由性能优化器 */ getRoutePerformanceOptimizer(): typeof RoutePerformanceOptimizer; /** * 增强路由数组(便捷方法) */ enhanceRoutes<TUser extends BaseUser = BaseUser>(routes: any[], routeConfigs: Map<string, ClientRouteConfigs<TUser>>, globalOptions?: LoaderOptions<TUser>): any[]; /** * 分析路由配置(便捷方法) */ analyzeConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): { authRoutes: string[]; roleRoutes: Map<string, string[]>; permissionRoutes: Map<string, string[]>; conflicts: string[]; recommendations: string[]; }; /** * 验证路由配置(便捷方法) */ validateConfigs<TUser extends BaseUser = BaseUser>(routeConfigs: Map<string, ClientRouteConfigs<TUser>>): { valid: boolean; errors: string[]; warnings: string[]; }; /** * 优化路由性能(便捷方法) */ optimizeRoutes(routes: any[], options?: Parameters<typeof RoutePerformanceOptimizer.optimizeRoutes>[1]): any[]; /** * 创建完整的集成方案 * @param routes 原始路由数组 * @param configPaths 路由配置文件路径映射 * @param globalOptions 全局选项 * @returns 增强后的路由数组 */ createFullIntegration<TUser extends BaseUser = BaseUser>(routes: any[], configPaths: Map<string, string>, globalOptions?: LoaderOptions<TUser>): Promise<any[]>; }; /** * 获取集成工具版本信息 */ export declare const getIntegrationVersion: () => string; export default AutoroutesIntegration; //# sourceMappingURL=autoroutes-integration.d.ts.map