UNPKG

kafkajs

Version:

A modern Apache Kafka client for node.js

47 lines (39 loc) 1.14 kB
const Decoder = require('../../../decoder') const { failure, createErrorFromCode, failIfVersionNotSupported } = require('../../../error') /** * JoinGroup Response (Version: 0) => error_code generation_id group_protocol leader_id member_id [members] * 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 errorCode = decoder.readInt16() failIfVersionNotSupported(errorCode) return { errorCode, generationId: decoder.readInt32(), groupProtocol: decoder.readString(), leaderId: decoder.readString(), memberId: decoder.readString(), members: decoder.readArray(decoder => ({ memberId: decoder.readString(), memberMetadata: decoder.readBytes(), })), } } const parse = async data => { if (failure(data.errorCode)) { throw createErrorFromCode(data.errorCode) } return data } module.exports = { decode, parse, }