()
| 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(); |
nothing calls this directly
no test coverage detected