Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    workerstreampublic

    workerstream

    npm install workerstream
    

    use HTML5 web workers with the node streams API

    var workerstream = require('workerstream')
    var worker = workerstream('my-worker.js')
    

    worker is a stream and speaks stream events: data, error and end. that means you can pipe worker output to anything that accepts streams, such as an XHR. you can also pipe data into workers (such as a webcam feed or audio data)

    example

    in your app:

    var worker = workerstream('worker.js')
    worker.on('data', function(data) {
      console.log(data)
    })
    worker.on('error', function(e) { console.log('err', e)})
    worker.write({ hello: 'world' })

    the worker code (worker.js above):

    self.onmessage = function(event) {
      self.postMessage({whats: 'up'})
    }
    

    you can also pass in existing webworker instances

    using with webworkify

    webworkify allows you to simply create browserified webworkers.

    var WebWorkify = require('webworkify')
    var WorkerStream = require('workerstream')
     
    var worker = WebWorkify(require('./worker.js'))
    var workerStream = WorkerStream(worker)

    Your worker.js can use this module's ParentStream to create a stream connecting back to the parent

    var ParentStream = require('workerstream/parent')
     
    module.exports = function(){
      var parentStream = ParentStream()
      parentStream.pipe(somewhereAwesome).pipe(parentStream)
    }

    transferable objects

    worker.write(arraybuffer, [arraybuffer])

    MIT LICENSE

    Keywords

    none

    install

    npm i workerstream

    Downloadsweekly downloads

    31

    version

    1.2.1

    license

    BSD

    repository

    githubgithub

    last publish

    collaborators

    • avatar