UNPKG

@vpriem/kafka-broker

Version:

Easily compose and manage your kafka resources in one place

33 lines 1.24 kB
/// <reference types="node" /> import EventEmitter from 'events'; import { Producer, ProducerBatch, ProducerRecord } from 'kafkajs'; import { BatchConfig } from './types'; export declare const isProducerBatch: (record: ProducerRecord | ProducerBatch) => record is ProducerBatch; export interface BatchProducerInterface { on(event: 'error', listener: (error: Error) => void): this; on(event: 'batch.start', listener: (event: ProducerBatch) => void): this; } export declare class BatchProducer extends EventEmitter implements BatchProducerInterface { private readonly producer; private topicMessages; private timer; private hrTime; private isSending; private readonly batchSize; private batchRequest; private readonly lingerMs; private readonly config?; constructor(producer: Producer, batchConfig: BatchConfig); get length(): number; private elapsedMs; private sendIfNecessary; private startAutoSendIfNecessary; private stopAutoSendIfNecessary; push(record: ProducerRecord | ProducerBatch): void; private createBatch; private sendBatch; private sendOneBatch; private sendAllBatch; flush(): Promise<void>; } //# sourceMappingURL=BatchProducer.d.ts.map