19 lines
506 B
TypeScript
19 lines
506 B
TypeScript
export interface TransferTerminalState {
|
|
done: boolean;
|
|
cancelled: boolean;
|
|
error: boolean;
|
|
}
|
|
|
|
export interface TransferStatusLike {
|
|
status: "running" | "tableDone" | "done" | "error" | "cancelled";
|
|
}
|
|
|
|
export function nextTransferTerminalState(
|
|
state: TransferTerminalState,
|
|
progress: TransferStatusLike,
|
|
): TransferTerminalState {
|
|
if (progress.status === "done") return { ...state, done: true };
|
|
if (progress.status === "cancelled") return { ...state, cancelled: true };
|
|
return state;
|
|
}
|