@fabrix/spool-broadcast
Version:
Spool: broadcast for Fabrix to implement CQRS and Event Sourcing
59 lines (58 loc) • 1.67 kB
TypeScript
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;
}