Files
DefinitelyTyped/types/ag-channel/index.d.ts
Nathan Bierema 24308482dd 🤖 Merge PR #58766 [socketcluster] Upgrade socketcluster packages to v16 by @Methuselah96
* consumable-stream v2

* writable-consumable-stream v2

* stream-demux v8

* ag-channel v5

* async-stream-emitter v4

* eetase v4

* ag-simple-broker v5 and socketcluster-server v16

* socketcluster-client v16

* scc-broker-client v8

* Some fixes

* Another fix

* Trigger build

* Trigger build

* Trigger build
2022-02-15 10:57:59 -08:00

122 lines
4.7 KiB
TypeScript

// Type definitions for ag-channel 5.0
// Project: https://github.com/SocketCluster/ag-channel
// Definitions by: Daniel Rose <https://github.com/DanielRose>
// Nathan Bierema <https://github.com/Methuselah96>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import ConsumableStream = require('consumable-stream');
import StreamDemux = require('stream-demux');
import DemuxedConsumableStream = require('stream-demux/demuxed-consumable-stream');
import Consumer = require('writable-consumable-stream/consumer');
declare class AGChannel<T> extends ConsumableStream<T> {
readonly PENDING: 'pending';
readonly SUBSCRIBED: 'subscribed';
readonly UNSUBSCRIBED: 'unsubscribed';
name: string;
client: AGChannel.Client;
state: AGChannel.ChannelState;
options: object;
constructor(name: string, client: AGChannel.Client, eventDemux: StreamDemux<T>, dataDemux: StreamDemux<T>);
createConsumer(timeout?: number): ConsumableStream.Consumer<T>;
listener(eventName: string): DemuxedConsumableStream<T>;
close(): void;
kill(): void;
killOutputConsumer(consumerId: number): void;
killListenerConsumer(consumerId: number): void;
getOutputConsumerStats(consumerId: number): Consumer.ConsumerStats | undefined;
getListenerConsumerStats(consumerId: number): Consumer.ConsumerStats | undefined;
getBackpressure(): number;
getListenerConsumerBackpressure(consumerId: number): number;
getOutputConsumerBackpressure(consumerId: number): any;
closeOutput(): void;
closeListener(eventName: string): void;
closeAllListeners(): void;
killOutput(): void;
killListener(eventName: string): void;
killAllListeners(): void;
getOutputConsumerStatsList(): Consumer.ConsumerStats;
getListenerConsumerStatsList(eventName: string): Consumer.ConsumerStats[];
getOutputBackpressure(): number;
getListenerBackpressure(eventName: string): number;
getAllListenersBackpressure(): number;
hasOutputConsumer(consumerId: number): boolean;
hasListenerConsumer(eventName: string, consumerId: number): boolean;
hasAnyListenerConsumer(consumerId: number): boolean;
subscribe(options?: any): void;
unsubscribe(): void;
isSubscribed(includePending?: boolean): boolean;
transmitPublish(data: any): Promise<void>;
invokePublish(data: any): Promise<void>;
}
export = AGChannel;
declare namespace AGChannel {
interface Client {
closeChannel(channelName: string): void;
killChannel(channelName: string): void;
killChannelOutputConsumer(consumerId: number): void;
killChannelListenerConsumer(consumerId: number): void;
getChannelOutputConsumerStats(consumerId: number): Consumer.ConsumerStats;
getChannelListenerConsumerStats(consumerId: number): Consumer.ConsumerStats;
getChannelBackpressure(channelName: string): number;
getChannelListenerConsumerBackpressure(consumerId: number): number;
getChannelOutputConsumerBackpressure(consumerId: number): number;
channelCloseOutput(channelName: string): void;
channelCloseListener(channelName: string, eventName: string): void;
channelCloseAllListeners(channelName: string): void;
channelKillOutput(channelName: string): void;
channelKillListener(channelName: string, eventName: string): void;
channelKillAllListeners(channelName: string): void;
channelGetOutputConsumerStatsList(channelName: string): Consumer.ConsumerStats[];
channelGetListenerConsumerStatsList(channelName: string, eventName: string): Consumer.ConsumerStats[];
channelGetAllListenersConsumerStatsList(channelName: string): Consumer.ConsumerStats[];
channelGetOutputBackpressure(channelName: string): number;
channelGetListenerBackpressure(channelName: string, eventName: string): number;
channelGetAllListenersBackpressure(channelName: string): number;
channelHasOutputConsumer(channelName: string, consumerId: number): boolean;
channelHasListenerConsumer(channelName: string, eventName: string, consumerId: number): boolean;
channelHasAnyListenerConsumer(channelName: string, consumerId: number): boolean;
getChannelState(channelName: string): ChannelState;
getChannelOptions(channelName: string): object;
subscribe(channelName: string): AGChannel<any>;
unsubscribe(channelName: string): Promise<void>;
isSubscribed(channelName: string, includePending?: boolean): boolean;
transmitPublish(channelName: string, data: any): Promise<void>;
invokePublish(channelName: string, data: any): Promise<any>;
}
type ChannelState = 'pending' | 'subscribed' | 'unsubscribed';
}