UNPKG

ziron-server

Version:
24 lines (23 loc) 962 B
import EventEmitter from "emitix"; import { ComplexTypesOption } from "ziron-engine"; import { PublisherOption } from "./Options"; type PublishEmitter = EventEmitter<{ [key: string]: [any, boolean, boolean]; }>; export default class ChannelExchange { readonly subscriptions: ReadonlySet<string>; subscribe: (channel: string) => void; unsubscribe: (channel: string) => void; publish: (channel: string, data: any, options?: ComplexTypesOption & PublisherOption) => void; private readonly _publishEmitter; readonly oncePublish: PublishEmitter['once']; readonly onPublish: PublishEmitter['on']; readonly offPublish: PublishEmitter['off']; constructor(connector: { subscriptions: ReadonlySet<string>; subscribe: (channel: string) => void; unsubscribe: (channel: string) => void; publish: (channel: string, data: any, options?: ComplexTypesOption & PublisherOption) => void; }); } export {};