web/workers: refactor and clean up types

This commit is contained in:
jj 2025-04-30 10:28:22 +00:00
parent 507ba66f78
commit 76462ee665
No known key found for this signature in database
2 changed files with 14 additions and 11 deletions

View File

@ -1,7 +1,7 @@
import type { CobaltWorkerProgress, CobaltWorkerType } from "$lib/types/workers"; import type { CobaltPipelineItem, CobaltWorkerProgress } from "$lib/types/workers";
export type CobaltCurrentTaskItem = { export type CobaltCurrentTaskItem = {
type: CobaltWorkerType, type: CobaltPipelineItem['worker'],
parentId: string, parentId: string,
progress?: CobaltWorkerProgress, progress?: CobaltWorkerProgress,
} }

View File

@ -3,7 +3,6 @@ import type { CobaltFileReference } from "$lib/types/storage";
export const resultFileTypes = ["video", "audio", "image"] as const; export const resultFileTypes = ["video", "audio", "image"] as const;
export type CobaltWorkerType = "remux" | "fetch";
export type CobaltPipelineResultFileType = typeof resultFileTypes[number]; export type CobaltPipelineResultFileType = typeof resultFileTypes[number];
export type CobaltWorkerProgress = { export type CobaltWorkerProgress = {
@ -12,28 +11,32 @@ export type CobaltWorkerProgress = {
size: number, size: number,
} }
export type CobaltFetchWorkerArgs = { url: string }; type CobaltFFmpegWorkerArgs = {
export type CobaltRemuxWorkerArgs = {
files: CobaltFileReference[], files: CobaltFileReference[],
ffargs: string[], ffargs: string[],
output: FileInfo, output: FileInfo,
} }
export type CobaltPipelineItemBase = { type CobaltPipelineItemBase = {
worker: CobaltWorkerType,
workerId: string, workerId: string,
parentId: string, parentId: string,
}; };
type CobaltRemuxPipelineItem = CobaltPipelineItemBase & { type CobaltRemuxPipelineItem = CobaltPipelineItemBase & {
worker: "remux", worker: "remux",
workerArgs: CobaltRemuxWorkerArgs, workerArgs: CobaltFFmpegWorkerArgs,
}
type CobaltEncodePipelineItem = CobaltPipelineItemBase & {
worker: "encode",
workerArgs: CobaltFFmpegWorkerArgs,
} }
type CobaltFetchPipelineItem = CobaltPipelineItemBase & { type CobaltFetchPipelineItem = CobaltPipelineItemBase & {
worker: "fetch", worker: "fetch",
workerArgs: CobaltFetchWorkerArgs, workerArgs: { url: string },
} }
export type CobaltPipelineItem = CobaltRemuxPipelineItem | CobaltFetchPipelineItem; export type CobaltPipelineItem = CobaltEncodePipelineItem
| CobaltRemuxPipelineItem
| CobaltFetchPipelineItem;