@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
14 lines (13 loc) • 718 B
TypeScript
import type { KTMessageQueue } from "../message-queue/index.js";
import type { KTTopicEvent } from "./topic.js";
export type KTRun<Payload extends object, Ctx extends object> = (payload: Payload[], ctx: Ctx, publisher: Pick<KTMessageQueue<Ctx>, 'publishSingleMessage'>, kafkaTopicParams: {
heartBeat: () => void;
partition: number;
lastOffset: string | undefined;
resolveOffset?: (offset: string) => void;
}) => Promise<void>;
export type KTHandler<Payload extends object, Ctx extends object> = {
topic: KTTopicEvent<Payload>;
run: KTRun<Payload, Ctx>;
};
export declare const KTHandler: <Payload extends object, Ctx extends object>(params: KTHandler<Payload, Ctx>) => KTHandler<Payload, Ctx>;