pseudo-worker

    1.3.0 • Public • Published

    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
    

    Keywords

    none

    Install

    npm i pseudo-worker

    DownloadsWeekly Downloads

    1,674

    Version

    1.3.0

    License

    Apache-2.0

    Unpacked Size

    35.5 kB

    Total Files

    9

    Last publish

    Collaborators

    • nolanlawson