| 'use strict'; |
| |
| const { |
| makeTransferable, |
| kClone, |
| kDeserialize, |
| } = require('internal/worker/js_transferable'); |
| |
| process.emitWarning( |
| 'These APIs are for internal testing only. Do not use them.', |
| 'internal/test/transfer'); |
| |
| // Used as part of parallel/test-messaging-maketransferable. |
| // This has to exist within the lib/internal/ path in order |
| // for deserialization to work. |
| |
| class E { |
| constructor(b) { |
| this.b = b; |
| } |
| } |
| |
| class F extends E { |
| constructor(b) { |
| super(b); |
| /* eslint-disable-next-line no-constructor-return */ |
| return makeTransferable(this); |
| } |
| |
| [kClone]() { |
| return { |
| data: { b: this.b }, |
| deserializeInfo: 'internal/test/transfer:F' |
| }; |
| } |
| |
| [kDeserialize]({ b }) { |
| this.b = b; |
| } |
| } |
| |
| module.exports = { E, F }; |