@woovi/kafka 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -22,8 +22,16 @@ import {
22
22
  createKafkaFromEnv('my-service');
23
23
 
24
24
  // Create producer and publish
25
- const producer = createProducer();
26
- await producer.publish({ data: { type: 'user.created', userId: '123' } });
25
+ let producer: WooviProducer | null = null;
26
+
27
+ export const getProducer = () => {
28
+ if (!producer) {
29
+ producer = createProducer();
30
+ }
31
+ return producer;
32
+ };
33
+
34
+ await getProducer().publish({ data: { type: 'user.created', userId: '123' } });
27
35
 
28
36
  // Create consumer and process messages
29
37
  const consumer = createConsumer({
package/dist/index.cjs CHANGED
@@ -109,7 +109,8 @@ function getKafka() {
109
109
  return kafkaInstance;
110
110
  }
111
111
  function createKafkaFromEnv(clientId) {
112
- const brokers = process.env.KAFKA_BROKERS?.split(',') ?? [
112
+ const brokersEnvs = process.env.KAFKA_BOOTSTRAP_SERVERS || process.env.KAFKA_BOOTSTRAP_SERVERS;
113
+ const brokers = brokersEnvs?.split(',') ?? [
113
114
  'localhost:9092'
114
115
  ];
115
116
  const config = {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,179 @@
1
- export { createKafka, createKafkaFromEnv, getKafka, onShutdown, healthCheck, Kafka, logLevel } from './kafka.js';
2
- export { WooviProducer, createProducer } from './producer.js';
3
- export { WooviConsumer, createConsumer, parseMessage, getMessageHeaders, } from './consumer.js';
4
- export { kafkaRegistry, getMetrics, getMetricsContentType, resetMetrics, enableDefaultMetrics, messageProcessingDuration, messagesProcessedTotal, messagesFailedTotal, batchProcessingDuration, batchSize, consumerLag, lastMessageTimestamp, messagesProducedTotal, produceLatency, } from './metrics.js';
5
- export type { KafkaConfig, WooviProducerConfig, WooviConsumerConfig, PublishArgs, PublishBatchArgs, PublishMultiTopicArgs, MessageHandler, BatchHandler, ErrorHandler, Message, RecordMetadata, EachMessagePayload, EachBatchPayload, } from './types.js';
6
- //# sourceMappingURL=index.d.ts.map
1
+ import type { CompressionTypes } from 'kafkajs';
2
+ import type { Consumer } from 'kafkajs';
3
+ import type { ConsumerConfig } from 'kafkajs';
4
+ import type { ConsumerSubscribeTopics } from 'kafkajs';
5
+ import { Counter } from 'prom-client';
6
+ import type { EachBatchPayload } from 'kafkajs';
7
+ import type { EachMessagePayload } from 'kafkajs';
8
+ import { Gauge } from 'prom-client';
9
+ import { Histogram } from 'prom-client';
10
+ import { Kafka } from 'kafkajs';
11
+ import type { KafkaConfig as KafkaConfig_2 } from 'kafkajs';
12
+ import { logLevel } from 'kafkajs';
13
+ import type { Message } from 'kafkajs';
14
+ import type { Producer } from 'kafkajs';
15
+ import type { ProducerConfig } from 'kafkajs';
16
+ import type { RecordMetadata } from 'kafkajs';
17
+ import { Registry } from 'prom-client';
18
+
19
+ export declare interface BatchHandler {
20
+ (payload: EachBatchPayload): Promise<void>;
21
+ }
22
+
23
+ export declare const batchProcessingDuration: Histogram<"topic" | "group_id" | "partition">;
24
+
25
+ export declare const batchSize: Histogram<"topic" | "group_id" | "partition">;
26
+
27
+ export declare const consumerLag: Gauge<"topic" | "group_id" | "partition">;
28
+
29
+ export declare function createConsumer(config: WooviConsumerConfig): WooviConsumer;
30
+
31
+ export declare function createKafka(config: KafkaConfig): Kafka;
32
+
33
+ export declare function createKafkaFromEnv(clientId: string): Kafka;
34
+
35
+ export declare function createProducer(config?: WooviProducerConfig): WooviProducer;
36
+
37
+ export { EachBatchPayload }
38
+
39
+ export { EachMessagePayload }
40
+
41
+ export declare function enableDefaultMetrics(): void;
42
+
43
+ export declare interface ErrorHandler {
44
+ (error: Error, payload: EachMessagePayload): Promise<void>;
45
+ }
46
+
47
+ export declare function getKafka(): Kafka;
48
+
49
+ export declare function getMessageHeaders(payload: EachMessagePayload): Record<string, string>;
50
+
51
+ export declare function getMetrics(): Promise<string>;
52
+
53
+ export declare function getMetricsContentType(): string;
54
+
55
+ export declare function healthCheck(): Promise<{
56
+ healthy: boolean;
57
+ error?: string;
58
+ }>;
59
+
60
+ export { Kafka }
61
+
62
+ export declare interface KafkaConfig {
63
+ brokers: string[];
64
+ clientId: string;
65
+ ssl?: KafkaConfig_2['ssl'];
66
+ sasl?: KafkaConfig_2['sasl'];
67
+ connectionTimeout?: number;
68
+ requestTimeout?: number;
69
+ retry?: KafkaConfig_2['retry'];
70
+ }
71
+
72
+ export declare const kafkaRegistry: Registry<"text/plain; version=0.0.4; charset=utf-8">;
73
+
74
+ export declare const lastMessageTimestamp: Gauge<"topic" | "group_id" | "partition">;
75
+
76
+ export { logLevel }
77
+
78
+ export { Message }
79
+
80
+ export declare interface MessageHandler {
81
+ (payload: EachMessagePayload): Promise<void>;
82
+ }
83
+
84
+ export declare const messageProcessingDuration: Histogram<"topic" | "group_id" | "partition">;
85
+
86
+ export declare const messagesFailedTotal: Counter<"topic" | "group_id" | "partition" | "error_type">;
87
+
88
+ export declare const messagesProcessedTotal: Counter<"topic" | "group_id" | "partition" | "status">;
89
+
90
+ export declare const messagesProducedTotal: Counter<"topic" | "status">;
91
+
92
+ export declare function onShutdown(callback: () => Promise<void>): void;
93
+
94
+ export declare function parseMessage<T>(payload: EachMessagePayload): T | null;
95
+
96
+ export declare const produceLatency: Histogram<"topic">;
97
+
98
+ export declare interface PublishArgs<T = unknown> {
99
+ data: T;
100
+ topic?: string;
101
+ key?: string;
102
+ partition?: number;
103
+ headers?: Record<string, string>;
104
+ timestamp?: string;
105
+ compression?: CompressionTypes;
106
+ }
107
+
108
+ export declare interface PublishBatchArgs<T = unknown> {
109
+ messages: Array<{
110
+ data: T;
111
+ key?: string;
112
+ partition?: number;
113
+ headers?: Record<string, string>;
114
+ timestamp?: string;
115
+ }>;
116
+ topic?: string;
117
+ compression?: CompressionTypes;
118
+ }
119
+
120
+ export declare interface PublishMultiTopicArgs<T = unknown> {
121
+ messages: Array<{
122
+ topic: string;
123
+ data: T;
124
+ key?: string;
125
+ partition?: number;
126
+ headers?: Record<string, string>;
127
+ timestamp?: string;
128
+ }>;
129
+ }
130
+
131
+ export { RecordMetadata }
132
+
133
+ export declare function resetMetrics(): void;
134
+
135
+ export declare class WooviConsumer {
136
+ private consumer;
137
+ private topics;
138
+ private fromBeginning;
139
+ private connected;
140
+ private subscribed;
141
+ private groupId;
142
+ private onError?;
143
+ constructor(config: WooviConsumerConfig);
144
+ connect(): Promise<void>;
145
+ subscribe(): Promise<void>;
146
+ disconnect(): Promise<void>;
147
+ isConnected(): boolean;
148
+ run(handler: MessageHandler): Promise<void>;
149
+ runBatch(handler: BatchHandler): Promise<void>;
150
+ pause(topics?: string[]): Promise<void>;
151
+ resume(topics?: string[]): Promise<void>;
152
+ getConsumer(): Consumer;
153
+ }
154
+
155
+ export declare interface WooviConsumerConfig extends ConsumerConfig {
156
+ topics: ConsumerSubscribeTopics['topics'];
157
+ fromBeginning?: boolean;
158
+ onError?: ErrorHandler;
159
+ }
160
+
161
+ export declare class WooviProducer {
162
+ private producer;
163
+ private defaultTopic?;
164
+ private connected;
165
+ constructor(config?: WooviProducerConfig);
166
+ connect(): Promise<void>;
167
+ disconnect(): Promise<void>;
168
+ isConnected(): boolean;
169
+ publish<T>(args: PublishArgs<T>): Promise<RecordMetadata[]>;
170
+ publishBatch<T>(args: PublishBatchArgs<T>): Promise<RecordMetadata[]>;
171
+ publishToMultipleTopics<T>(args: PublishMultiTopicArgs<T>): Promise<RecordMetadata[]>;
172
+ getProducer(): Producer;
173
+ }
174
+
175
+ export declare interface WooviProducerConfig extends ProducerConfig {
176
+ defaultTopic?: string;
177
+ }
178
+
179
+ export { }
package/dist/index.js CHANGED
@@ -56,7 +56,8 @@ function getKafka() {
56
56
  return kafkaInstance;
57
57
  }
58
58
  function createKafkaFromEnv(clientId) {
59
- const brokers = process.env.KAFKA_BROKERS?.split(',') ?? [
59
+ const brokersEnvs = process.env.KAFKA_BOOTSTRAP_SERVERS || process.env.KAFKA_BOOTSTRAP_SERVERS;
60
+ const brokers = brokersEnvs?.split(',') ?? [
60
61
  'localhost:9092'
61
62
  ];
62
63
  const config = {
@@ -1,42 +1,79 @@
1
- type MockFn = {
2
- (): any;
3
- mock: {
4
- calls: any[][];
5
- };
6
- mockClear: () => void;
7
- mockReset: () => void;
8
- mockImplementation: (fn: (...args: any[]) => any) => MockFn;
9
- mockReturnValue: (value: any) => MockFn;
10
- mockResolvedValue: (value: any) => MockFn;
11
- };
12
- export declare const mockProducerSend: MockFn;
13
- export declare const mockTransactionSend: MockFn;
14
- export declare const mockTransaction: MockFn;
15
- export declare const mockProducer: MockFn;
16
- export declare const mockConsumer: MockFn;
17
- export declare const mockAdmin: MockFn;
18
- export declare const Kafka: MockFn;
19
- export declare class KafkaJSNonRetriableError extends Error {
20
- constructor(message: string);
21
- }
22
- export declare class KafkaJSProtocolError extends Error {
23
- type: string;
24
- constructor(message: string, type: string);
25
- }
26
- export declare const logLevel: {
27
- NOTHING: number;
28
- ERROR: number;
29
- WARN: number;
30
- INFO: number;
31
- DEBUG: number;
32
- };
33
- export declare const CompressionTypes: {
34
- None: number;
35
- GZIP: number;
36
- Snappy: number;
37
- LZ4: number;
38
- ZSTD: number;
39
- };
40
- export declare const clearAllMocks: () => void;
41
- export {};
42
- //# sourceMappingURL=kafkaMock.d.ts.map
1
+ export declare const clearAllMocks: () => void;
2
+
3
+ export declare const CompressionTypes: {
4
+ None: number;
5
+ GZIP: number;
6
+ Snappy: number;
7
+ LZ4: number;
8
+ ZSTD: number;
9
+ };
10
+
11
+ export declare const getKafkaMessages: () => KafkaMessage[];
12
+
13
+ export declare const Kafka: MockFn;
14
+
15
+ export declare const kafkaAssert: (args: KafkaAssertArgs) => void;
16
+
17
+ declare type KafkaAssertArgs = {
18
+ topic: string;
19
+ message: Record<string, unknown>;
20
+ };
21
+
22
+ export declare const kafkaAssertLength: (args: KafkaAssertLengthArgs) => void;
23
+
24
+ declare type KafkaAssertLengthArgs = {
25
+ topic: string;
26
+ length: number;
27
+ };
28
+
29
+ export declare class KafkaJSNonRetriableError extends Error {
30
+ constructor(message: string);
31
+ }
32
+
33
+ export declare class KafkaJSProtocolError extends Error {
34
+ type: string;
35
+ constructor(message: string, type: string);
36
+ }
37
+
38
+ export declare type KafkaMessage = {
39
+ topic: string;
40
+ messages: Array<{
41
+ key?: string;
42
+ value: string;
43
+ headers?: Record<string, string>;
44
+ }>;
45
+ };
46
+
47
+ export declare const logLevel: {
48
+ NOTHING: number;
49
+ ERROR: number;
50
+ WARN: number;
51
+ INFO: number;
52
+ DEBUG: number;
53
+ };
54
+
55
+ export declare const mockAdmin: MockFn;
56
+
57
+ export declare const mockConsumer: MockFn;
58
+
59
+ declare type MockFn = {
60
+ (): any;
61
+ mock: {
62
+ calls: any[][];
63
+ };
64
+ mockClear: () => void;
65
+ mockReset: () => void;
66
+ mockImplementation: (fn: (...args: any[]) => any) => MockFn;
67
+ mockReturnValue: (value: any) => MockFn;
68
+ mockResolvedValue: (value: any) => MockFn;
69
+ };
70
+
71
+ export declare const mockProducer: MockFn;
72
+
73
+ export declare const mockProducerSend: MockFn;
74
+
75
+ export declare const mockTransaction: MockFn;
76
+
77
+ export declare const mockTransactionSend: MockFn;
78
+
79
+ export { }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@woovi/kafka",
3
3
  "description": "Kafka setup and utilities for Woovi microservices",
4
- "version": "0.1.2",
4
+ "version": "0.1.4",
5
5
  "author": "",
6
6
  "type": "module",
7
7
  "dependencies": {
@@ -10,6 +10,7 @@
10
10
  "prom-client": "^15.1.3"
11
11
  },
12
12
  "devDependencies": {
13
+ "@microsoft/api-extractor": "^7.56.2",
13
14
  "@rslib/core": "^0.12.1",
14
15
  "@types/node": "^24.3.0",
15
16
  "tsx": "^4.19.0",
@@ -1,25 +0,0 @@
1
- import type { Consumer, EachMessagePayload } from 'kafkajs';
2
- import type { WooviConsumerConfig, MessageHandler, BatchHandler } from './types.js';
3
- export declare class WooviConsumer {
4
- private consumer;
5
- private topics;
6
- private fromBeginning;
7
- private connected;
8
- private subscribed;
9
- private groupId;
10
- private onError?;
11
- constructor(config: WooviConsumerConfig);
12
- connect(): Promise<void>;
13
- subscribe(): Promise<void>;
14
- disconnect(): Promise<void>;
15
- isConnected(): boolean;
16
- run(handler: MessageHandler): Promise<void>;
17
- runBatch(handler: BatchHandler): Promise<void>;
18
- pause(topics?: string[]): Promise<void>;
19
- resume(topics?: string[]): Promise<void>;
20
- getConsumer(): Consumer;
21
- }
22
- export declare function createConsumer(config: WooviConsumerConfig): WooviConsumer;
23
- export declare function parseMessage<T>(payload: EachMessagePayload): T | null;
24
- export declare function getMessageHeaders(payload: EachMessagePayload): Record<string, string>;
25
- //# sourceMappingURL=consumer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../src/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAoB,MAAM,SAAS,CAAC;AAW9E,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AAIlG,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAe;gBAEnB,MAAM,EAAE,mBAAmB;IA6BjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAQjC,WAAW,IAAI,OAAO;IAIhB,GAAG,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD3C,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C9C,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASvC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9C,WAAW,IAAI,QAAQ;CAGxB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAEzE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,GAAG,CAAC,GAAG,IAAI,CAuBrE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUrF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGjH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,UAAU,EACV,qBAAqB,EACrB,YAAY,EACZ,oBAAoB,EAEpB,yBAAyB,EACzB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,cAAc,EACd,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
package/dist/kafka.d.ts DELETED
@@ -1,12 +0,0 @@
1
- import { Kafka, logLevel as kafkaLogLevel } from 'kafkajs';
2
- import type { KafkaConfig } from './types.js';
3
- export declare function createKafka(config: KafkaConfig): Kafka;
4
- export declare function onShutdown(callback: () => Promise<void>): void;
5
- export declare function getKafka(): Kafka;
6
- export declare function createKafkaFromEnv(clientId: string): Kafka;
7
- export declare function healthCheck(): Promise<{
8
- healthy: boolean;
9
- error?: string;
10
- }>;
11
- export { Kafka, kafkaLogLevel as logLevel };
12
- //# sourceMappingURL=kafka.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafka.d.ts","sourceRoot":"","sources":["../src/kafka.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ9C,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAoBtD;AAwBD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAE9D;AAED,wBAAgB,QAAQ,IAAI,KAAK,CAKhC;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CA2B1D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBjF;AAED,OAAO,EAAE,KAAK,EAAE,aAAa,IAAI,QAAQ,EAAE,CAAC"}
package/dist/metrics.d.ts DELETED
@@ -1,17 +0,0 @@
1
- import { Registry, Counter, Histogram, Gauge } from 'prom-client';
2
- export declare const kafkaRegistry: Registry<"text/plain; version=0.0.4; charset=utf-8">;
3
- export declare const messageProcessingDuration: Histogram<"topic" | "group_id" | "partition">;
4
- export declare const messagesProcessedTotal: Counter<"topic" | "group_id" | "partition" | "status">;
5
- export declare const messagesFailedTotal: Counter<"topic" | "group_id" | "partition" | "error_type">;
6
- export declare const batchProcessingDuration: Histogram<"topic" | "group_id" | "partition">;
7
- export declare const batchSize: Histogram<"topic" | "group_id" | "partition">;
8
- export declare const consumerLag: Gauge<"topic" | "group_id" | "partition">;
9
- export declare const lastMessageTimestamp: Gauge<"topic" | "group_id" | "partition">;
10
- export declare const messagesProducedTotal: Counter<"topic" | "status">;
11
- export declare const produceLatency: Histogram<"topic">;
12
- export declare function enableDefaultMetrics(): void;
13
- export declare function getMetrics(): Promise<string>;
14
- export declare function getMetricsContentType(): string;
15
- export declare function resetMetrics(): void;
16
- export { Registry };
17
- //# sourceMappingURL=metrics.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAyB,MAAM,aAAa,CAAC;AAGzF,eAAO,MAAM,aAAa,sDAAiB,CAAC;AAG5C,eAAO,MAAM,yBAAyB,+CAMpC,CAAC;AAGH,eAAO,MAAM,sBAAsB,wDAKjC,CAAC;AAGH,eAAO,MAAM,mBAAmB,4DAK9B,CAAC;AAGH,eAAO,MAAM,uBAAuB,+CAMlC,CAAC;AAGH,eAAO,MAAM,SAAS,+CAMpB,CAAC;AAGH,eAAO,MAAM,WAAW,2CAKtB,CAAC;AAGH,eAAO,MAAM,oBAAoB,2CAK/B,CAAC;AAGH,eAAO,MAAM,qBAAqB,6BAKhC,CAAC;AAEH,eAAO,MAAM,cAAc,oBAMzB,CAAC;AAGH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAGD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAElD;AAGD,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAGD,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { Producer, RecordMetadata } from 'kafkajs';
2
- import type { WooviProducerConfig, PublishArgs, PublishBatchArgs, PublishMultiTopicArgs } from './types.js';
3
- export declare class WooviProducer {
4
- private producer;
5
- private defaultTopic?;
6
- private connected;
7
- constructor(config?: WooviProducerConfig);
8
- connect(): Promise<void>;
9
- disconnect(): Promise<void>;
10
- isConnected(): boolean;
11
- publish<T>(args: PublishArgs<T>): Promise<RecordMetadata[]>;
12
- publishBatch<T>(args: PublishBatchArgs<T>): Promise<RecordMetadata[]>;
13
- publishToMultipleTopics<T>(args: PublishMultiTopicArgs<T>): Promise<RecordMetadata[]>;
14
- getProducer(): Producer;
15
- }
16
- export declare function createProducer(config?: WooviProducerConfig): WooviProducer;
17
- //# sourceMappingURL=producer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"producer.d.ts","sourceRoot":"","sources":["../src/producer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,cAAc,EAAE,MAAM,SAAS,CAAC;AAIjE,OAAO,KAAK,EAAE,mBAAmB,EAAE,WAAW,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI5G,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,mBAAwB;IAgBtC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC,WAAW,IAAI,OAAO;IAIhB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsC3D,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsCrE,uBAAuB,CAAC,CAAC,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqB3F,WAAW,IAAI,QAAQ;CAGxB;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,mBAAwB,GAAG,aAAa,CAE9E"}
@@ -1,10 +0,0 @@
1
- export type KafkaMessage = {
2
- topic: string;
3
- messages: Array<{
4
- key?: string;
5
- value: string;
6
- headers?: Record<string, string>;
7
- }>;
8
- };
9
- export declare const getKafkaMessages: () => KafkaMessage[];
10
- //# sourceMappingURL=getKafkaMessages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getKafkaMessages.d.ts","sourceRoot":"","sources":["../../src/test-utils/getKafkaMessages.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAClC,CAAC,CAAC;CACJ,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,YAAY,EAwB/C,CAAC"}
@@ -1,6 +0,0 @@
1
- export { getKafkaMessages } from './getKafkaMessages.js';
2
- export { kafkaAssert } from './kafkaAssert.js';
3
- export { kafkaAssertLength } from './kafkaAssertLength.js';
4
- export { Kafka, mockProducerSend, mockTransactionSend, mockTransaction, mockProducer, mockConsumer, mockAdmin, KafkaJSNonRetriableError, KafkaJSProtocolError, logLevel, CompressionTypes, clearAllMocks, } from './kafkaMock.js';
5
- export type { KafkaMessage } from './getKafkaMessages.js';
6
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,wBAAwB,EACxB,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,7 +0,0 @@
1
- type KafkaAssertArgs = {
2
- topic: string;
3
- message: Record<string, unknown>;
4
- };
5
- export declare const kafkaAssert: (args: KafkaAssertArgs) => void;
6
- export {};
7
- //# sourceMappingURL=kafkaAssert.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafkaAssert.d.ts","sourceRoot":"","sources":["../../src/test-utils/kafkaAssert.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAkBF,eAAO,MAAM,WAAW,GAAI,MAAM,eAAe,KAAG,IA2BnD,CAAC"}
@@ -1,7 +0,0 @@
1
- type KafkaAssertLengthArgs = {
2
- topic: string;
3
- length: number;
4
- };
5
- export declare const kafkaAssertLength: (args: KafkaAssertLengthArgs) => void;
6
- export {};
7
- //# sourceMappingURL=kafkaAssertLength.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafkaAssertLength.d.ts","sourceRoot":"","sources":["../../src/test-utils/kafkaAssertLength.ts"],"names":[],"mappings":"AAEA,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,qBAAqB,KAAG,IAkB/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"kafkaMock.d.ts","sourceRoot":"","sources":["../../src/test-utils/kafkaMock.ts"],"names":[],"mappings":"AAEA,KAAK,MAAM,GAAG;IACZ,IAAI,GAAG,CAAC;IACR,IAAI,EAAE;QAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAA;KAAE,CAAC;IACzB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,MAAM,CAAC;IAC5D,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;IACxC,iBAAiB,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC;CAC3C,CAAC;AA+BF,eAAO,MAAM,gBAAgB,QAAO,CAAC;AAErC,eAAO,MAAM,mBAAmB,QAAO,CAAC;AAExC,eAAO,MAAM,eAAe,QAI1B,CAAC;AAEH,eAAO,MAAM,YAAY,QAMvB,CAAC;AAEH,eAAO,MAAM,YAAY,QASvB,CAAC;AAEH,eAAO,MAAM,SAAS,QAOpB,CAAC;AAEH,eAAO,MAAM,KAAK,QAIhB,CAAC;AAEH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,IAAI,EAAE,MAAM,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAK1C;AAED,eAAO,MAAM,QAAQ;;;;;;CAMpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAM5B,CAAC;AAEF,eAAO,MAAM,aAAa,QAAO,IAQhC,CAAC"}
package/dist/test.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":""}
package/dist/types.d.ts DELETED
@@ -1,59 +0,0 @@
1
- import type { KafkaConfig as KafkaJSConfig, ProducerConfig, ConsumerConfig, ConsumerSubscribeTopics, EachMessagePayload, EachBatchPayload, Message, RecordMetadata, CompressionTypes } from 'kafkajs';
2
- export interface KafkaConfig {
3
- brokers: string[];
4
- clientId: string;
5
- ssl?: KafkaJSConfig['ssl'];
6
- sasl?: KafkaJSConfig['sasl'];
7
- connectionTimeout?: number;
8
- requestTimeout?: number;
9
- retry?: KafkaJSConfig['retry'];
10
- }
11
- export interface WooviProducerConfig extends ProducerConfig {
12
- defaultTopic?: string;
13
- }
14
- export interface WooviConsumerConfig extends ConsumerConfig {
15
- topics: ConsumerSubscribeTopics['topics'];
16
- fromBeginning?: boolean;
17
- onError?: ErrorHandler;
18
- }
19
- export interface PublishArgs<T = unknown> {
20
- data: T;
21
- topic?: string;
22
- key?: string;
23
- partition?: number;
24
- headers?: Record<string, string>;
25
- timestamp?: string;
26
- compression?: CompressionTypes;
27
- }
28
- export interface PublishBatchArgs<T = unknown> {
29
- messages: Array<{
30
- data: T;
31
- key?: string;
32
- partition?: number;
33
- headers?: Record<string, string>;
34
- timestamp?: string;
35
- }>;
36
- topic?: string;
37
- compression?: CompressionTypes;
38
- }
39
- export interface PublishMultiTopicArgs<T = unknown> {
40
- messages: Array<{
41
- topic: string;
42
- data: T;
43
- key?: string;
44
- partition?: number;
45
- headers?: Record<string, string>;
46
- timestamp?: string;
47
- }>;
48
- }
49
- export interface MessageHandler {
50
- (payload: EachMessagePayload): Promise<void>;
51
- }
52
- export interface BatchHandler {
53
- (payload: EachBatchPayload): Promise<void>;
54
- }
55
- export interface ErrorHandler {
56
- (error: Error, payload: EachMessagePayload): Promise<void>;
57
- }
58
- export type { Message, RecordMetadata, EachMessagePayload, EachBatchPayload };
59
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,IAAI,aAAa,EAC5B,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,kBAAkB,EAClB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,MAAM,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO;IACtC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,OAAO;IAChD,QAAQ,EAAE,KAAK,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5D;AAED,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC"}