mirror of
https://github.com/n8n-io/n8n.git
synced 2026-07-31 04:55:25 +02:00
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
export const ExecutionStatusList = [
|
|
'canceled',
|
|
'crashed',
|
|
'error',
|
|
'new',
|
|
'running',
|
|
'success',
|
|
'unknown',
|
|
'waiting',
|
|
] as const;
|
|
|
|
export type ExecutionStatus = (typeof ExecutionStatusList)[number];
|
|
export type CompletedExecutionStatus = 'crashed' | 'error' | 'success';
|
|
export type TerminalExecutionStatus = CompletedExecutionStatus | 'canceled';
|
|
|
|
export function isCompletedExecutionStatus(
|
|
status: ExecutionStatus,
|
|
): status is CompletedExecutionStatus {
|
|
return status === 'crashed' || status === 'error' || status === 'success';
|
|
}
|
|
|
|
/**
|
|
* Statuses that may be overwritten to `crashed` by recovery. These are the in-progress
|
|
* and indeterminate states; `waiting` and the terminal statuses are deliberately excluded
|
|
* so a legitimately paused or finished execution is never marked as crashed.
|
|
*/
|
|
export const CRASHABLE_EXECUTION_STATUSES = ['new', 'running', 'unknown'] as const;
|
|
|
|
export function isTerminalExecutionStatus(
|
|
status: ExecutionStatus | undefined,
|
|
): status is TerminalExecutionStatus {
|
|
return (
|
|
status === 'canceled' || status === 'crashed' || status === 'error' || status === 'success'
|
|
);
|
|
}
|