UNPKG

@truffle/dashboard-message-bus-client

Version:
31 lines (30 loc) 1.43 kB
import { Message, Response } from "@truffle/dashboard-message-bus-common"; import { DashboardMessageBusConnection } from "lib/connection"; import { TypedEmitter } from "tiny-typed-emitter"; import { SubscriptionOptions } from "../"; interface ReceivedMessageLifecycleOptions<MessageType extends Message> { message: MessageType; connection: DashboardMessageBusConnection; } interface DashboardMessageBusSubscriptionEvents<MessageType extends Message> { message: (messageLifecycle: ReceivedMessageLifecycle<MessageType>) => void; end: () => void; } export type EvaluateMessageOptions<MessageType extends Message> = ReceivedMessageLifecycleOptions<MessageType>; export declare class DashboardMessageBusSubscription<MessageType extends Message = Message> extends TypedEmitter<DashboardMessageBusSubscriptionEvents<MessageType>> { private _predicate; private _ended; constructor({ id, type }: SubscriptionOptions); _evaluateMessage({ message, connection }: EvaluateMessageOptions<MessageType>): void; _end(): void; } export declare class ReceivedMessageLifecycle<MessageType extends Message> { readonly message: MessageType; private _connection; private _responded; constructor({ message, connection }: ReceivedMessageLifecycleOptions<MessageType>); respond<ResponseType extends Response>({ payload }: { payload: ResponseType["payload"]; }): Promise<void>; } export {};