UNPKG

@fabrix/spool-broadcast

Version:

Spool: broadcast for Fabrix to implement CQRS and Event Sourcing

59 lines (58 loc) 1.67 kB
import { FabrixApp } from '@fabrix/fabrix'; import { Broadcast } from './Broadcast'; import { BroadcastEvent } from './api/models'; import { BroadcastEntity } from './BroadcastEntity'; export interface BroadcastSubscriberParams { app: FabrixApp; channel: BroadcastChannel; event: BroadcastEvent; options: { [key: string]: any; }; broker: { [key: string]: any; }; broadcaster?: Broadcast; } export declare class BroadcastSubscriber { app: FabrixApp; channel: BroadcastChannel; event: BroadcastEvent; options: { [key: string]: any; }; broker: { [key: string]: any; }; broadcaster: Broadcast; isAcknowledged: boolean; constructor(app: FabrixApp, { channel, event, options, broker, broadcaster }: { channel: BroadcastChannel; event: BroadcastEvent; options: { [key: string]: any; }; broker: { [key: string]: any; }; broadcaster?: Broadcast; }); readonly name: string; run(): Promise<BroadcastSubscriber>; publish(): Promise<BroadcastSubscriber>; } export declare class BroadcastChannel extends BroadcastEntity { private _channel; private _subscribers; permissions: Map<string, any>; constructor(app: FabrixApp); readonly channel: any; readonly subscribers: Map<string, string>; hasSubscriber(name: any): boolean; initialize(): void; patterns(pattern: any, event: any): string[]; subscribed(spark: any, room: any): void; unsubscribed(spark: any, room: any): void; disconnect(spark: any, data: any): void; destroy(): void; }