()
| 628 | } |
| 629 | |
| 630 | [kTransfer]() { |
| 631 | if (!isReadableStream(this)) |
| 632 | throw new ERR_INVALID_THIS('ReadableStream'); |
| 633 | if (this.locked) { |
| 634 | this[kState].transfer.port1?.close(); |
| 635 | this[kState].transfer.port1 = undefined; |
| 636 | this[kState].transfer.port2 = undefined; |
| 637 | throw new DOMException( |
| 638 | 'Cannot transfer a locked ReadableStream', |
| 639 | 'DataCloneError'); |
| 640 | } |
| 641 | |
| 642 | const { |
| 643 | writable, |
| 644 | promise, |
| 645 | } = lazyTransfer().newCrossRealmWritableSink( |
| 646 | this, |
| 647 | this[kState].transfer.port1); |
| 648 | |
| 649 | this[kState].transfer.writable = writable; |
| 650 | this[kState].transfer.promise = promise; |
| 651 | |
| 652 | return { |
| 653 | data: { port: this[kState].transfer.port2 }, |
| 654 | deserializeInfo: |
| 655 | 'internal/webstreams/readablestream:TransferredReadableStream', |
| 656 | }; |
| 657 | } |
| 658 | |
| 659 | [kTransferList]() { |
| 660 | const { port1, port2 } = new MessageChannel(); |
nothing calls this directly
no test coverage detected