21 lines
691 B
TypeScript
21 lines
691 B
TypeScript
import type { TaskStatus, TaskSummary } from '../types/task'
|
|
|
|
export function getTaskProgressPercent(task: Pick<TaskSummary, 'processedFiles' | 'totalFiles'>): number {
|
|
if (task.totalFiles <= 0) {
|
|
return 0
|
|
}
|
|
|
|
return Math.round((task.processedFiles / task.totalFiles) * 100)
|
|
}
|
|
|
|
export function isTaskFinished(status: TaskStatus): boolean {
|
|
return ['SUCCESS', 'FAILED', 'TERMINATED'].includes(status)
|
|
}
|
|
|
|
export function mapTaskStatusTone(status: TaskStatus): 'success' | 'warning' | 'danger' | 'info' {
|
|
if (status === 'SUCCESS') return 'success'
|
|
if (status === 'FAILED' || status === 'TERMINATED') return 'danger'
|
|
if (status === 'RUNNING') return 'warning'
|
|
return 'info'
|
|
}
|