🚨 Active Supply Chain Attack:node-ipc Package Compromised.Learn More
Socket
Book a DemoSign in
Socket

@naoak/workerize-transferable

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@naoak/workerize-transferable

Helper functions for workerlize-loader to support transferables

latest
npmnpm
Version
0.1.0
Version published
Maintainers
1
Created
Source

workerize-transferable

Build Status

Helper functions for workerlize-loader to support transferables.

Install

npm i -D workerize-loader
npm i -S @naoak/workerize-transferable

Usage

worker.js:

import { setupTransferableMethodsOnWorker } from "@naoak/workerize-transferable";

export function increment(buffer) {
  buffer[0] += 1;
  return buffer;
}

setupTransferableMethodsOnWorker({
  // the name of function which use some transferables
  increment: {
    // specify an instance of the function
    fn: increment,
    // pick a transferable object from the result which is an instance of Int32Array
    pickTransferablesFromResult: (result) => [result.buffer],
  },
});

index.js:

import worker from "workerize-loader!./worker";
import { setupTransferableMethodsOnMain } from "@naoak/workerize-transferable";

let instance = worker(); // `new` is optional

setupTransferableMethodsOnMain({
  // worker instance
  instance,
  // the name of method which use some transferables
  increment: {
    // pick a transferable object from the method parameters
    pickTransferablesFromParams: (params) => [params[0].buffer],
  },
});

(async () => {
  const buffer = new Int32Array([0]);
  const res = await instance.increment(await instance.increment(buffer));
  console.log(buffer.length); // 0
  console.log(res.length); // 1
  console.log(res[0]); // 2
})();

See workerize-loader for details how to setup workerize-loader.

Keywords

webpack

FAQs

Package last updated on 12 Jul 2021

Did you know?

Socket

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