UNPKG

kafkajs

Version:

A modern Apache Kafka client for node.js

38 lines (31 loc) 863 B
const Decoder = require('../../../decoder') const { failure, createErrorFromCode, failIfVersionNotSupported } = require('../../../error') /** * InitProducerId Response (Version: 0) => throttle_time_ms error_code producer_id producer_epoch * throttle_time_ms => INT32 * error_code => INT16 * producer_id => INT64 * producer_epoch => INT16 */ const decode = async rawData => { const decoder = new Decoder(rawData) const throttleTime = decoder.readInt32() const errorCode = decoder.readInt16() failIfVersionNotSupported(errorCode) return { throttleTime, errorCode, producerId: decoder.readInt64().toString(), producerEpoch: decoder.readInt16(), } } const parse = async data => { if (failure(data.errorCode)) { throw createErrorFromCode(data.errorCode) } return data } module.exports = { decode, parse, }