Socket
Socket
Sign inDemoInstall

pseudo-worker

Package Overview
Dependencies
0
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    pseudo-worker

Tiny and mostly spec-compliant WebWorker polyfill


Version published
Weekly downloads
1.4K
increased by59.43%
Maintainers
1
Install size
35.7 kB
Created
Weekly downloads
 

Readme

Source

pseudo-worker Build Status Coverage Status

A tiny and mostly spec-compliant WebWorker polyfill, designed for browsers that don't support WebWorkers, or for browsers that don't support certain features of WebWorkers.

This runs on the main thread, so you don't get any of the multithreading benefits of WebWorkers. However, it should be "good enough" for the less-compliant browsers.

The bundle size is very small: 1kB after uglify+gzip!

Install

npm install pseudo-worker

Usage

var PseudoWorker = require('pseudo-worker');
var worker = new PseudoWorker('script.js');

Or as a polyfill:

require('pseudo-worker/polyfill');
// now window.Worker is polyfilled in older browsers

Instead of Browserify/Webpack, you can also use it directly as a script tag:

<script src="https://unpkg.com/pseudo-worker/dist/pseudo-worker.js"></script>

Then it's available as window.PseudoWorker. Or for the polyfill:

<script src="https://unpkg.com/pseudo-worker/dist/pseudo-worker.polyfill.js"></script>

Supported APIS

  • onmessage
  • onerror
  • addEventListener
  • removeEventListener
  • postMessage
  • close

Note: inside the worker, you must use the self variable instead of the implicit global object. I.e. do this:

self.onmessage = ...

Not this:

onmessage = ...

Supported browsers

The full list of browsers that are tested in CI are in .zuul.yml. But basically:

  • Chrome
  • Firefox
  • Safari 7+
  • IE 8+
  • iOS 7.0+
  • Android 4.0+

Node.js is not supported. Check out node-webworker instead.

Testing the library

First:

npm install

Then to test in Node (using an XHR shim):

npm test

Or to test manually in your browser of choice:

npm run test-local

Or to test in a browser using SauceLabs:

npm run test-browser

Or to test with coverage reports:

npm run coverage

FAQs

Last updated on 18 Nov 2019

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc