@awesomeniko/kafka-trail
Version:
A Node.js library for managing message queue with Kafka
12 lines (11 loc) • 647 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: {
partition?: number;
lastOffset?: string | undefined;
}) => 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>;