'use strict'; const { MessageChannel, receiveMessageOnPort, } = require('internal/worker/io'); let channel; function structuredClone(value, transfer) { // TODO: Improve this with a more efficient solution that avoids // instantiating a MessageChannel channel ??= new MessageChannel(); channel.port1.unref(); channel.port2.unref(); channel.port1.postMessage(value, transfer); return receiveMessageOnPort(channel.port2).message; } module.exports = { structuredClone };