34 lines
930 B
TypeScript
34 lines
930 B
TypeScript
export type TranscriptionStatus =
|
|
| "PENDING"
|
|
| "QUEUED"
|
|
| "PROCESSING"
|
|
| "SUCCEEDED"
|
|
| "FAILED";
|
|
export type Transcript = { transcript: string[] };
|
|
export type TranscriptionState = {
|
|
status: TranscriptionStatus;
|
|
error: string | null;
|
|
transcript: string[] | null;
|
|
};
|
|
export const statusLabels: Record<TranscriptionStatus, string> = {
|
|
PENDING: "待转写",
|
|
QUEUED: "排队中",
|
|
PROCESSING: "处理中",
|
|
SUCCEEDED: "已完成",
|
|
FAILED: "失败",
|
|
};
|
|
export function isActive(status: string) {
|
|
return status === "QUEUED" || status === "PROCESSING";
|
|
}
|
|
export function transcriptionState(
|
|
transcript: Transcript | null,
|
|
task: { status: string; lastError: string | null } | null,
|
|
): TranscriptionState {
|
|
return {
|
|
status: (task?.status ??
|
|
(transcript ? "SUCCEEDED" : "PENDING")) as TranscriptionStatus,
|
|
error: task?.lastError ?? null,
|
|
transcript: transcript?.transcript ?? null,
|
|
};
|
|
}
|