UNPKG

@shirayukikitsune/graphql-kafkajs-subscriptions

Version:

An implementation for the Apollo PubSubEngine using the KafkaJS as backend.

27 lines (26 loc) 1 kB
/// <reference types="node" /> import { PubSubEngine } from 'graphql-subscriptions'; import { Message } from 'kafkajs'; import { KafkaPubSubConfig } from './kafka-pub-sub-config'; export declare class KafkaPubSub extends PubSubEngine { private config; private kafka; private producer?; private consumer?; private subscriptionMap; private subscriptionRefCount; private subscriptions; private idGenerator; private log?; constructor(config: KafkaPubSubConfig); publish(triggerName: string, payload: Message | Buffer | string): Promise<void>; subscribe(triggerName: string, onMessage: Function, options?: { fromBeginning?: boolean; }): Promise<number>; asyncIterator<T>(triggers: string | string[], options?: Object): AsyncIterator<T>; unsubscribe(subscriptionId: number): void; private createProducer; private createConsumer; private connectConsumer; private static subscriptionIdGenerator; }