frolyk
Version:
Stream processing library for Kafka in Node
45 lines (44 loc) • 1.33 kB
TypeScript
/// <reference types="node" />
import Long from 'long';
import { LogicalOffset, LogicalLiteralOffset } from '../offsets';
export interface AssignmentContext {
topic: string;
partition: number;
group: string;
caughtUp(offset: string | Long): Promise<boolean>;
commitOffset(newOffset: string | Long, metadata: string | null): Promise<void>;
committed(): Promise<OffsetAndMetadata>;
isEmpty(): Promise<boolean>;
log(tags: any, payload: any): any;
seek(offset: string | Long | LogicalOffset | LogicalLiteralOffset): Promise<void>;
send(messages: NewMessage | NewMessage[]): Promise<ProducedMessageMetadata[]>;
watermarks(): Promise<Watermarks>;
}
export interface OffsetAndMetadata {
offset: string;
metadata: string | null;
}
export interface NewMessage {
topic: string;
value: Buffer | string | null;
partition?: number;
key?: Buffer | string | null;
timestamp?: string;
headers?: {
[key: string]: Buffer | string;
};
}
export interface ProducedMessageMetadata {
topicName: string;
partition: number;
errorCode: number;
offset?: string;
timestamp?: string;
baseOffset?: string;
logAppendTime?: string;
logStartOffset?: string;
}
export interface Watermarks {
highOffset: string;
lowOffset: string;
}