UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

69 lines (68 loc) 2.1 kB
import { Observable } from 'rxjs'; import { PersistentWorkflowBuilder } from './persistent-workflow-builder'; import { PersistentWorkflowLog } from './persistent-workflow-context'; import { PersistentWorkflowStore } from './persistent-workflow-store'; /** * The result data structure of start() and stateFromStore(). */ export interface PersistentWorkflowResult<TResult> { /** * The instance ID. */ instanceId: number; /** * The result object which is the last transitData defined at finalize() function. */ result: TResult; /** * The record of logs. */ logs: PersistentWorkflowLog[]; /** * The error object produced from any of calls. */ error?: any; /** * Clear the snapshot of the context. * Must call this function to stop tracking the workflow. */ clear(): Observable<void>; } /** * The runner of workflow. */ export declare class PersistentWorkflowRunner { private persistentStore; private builder; /** * Workflow always starts from startingId which is "1". */ static readonly startingId = 1; /** * The collection of workflows. It allows multiple instances of workflows to track. */ private workflowCollection; /** * Initializes a new instance of the PersistentWorkflowRunner class. * * @param persistentStore The persistent store instance. * @param builder The builder of the workflow. */ constructor(persistentStore: PersistentWorkflowStore, builder: PersistentWorkflowBuilder); /** * Start a new single workflow. * * @param transitData the transit data for initialization for the first workflow. */ start<TResult>(transitData: any): Observable<PersistentWorkflowResult<TResult>>; /** * Start workflows from existing snapshots data from the store. */ startFromStore<TResult>(): Observable<PersistentWorkflowResult<TResult>>; private process; private processResult; private processNext; private processStep; private checkpoint; private save; }