send = async ({ acks, timeout, compression, topic, messages }) => {
    const topicMessage = { topic, messages }
    return sendBatch({
      acks,
      timeout,
      compression,
      topicMessages: [topicMessage],
    })
  }
@param {ProduceRequest} ProduceRequest
@returns {Promise}

@typedef {Object} ProduceRequest
@property {string} topic
@property {Array} messages An array of objects with "key" and "value", example:
                        [{ key: 'my-key', value: 'my-value'}]
@property {number} [acks=-1] Control the number of required acks.
                          -1 = all replicas must acknowledge
                           0 = no acknowledgments
                           1 = only waits for the leader to acknowledge
@property {number} [timeout=30000] The time to await a response in ms
@property {Compression.Types} [compression=Compression.Types.None] Compression codec