UNPKG

kafkajs

Version:

A modern Apache Kafka client for node.js

43 lines (37 loc) 1.15 kB
const Decoder = require('../../../decoder') const { failIfVersionNotSupported } = require('../../../error') const { parse: parseV0 } = require('../v0/response') /** * JoinGroup Response (Version: 2) => throttle_time_ms error_code generation_id group_protocol leader_id member_id [members] * throttle_time_ms => INT32 * error_code => INT16 * generation_id => INT32 * group_protocol => STRING * leader_id => STRING * member_id => STRING * members => member_id member_metadata * member_id => STRING * member_metadata => BYTES */ const decode = async rawData => { const decoder = new Decoder(rawData) const throttleTime = decoder.readInt32() const errorCode = decoder.readInt16() failIfVersionNotSupported(errorCode) return { throttleTime, errorCode, generationId: decoder.readInt32(), groupProtocol: decoder.readString(), leaderId: decoder.readString(), memberId: decoder.readString(), members: decoder.readArray(decoder => ({ memberId: decoder.readString(), memberMetadata: decoder.readBytes(), })), } } module.exports = { decode, parse: parseV0, }