MCPcopy Create free account
hub / github.com/nodejs/node / [kTransfer]

Method [kTransfer]

lib/internal/webstreams/readablestream.js:630–657  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

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();

Callers

nothing calls this directly

Calls 3

lazyTransferFunction · 0.85
closeMethod · 0.65
isReadableStreamFunction · 0.50

Tested by

no test coverage detected