1'use strict'; 2 3const { 4 makeTransferable, 5 kClone, 6 kDeserialize, 7} = require('internal/worker/js_transferable'); 8 9process.emitWarning( 10 'These APIs are for internal testing only. Do not use them.', 11 'internal/test/transfer'); 12 13// Used as part of parallel/test-messaging-maketransferable. 14// This has to exist within the lib/internal/ path in order 15// for deserialization to work. 16 17class E { 18 constructor(b) { 19 this.b = b; 20 } 21} 22 23class F extends E { 24 constructor(b) { 25 super(b); 26 /* eslint-disable-next-line no-constructor-return */ 27 return makeTransferable(this); 28 } 29 30 [kClone]() { 31 return { 32 data: { b: this.b }, 33 deserializeInfo: 'internal/test/transfer:F', 34 }; 35 } 36 37 [kDeserialize]({ b }) { 38 this.b = b; 39 } 40} 41 42module.exports = { E, F }; 43