firmament-yargs
Version:
Typescript classes for building CLI node applications
30 lines (29 loc) • 1.12 kB
TypeScript
import { IPostal, ICallback, IConfiguration, IChannelDefinition, ISubscriptionDefinition, IEnvelope } from "../interfaces/postal";
export declare class PostalImpl implements IPostal {
configuration: IConfiguration;
subscriptions: any;
wireTaps: ICallback<any>[];
addWireTap(callback: ICallback<any>): () => void;
channel<T>(name?: string): IChannelDefinition<T>;
getSubscribersFor(): ISubscriptionDefinition<any>[];
getSubscribersFor(options: {
channel?: string;
topic?: string;
context?: any;
}): ISubscriptionDefinition<any>[];
getSubscribersFor(predicateFn: (sub: ISubscriptionDefinition<any>) => boolean): ISubscriptionDefinition<any>[];
publish(envelope: IEnvelope<any>): void;
reset(): void;
subscribe(options: {
channel?: string;
topic: string;
callback: ICallback<any>;
}): ISubscriptionDefinition<any>;
unsubscribe(sub: ISubscriptionDefinition<any>): void;
unsubscribeFor(): void;
unsubscribeFor(options: {
channel?: string;
topic?: string;
context?: any;
}): void;
}