@platformatic/kafka 1.30.0 → 1.32.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/dist/apis/callbacks.js +1 -1
- package/dist/clients/admin/admin.d.ts +3 -1
- package/dist/clients/admin/admin.js +63 -35
- package/dist/clients/admin/options.d.ts +22 -0
- package/dist/clients/admin/options.js +15 -1
- package/dist/clients/admin/types.d.ts +11 -1
- package/dist/clients/base/base.d.ts +4 -1
- package/dist/clients/base/base.js +17 -2
- package/dist/clients/base/index.d.ts +1 -1
- package/dist/clients/base/index.js +1 -1
- package/dist/clients/base/options.d.ts +1 -0
- package/dist/clients/base/options.js +1 -0
- package/dist/clients/base/types.d.ts +1 -0
- package/dist/clients/consumer/consumer.d.ts +4 -1
- package/dist/clients/consumer/consumer.js +29 -2
- package/dist/clients/consumer/messages-stream.d.ts +1 -0
- package/dist/clients/consumer/messages-stream.js +61 -15
- package/dist/clients/consumer/options.d.ts +3 -0
- package/dist/clients/consumer/options.js +3 -0
- package/dist/clients/consumer/types.d.ts +3 -0
- package/dist/clients/producer/index.d.ts +1 -0
- package/dist/clients/producer/index.js +1 -0
- package/dist/clients/producer/partitioners.d.ts +3 -0
- package/dist/clients/producer/partitioners.js +8 -0
- package/dist/clients/producer/producer.js +15 -7
- package/dist/clients/producer/types.d.ts +1 -1
- package/dist/errors.js +9 -1
- package/dist/network/connection-pool.d.ts +2 -0
- package/dist/network/connection-pool.js +11 -2
- package/dist/network/connection.d.ts +3 -0
- package/dist/network/connection.js +34 -4
- package/dist/protocol/sasl/scram-sha.js +9 -2
- package/dist/typescript-4/dist/clients/admin/admin.d.ts +3 -1
- package/dist/typescript-4/dist/clients/admin/options.d.ts +22 -0
- package/dist/typescript-4/dist/clients/admin/types.d.ts +11 -1
- package/dist/typescript-4/dist/clients/base/base.d.ts +4 -1
- package/dist/typescript-4/dist/clients/base/index.d.ts +1 -1
- package/dist/typescript-4/dist/clients/base/options.d.ts +1 -0
- package/dist/typescript-4/dist/clients/base/types.d.ts +1 -0
- package/dist/typescript-4/dist/clients/consumer/consumer.d.ts +4 -1
- package/dist/typescript-4/dist/clients/consumer/messages-stream.d.ts +1 -0
- package/dist/typescript-4/dist/clients/consumer/options.d.ts +3 -0
- package/dist/typescript-4/dist/clients/consumer/types.d.ts +3 -0
- package/dist/typescript-4/dist/clients/producer/index.d.ts +1 -0
- package/dist/typescript-4/dist/clients/producer/partitioners.d.ts +3 -0
- package/dist/typescript-4/dist/clients/producer/types.d.ts +1 -1
- package/dist/typescript-4/dist/network/connection-pool.d.ts +2 -0
- package/dist/typescript-4/dist/network/connection.d.ts +3 -0
- package/dist/version.js +1 -1
- package/package.json +2 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { Base, kCheckNotClosed, kGetApi, kGetBootstrapConnection, kGetConnection, kListApis, kMetadata, kOptions, kPerformDeduplicated, kPerformWithRetry, kValidateOptions } from "./base";
|
|
1
|
+
export { Base, kContext, kCheckNotClosed, kGetApi, kGetBootstrapConnection, kGetConnection, kListApis, kMetadata, kOptions, kPerformDeduplicated, kPerformWithRetry, kValidateOptions } from "./base";
|
|
2
2
|
export * from "./options";
|
|
3
3
|
export * from "./types";
|
|
@@ -33,6 +33,7 @@ export type RetryDelayGetter<Owner = object> = (client: Owner, operationId: stri
|
|
|
33
33
|
export interface BaseOptions extends ConnectionOptions {
|
|
34
34
|
clientId: string;
|
|
35
35
|
bootstrapBrokers: Broker[] | string[];
|
|
36
|
+
context?: unknown;
|
|
36
37
|
timeout?: number;
|
|
37
38
|
retries?: number | boolean;
|
|
38
39
|
retryDelay?: number | RetryDelayGetter;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type CallbackWithPromise } from "../../apis/callbacks";
|
|
2
2
|
import { type FetchResponse } from "../../apis/consumer/fetch-v17";
|
|
3
|
-
import {
|
|
3
|
+
import { type ConnectionPool } from "../../network/connection-pool";
|
|
4
|
+
import { Base, type BaseEvents, kCreateConnectionPool } from "../base/base";
|
|
4
5
|
import { MessagesStream } from "./messages-stream";
|
|
5
6
|
import { TopicsMap } from "./topics-map";
|
|
6
7
|
import { type CommitOptions, type ConsumeOptions, type ConsumerGroupJoinPayload, type ConsumerGroupLeavePayload, type ConsumerGroupRebalancePayload, type ConsumerHeartbeatErrorPayload, type ConsumerHeartbeatPayload, type ConsumerOptions, type FetchOptions, type GetLagOptions, type GroupAssignment, type GroupOptions, type ListCommitsOptions, type ListOffsetsOptions, type Offsets, type OffsetsWithTimestamps } from "./types";
|
|
@@ -28,6 +29,7 @@ export declare class Consumer<Key = Buffer, Value = Buffer, HeaderKey = Buffer,
|
|
|
28
29
|
get streamsCount(): number;
|
|
29
30
|
get lastHeartbeat(): Date | null;
|
|
30
31
|
get coordinatorId(): number | null;
|
|
32
|
+
get streamContext(): unknown;
|
|
31
33
|
close(force: boolean | CallbackWithPromise<void>, callback?: CallbackWithPromise<void>): void;
|
|
32
34
|
close(force?: boolean): Promise<void>;
|
|
33
35
|
isActive(): boolean;
|
|
@@ -49,6 +51,7 @@ export declare class Consumer<Key = Buffer, Value = Buffer, HeaderKey = Buffer,
|
|
|
49
51
|
stopLagMonitoring(): void;
|
|
50
52
|
findGroupCoordinator(callback: CallbackWithPromise<number>): void;
|
|
51
53
|
findGroupCoordinator(): Promise<number>;
|
|
54
|
+
[kCreateConnectionPool](context?: unknown): ConnectionPool;
|
|
52
55
|
joinGroup(options: GroupOptions, callback: CallbackWithPromise<string>): void;
|
|
53
56
|
joinGroup(options?: GroupOptions): Promise<string>;
|
|
54
57
|
leaveGroup(force?: boolean | CallbackWithPromise<void>, callback?: CallbackWithPromise<void>): void;
|
|
@@ -15,6 +15,7 @@ export declare class MessagesStream<Key, Value, HeaderKey, HeaderValue> extends
|
|
|
15
15
|
constructor(consumer: Consumer<Key, Value, HeaderKey, HeaderValue>, options: ConsumeOptions<Key, Value, HeaderKey, HeaderValue>);
|
|
16
16
|
get consumer(): Consumer<Key, Value, HeaderKey, HeaderValue>;
|
|
17
17
|
get offsetsToFetch(): Map<string, bigint>;
|
|
18
|
+
get context(): unknown;
|
|
18
19
|
get offsetsToCommit(): Map<string, CommitOptionsPartition>;
|
|
19
20
|
get offsetsCommitted(): Map<string, bigint>;
|
|
20
21
|
get committedOffsets(): Map<string, bigint>;
|
|
@@ -317,6 +317,7 @@ export declare const consumeOptionsSchema: {
|
|
|
317
317
|
pattern: string;
|
|
318
318
|
};
|
|
319
319
|
};
|
|
320
|
+
context: boolean;
|
|
320
321
|
mode: {
|
|
321
322
|
type: string;
|
|
322
323
|
enum: import("./types").MessagesStreamModeValue[];
|
|
@@ -475,6 +476,8 @@ export declare const consumerOptionsSchema: {
|
|
|
475
476
|
type: string;
|
|
476
477
|
pattern: string;
|
|
477
478
|
};
|
|
479
|
+
context: boolean;
|
|
480
|
+
streamContext: boolean;
|
|
478
481
|
};
|
|
479
482
|
required: string[];
|
|
480
483
|
additionalProperties: boolean;
|
|
@@ -74,6 +74,7 @@ export interface ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue> {
|
|
|
74
74
|
}
|
|
75
75
|
export interface StreamOptions {
|
|
76
76
|
topics: string[];
|
|
77
|
+
context?: unknown;
|
|
77
78
|
mode?: MessagesStreamModeValue;
|
|
78
79
|
fallbackMode?: MessagesStreamFallbackModeValue;
|
|
79
80
|
maxFetches?: number;
|
|
@@ -83,6 +84,8 @@ export interface StreamOptions {
|
|
|
83
84
|
export type ConsumeOptions<Key, Value, HeaderKey, HeaderValue> = StreamOptions & ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue> & GroupOptions;
|
|
84
85
|
export type ConsumerOptions<Key, Value, HeaderKey, HeaderValue> = BaseOptions & {
|
|
85
86
|
groupId: string;
|
|
87
|
+
context?: unknown;
|
|
88
|
+
streamContext?: unknown;
|
|
86
89
|
} & (GroupOptions | ConsumerGroupOptions) & ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue>;
|
|
87
90
|
export type FetchOptions<Key, Value, HeaderKey, HeaderValue> = Pick<ConsumeBaseOptions<Key, Value, HeaderKey, HeaderValue>, 'minBytes' | 'maxBytes' | 'maxWaitTime' | 'isolationLevel'> & {
|
|
88
91
|
node: number;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type MessageToProduce } from "../../protocol/records";
|
|
2
|
+
export declare function defaultPartitioner<Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer>(_: MessageToProduce<Key, Value, HeaderKey, HeaderValue>, key?: Buffer | undefined): number;
|
|
3
|
+
export declare function compatibilityPartitioner<Key = Buffer, Value = Buffer, HeaderKey = Buffer, HeaderValue = Buffer>(_: MessageToProduce<Key, Value, HeaderKey, HeaderValue>, key?: Buffer | undefined): number;
|
|
@@ -12,7 +12,7 @@ export interface ProduceResult {
|
|
|
12
12
|
offsets?: TopicWithPartitionAndOffset[];
|
|
13
13
|
unwritableNodes?: number[];
|
|
14
14
|
}
|
|
15
|
-
export type Partitioner<Key, Value, HeaderKey, HeaderValue> = (message: MessageToProduce<Key, Value, HeaderKey, HeaderValue
|
|
15
|
+
export type Partitioner<Key, Value, HeaderKey, HeaderValue> = (message: MessageToProduce<Key, Value, HeaderKey, HeaderValue>, key?: Buffer | undefined) => number;
|
|
16
16
|
export interface ProducerStreamReport {
|
|
17
17
|
batchId: number;
|
|
18
18
|
count: number;
|
|
@@ -25,6 +25,8 @@ export declare class ConnectionPool extends TypedEventEmitter<ConnectionPoolEven
|
|
|
25
25
|
#private;
|
|
26
26
|
constructor(clientId: string, connectionOptions?: ConnectionOptions);
|
|
27
27
|
get instanceId(): number;
|
|
28
|
+
get ownerId(): number | undefined;
|
|
29
|
+
get context(): unknown;
|
|
28
30
|
get(broker: Broker, callback: CallbackWithPromise<Connection>): void;
|
|
29
31
|
get(broker: Broker): Promise<Connection>;
|
|
30
32
|
getFirstAvailable(brokers: Broker[], callback: CallbackWithPromise<Connection>): void;
|
|
@@ -46,6 +46,7 @@ export interface ConnectionOptions {
|
|
|
46
46
|
sasl?: SASLOptions;
|
|
47
47
|
ownerId?: number;
|
|
48
48
|
handleBackPressure?: boolean;
|
|
49
|
+
context?: unknown;
|
|
49
50
|
}
|
|
50
51
|
export interface Request {
|
|
51
52
|
correlationId: number;
|
|
@@ -83,7 +84,9 @@ export declare class Connection extends TypedEventEmitter<ConnectionEvents> {
|
|
|
83
84
|
get host(): string | undefined;
|
|
84
85
|
get port(): number | undefined;
|
|
85
86
|
get instanceId(): number;
|
|
87
|
+
get ownerId(): number | undefined;
|
|
86
88
|
get status(): ConnectionStatusValue;
|
|
89
|
+
get context(): unknown;
|
|
87
90
|
get socket(): Socket;
|
|
88
91
|
isConnected(): boolean;
|
|
89
92
|
connect(host: string, port: number, callback?: CallbackWithPromise<void>): void | Promise<void>;
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = "@platformatic/kafka";
|
|
2
|
-
export const version = "1.
|
|
2
|
+
export const version = "1.32.0";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@platformatic/kafka",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.32.0",
|
|
4
4
|
"description": "Modern and performant client for Apache Kafka",
|
|
5
5
|
"homepage": "https://github.com/platformatic/kafka",
|
|
6
6
|
"author": "Platformatic Inc. <oss@platformatic.dev> (https://platformatic.dev)",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"format": "prettier -w benchmarks playground src test",
|
|
94
94
|
"test": "c8 -c test/config/c8-local.json ./scripts/node --test --test-reporter=cleaner-spec-reporter 'test/*.test.ts' 'test/*/*.test.ts' 'test/*/*/*.test.ts'",
|
|
95
95
|
"test:ci": "c8 -c test/config/c8-ci.json ./scripts/node --test --test-reporter=cleaner-spec-reporter 'test/*.test.ts' 'test/*/*.test.ts' 'test/*/*/*.test.ts'",
|
|
96
|
+
"test:memory": "NODE_OPTIONS='--expose-gc' ./scripts/node --test --test-reporter=cleaner-spec-reporter 'test/**/*.memory-test.ts'",
|
|
96
97
|
"test:docker:up": "docker-compose up -d --wait",
|
|
97
98
|
"test:docker:down": "docker-compose down",
|
|
98
99
|
"ci": "npm run build && npm run lint && npm run test:ci",
|