@cryptexlabs/codex-nodejs-common 0.10.0 → 0.10.1
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/lib/package.json +1 -1
- package/lib/src/service/kafka/kafka-service.interface.d.ts +10 -3
- package/lib/src/service/kafka/kafka.service.d.ts +6 -4
- package/lib/src/service/kafka/kafka.service.js.map +1 -1
- package/lib/src/service/kafka/kafka.stub.service.d.ts +11 -1
- package/lib/src/service/kafka/kafka.stub.service.js +10 -1
- package/lib/src/service/kafka/kafka.stub.service.js.map +1 -1
- package/package.json +1 -1
- package/src/service/kafka/kafka-service.interface.ts +24 -3
- package/src/service/kafka/kafka.service.ts +10 -3
- package/src/service/kafka/kafka.stub.service.ts +28 -2
package/lib/package.json
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Message } from "kafkajs";
|
|
2
2
|
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
3
3
|
export interface KafkaServiceInterface {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
stopConsumer(): Promise<void>;
|
|
5
|
+
connect(): Promise<void>;
|
|
6
|
+
disconnect(): Promise<void>;
|
|
7
|
+
initializeConsumer(consumerGroup: string, config?: any): Promise<void>;
|
|
8
|
+
initializeProducer(): Promise<void>;
|
|
9
|
+
startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
|
|
10
|
+
startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
|
|
11
|
+
publish(topic: string, payload: MessageInterface<any>): Promise<void>;
|
|
12
|
+
publishBulk(topic: string, payloads: any[]): Promise<void>;
|
|
6
13
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { LoggerService } from "@nestjs/common";
|
|
2
|
-
import { Message } from "kafkajs";
|
|
2
|
+
import { ConsumerConfig, Message } from "kafkajs";
|
|
3
3
|
import { DefaultConfig } from "../../config";
|
|
4
4
|
import { ConsumerServiceDelegateInterface } from "../consumer";
|
|
5
|
-
|
|
5
|
+
import { KafkaServiceInterface } from "./kafka-service.interface";
|
|
6
|
+
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
7
|
+
export declare class KafkaService implements KafkaServiceInterface, ConsumerServiceDelegateInterface {
|
|
6
8
|
private readonly config;
|
|
7
9
|
private readonly logger;
|
|
8
10
|
private _kafka;
|
|
@@ -13,12 +15,12 @@ export declare class KafkaService implements ConsumerServiceDelegateInterface {
|
|
|
13
15
|
stopConsumer(): Promise<void>;
|
|
14
16
|
connect(): Promise<void>;
|
|
15
17
|
disconnect(): Promise<void>;
|
|
16
|
-
initializeConsumer(consumerGroup: string, config?:
|
|
18
|
+
initializeConsumer(consumerGroup: string, config?: ConsumerConfig): Promise<void>;
|
|
17
19
|
initializeProducer(): Promise<void>;
|
|
18
20
|
startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
|
|
19
21
|
startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
|
|
20
22
|
private _ensureTopicsExist;
|
|
21
|
-
publish(topic: string, payload: any): Promise<void>;
|
|
23
|
+
publish(topic: string, payload: MessageInterface<any>): Promise<void>;
|
|
22
24
|
publishBulk(topic: string, payloads: any[]): Promise<void>;
|
|
23
25
|
private _setManualConsume;
|
|
24
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,
|
|
1
|
+
{"version":3,"file":"kafka.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
import { LoggerService } from "@nestjs/common";
|
|
2
2
|
import { KafkaServiceInterface } from "./kafka-service.interface";
|
|
3
3
|
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
4
|
+
import { Message } from "kafkajs";
|
|
4
5
|
export declare class KafkaStubService implements KafkaServiceInterface {
|
|
5
|
-
|
|
6
|
+
connect(): Promise<void>;
|
|
7
|
+
disconnect(): Promise<void>;
|
|
8
|
+
initializeConsumer(consumerGroup: string, config?: {}): Promise<void>;
|
|
9
|
+
initializeProducer(): Promise<void>;
|
|
10
|
+
publish(topic: string, payload: any): Promise<void>;
|
|
11
|
+
publishBulk(topic: string, payloads: any[]): Promise<void>;
|
|
6
12
|
send(payload: MessageInterface<any>, logger: LoggerService): Promise<any>;
|
|
13
|
+
startConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>, err?: (error: string) => Promise<void>): Promise<void>;
|
|
14
|
+
startManualConsumer(topics: (string | RegExp)[], callback: (topic: string, message: Message) => Promise<void>): Promise<void>;
|
|
15
|
+
startProducer(): Promise<any>;
|
|
16
|
+
stopConsumer(): Promise<void>;
|
|
7
17
|
}
|
|
@@ -9,8 +9,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.KafkaStubService = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
let KafkaStubService = class KafkaStubService {
|
|
12
|
-
async
|
|
12
|
+
async connect() { }
|
|
13
|
+
async disconnect() { }
|
|
14
|
+
async initializeConsumer(consumerGroup, config) { }
|
|
15
|
+
async initializeProducer() { }
|
|
16
|
+
async publish(topic, payload) { }
|
|
17
|
+
async publishBulk(topic, payloads) { }
|
|
13
18
|
async send(payload, logger) { }
|
|
19
|
+
async startConsumer(topics, callback, err) { }
|
|
20
|
+
async startManualConsumer(topics, callback) { }
|
|
21
|
+
async startProducer() { }
|
|
22
|
+
async stopConsumer() { }
|
|
14
23
|
};
|
|
15
24
|
exports.KafkaStubService = KafkaStubService;
|
|
16
25
|
exports.KafkaStubService = KafkaStubService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kafka.stub.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.stub.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2D;
|
|
1
|
+
{"version":3,"file":"kafka.stub.service.js","sourceRoot":"","sources":["../../../../src/service/kafka/kafka.stub.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA2D;AAMpD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,KAAK,CAAC,OAAO,KAAmB,CAAC;IAEjC,KAAK,CAAC,UAAU,KAAmB,CAAC;IAEpC,KAAK,CAAC,kBAAkB,CAAC,aAAqB,EAAE,MAAW,IAAkB,CAAC;IAE9E,KAAK,CAAC,kBAAkB,KAAmB,CAAC;IAE5C,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAAY,IAAkB,CAAC;IAE5D,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,QAAe,IAAkB,CAAC;IAEnE,KAAK,CAAC,IAAI,CACR,OAA8B,EAC9B,MAAqB,IACN,CAAC;IAElB,KAAK,CAAC,aAAa,CACjB,MAA2B,EAC3B,QAA4D,EAC5D,GAAsC,IACtB,CAAC;IAEnB,KAAK,CAAC,mBAAmB,CACvB,MAA2B,EAC3B,QAA4D,IAC5C,CAAC;IAEnB,KAAK,CAAC,aAAa,KAAkB,CAAC;IAEtC,KAAK,CAAC,YAAY,KAAmB,CAAC;CACvC,CAAA;AAhCY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;GACA,gBAAgB,CAgC5B"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Message } from "kafkajs";
|
|
2
2
|
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
3
3
|
|
|
4
4
|
export interface KafkaServiceInterface {
|
|
5
|
-
|
|
5
|
+
stopConsumer(): Promise<void>;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
connect(): Promise<void>;
|
|
8
|
+
|
|
9
|
+
disconnect(): Promise<void>;
|
|
10
|
+
|
|
11
|
+
initializeConsumer(consumerGroup: string, config?): Promise<void>;
|
|
12
|
+
|
|
13
|
+
initializeProducer(): Promise<void>;
|
|
14
|
+
|
|
15
|
+
startConsumer(
|
|
16
|
+
topics: (string | RegExp)[],
|
|
17
|
+
callback: (topic: string, message: Message) => Promise<void>,
|
|
18
|
+
err?: (error: string) => Promise<void>
|
|
19
|
+
): Promise<void>;
|
|
20
|
+
|
|
21
|
+
startManualConsumer(
|
|
22
|
+
topics: (string | RegExp)[],
|
|
23
|
+
callback: (topic: string, message: Message) => Promise<void>
|
|
24
|
+
): Promise<void>;
|
|
25
|
+
|
|
26
|
+
publish(topic: string, payload: MessageInterface<any>): Promise<void>;
|
|
27
|
+
|
|
28
|
+
publishBulk(topic: string, payloads: any[]): Promise<void>;
|
|
8
29
|
}
|
|
@@ -2,6 +2,7 @@ import { Inject, Injectable, LoggerService } from "@nestjs/common";
|
|
|
2
2
|
import {
|
|
3
3
|
Admin,
|
|
4
4
|
Consumer,
|
|
5
|
+
ConsumerConfig,
|
|
5
6
|
EachMessagePayload,
|
|
6
7
|
ITopicConfig,
|
|
7
8
|
Kafka,
|
|
@@ -12,9 +13,12 @@ import {
|
|
|
12
13
|
import { DefaultConfig } from "../../config";
|
|
13
14
|
import { ConsumerServiceDelegateInterface } from "../consumer";
|
|
14
15
|
import { KafkaLogger } from "./kafka.logger";
|
|
16
|
+
import { KafkaServiceInterface } from "./kafka-service.interface";
|
|
17
|
+
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
15
18
|
|
|
16
19
|
@Injectable()
|
|
17
|
-
export class KafkaService
|
|
20
|
+
export class KafkaService
|
|
21
|
+
implements KafkaServiceInterface, ConsumerServiceDelegateInterface {
|
|
18
22
|
private _kafka: Kafka;
|
|
19
23
|
private _kafkaConsumer: Consumer;
|
|
20
24
|
private _kafkaProducer: Producer;
|
|
@@ -78,7 +82,7 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
|
|
|
78
82
|
|
|
79
83
|
public async initializeConsumer(
|
|
80
84
|
consumerGroup: string,
|
|
81
|
-
config = {}
|
|
85
|
+
config: ConsumerConfig = {} as ConsumerConfig
|
|
82
86
|
): Promise<void> {
|
|
83
87
|
this._kafkaConsumer = this._kafka.consumer({
|
|
84
88
|
groupId: consumerGroup,
|
|
@@ -193,7 +197,10 @@ export class KafkaService implements ConsumerServiceDelegateInterface {
|
|
|
193
197
|
}
|
|
194
198
|
|
|
195
199
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
196
|
-
public async publish(
|
|
200
|
+
public async publish(
|
|
201
|
+
topic: string,
|
|
202
|
+
payload: MessageInterface<any>
|
|
203
|
+
): Promise<void> {
|
|
197
204
|
const json = JSON.stringify(payload);
|
|
198
205
|
this.logger.debug(`Publishing kafka message: ${json} to topic ${topic}`);
|
|
199
206
|
await this._kafkaProducer.send({
|
|
@@ -1,13 +1,39 @@
|
|
|
1
1
|
import { Injectable, LoggerService } from "@nestjs/common";
|
|
2
2
|
import { KafkaServiceInterface } from "./kafka-service.interface";
|
|
3
3
|
import { MessageInterface } from "@cryptexlabs/codex-data-model";
|
|
4
|
+
import { Message } from "kafkajs";
|
|
4
5
|
|
|
5
6
|
@Injectable()
|
|
6
7
|
export class KafkaStubService implements KafkaServiceInterface {
|
|
7
|
-
|
|
8
|
+
async connect(): Promise<void> {}
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
async disconnect(): Promise<void> {}
|
|
11
|
+
|
|
12
|
+
async initializeConsumer(consumerGroup: string, config?: {}): Promise<void> {}
|
|
13
|
+
|
|
14
|
+
async initializeProducer(): Promise<void> {}
|
|
15
|
+
|
|
16
|
+
async publish(topic: string, payload: any): Promise<void> {}
|
|
17
|
+
|
|
18
|
+
async publishBulk(topic: string, payloads: any[]): Promise<void> {}
|
|
19
|
+
|
|
20
|
+
async send(
|
|
10
21
|
payload: MessageInterface<any>,
|
|
11
22
|
logger: LoggerService
|
|
12
23
|
): Promise<any> {}
|
|
24
|
+
|
|
25
|
+
async startConsumer(
|
|
26
|
+
topics: (string | RegExp)[],
|
|
27
|
+
callback: (topic: string, message: Message) => Promise<void>,
|
|
28
|
+
err?: (error: string) => Promise<void>
|
|
29
|
+
): Promise<void> {}
|
|
30
|
+
|
|
31
|
+
async startManualConsumer(
|
|
32
|
+
topics: (string | RegExp)[],
|
|
33
|
+
callback: (topic: string, message: Message) => Promise<void>
|
|
34
|
+
): Promise<void> {}
|
|
35
|
+
|
|
36
|
+
async startProducer(): Promise<any> {}
|
|
37
|
+
|
|
38
|
+
async stopConsumer(): Promise<void> {}
|
|
13
39
|
}
|