Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930import type { TaskRun, TaskRunPage } from "../../shared/tasks";
export const emptyTaskHistory: TaskRunPage = { runs: [], nextCursor: null };export const activeRun = (run: TaskRun) => ["dispatching", "pending", "running"].includes(run.status);
export function retainedRuns(latest: TaskRunPage, previous: TaskRunPage) { const overlap = latest.runs.some((run) => previous.runs.some((item) => item.id === run.id), ); return { overlap, runs: (overlap ? previous.runs : []).filter( (run) => !latest.runs.some((item) => item.id === run.id), ), };}
export function unsettledCursor(retained: TaskRun[], previous: TaskRunPage) { const unfinished = retained.find(activeRun) ?? retained.find((run) => run.status === "dispatch_error"); const before = unfinished && previous.runs[ previous.runs.findIndex((run) => run.id === unfinished.id) - 1 ]; return before ? { id: before.id, createdAt: before.createdAt } : null;}