Stream is duplex

JavaScript, Node, Type · Oct 20, 2020

Checks if the given argument is a duplex (readable and writable) stream.

  • Check if the value is different from null.
  • Use typeof to check if a value is of type object and the pipe property is of type function.
  • Additionally check if the typeof the _read, _write and _readableState, _writableState properties are function and object respectively.
const isDuplexStream = val =>
  val !== null &&
  typeof val === 'object' &&
  typeof val.pipe === 'function' &&
  typeof val._read === 'function' &&
  typeof val._readableState === 'object' &&
  typeof val._write === 'function' &&
  typeof val._writableState === 'object';
const Stream = require('stream');

isDuplexStream(new Stream.Duplex()); // true

More like this

  • JavaScript Types

    A snippet collection of type helpers and explanations of JavaScript types.

    Collection · 49 snippets

  • Stream is writable

    Checks if the given argument is a writable stream.

    JavaScript, Node · Oct 20, 2020

  • Stream is readable

    Checks if the given argument is a readable stream.

    JavaScript, Node · Oct 20, 2020

  • Value is stream

    Checks if the given argument is a stream.

    JavaScript, Node · Oct 20, 2020