@restorecommerce/kafka-client 0.4.2 → 1.0.0
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/CHANGELOG.md +38 -0
- package/lib/events/index.js +1 -0
- package/lib/events/index.js.map +1 -0
- package/lib/events/provider/kafka/index.d.ts +1 -5
- package/lib/events/provider/kafka/index.js +7 -25
- package/lib/events/provider/kafka/index.js.map +1 -0
- package/lib/events/provider/local/index.d.ts +1 -11
- package/lib/events/provider/local/index.js +3 -40
- package/lib/events/provider/local/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +6 -1
- package/lib/index.js.map +1 -0
- package/lib/protos.d.ts +19 -0
- package/lib/protos.js +30 -0
- package/lib/protos.js.map +1 -0
- package/package.json +17 -16
- package/tsconfig.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,44 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [1.0.0](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.4...@restorecommerce/kafka-client@1.0.0) (2022-08-25)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* move to fully typed grpc client and server ([ec9be2d](https://github.com/restorecommerce/kafka-client/commit/ec9be2daff0823e9ba440a2845b7b1a7f2d74b50))
|
|
12
|
+
* move to fully typed grpc client and server ([aeee2f2](https://github.com/restorecommerce/kafka-client/commit/aeee2f2b7ca470223d7bc42fd7cafd4bb8387796))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Reverts
|
|
16
|
+
|
|
17
|
+
* Revert "BREAKING CHANGE: move to fully typed grpc client and server" ([2d584a7](https://github.com/restorecommerce/kafka-client/commit/2d584a709632ae608f595a2c836deabd34f671d9))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### BREAKING CHANGES
|
|
21
|
+
|
|
22
|
+
* move to fully typed grpc client and server
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## [0.4.4](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.3...@restorecommerce/kafka-client@0.4.4) (2022-08-10)
|
|
29
|
+
|
|
30
|
+
**Note:** Version bump only for package @restorecommerce/kafka-client
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## [0.4.3](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.2...@restorecommerce/kafka-client@0.4.3) (2022-07-07)
|
|
37
|
+
|
|
38
|
+
**Note:** Version bump only for package @restorecommerce/kafka-client
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
6
44
|
## [0.4.2](https://github.com/restorecommerce/kafka-client/compare/@restorecommerce/kafka-client@0.4.1...@restorecommerce/kafka-client@0.4.2) (2022-06-28)
|
|
7
45
|
|
|
8
46
|
|
package/lib/events/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4BAA4B;AAE5B,oDAAuD;AACvD,0CAA0C;AAC1C,0CAA0C;AAG1C;;;GAGG;AACH,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,QAAa,EAAQ,EAAE;IACzE,cAAc,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;AAClC,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC;AAEF,IAAA,6BAAqB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/C,IAAA,6BAAqB,EAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AAE/C;;GAEG;AACH,MAAa,MAAM;IAIjB;;;OAGG;IACH,YAAY,MAAY,EAAE,MAAe;QACvC,SAAS;QACT,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SAC5C;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QACrC,IAAI,SAAS,EAAE;YACb,SAAS,CAAC,aAAa,GAAG,CAAC,GAAG,EAAE,EAAE;gBAChC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC,CAAC;SACH;QAED,SAAS;QACT,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;YACnB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;gBAC/B,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,GAAE,CAAC;aAC9B;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,IAAA,qBAAY,EAAC,SAAS,CAAC,CAAC;aACvC;SACF;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;SACtB;QAED,WAAW;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3E,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;SAC7D;QACD,MAAM,QAAQ,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,YAAY,oBAAoB,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED;;;;OAIG;IACG,KAAK;;YACT,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;KAAA;IAED;;;;OAIG;IACG,IAAI;;YACR,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC;KAAA;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,6DAA6D;QAC7D,uCAAuC;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;CACF;AAlFD,wBAkFC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
|
-
import * as protobuf from 'protobufjs';
|
|
4
3
|
import * as async from 'async';
|
|
5
4
|
import { Logger } from 'winston';
|
|
6
5
|
import { Admin, Consumer, Kafka as KafkaJS, KafkaConfig, KafkaMessage, Producer } from 'kafkajs';
|
|
@@ -189,11 +188,8 @@ export declare class Kafka {
|
|
|
189
188
|
/**
|
|
190
189
|
* Encode the given message object using protobuf.js.
|
|
191
190
|
*
|
|
192
|
-
* @param {string} eventName
|
|
193
191
|
* @param {Object} msg
|
|
194
|
-
* @param {string} protoFilePath
|
|
195
192
|
* @param {string} messageObject
|
|
196
|
-
* @param {string} protoRoot
|
|
197
193
|
* @return {Object} buffer
|
|
198
194
|
*/
|
|
199
195
|
private static encodeObject;
|
|
@@ -203,7 +199,7 @@ export declare class Kafka {
|
|
|
203
199
|
* @param eventName
|
|
204
200
|
* @param msg
|
|
205
201
|
*/
|
|
206
|
-
decodeObject(config: any, eventName: string, msg: any):
|
|
202
|
+
decodeObject(config: any, eventName: string, msg: any): any;
|
|
207
203
|
/**
|
|
208
204
|
* Send a message event to a Kafka topic.
|
|
209
205
|
* A protobuf message is an instance of the google's protobuf generated class
|
|
@@ -24,9 +24,9 @@ exports.Name = exports.Kafka = exports.Topic = void 0;
|
|
|
24
24
|
const retry = require("retry");
|
|
25
25
|
const _ = require("lodash");
|
|
26
26
|
const events_1 = require("events");
|
|
27
|
-
const protobuf = require("protobufjs");
|
|
28
27
|
const async = require("async");
|
|
29
28
|
const kafkajs_1 = require("kafkajs");
|
|
29
|
+
const protos_1 = require("../../../protos");
|
|
30
30
|
const makeProtoResolver = (protoFilePath, protoRoot) => {
|
|
31
31
|
return (origin, target) => {
|
|
32
32
|
// ignore the same file
|
|
@@ -427,8 +427,7 @@ class Topic {
|
|
|
427
427
|
let decodedMsg = this.provider.decodeObject(this.config, eventName, message);
|
|
428
428
|
if (decodedMsg) {
|
|
429
429
|
decodedMsg = _.pick(decodedMsg, _.keys(decodedMsg)); // hack around messy protobuf.js object
|
|
430
|
-
this.provider.logger.info(`kafka received event with
|
|
431
|
-
topic ${context.topic} and event name ${eventName}`);
|
|
430
|
+
this.provider.logger.info(`kafka received event with topic ${context.topic} and event name ${eventName}`);
|
|
432
431
|
this.emitter.emit(eventName, decodedMsg, context, this.config, eventName);
|
|
433
432
|
}
|
|
434
433
|
}
|
|
@@ -567,20 +566,12 @@ class Kafka {
|
|
|
567
566
|
/**
|
|
568
567
|
* Encode the given message object using protobuf.js.
|
|
569
568
|
*
|
|
570
|
-
* @param {string} eventName
|
|
571
569
|
* @param {Object} msg
|
|
572
|
-
* @param {string} protoFilePath
|
|
573
570
|
* @param {string} messageObject
|
|
574
|
-
* @param {string} protoRoot
|
|
575
571
|
* @return {Object} buffer
|
|
576
572
|
*/
|
|
577
|
-
static encodeObject(
|
|
578
|
-
|
|
579
|
-
root.resolvePath = makeProtoResolver(protoFilePath, protoRoot);
|
|
580
|
-
root = root.loadSync(protoFilePath, { keepCase: true });
|
|
581
|
-
const MessageClass = root.lookupType(messageObject);
|
|
582
|
-
const convertedMessage = MessageClass.create(msg);
|
|
583
|
-
return MessageClass.encode(convertedMessage).finish();
|
|
573
|
+
static encodeObject(msg, messageObject) {
|
|
574
|
+
return (0, protos_1.encodeMessage)(msg, messageObject);
|
|
584
575
|
}
|
|
585
576
|
/**
|
|
586
577
|
* Decode the given message using protobuf.js.
|
|
@@ -589,21 +580,12 @@ class Kafka {
|
|
|
589
580
|
* @param msg
|
|
590
581
|
*/
|
|
591
582
|
decodeObject(config, eventName, msg) {
|
|
592
|
-
const protoFilePath = config[eventName].protoRoot + config[eventName].protos;
|
|
593
|
-
const protoRoot = config[eventName].protoRoot;
|
|
594
|
-
const messageObject = config[eventName].messageObject;
|
|
595
|
-
let root = new protobuf.Root();
|
|
596
|
-
root.resolvePath = makeProtoResolver(protoFilePath, protoRoot);
|
|
597
|
-
root = root.loadSync(protoFilePath, { keepCase: true });
|
|
598
|
-
const MessageClass = root.lookupType(messageObject);
|
|
599
|
-
let decodedMsg;
|
|
600
583
|
try {
|
|
601
|
-
|
|
584
|
+
return (0, protos_1.decodeMessage)(msg, config[eventName].messageObject);
|
|
602
585
|
}
|
|
603
586
|
catch (err) {
|
|
604
587
|
this.logger.error(`error on decoding message with event ${eventName}`, { message: msg, errorCode: err.code, errorMessage: err.message, errorStack: err.stack });
|
|
605
588
|
}
|
|
606
|
-
return decodedMsg;
|
|
607
589
|
}
|
|
608
590
|
/**
|
|
609
591
|
* Send a message event to a Kafka topic.
|
|
@@ -616,7 +598,6 @@ class Kafka {
|
|
|
616
598
|
$send(topicName, eventName, message) {
|
|
617
599
|
return __awaiter(this, void 0, void 0, function* () {
|
|
618
600
|
let messages = message;
|
|
619
|
-
const protoFilePath = this.config[eventName].protoRoot + this.config[eventName].protos;
|
|
620
601
|
const messageObject = this.config[eventName].messageObject;
|
|
621
602
|
if (!_.isArray(message)) {
|
|
622
603
|
messages = [message];
|
|
@@ -627,7 +608,7 @@ class Kafka {
|
|
|
627
608
|
// get the binary representation of the message using serializeBinary()
|
|
628
609
|
// and build a Buffer from it.
|
|
629
610
|
const msg = messages[i];
|
|
630
|
-
const bufferObj = Kafka.encodeObject(
|
|
611
|
+
const bufferObj = Kafka.encodeObject(msg, messageObject);
|
|
631
612
|
values.push({
|
|
632
613
|
key: eventName,
|
|
633
614
|
value: Buffer.from(bufferObj),
|
|
@@ -753,3 +734,4 @@ exports.Kafka = Kafka;
|
|
|
753
734
|
* Name of the event provider.
|
|
754
735
|
*/
|
|
755
736
|
exports.Name = 'kafka';
|
|
737
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/provider/kafka/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as protobuf from 'protobufjs';
|
|
2
1
|
import { Logger } from 'winston';
|
|
3
2
|
/**
|
|
4
3
|
* Topic handles listening and sending events to a specific topic.
|
|
@@ -23,20 +22,11 @@ export declare class Topic {
|
|
|
23
22
|
/**
|
|
24
23
|
* Encode the given message object using protobufjs (pbjs).
|
|
25
24
|
*
|
|
26
|
-
* @param {string} eventName
|
|
27
25
|
* @param {Object} msg
|
|
28
|
-
* @param {string} protoFilePath
|
|
29
26
|
* @param {string} messageObject
|
|
30
27
|
* @return {Object} buffer
|
|
31
28
|
*/
|
|
32
|
-
encodeObject(
|
|
33
|
-
/**
|
|
34
|
-
* Resolve the protobuf root object using the proto file path.
|
|
35
|
-
* @param root
|
|
36
|
-
* @param protoFilePath
|
|
37
|
-
* @return protobuf.Root object
|
|
38
|
-
*/
|
|
39
|
-
resolveRoot(root: protobuf.Root, protoFilePath: string): Promise<protobuf.Root>;
|
|
29
|
+
encodeObject(msg: Object, messageObject: string): Promise<any>;
|
|
40
30
|
/**
|
|
41
31
|
* Send message to listeners listening to eventName events.
|
|
42
32
|
*
|
|
@@ -11,7 +11,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Name = exports.Local = exports.Topic = void 0;
|
|
13
13
|
const _ = require("lodash");
|
|
14
|
-
const protobuf = require("protobufjs");
|
|
15
14
|
/**
|
|
16
15
|
* Topic handles listening and sending events to a specific topic.
|
|
17
16
|
*/
|
|
@@ -46,52 +45,16 @@ class Topic {
|
|
|
46
45
|
/**
|
|
47
46
|
* Encode the given message object using protobufjs (pbjs).
|
|
48
47
|
*
|
|
49
|
-
* @param {string} eventName
|
|
50
48
|
* @param {Object} msg
|
|
51
|
-
* @param {string} protoFilePath
|
|
52
49
|
* @param {string} messageObject
|
|
53
50
|
* @return {Object} buffer
|
|
54
51
|
*/
|
|
55
|
-
encodeObject(
|
|
52
|
+
encodeObject(msg, messageObject) {
|
|
56
53
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
let root = new protobuf.Root();
|
|
58
|
-
root.resolvePath = (origin, target) => {
|
|
59
|
-
// ignore the same file
|
|
60
|
-
if (target == protoFilePath) {
|
|
61
|
-
return protoFilePath;
|
|
62
|
-
}
|
|
63
|
-
// Resolved target path for the import files
|
|
64
|
-
return protoRoot + target;
|
|
65
|
-
};
|
|
66
|
-
const logger = this.logger;
|
|
67
|
-
root = yield this.resolveRoot(root, protoFilePath);
|
|
68
|
-
const MessageClass = root.lookup(messageObject);
|
|
69
|
-
const convertedMessage = MessageClass.create(msg);
|
|
70
|
-
const buffer = MessageClass.encode(convertedMessage).finish();
|
|
71
54
|
return msg;
|
|
72
55
|
});
|
|
73
56
|
}
|
|
74
57
|
/**
|
|
75
|
-
* Resolve the protobuf root object using the proto file path.
|
|
76
|
-
* @param root
|
|
77
|
-
* @param protoFilePath
|
|
78
|
-
* @return protobuf.Root object
|
|
79
|
-
*/
|
|
80
|
-
resolveRoot(root, protoFilePath) {
|
|
81
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
-
const that = this;
|
|
83
|
-
return new Promise((resolve, reject) => {
|
|
84
|
-
root.load(protoFilePath, { keepCase: true }, (err, root) => {
|
|
85
|
-
if (err) {
|
|
86
|
-
that.logger.error('Error loading protobuf definition', { message: err.message, stack: err.stack });
|
|
87
|
-
reject(err);
|
|
88
|
-
}
|
|
89
|
-
resolve(root);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
58
|
* Send message to listeners listening to eventName events.
|
|
96
59
|
*
|
|
97
60
|
* @param {string} eventName Identification name of the event.
|
|
@@ -115,7 +78,6 @@ class Topic {
|
|
|
115
78
|
e.message = _.concat(e.message, message);
|
|
116
79
|
const listeners = e.listeners;
|
|
117
80
|
const logger = this.logger;
|
|
118
|
-
const protoFilePath = this.config[eventName].protoRoot + this.config[eventName].protos;
|
|
119
81
|
const messageObject = this.config[eventName].messageObject;
|
|
120
82
|
for (let i = 0; i < listeners.length; i += 1) {
|
|
121
83
|
const listener = listeners[i];
|
|
@@ -126,7 +88,7 @@ class Topic {
|
|
|
126
88
|
logger,
|
|
127
89
|
};
|
|
128
90
|
const msg = messages[j];
|
|
129
|
-
bufferObj = yield this.encodeObject(
|
|
91
|
+
bufferObj = yield this.encodeObject(msg, messageObject);
|
|
130
92
|
yield listener(bufferObj, context, this.config, eventName);
|
|
131
93
|
}
|
|
132
94
|
}
|
|
@@ -235,3 +197,4 @@ exports.Local = Local;
|
|
|
235
197
|
* Name of the event provider.
|
|
236
198
|
*/
|
|
237
199
|
exports.Name = 'local';
|
|
200
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/events/provider/local/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -14,10 +14,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.local = exports.localTopic = exports.Events = void 0;
|
|
17
|
+
exports.decodeMessage = exports.encodeMessage = exports.registerProtoMeta = exports.local = exports.localTopic = exports.Events = void 0;
|
|
18
18
|
const events_1 = require("./events");
|
|
19
19
|
Object.defineProperty(exports, "Events", { enumerable: true, get: function () { return events_1.Events; } });
|
|
20
20
|
__exportStar(require("./events/provider/kafka"), exports);
|
|
21
21
|
var local_1 = require("./events/provider/local");
|
|
22
22
|
Object.defineProperty(exports, "localTopic", { enumerable: true, get: function () { return local_1.Topic; } });
|
|
23
23
|
Object.defineProperty(exports, "local", { enumerable: true, get: function () { return local_1.Local; } });
|
|
24
|
+
var protos_1 = require("./protos");
|
|
25
|
+
Object.defineProperty(exports, "registerProtoMeta", { enumerable: true, get: function () { return protos_1.registerProtoMeta; } });
|
|
26
|
+
Object.defineProperty(exports, "encodeMessage", { enumerable: true, get: function () { return protos_1.encodeMessage; } });
|
|
27
|
+
Object.defineProperty(exports, "decodeMessage", { enumerable: true, get: function () { return protos_1.decodeMessage; } });
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qCAAkC;AACzB,uFADA,eAAM,OACA;AACf,0DAAwC;AACxC,iDAA8E;AAArE,mGAAA,KAAK,OAAc;AAAE,8FAAA,KAAK,OAAS;AAC5C,mCAA2E;AAAlE,2GAAA,iBAAiB,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,uGAAA,aAAa,OAAA"}
|
package/lib/protos.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Writer, Reader } from 'protobufjs';
|
|
2
|
+
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
3
|
+
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
|
|
4
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
5
|
+
} : Partial<T>;
|
|
6
|
+
declare type MessageType<T = any> = {
|
|
7
|
+
encode(message: T, writer?: Writer): Writer;
|
|
8
|
+
decode(input: Reader | Uint8Array, length?: number): T;
|
|
9
|
+
fromPartial(input: DeepPartial<T>): T;
|
|
10
|
+
};
|
|
11
|
+
export interface ProtoMetadata {
|
|
12
|
+
references: {
|
|
13
|
+
[key: string]: MessageType;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export declare const registerProtoMeta: (...protoMeta: ProtoMetadata[]) => void;
|
|
17
|
+
export declare const encodeMessage: <T = any>(message: T, messageObject: string) => Uint8Array;
|
|
18
|
+
export declare const decodeMessage: <T = any>(message: Reader | Uint8Array, messageObject: string) => T;
|
|
19
|
+
export {};
|
package/lib/protos.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.decodeMessage = exports.encodeMessage = exports.registerProtoMeta = void 0;
|
|
4
|
+
const objectRegistry = new Map();
|
|
5
|
+
const registerProtoMeta = (...protoMeta) => {
|
|
6
|
+
protoMeta.forEach(proto => {
|
|
7
|
+
Object.entries(proto.references).forEach(([reference, message]) => {
|
|
8
|
+
objectRegistry.set(reference, message);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
exports.registerProtoMeta = registerProtoMeta;
|
|
13
|
+
const getMessage = (messageObject) => {
|
|
14
|
+
if (!messageObject.startsWith('.')) {
|
|
15
|
+
messageObject = '.' + messageObject;
|
|
16
|
+
}
|
|
17
|
+
if (!objectRegistry.has(messageObject)) {
|
|
18
|
+
throw new Error('Proto registry does not contain message definition for: ' + messageObject);
|
|
19
|
+
}
|
|
20
|
+
return objectRegistry.get(messageObject);
|
|
21
|
+
};
|
|
22
|
+
const encodeMessage = (message, messageObject) => {
|
|
23
|
+
return getMessage(messageObject).encode(getMessage(messageObject).fromPartial(message)).finish();
|
|
24
|
+
};
|
|
25
|
+
exports.encodeMessage = encodeMessage;
|
|
26
|
+
const decodeMessage = (message, messageObject) => {
|
|
27
|
+
return getMessage(messageObject).decode(message);
|
|
28
|
+
};
|
|
29
|
+
exports.decodeMessage = decodeMessage;
|
|
30
|
+
//# sourceMappingURL=protos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protos.js","sourceRoot":"","sources":["../src/protos.ts"],"names":[],"mappings":";;;AAiCA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/C,MAAM,iBAAiB,GAAG,CAAC,GAAG,SAA0B,EAAE,EAAE;IACjE,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;YAChE,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,iBAAiB,qBAM5B;AAEF,MAAM,UAAU,GAAG,CAAC,aAAqB,EAAe,EAAE;IACxD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC,aAAa,GAAG,GAAG,GAAG,aAAa,CAAC;KACrC;IAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,0DAA0D,GAAG,aAAa,CAAC,CAAC;KAC7F;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEK,MAAM,aAAa,GAAG,CAAU,OAAU,EAAE,aAAqB,EAAc,EAAE;IACtF,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACnG,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,aAAa,GAAG,CAAU,OAA4B,EAAE,aAAqB,EAAK,EAAE;IAC/F,OAAO,UAAU,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnD,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restorecommerce/kafka-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "Opinionated Kafka Client for Microservices",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"author": "n-fuse GmbH",
|
|
@@ -17,36 +17,37 @@
|
|
|
17
17
|
],
|
|
18
18
|
"typings": "lib/index.d.ts",
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@restorecommerce/logger": "^0.
|
|
21
|
-
"
|
|
22
|
-
"
|
|
20
|
+
"@restorecommerce/logger": "^1.0.0",
|
|
21
|
+
"@restorecommerce/rc-grpc-clients": "^1.0.0",
|
|
22
|
+
"async": "^3.2.4",
|
|
23
|
+
"cls-rtracer": "^2.6.2",
|
|
23
24
|
"events": "^3.3.0",
|
|
24
|
-
"kafkajs": "^2.
|
|
25
|
+
"kafkajs": "^2.1.0",
|
|
25
26
|
"lodash": "^4.17.21",
|
|
26
|
-
"protobufjs": "^6.11.
|
|
27
|
+
"protobufjs": "^6.11.3",
|
|
27
28
|
"retry": "^0.13.1",
|
|
28
|
-
"winston": "^3.
|
|
29
|
+
"winston": "^3.8.1"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"@types/async": "^3.2.
|
|
32
|
+
"@types/async": "^3.2.15",
|
|
32
33
|
"@types/long": "^4.0.2",
|
|
33
34
|
"@types/mocha": "^9.1.1",
|
|
34
|
-
"@types/node": "^
|
|
35
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
36
|
-
"@typescript-eslint/eslint-plugin-tslint": "^5.
|
|
37
|
-
"@typescript-eslint/parser": "^5.
|
|
35
|
+
"@types/node": "^18.0.3",
|
|
36
|
+
"@typescript-eslint/eslint-plugin": "^5.30.5",
|
|
37
|
+
"@typescript-eslint/eslint-plugin-tslint": "^5.30.5",
|
|
38
|
+
"@typescript-eslint/parser": "^5.30.5",
|
|
38
39
|
"coveralls": "^3.1.1",
|
|
39
40
|
"cross-env": "^7.0.3",
|
|
40
|
-
"eslint": "^8.
|
|
41
|
+
"eslint": "^8.19.0",
|
|
41
42
|
"eslint-plugin-prefer-arrow-functions": "^3.1.4",
|
|
42
43
|
"mocha": "^10.0.0",
|
|
43
44
|
"npm-run-all": "^4.1.5",
|
|
44
45
|
"nyc": "^15.1.0",
|
|
45
46
|
"rimraf": "^3.0.0",
|
|
46
47
|
"should": "^13.2.3",
|
|
47
|
-
"ts-node": "^10.
|
|
48
|
+
"ts-node": "^10.8.2",
|
|
48
49
|
"tslint": "^6.1.3",
|
|
49
|
-
"typescript": "^4.
|
|
50
|
+
"typescript": "^4.7.4"
|
|
50
51
|
},
|
|
51
52
|
"scripts": {
|
|
52
53
|
"pretest": "npm run build && node setupTopics.js com.example.test",
|
|
@@ -71,5 +72,5 @@
|
|
|
71
72
|
}
|
|
72
73
|
}
|
|
73
74
|
},
|
|
74
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "2b25803ec9494c298f4f008a55485bc201c83bb8"
|
|
75
76
|
}
|