# jetworker

> jetworker easy way for community with WebWorker

Latest version **2.0.3** (published 2021-02-22) · ISC license · 0 weekly downloads

## Install

```sh
npm install jetworker
pnpm add jetworker
yarn add jetworker
bun add jetworker
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.3 |
| Published | 2021-02-22 |
| First published | 2018-12-09 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 10 |
| Author | Behnam Mohammadi |
| Maintainers | itten |

## Links

- npm: https://www.npmjs.com/package/jetworker
- Repository: https://github.com/behnammodi/jetworker
- Homepage: https://github.com/behnammodi/jetworker#readme
- Issues: https://github.com/behnammodi/jetworker/issues
- npm.io page: https://npm.io/package/jetworker

## Recent versions

- 2.0.3 (latest) — 2021-02-22
- 2.0.2 — 2021-02-22
- 2.0.1 — 2021-02-22
- 2.0.0 — 2019-09-25
- 1.1.2 — 2019-09-25
- 1.1.1 — 2019-09-25
- 1.1.0 — 2019-09-25
- 1.0.9 — 2019-01-23
- 1.0.8 — 2018-12-12
- 1.0.7 — 2018-12-12
- 1.0.6 — 2018-12-11
- 1.0.5 — 2018-12-11
- 1.0.4 — 2018-12-09
- 1.0.3 — 2018-12-09
- 1.0.2 — 2018-12-09
- … 2 more at https://npm.io/package/jetworker/versions

## README

## jetworker

[![NPM](https://nodei.co/npm/jetworker.png)](https://nodei.co/npm/jetworker/)

[![install size](https://packagephobia.now.sh/badge?p=jetworker)](https://packagephobia.now.sh/result?p=jetworker) [![dependencies](https://david-dm.org/uxitten/jetworker.svg)](https://david-dm.org/uxitten/jetworker.svg)

<a href="https://www.npmjs.com/package/jetworker">
  <img src="https://img.shields.io/npm/v/jetworker.svg" alt="Version">
</a>

<a href="https://www.npmjs.com/package/jetworker">
  <img src="https://img.shields.io/npm/l/jetworker.svg" alt="License">
</a>

<a href="https://www.npmjs.com/package/jetworker">
  <img src="https://img.shields.io/npm/dm/jetworker.svg" alt="Downloads">
</a>

jetworker easy way for community with WebWorker

### Browser compatibility desktop

| Chrome | Firefox | Internet Explorer | Opera | Safari |
| ------ | ------- | ----------------- | ----- | ------ |
| 4      | 3.5     | 10                | 10.6  | 4      |

### Browser compatibility mobile

| Android | Chrome | Firefox | Internet Explorer | Opera | Safari |
| ------- | ------ | ------- | ----------------- | ----- | ------ |
| 4.4     | 4      | 3.5     | 10                | 11.5  | 5.1    |

## install

```npm
npm install jetworker --save
```

jetwork has two section `Client` and `Service`

`Client` for use in main thread website or webapp

`Service` for use in WebWorker file

## import Client

```javascript
const Client = require("jetworker/client");
//or
import Client from "jetworker/client";
```

## import Service

```javascript
const Service = require("jetworker/service");
//or
import Service from "jetworker/service";
```

## use web

```javascript
import Client from "jetworker/client";

const { post } = new Client("./worker.js");

/**
 * post(name, data, callback)
 * @param {string} name is function name in worker
 * @param {any} data send to worker
 * @param {function} callback for recive response from worker
 * @returns {undefined} nothing
 */
post("multiple", { a: 2, b: 3 }, result => console.log(result));
```

## in worker.js

```javascript
import Service from "jetworker/service";

const { on } = new Service();

function multiple(data, response) {
  response(data.a * data.b);
}

/**
 * service.on(name, process)
 * @param {string} name function name for call in client
 * @param {function} process function, data is data recived from client and post is function for send result to client
 */
on("multiple", multiple);
```

## Migration from v1 to v2

You should use `post` instead `emit` inside client

```diff
- const { emit } = new Client("./worker.js");
+ const { post } = new Client("./worker.js");
```

---
_Source: https://npm.io/package/jetworker · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
