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

Method [kTransfer]

lib/internal/webstreams/writablestream.js:296–323  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

294 }
295
296 [kTransfer]() {
297 if (!isWritableStream(this))
298 throw new ERR_INVALID_THIS('WritableStream');
299 if (this.locked) {
300 this[kState].transfer.port1?.close();
301 this[kState].transfer.port1 = undefined;
302 this[kState].transfer.port2 = undefined;
303 throw new DOMException(
304 'Cannot transfer a locked WritableStream',
305 'DataCloneError');
306 }
307
308 const {
309 readable,
310 promise,
311 } = lazyTransfer().newCrossRealmReadableStream(
312 this,
313 this[kState].transfer.port1);
314
315 this[kState].transfer.readable = readable;
316 this[kState].transfer.promise = promise;
317
318 return {
319 data: { port: this[kState].transfer.port2 },
320 deserializeInfo:
321 'internal/webstreams/writablestream:TransferredWritableStream',
322 };
323 }
324
325 [kTransferList]() {
326 const { port1, port2 } = new MessageChannel();

Callers

nothing calls this directly

Calls 3

isWritableStreamFunction · 0.85
lazyTransferFunction · 0.85
closeMethod · 0.65

Tested by

no test coverage detected