graphql-amqp-subscriptions
Version:
GraphQL AMQP Subscriptions
21 lines (20 loc) • 996 B
TypeScript
import amqp from 'amqplib';
import { type PubSubEngine } from 'graphql-subscriptions';
import { PubSubAsyncIterableIterator } from 'graphql-subscriptions/dist/pubsub-async-iterable-iterator';
import { PubSubAMQPConfig } from './amqp/interfaces';
export declare class AMQPPubSub implements PubSubEngine {
private publisher;
private subscriber;
private exchange;
private subscriptionMap;
private subsRefsMap;
private unsubscribeMap;
private currentSubscriptionId;
constructor(config: PubSubAMQPConfig);
publish(routingKey: string, payload: any, options?: amqp.Options.Publish): Promise<void>;
subscribe(routingKey: string, onMessage: (content: any, message?: amqp.ConsumeMessage | null) => void, arguments_?: any, options?: amqp.Options.Consume): Promise<number>;
unsubscribe(subId: number): Promise<void>;
asyncIterableIterator<T>(triggers: string | string[]): PubSubAsyncIterableIterator<T>;
private onMessage;
private unsubscribeForKey;
}