@ly-js/automatic
Version:
automatic of vue
55 lines (54 loc) • 2.38 kB
TypeScript
import type { RouteRecordRaw } from 'vue-router';
import type { Pages, Module, Modules, PageMenu, Options, WebpackRequireContext, ModuleConfig } from '../type';
export default class AutoRouter {
config: Pages;
rootModules: Modules;
options: Options;
pageModules: Modules;
pageModulesConfig: ModuleConfig[];
pageSettingModules: Modules;
pageSetting: Record<string, RouteRecordRaw>;
validModules: Modules;
baseModules: Modules;
excludeModules: Modules;
nestedRoutesList: Array<{
component: string;
routeKeys: string[];
config?: PageMenu;
}>;
initializeRoutes: RouteRecordRaw[];
menuRouteMap: Map<object, [RouteRecordRaw[], PageMenu[]]>;
menuList: PageMenu[];
menuTree: PageMenu[];
addedRoutesName: string[];
existRouteNames: Map<string, number>;
constructor(config: Pages, rootModules: Modules, options: Options);
get router(): import("vue-router").Router;
static webpackToViteModules(modules: WebpackRequireContext, fn: (v: any) => string): Modules;
init(): Promise<void>;
initGlobExclude(modules: Modules): {
[x: string]: () => Promise<Module>;
};
initBaseRouteInfo(): void;
initNestedModules(modules: Modules): Modules;
initRouter(): RouteRecordRaw[];
getRoutesByMenu<T extends PageMenu>(menuTree: T[]): [RouteRecordRaw[], PageMenu[]];
initBaseRouter(filter?: boolean): RouteRecordRaw[];
initNestedRoutes(filter?: boolean): RouteRecordRaw[];
initMenuRoutes(): RouteRecordRaw[];
mergeRoute(route: RouteRecordRaw, modulePath: string): RouteRecordRaw | undefined;
excludeModuleToOtherModules(modules: Modules, keys: string[], container: Modules): {
[x: string]: () => Promise<Module>;
};
removeAddedRoutes(): void;
changeRouter<T extends RouteRecordRaw>(routes: T[], lastRoutes?: RouteRecordRaw[] | undefined): void;
changeInitializeRoutes(): void;
getRouteBaseInfo(path: string, basePath?: string): RouteRecordRaw;
getRouteConfig(path: string): ModuleConfig | undefined;
getPageSetting(path: string): RouteRecordRaw | undefined;
findMenuIndexPath(values: {
name: string;
modulePath?: string;
}): number[] | undefined;
generateRoutes<T extends RouteRecordRaw>(routes?: T[], root?: boolean): string;
}