UNPKG

@omnia/fx

Version:

Provide Omnia Fx typings and tooling for clientside Omnia development.

38 lines (37 loc) 1.49 kB
import { BroadcastTopic, BroadcastInvokeTopic, Future } from "../models"; /** *Broadcast between render, worker thread and windows, tabs * @class MessageBus */ export declare class Broadcast { private static _subscribers; private static _channel; private static _initialized; private static _disableSync; private static _invokeRequests; private static _invokeHandlers; /** * Broadcasts a message on the topic */ static publish<TMessage>(topic: BroadcastTopic<TMessage>, message: TMessage): void; static invoke<TMessage, TReturnValue>(topic: BroadcastInvokeTopic<TMessage, TReturnValue>, data: TMessage): Future<TReturnValue>; static invokeHandler<TMessage, TReturnValue>(topic: BroadcastInvokeTopic<TMessage, TReturnValue>, fn: (message: TMessage, messageId?: string) => Future<TReturnValue>): void; /** * Subscribes to the specified Topic and triggers function when a message is published */ static subscribe<TMessage>(topic: BroadcastTopic<TMessage>, fn: (message: TMessage) => void): void; /** * Unsubscribes from the specified Topic */ static unsubscribe<TMessage>(topic: BroadcastTopic<TMessage>, fn: (message: TMessage) => void): void; /** * Creates a topic if it dosent exists * @param topic * @param settings * @returns true/false created */ private static ensureTopic; private static ensureInitialized; private static onMessage; private static get channel(); }