Bilibili-Evolved/dev-tools/dev-server/payload.ts
2022-02-24 22:39:46 +08:00

22 lines
545 B
TypeScript

export interface PayloadBase<Type extends string = string> {
type: Type
}
export type StartPayload = PayloadBase<'start'>
export type CoreUpdatePayload = PayloadBase<'coreUpdate'>
export type ItemUpdatePayload = PayloadBase<'itemUpdate'> & {
name: string
displayName: string
itemType: string
path: string
}
export type StopPayload = PayloadBase<'stop'>
export type Payload = (
StartPayload |
CoreUpdatePayload |
ItemUpdatePayload |
StopPayload
)
export type MessageHandler<P extends Payload = Payload> = (payload: P) => void