JavaScript utility to create a WebWorker from a function
Switch branches/tags
Clone or download
Latest commit 062c69a Jul 2, 2016
Permalink
Failed to load latest commit information.
test replace mocha -> eater Jul 2, 2016
.gitignore update dev tools Dec 21, 2015
.travis.yml update dev tools Jul 2, 2016
README.md Merge branch 'master' into v1.0.0 Dec 21, 2015
index.js Removed an extra function call Jun 13, 2016
package.json update dev tools Jul 2, 2016

README.md

inline-worker

Build Status NPM Version License

JavaScript utility to create a universal WebWorker from a function

Installation

$ npm install inline-worker

API

InlineWorker

  • constructor(func: function, [ self: object ]): Worker | InlineWorker

Example

const InlineWorker = require("inline-worker");

let self = {};
let worker = new InlineWorker(function(self) {
  self.onmessage = function(e) {
    postMessage(self.bark(e.data)); // (2) hello!!
  };

  // worker internal function
  self.bark = function(msg) {
    return msg + "!!";
  };
}, self);

worker.onmessage = function(e) {
  console.log(e.data + "!!"); // (3) hello!!!!
};

worker.postMessage("hello"); // (1)

What is worker instance?

if (global.window === global) {
  assert(worker instanceof Worker); // in the borwser
} else {
  assert(worker instanceof InlineWorker); // in the node.js
}

You can test worker internal functions via self.

assert(self.bark("bye") === "bye!!");

License

MIT