Files
douyin-archive/lib/stt/types.ts
T

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,
};
}