Nerdiest Political Manifesto
    Have ideas to improve npm?Join in the discussion! »

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

    2.3.8 • Public • Published

    through

    build status testling badge

    Easy way to create a Stream that is both readable and writable.

    • Pass in optional write and end methods.
    • through takes care of pause/resume logic if you use this.queue(data) instead of this.emit('data', data).
    • Use this.pause() and this.resume() to manage flow.
    • Check this.paused to see current flow state. (write always returns !this.paused).

    This function is the basis for most of the synchronous streams in event-stream.

    var through = require('through')
     
    through(function write(data) {
        this.queue(data) //data *must* not be null
      },
      function end () { //optional
        this.queue(null)
      })

    Or, can also be used without buffering on pause, use this.emit('data', data), and this.emit('end')

    var through = require('through')
     
    through(function write(data) {
        this.emit('data', data)
        //this.pause() 
      },
      function end () { //optional
        this.emit('end')
      })

    Extended Options

    You will probably not need these 99% of the time.

    autoDestroy=false

    By default, through emits close when the writable and readable side of the stream has ended. If that is not desired, set autoDestroy=false.

    var through = require('through')
     
    //like this
    var ts = through(write, end, {autoDestroy: false})
    //or like this
    var ts = through(write, end)
    ts.autoDestroy = false

    License

    MIT / Apache2

    Install

    npm i through

    DownloadsWeekly Downloads

    16,971,309

    Version

    2.3.8

    License

    MIT

    Last publish

    Collaborators

    • avatar