@ply-ct/ply
Version:
REST API Automated Testing
38 lines (37 loc) • 864 B
TypeScript
import { Outcome } from './result';
import { TestType } from './test';
/**
* Event for 'start' listeners.
*/
export interface PlyEvent {
/**
* Unique test/suite path
*/
plyee: string;
}
/**
* Event for 'outcome' listeners.
*/
export interface OutcomeEvent extends PlyEvent {
outcome: Outcome;
}
export interface SuiteEvent extends PlyEvent {
type: TestType;
status: 'Started' | 'Finished';
}
export declare type PlyEventListener = (e: PlyEvent) => void;
export interface Listener<T> {
(event: T): any;
}
export interface Disposable {
dispose(): void;
}
export declare class TypedEvent<T> {
private listeners;
private oncers;
on(listener: Listener<T>): Disposable;
once(listener: Listener<T>): void;
off(listener: Listener<T>): void;
emit(event: T): void;
pipe(te: TypedEvent<T>): Disposable;
}