Files
moc/src/typings/elegant-router.d.ts
T
2026-08-27 16:43:26 +08:00

305 lines
7.8 KiB
TypeScript

/* 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<RouteKey, CustomRouteKey>;
/**
* 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<FirstLevelRouteKey, SingleLevelRouteKey>;
/**
* the custom first level route key, but not the single level
*/
export type CustomFirstLevelRouteNotSingleKey = Exclude<CustomFirstLevelRouteKey, CustomSingleLevelRouteKey>;
/**
* the center level route key
*/
export type CenterLevelRouteKey = Exclude<GeneratedRouteKey, FirstLevelRouteKey | LastLevelRouteKey>;
/**
* the custom center level route key
*/
export type CustomCenterLevelRouteKey = Exclude<CustomRouteKey, CustomFirstLevelRouteKey | CustomLastLevelRouteKey>;
/**
* the center level route key
*/
type GetChildRouteKey<K extends RouteKey, T extends RouteKey = RouteKey> = T extends `${K}_${infer R}`
? R extends `${string}_${string}`
? never
: T
: never;
/**
* the single level route
*/
type SingleLevelRoute<K extends SingleLevelRouteKey = SingleLevelRouteKey> = K extends string
? Omit<ElegantConstRoute, 'children'> & {
name: K;
path: RouteMap[K];
component: `layout.${RouteLayout}$view.${K}`;
}
: never;
/**
* the last level route
*/
type LastLevelRoute<K extends GeneratedRouteKey> = K extends LastLevelRouteKey
? Omit<ElegantConstRoute, 'children'> & {
name: K;
path: RouteMap[K];
component: `view.${K}`;
}
: never;
/**
* the center level route
*/
type CenterLevelRoute<K extends GeneratedRouteKey> = K extends CenterLevelRouteKey
? Omit<ElegantConstRoute, 'component'> & {
name: K;
path: RouteMap[K];
children: (CenterLevelRoute<GetChildRouteKey<K>> | LastLevelRoute<GetChildRouteKey<K>>)[];
}
: never;
/**
* the multi level route
*/
type MultiLevelRoute<K extends FirstLevelRouteNotSingleKey = FirstLevelRouteNotSingleKey> = K extends string
? ElegantConstRoute & {
name: K;
path: RouteMap[K];
component: `layout.${RouteLayout}`;
children: (CenterLevelRoute<GetChildRouteKey<K>> | LastLevelRoute<GetChildRouteKey<K>>)[];
}
: never;
/**
* the custom first level route
*/
type CustomSingleLevelRoute<K extends CustomFirstLevelRouteKey = CustomFirstLevelRouteKey> = K extends string
? Omit<ElegantConstRoute, 'children'> & {
name: K;
path: RouteMap[K];
component?: `layout.${RouteLayout}$view.${LastLevelRouteKey}`;
}
: never;
/**
* the custom last level route
*/
type CustomLastLevelRoute<K extends CustomRouteKey> = K extends CustomLastLevelRouteKey
? Omit<ElegantConstRoute, 'children'> & {
name: K;
path: RouteMap[K];
component?: `view.${LastLevelRouteKey}`;
}
: never;
/**
* the custom center level route
*/
type CustomCenterLevelRoute<K extends CustomRouteKey> = K extends CustomCenterLevelRouteKey
? Omit<ElegantConstRoute, 'component'> & {
name: K;
path: RouteMap[K];
children: (CustomCenterLevelRoute<GetChildRouteKey<K>> | CustomLastLevelRoute<GetChildRouteKey<K>>)[];
}
: never;
/**
* the custom multi level route
*/
type CustomMultiLevelRoute<K extends CustomFirstLevelRouteNotSingleKey = CustomFirstLevelRouteNotSingleKey> =
K extends string
? ElegantConstRoute & {
name: K;
path: RouteMap[K];
component: `layout.${RouteLayout}`;
children: (CustomCenterLevelRoute<GetChildRouteKey<K>> | CustomLastLevelRoute<GetChildRouteKey<K>>)[];
}
: never;
/**
* the custom route
*/
type CustomRoute = CustomSingleLevelRoute | CustomMultiLevelRoute;
/**
* the generated route
*/
type GeneratedRoute = SingleLevelRoute | MultiLevelRoute;
/**
* the elegant route
*/
type ElegantRoute = GeneratedRoute | CustomRoute;
}