/* eslint-disable */ /* prettier-ignore */ // Generated by elegant-router // Read more: https://github.com/soybeanjs/elegant-router declare module "@elegant-router/types" { type ElegantConstRoute = import('@elegant-router/vue').ElegantConstRoute; /** * route layout */ export type RouteLayout = "base" | "blank"; /** * route map */ export type RouteMap = { "root": "/"; "not-found": "/:pathMatch(.*)*"; "403": "/403"; "404": "/404"; "500": "/500"; "changeledger": "/changeledger"; "changeledger_mychanges": "/changeledger/mychanges"; "changeledger_workshopchanges": "/changeledger/workshopchanges"; "changestatistics": "/changestatistics"; "docs": "/docs"; "docs_archives": "/docs/archives"; "docs_query": "/docs/query"; "factoryoverview": "/factoryoverview"; "home": "/home"; "login": "/login/:module(pwd-login)?"; "my": "/my"; "my_closeconfirm": "/my/closeconfirm"; "my_datachangecenter": "/my/datachangecenter"; "my_effect": "/my/effect"; "my_highrisk": "/my/highrisk"; "my_highriskdetail": "/my/highriskdetail"; "my_initiatechange": "/my/initiatechange"; "my_mydraft": "/my/mydraft"; "my_mytask": "/my/mytask"; "my_pending": "/my/pending"; "my_pendingchange": "/my/pendingchange"; "my_process": "/my/process"; "my_processdetail": "/my/processdetail"; "my_pssr": "/my/pssr"; "report": "/report"; "riskstatistics": "/riskstatistics"; "signstatistics": "/signstatistics"; "systemmanage": "/systemmanage"; "systemmanage_changepassword": "/systemmanage/changepassword"; "systemmanage_role": "/systemmanage/role"; "systemmanage_setting": "/systemmanage/setting"; "systemmanage_template": "/systemmanage/template"; "systemmanage_user": "/systemmanage/user"; }; /** * route key */ export type RouteKey = keyof RouteMap; /** * route path */ export type RoutePath = RouteMap[RouteKey]; /** * custom route key */ export type CustomRouteKey = Extract< RouteKey, | "root" | "not-found" >; /** * the generated route key */ export type GeneratedRouteKey = Exclude; /** * the first level route key, which contain the layout of the route */ export type FirstLevelRouteKey = Extract< RouteKey, | "403" | "404" | "500" | "changeledger" | "changestatistics" | "docs" | "factoryoverview" | "home" | "login" | "my" | "report" | "riskstatistics" | "signstatistics" | "systemmanage" >; /** * the custom first level route key */ export type CustomFirstLevelRouteKey = Extract< CustomRouteKey, | "root" | "not-found" >; /** * the last level route key, which has the page file */ export type LastLevelRouteKey = Extract< RouteKey, | "403" | "404" | "500" | "changeledger_mychanges" | "changeledger_workshopchanges" | "changestatistics" | "docs_archives" | "docs_query" | "factoryoverview" | "home" | "login" | "my_closeconfirm" | "my_datachangecenter" | "my_effect" | "my_highrisk" | "my_highriskdetail" | "my_initiatechange" | "my_mydraft" | "my_mytask" | "my_pending" | "my_pendingchange" | "my_process" | "my_processdetail" | "my_pssr" | "report" | "riskstatistics" | "signstatistics" | "systemmanage_changepassword" | "systemmanage_role" | "systemmanage_setting" | "systemmanage_template" | "systemmanage_user" >; /** * the custom last level route key */ export type CustomLastLevelRouteKey = Extract< CustomRouteKey, | "root" | "not-found" >; /** * the single level route key */ export type SingleLevelRouteKey = FirstLevelRouteKey & LastLevelRouteKey; /** * the custom single level route key */ export type CustomSingleLevelRouteKey = CustomFirstLevelRouteKey & CustomLastLevelRouteKey; /** * the first level route key, but not the single level */ export type FirstLevelRouteNotSingleKey = Exclude; /** * the custom first level route key, but not the single level */ export type CustomFirstLevelRouteNotSingleKey = Exclude; /** * the center level route key */ export type CenterLevelRouteKey = Exclude; /** * the custom center level route key */ export type CustomCenterLevelRouteKey = Exclude; /** * the center level route key */ type GetChildRouteKey = T extends `${K}_${infer R}` ? R extends `${string}_${string}` ? never : T : never; /** * the single level route */ type SingleLevelRoute = K extends string ? Omit & { name: K; path: RouteMap[K]; component: `layout.${RouteLayout}$view.${K}`; } : never; /** * the last level route */ type LastLevelRoute = K extends LastLevelRouteKey ? Omit & { name: K; path: RouteMap[K]; component: `view.${K}`; } : never; /** * the center level route */ type CenterLevelRoute = K extends CenterLevelRouteKey ? Omit & { name: K; path: RouteMap[K]; children: (CenterLevelRoute> | LastLevelRoute>)[]; } : never; /** * the multi level route */ type MultiLevelRoute = K extends string ? ElegantConstRoute & { name: K; path: RouteMap[K]; component: `layout.${RouteLayout}`; children: (CenterLevelRoute> | LastLevelRoute>)[]; } : never; /** * the custom first level route */ type CustomSingleLevelRoute = K extends string ? Omit & { name: K; path: RouteMap[K]; component?: `layout.${RouteLayout}$view.${LastLevelRouteKey}`; } : never; /** * the custom last level route */ type CustomLastLevelRoute = K extends CustomLastLevelRouteKey ? Omit & { name: K; path: RouteMap[K]; component?: `view.${LastLevelRouteKey}`; } : never; /** * the custom center level route */ type CustomCenterLevelRoute = K extends CustomCenterLevelRouteKey ? Omit & { name: K; path: RouteMap[K]; children: (CustomCenterLevelRoute> | CustomLastLevelRoute>)[]; } : never; /** * the custom multi level route */ type CustomMultiLevelRoute = K extends string ? ElegantConstRoute & { name: K; path: RouteMap[K]; component: `layout.${RouteLayout}`; children: (CustomCenterLevelRoute> | CustomLastLevelRoute>)[]; } : never; /** * the custom route */ type CustomRoute = CustomSingleLevelRoute | CustomMultiLevelRoute; /** * the generated route */ type GeneratedRoute = SingleLevelRoute | MultiLevelRoute; /** * the elegant route */ type ElegantRoute = GeneratedRoute | CustomRoute; }