@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
69 lines (68 loc) • 2.1 kB
TypeScript
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;
}