'use strict'; require('../common'); const assert = require('assert'); const { MessageChannel, MessagePort } = require('worker_threads'); // Make sure that `MessagePort` is the constructor for MessagePort instances, // but not callable. const { port1 } = new MessageChannel(); assert(port1 instanceof MessagePort); assert.strictEqual(port1.constructor, MessagePort); assert.throws(() => MessagePort(), { constructor: TypeError, code: 'ERR_CONSTRUCT_CALL_INVALID' }); assert.throws(() => new MessagePort(), { constructor: TypeError, code: 'ERR_CONSTRUCT_CALL_INVALID' }); assert.throws(() => MessageChannel(), { constructor: TypeError, code: 'ERR_CONSTRUCT_CALL_REQUIRED' });