@omnia/fx-models
Version:
Provide Omnia Fx Models Stuffs.
26 lines (25 loc) • 833 B
TypeScript
import { Topic } from "./Topic";
export declare enum BroadcastTopicScopes {
localUi = "localUi",
localWorker = "localWorker",
localAll = "localAll",
globalUi = "globalUi",
globalWorker = "globalWorker",
globalAll = "globalAll"
}
export interface BroadcastTopic<TMessage> extends Topic<TMessage> {
scope: BroadcastTopicScopes;
}
export interface BroadcastInvokeTopic<TMessage, TReturnValue> extends Topic<TMessage> {
scope: BroadcastTopicScopes;
}
export interface BroadcastMessage<TMessage> extends BroadcastTopic<TMessage> {
message: TMessage;
}
export interface BroadcastInvokeMessage<TMessage, TReturnValue> extends BroadcastInvokeTopic<TMessage, TReturnValue> {
messageId: string;
message: TMessage;
type: "request" | "response";
error?: string;
response?: TReturnValue;
}