diff --git a/client/helpers/queued-jobs.ts b/client/helpers/queued-jobs.ts index cf426cc..ed85a2b 100644 --- a/client/helpers/queued-jobs.ts +++ b/client/helpers/queued-jobs.ts @@ -149,7 +149,7 @@ export async function pollQueuedJob({ } export function isPollError(r: PollRes): r is QueuedJob | Failure { - return isQueuedJobError(r) || isFailure(r); + return isQueuedJobError(r) || isQueuedJobRunning(r) || isFailure(r); } export function isBatch(obj: PollRes): obj is Batch { @@ -188,6 +188,11 @@ function isQueuedJobError(obj: any): obj is QueuedJob { return isQueuedJob(obj) && isStatusError(obj); } +// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any +function isQueuedJobRunning(obj: any): obj is QueuedJob { + return isQueuedJob(obj) && isStatusRunning(obj); +} + function isStatusComplete(job: QueuedJob): boolean { return job.data.attributes.status === 'complete'; } @@ -196,6 +201,10 @@ function isStatusError(job: QueuedJob): boolean { return job.data.attributes.status === 'error'; } +function isStatusRunning(job: QueuedJob): boolean { + return job.data.attributes.status === 'running'; +} + function isClientError(res: PollRes): boolean { return isFailure(res) && head([...res.errors.values()])?.id === ClientErrorId; }