all files / src/ node-worker.js

100% Statements 9/9
100% Branches 0/0
75% Functions 3/4
100% Lines 8/8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24       28×       21×                    
const ChildProcess = require('child_process');
const path = require('path');
 
class Worker {
  constructor(script) {
    this._process = ChildProcess.fork(path.join(__dirname, 'node-child-process.js'), [script]);
    this._process.on('message', (data) => this.onmessage({data}));
  }
 
  postMessage(data) {
    this._process.send(data);
  }
 
  onmessage(data) {}
 
  terminate() {
    // terminated
    this._process.kill('SIGINT');
    this._terminated = true;
  }
 
}
 
module.exports = Worker;