@gulibs/vgrove-ui
Version:
VGrove UI component library built with HeroUI and React
243 lines • 8.76 kB
TypeScript
/**
* 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