Nemo's Parental Misguidance

    isstream
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/isstream package

    0.1.2 • Public • Published

    isStream

    Build Status

    Test if an object is a Stream

    NPM

    The missing Stream.isStream(obj): determine if an object is standard Node.js Stream. Works for Node-core Stream objects (for 0.8, 0.10, 0.11, and in theory, older and newer versions) and all versions of readable-stream.

    Usage:

    var isStream = require('isstream')
    var Stream = require('stream')
     
    isStream(new Stream()) // true
     
    isStream({}) // false
     
    isStream(new Stream.Readable())    // true
    isStream(new Stream.Writable())    // true
    isStream(new Stream.Duplex())      // true
    isStream(new Stream.Transform())   // true
    isStream(new Stream.PassThrough()) // true

    But wait! There's more!

    You can also test for isReadable(obj), isWritable(obj) and isDuplex(obj) to test for implementations of Streams2 (and Streams3) base classes.

    var isReadable = require('isstream').isReadable
    var isWritable = require('isstream').isWritable
    var isDuplex = require('isstream').isDuplex
    var Stream = require('stream')
     
    isReadable(new Stream()) // false
    isWritable(new Stream()) // false
    isDuplex(new Stream())   // false
     
    isReadable(new Stream.Readable())    // true
    isReadable(new Stream.Writable())    // false
    isReadable(new Stream.Duplex())      // true
    isReadable(new Stream.Transform())   // true
    isReadable(new Stream.PassThrough()) // true
     
    isWritable(new Stream.Readable())    // false
    isWritable(new Stream.Writable())    // true
    isWritable(new Stream.Duplex())      // true
    isWritable(new Stream.Transform())   // true
    isWritable(new Stream.PassThrough()) // true
     
    isDuplex(new Stream.Readable())    // false
    isDuplex(new Stream.Writable())    // false
    isDuplex(new Stream.Duplex())      // true
    isDuplex(new Stream.Transform())   // true
    isDuplex(new Stream.PassThrough()) // true

    Reminder: when implementing your own streams, please use readable-stream rather than core streams.

    License

    isStream is Copyright (c) 2015 Rod Vagg @rvagg and licenced under the MIT licence. All rights not explicitly granted in the MIT license are reserved. See the included LICENSE.md file for more details.

    Install

    npm i isstream

    DownloadsWeekly Downloads

    16,279,644

    Version

    0.1.2

    License

    MIT

    Last publish

    Collaborators

    • rvagg