1'use strict';
2const common = require('../common');
3const assert = require('assert');
4const fixtures = require('../common/fixtures');
5
6const { Worker } = require('worker_threads');
7const wasmModule = new WebAssembly.Module(fixtures.readSync('simple.wasm'));
8
9const worker = new Worker(`
10const { parentPort } = require('worker_threads');
11parentPort.once('message', ({ wasmModule }) => {
12  const instance = new WebAssembly.Instance(wasmModule);
13  parentPort.postMessage(instance.exports.add(10, 20));
14});
15`, { eval: true });
16
17worker.once('message', common.mustCall((num) => assert.strictEqual(num, 30)));
18worker.postMessage({ wasmModule });
19