UNPKG

@adpt/core

Version:
43 lines 1.86 kB
import { TaskObserver } from "@adpt/utils"; import { Deployment } from "../server/deployment"; import { DeployOpID, DeployStepID } from "../server/deployment_data"; import { DeployStatus, DeployStatusExt, ExecuteComplete, GoalStatus } from "./deploy_types"; import { EPNode, StatusTracker } from "./deploy_types_private"; export interface StatusTrackerOptions { deployment: Deployment; dryRun: boolean; goalStatus: GoalStatus; nodes: EPNode[]; deployOpID: DeployOpID; taskObserver: TaskObserver; } export declare function createStatusTracker(options: StatusTrackerOptions): Promise<StatusTracker>; export declare class StatusTrackerImpl implements StatusTracker { readonly deployment: Deployment; readonly dryRun: boolean; readonly goalStatus: GoalStatus; readonly nodeStatus: Record<DeployStatus, number>; readonly nonPrimStatus: Record<DeployStatus, number>; readonly deployOpID: DeployOpID; readonly primStatus: Record<DeployStatus, number>; readonly statMap: Map<EPNode, DeployStatusExt>; readonly taskMap: Map<EPNode, TaskObserver>; stepID?: DeployStepID; constructor(options: StatusTrackerOptions); initDeploymentStatus(): Promise<void>; get(n: EPNode): DeployStatusExt; set(n: EPNode, statExt: DeployStatusExt, err: Error | undefined, description?: string): Promise<boolean>; isFinal(n: EPNode): boolean; isActive(n: EPNode): boolean; output(n: EPNode, s: string): void; complete(stateChanged: boolean): Promise<ExecuteComplete>; debug(getId: (n: EPNode) => string): string; private getTask; private writeStatus; private updateTask; private updateCount; private newStatus; } export declare function shouldTrackStatus(n: EPNode): boolean; export declare function isTrivial(n: EPNode): boolean; //# sourceMappingURL=status_tracker.d.ts.map