0.2.0 • Published 10 months ago

worker-emitter v0.2.0

Weekly downloads
1
License
MIT
Repository
-
Last release
10 months ago

worker-emitter

npm version npm downloads bundle JSDocs

EventEmitter for WebWorker

Install

npm install worker-emitter

Usage

client side

// main.js
import { WorkerEmitter } from 'worker-emitter'

const client = new WorkerEmitter(new Worker('./worker.js'))

client.on('sum', result => {
  console.log(result)
})

client.emit('sum', 1, 2, 3)

worker side

// worker.js
import { WorkerEmitter } from 'worker-emitter'

const worker = new WorkerEmitter(self)

worker.on('sum', (...numbers) => {
  const result = numbers.reduce((acc, cur) => acc + cur, 0)
  worker.emit('sum', result)
})

type-safe events

// client emits
type ClientEventsMap = {
  sum: (...numbers: number[]) => void
}

// worker emits
type WorkerEventsMap = {
  sum: (result: number) => void
}

// client side
const client = new WorkerEmitter<ClientEventsMap, WorkerEventsMap>(new Worker('./worker.js'))

// worker side
const worker = new WorkerEmitter<WorkerEventsMap, ClientEventsMap>(self)
0.1.0

10 months ago

0.2.0

10 months ago

0.1.1

10 months ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago