UNPKG

@design.estate/dees-comms

Version:

A communications module for enabling DOM-based messaging and synchronization across browser tabs and workers.

23 lines (22 loc) 922 B
import * as plugins from './dees-comms.plugins.js'; /** * a comm class for client side communication between workers and tabs. */ export declare class DeesComms { private broadcastChannel; typedrouter: plugins.typedrequest.TypedRouter; typedtarget: plugins.typedrequest.TypedTarget; constructor(); /** * creates a typedrequest with this classes postMessage as postMethod */ createTypedRequest<T extends plugins.typedrequestInterfaces.ITypedRequest>(methodName: T['method']): plugins.typedrequest.TypedRequest<T>; /** * posts a typedrequestmessage */ postMessage<T = plugins.typedrequestInterfaces.ITypedRequest>(messageArg: T): Promise<void>; /** * subscribe to messages */ createTypedHandler<T extends plugins.typedrequestInterfaces.ITypedRequest>(methodArg: T['method'], handlerFunction: plugins.typedrequest.THandlerFunction<T>): Promise<void>; }