MCPcopy Index your code
hub / github.com/di-sukharev/opencommit / ReadableByteStreamTee

Function ReadableByteStreamTee

out/cli.cjs:13555–13767  ·  view source on GitHub ↗
(stream4)

Source from the content-addressed store, hash-verified

13553 return [branch1, branch2];
13554 }
13555 function ReadableByteStreamTee(stream4) {
13556 let reader = AcquireReadableStreamDefaultReader(stream4);
13557 let reading = false;
13558 let readAgainForBranch1 = false;
13559 let readAgainForBranch2 = false;
13560 let canceled1 = false;
13561 let canceled2 = false;
13562 let reason1;
13563 let reason2;
13564 let branch1;
13565 let branch2;
13566 let resolveCancelPromise;
13567 const cancelPromise = newPromise((resolve) => {
13568 resolveCancelPromise = resolve;
13569 });
13570 function forwardReaderError(thisReader) {
13571 uponRejection(thisReader._closedPromise, (r3) => {
13572 if (thisReader !== reader) {
13573 return null;
13574 }
13575 ReadableByteStreamControllerError(branch1._readableStreamController, r3);
13576 ReadableByteStreamControllerError(branch2._readableStreamController, r3);
13577 if (!canceled1 || !canceled2) {
13578 resolveCancelPromise(void 0);
13579 }
13580 return null;
13581 });
13582 }
13583 function pullWithDefaultReader() {
13584 if (IsReadableStreamBYOBReader(reader)) {
13585 ReadableStreamReaderGenericRelease(reader);
13586 reader = AcquireReadableStreamDefaultReader(stream4);
13587 forwardReaderError(reader);
13588 }
13589 const readRequest = {
13590 _chunkSteps: (chunk) => {
13591 _queueMicrotask(() => {
13592 readAgainForBranch1 = false;
13593 readAgainForBranch2 = false;
13594 const chunk1 = chunk;
13595 let chunk2 = chunk;
13596 if (!canceled1 && !canceled2) {
13597 try {
13598 chunk2 = CloneAsUint8Array(chunk);
13599 } catch (cloneE) {
13600 ReadableByteStreamControllerError(branch1._readableStreamController, cloneE);
13601 ReadableByteStreamControllerError(branch2._readableStreamController, cloneE);
13602 resolveCancelPromise(ReadableStreamCancel(stream4, cloneE));
13603 return;
13604 }
13605 }
13606 if (!canceled1) {
13607 ReadableByteStreamControllerEnqueue(branch1._readableStreamController, chunk1);
13608 }
13609 if (!canceled2) {
13610 ReadableByteStreamControllerEnqueue(branch2._readableStreamController, chunk2);
13611 }
13612 reading = false;

Callers 1

ReadableStreamTeeFunction · 0.85

Calls 4

newPromiseFunction · 0.85
CreateReadableByteStreamFunction · 0.85
forwardReaderErrorFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…