Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

231
Views
Convertir dos flujos en un solo flujo para canalizar con flujos de lectura y escritura

Quiero canalizar dos flujos, ambos flujos de transformación.

Secuencia 1 ( line2Arr ): convierte una línea en una matriz dentro de un objeto y la envía de vuelta a la secuencia

Secuencia 2 ( arr2Json ): toma el objeto con la matriz, crea un objeto diferente con la información y lo envía de vuelta a la secuencia.

Quiero resumir todo esto en una secuencia ( line2JsonStream ) para poder hacer, por ejemplo:

 pipeline(readStream, line2JsonStream, writeStream)

¿Qué debe ser la clase line2JsonStream para poder hacer eso? ¿Necesita extender Transform ? y si es así, ¿qué devolvería exactamente?

Cuando los uso por separado pipeline(readStream, line2Arr, arr2Json, writeStream) funcionan, pero quiero poder usarlos como una sola transmisión, y todo lo que he hecho hasta ahora no funcionó.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Al implementar line2Arr y arr2Json como instancias de un Transfom como este

 const line2Arr = new Transform({ transform( chunk, enc, cb ) { const transformed = doSomeTransformMagic( chunk ); cb( null, transformed ); } });

Podrías hacerlo

 readStream.pipe( line2Arr ).pipe( arr2Json ).pipe( writeStream )

Si entiendo su pregunta correctamente, desea aplastar las dos instancias de Transform en una sola Stream para que pueda hacer

 readStream.pipe( line2ArrAndArr2Json ).pipe( writeStream )

lo cual creo que no es fácilmente posible usando las dos instancias de Transform creadas line2Arr y arr2Json. La función pipe() requiere un Writable como argumento y devuelve el mismo objeto. En nuestro caso, es un Transform que también implementa Readable y su función pipe(). Para que el código anterior funcione, debe pasar la interfaz de escritura de line2Arr a readStream.pipe() pero devolver la interfaz de lectura de arr2Json desde readStream.pipe(), lo cual no creo que sea posible.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!