La lectura de objetos de una secuencia legible provoca la excepción TypeError

Estoy tratando de hacer que el siguiente código funcione:

var stream = require('stream');

class MyReadable extends stream.Readable {
  constructor(options) {
    super(options);
  }
  _read(size) {
    this.push({a: 1});
  }
}

var x = new MyReadable({objectMode: true});
x.pipe(process.stdout);

De acuerdo aCorrientes documentación de node.js no debería haber problemas para leer objetos sin cadenas / sin memoria intermedia de dicha secuencia gracias aobjectMode opción configurada encierto. Y, sin embargo, acabo con el siguiente error:

TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string or Buffer
    at validChunk (_stream_writable.js:253:10)
    at WriteStream.Writable.write (_stream_writable.js:288:21)
    at MyReadable.ondata (_stream_readable.js:646:20)
    at MyReadable.emit (events.js:160:13)
    at MyReadable.Readable.read (_stream_readable.js:482:10)
    at flow (_stream_readable.js:853:34)
    at resume_ (_stream_readable.js:835:3)
    at process._tickCallback (internal/process/next_tick.js:152:19)
    at Function.Module.runMain (module.js:703:11)
    at startup (bootstrap_node.js:193:16)

Sithis.push ({a: 1}) fue cambiado a, digamosthis.push ('abc') entonces todo funciona de maravilla y la ventana de mi consola se inunda con 'abc'.

Por otro lado, si configuroobjectMode afalso y todavía trato de empujar objetos como{a: 1} entonces el mensaje de error cambia a:

TypeError [ERR_INVALID_ARG_TYPE]: The "chunk" argument must be one of type string, Buffer, or Uint8Array

EntoncesobjectMode cambia algunas cosas, pero no exactamente como lo esperaría.

Estoy usando la versión 9.4.0 de node.js.

Respuestas a la pregunta(1)

Su respuesta a la pregunta