kafkajs
Version:
A modern Apache Kafka client for node.js
12 lines (10 loc) • 384 B
JavaScript
module.exports = ({ topic, partitionMetadata, messages, partitioner }) => {
if (partitionMetadata.length === 0) {
return {}
}
return messages.reduce((result, message) => {
const partition = partitioner({ topic, partitionMetadata, message })
const current = result[partition] || []
return Object.assign(result, { [partition]: [...current, message] })
}, {})
}