123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- import APIModule, { APIModuleJobs } from "@/modules/APIModule";
- import DataModule, { DataModuleJobs } from "@/modules/DataModule";
- import EventsModule, { EventsModuleJobs } from "@/modules/EventsModule";
- import StationsModule, { StationsModuleJobs } from "@/modules/StationsModule";
- import WebSocketModule, {
- WebSocketModuleJobs
- } from "@/modules/WebSocketModule";
- import BaseModule from "@/BaseModule";
- export type Module = BaseModule;
- export type ModuleClass<Module extends typeof BaseModule> = {
- new (): Module;
- };
- export type Jobs = {
- api: {
- [Property in keyof APIModuleJobs]: APIModuleJobs[Property];
- };
- data: {
- [Property in keyof DataModuleJobs]: DataModuleJobs[Property];
- };
- events: {
- [Property in keyof EventsModuleJobs]: EventsModuleJobs[Property];
- };
- stations: {
- [Property in keyof StationsModuleJobs]: StationsModuleJobs[Property];
- };
- websocket: {
- [Property in keyof WebSocketModuleJobs]: WebSocketModuleJobs[Property];
- };
- };
- export type Modules = {
- api: APIModule & typeof BaseModule;
- data: DataModule & typeof BaseModule;
- events: EventsModule & typeof BaseModule;
- stations: StationsModule & typeof BaseModule;
- websocket: WebSocketModule & typeof BaseModule;
- };
- export type Methods<T> = {
- [P in keyof T as T[P] extends (...args: any) => Awaited<any>
- ? P
- : never]: T[P];
- };
- export type UniqueMethods<T> = Methods<Omit<T, keyof BaseModule>>;
|