reg-suit-core
Version:
See https://github.com/Quramy/reg-suit .
38 lines (37 loc) • 1.5 kB
TypeScript
import { PluginCreateOptions, KeyGeneratorPlugin, PublisherPlugin, NotifierPlugin, ComparisonResult } from "reg-suit-interface";
export interface ProcessorOptions {
keyGenerator?: KeyGeneratorPlugin<any>;
publisher?: PublisherPlugin<any>;
notifiers: NotifierPlugin<any>[];
userDirs: {
actualDir: string;
};
}
export interface StepResultAfterExpectedKey {
expectedKey: string | null;
}
export interface StepResultAfterComparison extends StepResultAfterExpectedKey {
comparisonResult: ComparisonResult;
}
export interface StepResultAfterActualKey extends StepResultAfterComparison {
actualKey: string;
}
export interface StepResultAfterPublish extends StepResultAfterActualKey {
reportUrl?: string;
}
export declare class RegProcessor {
private _logger;
private _config;
private _directoryInfo;
private _keyGenerator?;
private _publisher?;
private _notifiers;
constructor(opt: PluginCreateOptions<ProcessorOptions>);
runAll(): Promise<StepResultAfterPublish>;
getExpectedKey(): Promise<StepResultAfterExpectedKey>;
compare(ctx: StepResultAfterExpectedKey): Promise<StepResultAfterComparison>;
getActualKey(ctx: StepResultAfterComparison): Promise<StepResultAfterActualKey>;
syncExpected(ctx: StepResultAfterExpectedKey): Promise<StepResultAfterExpectedKey>;
publish(ctx: StepResultAfterActualKey): Promise<StepResultAfterPublish>;
notify(ctx: StepResultAfterPublish): Promise<StepResultAfterPublish>;
}