UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

63 lines (62 loc) 1.4 kB
export type TaskRunStatus = "pending" | "in-progress" | "success" | "failure"; export interface Task { id?: string; type?: "local" | "cloud"; retries?: number; maxRetries?: number; status?: TaskRunStatus; action: string; payload: any; beforeAction?: string; beforePayload?: any; afterAction?: string; afterPayload?: any; polling?: { interval?: number; }; pollingResult?: { count: number; timerId?: any; }; manual?: boolean; destroy?: boolean; [key: string]: any; } export interface TaskConfig { tasks: Task[]; } type TaskModuleName = string; type TaskQueueName = string; type TaskStatus = "uncompleted" | "completed"; export interface TaskQueue { status: TaskStatus; tasks: Task[]; } export interface RunTaskParams { module: TaskModuleName; queueId: TaskQueueName; callback?: () => void; } export interface DeleteTaskParams { module: TaskModuleName; queueId: TaskQueueName; taskId: string; } export interface AddTaskParams { module: TaskModuleName; queueId: TaskQueueName; tasks: Task[]; } export interface TaskRunResult { status: TaskRunStatus; [key: string]: any; } export interface TasksModule { [key: TaskModuleName]: { [key: TaskQueueName]: { status: TaskStatus; tasks: Task[]; }; }; } export {};