Comparing version
{ | ||
"name": "kafkajs", | ||
"version": "1.13.0-beta.4", | ||
"version": "1.13.0-beta.5", | ||
"description": "A modern Apache Kafka client for node.js", | ||
@@ -82,5 +82,5 @@ "author": "Tulio Ornelas <ornelas.tulio@gmail.com>", | ||
"kafkajs": { | ||
"sha": "d9aa72f67efb1a013a493d8f341d6630c3719e30", | ||
"compare": "https://github.com/tulios/kafkajs/compare/v1.12.0...d9aa72f67efb1a013a493d8f341d6630c3719e30" | ||
"sha": "b5ffa139bd193706f363b49de25c288e2b93d71e", | ||
"compare": "https://github.com/tulios/kafkajs/compare/v1.12.0...b5ffa139bd193706f363b49de25c288e2b93d71e" | ||
} | ||
} |
@@ -12,2 +12,4 @@ const createRetry = require('../retry') | ||
const NO_CONTROLLER_ID = -1 | ||
const { values, keys } = Object | ||
@@ -600,2 +602,34 @@ const eventNames = values(events) | ||
/** | ||
* Describe cluster | ||
* | ||
* @return {Promise<ClusterMetadata>} | ||
* | ||
* @typedef {Object} ClusterMetadata | ||
* @property {Array<Broker>} brokers | ||
* @property {Number} controller Current controller id. Returns null if unknown. | ||
* @property {String} clusterId | ||
* | ||
* @typedef {Object} Broker | ||
* @property {Number} nodeId | ||
* @property {String} host | ||
* @property {Number} port | ||
*/ | ||
const describeCluster = async () => { | ||
const { brokers: nodes, clusterId, controllerId } = await cluster.metadata({ topics: [] }) | ||
const brokers = nodes.map(({ nodeId, host, port }) => ({ | ||
nodeId, | ||
host, | ||
port, | ||
})) | ||
const controller = | ||
controllerId == null || controllerId === NO_CONTROLLER_ID ? null : controllerId | ||
return { | ||
brokers, | ||
controller, | ||
clusterId, | ||
} | ||
} | ||
/** | ||
* List groups in a broker | ||
@@ -658,2 +692,3 @@ * | ||
fetchTopicMetadata, | ||
describeCluster, | ||
events, | ||
@@ -660,0 +695,0 @@ fetchOffsets, |
@@ -109,3 +109,3 @@ /// <reference types="node" /> | ||
export interface PartitionAssigner { | ||
new (config: { cluster: Cluster }): Assigner | ||
new(config: { cluster: Cluster }): Assigner | ||
} | ||
@@ -310,2 +310,3 @@ | ||
): Promise<Array<{ partition: number; offset: string; high: string; low: string }>> | ||
describeCluster(): Promise<{ brokers: Array<{ nodeId: number; host: string; port: number }>; controller: number | null, clusterId: string }> | ||
setOffsets(options: { groupId: string; topic: string; partitions: SeekEntry[] }): Promise<void> | ||
@@ -312,0 +313,0 @@ resetOffsets(options: { groupId: string; topic: string; earliest: boolean }): Promise<void> |
498750
0.21%14745
0.22%