kafka-ts 1.1.8 → 1.2.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/README.md +1 -1
- package/dist/consumer/consumer-group.js +84 -99
- package/dist/consumer/consumer.js +23 -32
- package/dist/consumer/offset-manager.js +6 -5
- package/dist/distributors/group-by-leader-id.d.ts +10 -0
- package/dist/distributors/group-by-leader-id.js +13 -0
- package/dist/distributors/group-partitions-by-topic.d.ts +6 -0
- package/dist/distributors/group-partitions-by-topic.js +12 -0
- package/dist/metadata.d.ts +1 -1
- package/dist/metadata.js +1 -1
- package/dist/producer/producer-buffer.d.ts +20 -0
- package/dist/producer/producer-buffer.js +118 -0
- package/dist/producer/producer-state.d.ts +15 -0
- package/dist/producer/producer-state.js +33 -0
- package/dist/producer/producer.d.ts +6 -11
- package/dist/producer/producer.js +32 -108
- package/dist/utils/decoder.js +13 -8
- package/dist/utils/encoder.d.ts +10 -8
- package/dist/utils/encoder.js +95 -58
- package/dist/utils/promise-chain.d.ts +5 -0
- package/dist/utils/promise-chain.js +39 -0
- package/dist/utils/retry.d.ts +1 -0
- package/dist/utils/retry.js +19 -0
- package/dist/utils/shared.d.ts +1 -1
- package/dist/utils/shared.js +8 -7
- package/package.json +1 -1
- package/dist/consumer/metadata.d.ts +0 -24
- package/dist/consumer/metadata.js +0 -64
- package/dist/distributors/messages-to-topic-partition-leaders.d.ts +0 -17
- package/dist/distributors/messages-to-topic-partition-leaders.js +0 -15
- package/dist/distributors/messages-to-topic-partition-leaders.test.d.ts +0 -1
- package/dist/distributors/messages-to-topic-partition-leaders.test.js +0 -30
- package/dist/examples/src/replicator.js +0 -34
- package/dist/examples/src/utils/json.js +0 -5
- package/dist/request-handler.d.ts +0 -16
- package/dist/request-handler.js +0 -67
- package/dist/request-handler.test.d.ts +0 -1
- package/dist/request-handler.test.js +0 -340
- package/dist/src/api/api-versions.js +0 -18
- package/dist/src/api/create-topics.js +0 -46
- package/dist/src/api/delete-topics.js +0 -26
- package/dist/src/api/fetch.js +0 -95
- package/dist/src/api/find-coordinator.js +0 -34
- package/dist/src/api/heartbeat.js +0 -22
- package/dist/src/api/index.js +0 -38
- package/dist/src/api/init-producer-id.js +0 -24
- package/dist/src/api/join-group.js +0 -48
- package/dist/src/api/leave-group.js +0 -30
- package/dist/src/api/list-offsets.js +0 -39
- package/dist/src/api/metadata.js +0 -47
- package/dist/src/api/offset-commit.js +0 -39
- package/dist/src/api/offset-fetch.js +0 -44
- package/dist/src/api/produce.js +0 -119
- package/dist/src/api/sync-group.js +0 -31
- package/dist/src/broker.js +0 -35
- package/dist/src/connection.js +0 -21
- package/dist/src/consumer/consumer-group.js +0 -131
- package/dist/src/consumer/consumer.js +0 -103
- package/dist/src/consumer/metadata.js +0 -52
- package/dist/src/consumer/offset-manager.js +0 -23
- package/dist/src/index.js +0 -19
- package/dist/src/producer/producer.js +0 -84
- package/dist/src/request-handler.js +0 -57
- package/dist/src/request-handler.test.js +0 -321
- package/dist/src/types.js +0 -2
- package/dist/src/utils/api.js +0 -5
- package/dist/src/utils/decoder.js +0 -161
- package/dist/src/utils/encoder.js +0 -137
- package/dist/src/utils/error.js +0 -10
- package/dist/utils/debug.d.ts +0 -2
- package/dist/utils/debug.js +0 -11
- package/dist/utils/lock.d.ts +0 -8
- package/dist/utils/lock.js +0 -44
- package/dist/utils/memo.d.ts +0 -1
- package/dist/utils/memo.js +0 -16
- package/dist/utils/mutex.d.ts +0 -3
- package/dist/utils/mutex.js +0 -32
package/dist/utils/lock.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.Lock = void 0;
|
|
7
|
-
const events_1 = __importDefault(require("events"));
|
|
8
|
-
const logger_1 = require("./logger");
|
|
9
|
-
class Lock extends events_1.default {
|
|
10
|
-
locks = {};
|
|
11
|
-
constructor() {
|
|
12
|
-
super();
|
|
13
|
-
this.setMaxListeners(Infinity);
|
|
14
|
-
}
|
|
15
|
-
async acquire(keys, callback) {
|
|
16
|
-
await Promise.all(keys.map((key) => this.acquireKey(key)));
|
|
17
|
-
try {
|
|
18
|
-
await callback();
|
|
19
|
-
}
|
|
20
|
-
finally {
|
|
21
|
-
keys.forEach((key) => this.releaseKey(key));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
async acquireKey(key) {
|
|
25
|
-
while (this.locks[key]) {
|
|
26
|
-
await new Promise((resolve) => {
|
|
27
|
-
const timeout = setTimeout(() => {
|
|
28
|
-
logger_1.log.warn(`Lock timed out`, { key });
|
|
29
|
-
this.releaseKey(key);
|
|
30
|
-
}, 60_000);
|
|
31
|
-
this.once(`release:${key}`, () => {
|
|
32
|
-
clearTimeout(timeout);
|
|
33
|
-
resolve();
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
this.locks[key] = true;
|
|
38
|
-
}
|
|
39
|
-
releaseKey(key) {
|
|
40
|
-
this.locks[key] = false;
|
|
41
|
-
this.emit(`release:${key}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.Lock = Lock;
|
package/dist/utils/memo.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const memo: <T extends (...args: any[]) => any>(fn: T) => (...args: Parameters<T>) => ReturnType<T>;
|
package/dist/utils/memo.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.memo = void 0;
|
|
4
|
-
const memo = (fn) => {
|
|
5
|
-
const cache = {};
|
|
6
|
-
return (...args) => {
|
|
7
|
-
const key = JSON.stringify(args);
|
|
8
|
-
if (cache[key]) {
|
|
9
|
-
return cache[key];
|
|
10
|
-
}
|
|
11
|
-
const result = fn(...args);
|
|
12
|
-
cache[key] = result;
|
|
13
|
-
return result;
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
exports.memo = memo;
|
package/dist/utils/mutex.d.ts
DELETED
package/dist/utils/mutex.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createMutex = void 0;
|
|
4
|
-
const createMutex = () => {
|
|
5
|
-
const queue = [];
|
|
6
|
-
let isLocked = false;
|
|
7
|
-
const acquire = () => {
|
|
8
|
-
return new Promise((resolve) => {
|
|
9
|
-
if (!isLocked) {
|
|
10
|
-
isLocked = true;
|
|
11
|
-
return resolve();
|
|
12
|
-
}
|
|
13
|
-
queue.push(resolve);
|
|
14
|
-
});
|
|
15
|
-
};
|
|
16
|
-
const release = () => {
|
|
17
|
-
isLocked = false;
|
|
18
|
-
const next = queue.shift();
|
|
19
|
-
next && next();
|
|
20
|
-
};
|
|
21
|
-
const exclusive = async (fn) => {
|
|
22
|
-
await acquire();
|
|
23
|
-
try {
|
|
24
|
-
await fn();
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
release();
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
return { exclusive };
|
|
31
|
-
};
|
|
32
|
-
exports.createMutex = createMutex;
|