This commit is contained in:
2023-05-31 14:19:35 +08:00
parent 5d75c211a7
commit 09899953c6
5 changed files with 74 additions and 9 deletions

12
task.ts
View File

@@ -24,9 +24,15 @@ export type TaskExportZipProgress = {
total_page: number;
};
export type TaskProgressType = {
[TaskType.Download]: TaskDownloadProgess;
[TaskType.ExportZip]: TaskExportZipProgress;
type TaskId<T extends Record<PropertyKey, unknown>> = {
[P in keyof T]: ({
task_id: number;
} & T[P]) extends infer U ? { [Q in keyof U]: U[Q] } : never;
};
export type TaskProgressType = TaskId<{
[TaskType.Download]: TaskDownloadProgess;
[TaskType.ExportZip]: TaskExportZipProgress;
}>;
export type TaskProgress = DiscriminatedUnion<"type", TaskProgressType>;