@gjsify/web-streams 0.4.5 → 0.4.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/esm/index.js +1 -1
- package/lib/esm/readable-stream.js +1 -1
- package/lib/esm/register/readable.js +1 -1
- package/lib/esm/util.js +1 -1
- package/lib/types/byob.spec.d.ts +2 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/readable-stream.d.ts +44 -2
- package/lib/types/util.d.ts +4 -0
- package/package.json +4 -4
package/lib/esm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";import{WritableStream as e,WritableStreamDefaultController as t,WritableStreamDefaultWriter as n,createWritableStream as r,isWritableStream as i,isWritableStreamLocked as a,writableStreamAbort as o,writableStreamClose as s,writableStreamCloseQueuedOrInFlight as c,writableStreamDefaultControllerErrorIfNeeded as l,writableStreamDefaultWriterCloseWithErrorPropagation as u}from"./writable-stream.js";import{
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";import{WritableStream as e,WritableStreamDefaultController as t,WritableStreamDefaultWriter as n,createWritableStream as r,isWritableStream as i,isWritableStreamLocked as a,writableStreamAbort as o,writableStreamClose as s,writableStreamCloseQueuedOrInFlight as c,writableStreamDefaultControllerErrorIfNeeded as l,writableStreamDefaultWriterCloseWithErrorPropagation as u}from"./writable-stream.js";import{ReadableByteStreamController as d,ReadableStream as f,ReadableStreamBYOBReader as p,ReadableStreamBYOBRequest as m,ReadableStreamDefaultController as h,ReadableStreamDefaultReader as g,createReadableStream as _,isReadableStream as v,isReadableStreamLocked as y,readableStreamCancel as b,readableStreamClose as x,readableStreamDefaultControllerCanCloseOrEnqueue as S,readableStreamDefaultControllerClose as C,readableStreamDefaultControllerEnqueue as w,readableStreamDefaultControllerError as T,readableStreamDefaultControllerGetDesiredSize as E,readableStreamDefaultControllerHasBackpressure as D,readableStreamError as O,setupReadableStreamDefaultController as k}from"./readable-stream.js";import{TransformStream as A,TransformStreamDefaultController as j,isTransformStream as M,isTransformStreamDefaultController as N}from"./transform-stream.js";import{ByteLengthQueuingStrategy as P,CountQueuingStrategy as F}from"./queuing-strategies.js";import{TextEncoderStream as I}from"./text-encoder-stream.js";import{TextDecoderStream as L}from"./text-decoder-stream.js";function isNativeStreamUsable(e,t){try{return typeof e==`function`?typeof e.prototype[t]==`function`:!1}catch{return!1}}const R=isNativeStreamUsable(globalThis.ReadableStream,`getReader`)?globalThis.ReadableStream:f,z=isNativeStreamUsable(globalThis.WritableStream,`getWriter`)?globalThis.WritableStream:e,B=isNativeStreamUsable(globalThis.TransformStream,`readable`)?globalThis.TransformStream:A,V=typeof globalThis.ByteLengthQueuingStrategy==`function`?globalThis.ByteLengthQueuingStrategy:P,H=typeof globalThis.CountQueuingStrategy==`function`?globalThis.CountQueuingStrategy:F,U=typeof globalThis.TextEncoderStream==`function`?globalThis.TextEncoderStream:I,W=typeof globalThis.TextDecoderStream==`function`?globalThis.TextDecoderStream:L;var G={WritableStream:z,ReadableStream:R,TransformStream:B,ByteLengthQueuingStrategy:V,CountQueuingStrategy:H,TextEncoderStream:U,TextDecoderStream:W};export{V as ByteLengthQueuingStrategy,H as CountQueuingStrategy,d as ReadableByteStreamController,R as ReadableStream,p as ReadableStreamBYOBReader,m as ReadableStreamBYOBRequest,h as ReadableStreamDefaultController,g as ReadableStreamDefaultReader,W as TextDecoderStream,U as TextEncoderStream,B as TransformStream,j as TransformStreamDefaultController,z as WritableStream,t as WritableStreamDefaultController,n as WritableStreamDefaultWriter,_ as createReadableStream,r as createWritableStream,G as default,v as isReadableStream,y as isReadableStreamLocked,M as isTransformStream,N as isTransformStreamDefaultController,i as isWritableStream,a as isWritableStreamLocked,b as readableStreamCancel,x as readableStreamClose,S as readableStreamDefaultControllerCanCloseOrEnqueue,C as readableStreamDefaultControllerClose,w as readableStreamDefaultControllerEnqueue,T as readableStreamDefaultControllerError,E as readableStreamDefaultControllerGetDesiredSize,D as readableStreamDefaultControllerHasBackpressure,O as readableStreamError,k as setupReadableStreamDefaultController,o as writableStreamAbort,s as writableStreamClose,c as writableStreamCloseQueuedOrInFlight,l as writableStreamDefaultControllerErrorIfNeeded,u as writableStreamDefaultWriterCloseWithErrorPropagation};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";import{AsyncIterator as e,createPromiseCallback as t,dequeueValue as n,enqueueValueWithSize as r,extractHighWaterMark as i,extractSizeAlgorithm as a,getIterator as o,isBrandCheck as s,iteratorNext as c,kState as l,kType as u,nonOpCancel as d,nonOpPull as f,nonOpStart as p,resetQueue as m,setPromiseHandled as h}from"./util.js";import{WritableStreamDefaultWriter as g,isWritableStream as _,isWritableStreamLocked as v,writableStreamAbort as y,writableStreamCloseQueuedOrInFlight as b,writableStreamDefaultWriterCloseWithErrorPropagation as x,writableStreamDefaultWriterRelease as S,writableStreamDefaultWriterWrite as C}from"./writable-stream.js";import{queueMicrotask as w}from"@gjsify/utils";const T=Symbol(`kCancel`),E=Symbol(`kClose`),D=Symbol(`kChunk`),O=Symbol(`kError`),k=Symbol(`kPull`),A=Symbol(`kRelease`),j=Symbol(`kSkipThrow`);let M,N;function lazyReadableReleasedError(){return M||(M=TypeError(`Reader released`),M)}function lazyReadableReleasingError(){return N||(N=TypeError(`Releasing reader`),N)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream=class{[u]=`ReadableStream`;[l];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);this[l]=createReadableStreamState();let n=t?.size,r=t?.highWaterMark,o=e?.type;if(o!==void 0)throw`${o}`==`bytes`?RangeError(`Byte streams not yet supported (use default controller)`):RangeError(`Invalid type: ${o}`);setupReadableStreamDefaultControllerFromSource(this,e,i(r,1),a(n))}get locked(){if(!P(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return P(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!P(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=e?.mode;if(t===void 0)return new ReadableStreamDefaultReader(this);throw`${t}`==`byob`?RangeError(`BYOB readers not yet supported`):RangeError(`Invalid mode: ${t}`)}pipeThrough(e,t={}){if(!P(this))throw TypeError(`Invalid this`);let n=e?.readable;if(!P(n))throw TypeError(`transform.readable must be a ReadableStream`);let r=e?.writable;if(!_(r))throw TypeError(`transform.writable must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let i=t?.preventAbort,a=t?.preventCancel,o=t?.preventClose,s=t?.signal;if(s!==void 0&&!(s instanceof Object&&`aborted`in s))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(v(r))throw TypeError(`The WritableStream is locked`);return h(readableStreamPipeTo(this,r,!!o,!!i,!!a,s)),n}pipeTo(e,t={}){try{if(!P(this))throw TypeError(`Invalid this`);if(!_(e))throw TypeError(`destination must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=t?.preventAbort,r=t?.preventCancel,i=t?.preventClose,a=t?.signal;if(a!==void 0&&!(a instanceof Object&&`aborted`in a))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(v(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!i,!!n,!!r,a)}catch(e){return Promise.reject(e)}}tee(){if(!P(this))throw TypeError(`Invalid this`);return readableStreamDefaultTee(this,!1)}values(t={}){if(!P(this))throw TypeError(`Invalid this`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=!!t?.preventCancel,r=new ReadableStreamDefaultReader(this),i={done:!1,current:void 0},a=!1;function nextSteps(){if(i.done)return Promise.resolve({done:!0,value:void 0});if(r[l].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return readableStreamDefaultReaderRead(r,{[D](e){i.current=void 0,t({value:e,done:!1})},[E](){i.current=void 0,i.done=!0,readableStreamReaderGenericRelease(r),t({done:!0,value:void 0})},[O](e){i.current=void 0,i.done=!0,readableStreamReaderGenericRelease(r),n(e)}}),e}async function returnSteps(e){if(i.done)return{done:!0,value:e};if(i.done=!0,r[l].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!n){let t=readableStreamReaderGenericCancel(r,e);return readableStreamReaderGenericRelease(r),await t,{done:!0,value:e}}return readableStreamReaderGenericRelease(r),{done:!0,value:e}}return Object.setPrototypeOf({next(){return a||=(i.current=Promise.resolve(),!0),i.current=i.current===void 0?nextSteps():i.current.then(nextSteps,nextSteps),i.current},return(e){return a=!0,i.current=i.current===void 0?returnSteps(e):i.current.then(()=>returnSteps(e),()=>returnSteps(e)),i.current},[Symbol.asyncIterator](){return this}},e)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[l];constructor(){this[l]=Promise.withResolvers()}[D](e){this[l].resolve?.({value:e,done:!1})}[E](){this[l].resolve?.({value:void 0,done:!0})}[O](e){this[l].reject?.(e)}get promise(){return this[l].promise}},ReadableStreamDefaultReader=class{[u]=`ReadableStreamDefaultReader`;[l];constructor(e){if(!P(e))throw TypeError(`Expected a ReadableStream`);this[l]={readRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!I(this))return Promise.reject(TypeError(`Invalid this`));if(this[l].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[l].stream,t=e[l].controller;if(e[l].state===`readable`&&F(t)&&t[l].queue.length>0){e[l].disturbed=!0;let r=n(t);return t[l].closeRequested&&!t[l].queue.length?(readableStreamDefaultControllerClearAlgorithms(t),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(t),Promise.resolve({value:r,done:!1})}let r=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,r),r.promise}releaseLock(){if(!I(this))throw TypeError(`Invalid this`);this[l].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return I(this)?this[l].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return I(this)?this[l].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[u]=`ReadableStreamDefaultController`;[l]={};constructor(e){if(e!==j)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[T](e){return readableStreamDefaultControllerCancelSteps(this,e)}[k](e){readableStreamDefaultControllerPullSteps(this,e)}[A](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const P=s(`ReadableStream`),F=s(`ReadableStreamDefaultController`),I=s(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[l].reader!==void 0}function readableStreamCancel(e,t){switch(e[l].disturbed=!0,e[l].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[l].storedError)}return readableStreamClose(e),e[l].controller[T](t).then(()=>{})}function readableStreamClose(e){e[l].state=`closed`,e[l].closedPromise.resolve();let{reader:t}=e[l];if(t!==void 0&&(t[l].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<t[l].readRequests.length;e++)t[l].readRequests[e][E]();t[l].readRequests=[]}}function readableStreamError(e,t){e[l].state=`errored`,e[l].storedError=t,h(e[l].closedPromise.promise),e[l].closedPromise.reject(t);let{reader:n}=e[l];if(n!==void 0&&(h(n[l].close.promise),n[l].close.reject?.(t),readableStreamHasDefaultReader(e))){for(let e=0;e<n[l].readRequests.length;e++)n[l].readRequests[e][O](t);n[l].readRequests=[]}}function readableStreamHasDefaultReader(e){let{reader:t}=e[l];return t===void 0?!1:t[l]!==void 0&&t[u]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[l].reader[l].readRequests.length}function readableStreamFulfillReadRequest(e,t,n){let{reader:r}=e[l],i=r[l].readRequests.shift();n?i[E]():i[D](t)}function readableStreamAddReadRequest(e,t){e[l].reader[l].readRequests.push(t)}function readableStreamReaderGenericCancel(e,t){let{stream:n}=e[l];return readableStreamCancel(n,t)}function readableStreamReaderGenericInitialize(e,t){switch(e[l].stream=t,t[l].reader=e,t[l].state){case`readable`:e[l].close=Promise.withResolvers();break;case`closed`:e[l].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[l].close={promise:Promise.reject(t[l].storedError),resolve:void 0,reject:void 0},h(e[l].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:t}=e[l],n=lazyReadableReleasedError();t[l].state===`readable`?e[l].close.reject?.(n):e[l].close={promise:Promise.reject(n),resolve:void 0,reject:void 0},h(e[l].close.promise),t[l].controller[A](),t[l].reader=void 0,e[l].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,t){for(let n=0;n<e[l].readRequests.length;++n)e[l].readRequests[n][O](t);e[l].readRequests=[]}function readableStreamDefaultReaderRead(e,t){let{stream:n}=e[l];switch(n[l].disturbed=!0,n[l].state){case`closed`:t[E]();break;case`errored`:t[O](n[l].storedError);break;case`readable`:n[l].controller[k](t);break}}function setupReadableStreamDefaultReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,t),e[l].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[l].closeRequested=!0,e[l].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[l].stream)))}function readableStreamDefaultControllerEnqueue(e,t){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:n}=e[l];if(isReadableStreamLocked(n)&&readableStreamGetNumReadRequests(n))readableStreamFulfillReadRequest(n,t,!1);else try{r(e,t,e[l].sizeAlgorithm(t))}catch(t){throw readableStreamDefaultControllerError(e,t),t}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:t}=e[l];return!e[l].closeRequested&&t[l].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:t,highWaterMark:n,queueTotalSize:r}=e[l];switch(t[l].state){case`errored`:return null;case`closed`:return 0;default:return n-r}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:t}=e[l];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[l].started)return!1;if(isReadableStreamLocked(t)&&readableStreamGetNumReadRequests(t))return!0;let n=readableStreamDefaultControllerGetDesiredSize(e);return n!==null&&n>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[l].pulling){e[l].pullAgain=!0;return}e[l].pulling=!0,e[l].pullAlgorithm(e).then(()=>{e[l].pulling=!1,e[l].pullAgain&&(e[l].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},t=>readableStreamDefaultControllerError(e,t))}}function readableStreamDefaultControllerClearAlgorithms(e){e[l].pullAlgorithm=void 0,e[l].cancelAlgorithm=void 0,e[l].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,t){let{stream:n}=e[l];n[l].state===`readable`&&(m(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(n,t))}function readableStreamDefaultControllerCancelSteps(e,t){m(e);let n=e[l].cancelAlgorithm(t);return readableStreamDefaultControllerClearAlgorithms(e),n}function readableStreamDefaultControllerPullSteps(e,t){let{stream:r,queue:i}=e[l];if(i.length){let a=n(e);e[l].closeRequested&&!i.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(r)):readableStreamDefaultControllerCallPullIfNeeded(e),t[D](a);return}readableStreamAddReadRequest(r,t),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,t,n,r,i,a,o){t[l]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:a,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:o,stream:e},e[l].controller=t;let s=n();new Promise(e=>e(s)).then(()=>{t[l].started=!0,readableStreamDefaultControllerCallPullIfNeeded(t)},e=>readableStreamDefaultControllerError(t,e))}function setupReadableStreamDefaultControllerFromSource(e,n,r,i){let a=new ReadableStreamDefaultController(j),o=n?.start,s=n?.pull,c=n?.cancel;setupReadableStreamDefaultController(e,a,o?o.bind(n,a):p,s?t(`source.pull`,s,n):f,c?t(`source.cancel`,c,n):d,r,i)}function createReadableStream(e,t,n,r=1,i=()=>1){let a=Object.create(ReadableStream.prototype);return a[u]=`ReadableStream`,a[l]=createReadableStreamState(),setupReadableStreamDefaultController(a,new ReadableStreamDefaultController(j),e,t,n,r,i),a}function readableStreamFromIterable(e){let t,n=o(e,`async`),r=p;async function pullAlgorithm(){let e=c(n);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(t[l].controller):readableStreamDefaultControllerEnqueue(t[l].controller,e.value)})}async function cancelAlgorithm(e){let t=n.iterator,r=t.return;if(r===void 0)return Promise.resolve();let i=r.call(t,e);return Promise.resolve(i).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return t=createReadableStream(r,pullAlgorithm,cancelAlgorithm,0),t}function readableStreamPipeTo(e,t,r,i,a,o){let s,c;try{s=new ReadableStreamDefaultReader(e),c=new g(t)}catch(e){return Promise.reject(e)}e[l].disturbed=!0;let u=!1,{promise:d,resolve:f,reject:p}=Promise.withResolvers(),m={currentWrite:Promise.resolve()},_;function finalize(e,t){S(c),readableStreamReaderGenericRelease(s),o!==void 0&&_&&(o.removeEventListener(`abort`,_),_=void 0),e?p(t):f()}async function waitForCurrentWrite(){let e=m.currentWrite;await e,e!==m.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,n,r){if(u)return;if(u=!0,t[l].state===`writable`&&!b(t)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!n,r),e=>finalize(!0,e))}}function shutdown(e,n){if(!u){if(u=!0,t[l].state===`writable`&&!b(t)){waitForCurrentWrite().then(()=>finalize(!!e,n),e=>finalize(!0,e));return}finalize(!!e,n)}}function abortAlgorithm(){let n;n=o.reason&&o.reason.name===`AbortError`?createAbortError():o.reason;let r=[];i||r.push(()=>t[l].state===`writable`?y(t,n):Promise.resolve()),a||r.push(()=>e[l].state===`readable`?readableStreamCancel(e,n):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(r.map(e=>e())).then(()=>void 0),!0,n)}function watchErrored(e,t,n){e[l].state===`errored`?n(e[l].storedError):t.then(void 0,n)}function watchClosed(e,t,n){e[l].state===`closed`?n():t.then(n,()=>{})}class PipeToReadRequest{[D](e){w(()=>{m.currentWrite=C(c,e),h(m.currentWrite),v.resolve(!1)})}[E](){v.resolve(!0)}[O](e){v.reject(e)}}let v={resolve:null,reject:null};async function step(){if(u||t[l].backpressure&&(await c[l].ready.promise,u))return!0;let r=e[l].controller;if(e[l].state===`readable`&&F(r)&&r[l].queue.length>0){for(;r[l].queue.length>0;){if(u)return!0;let i=n(r);if(r[l].closeRequested&&!r[l].queue.length&&(readableStreamDefaultControllerClearAlgorithms(r),readableStreamClose(e)),m.currentWrite=C(c,i),h(m.currentWrite),t[l].backpressure||t[l].state!==`writable`||b(t))break}return readableStreamDefaultControllerCallPullIfNeeded(r),e[l].state===`closed`}let{promise:i,resolve:a,reject:o}=Promise.withResolvers();return v={resolve:a,reject:o},readableStreamDefaultReaderRead(s,new PipeToReadRequest),i}async function run(){for(;!await step(););}if(o!==void 0){if(o.aborted)return abortAlgorithm(),d;_=abortAlgorithm,o.addEventListener(`abort`,_,{once:!0})}if(h(run()),watchErrored(e,s[l].close.promise,e=>{if(!i)return shutdownWithAnAction(()=>y(t,e),!0,e);shutdown(!0,e)}),watchErrored(t,c[l].close.promise,t=>{if(!a)return shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t);shutdown(!0,t)}),watchClosed(e,s[l].close.promise,()=>{if(!r)return shutdownWithAnAction(()=>x(c));shutdown()}),b(t)||t[l].state===`closed`){let t=TypeError(`Destination WritableStream is closed`);a?shutdown(!0,t):shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t)}return d}function readableStreamDefaultTee(e,t){let n=new ReadableStreamDefaultReader(e),r=!1,i=!1,a=!1,o,s,c,u,d=Promise.withResolvers();async function pullAlgorithm(){r||(r=!0,readableStreamDefaultReaderRead(n,{[D](e){w(()=>{r=!1;let n=e,o=e;if(!a&&t)try{o=structuredClone(o)}catch{}i||readableStreamDefaultControllerEnqueue(c[l].controller,n),a||readableStreamDefaultControllerEnqueue(u[l].controller,o)})},[E](){w(()=>{r=!1,i||readableStreamDefaultControllerClose(c[l].controller),a||readableStreamDefaultControllerClose(u[l].controller),(!i||!a)&&d.resolve(void 0)})},[O](){r=!1}}))}function cancel1Algorithm(t){if(i=!0,o=t,a){let t=[o,s];d.resolve(readableStreamCancel(e,t))}return d.promise}function cancel2Algorithm(t){if(a=!0,s=t,i){let t=[o,s];d.resolve(readableStreamCancel(e,t))}return d.promise}return c=createReadableStream(p,pullAlgorithm,cancel1Algorithm),u=createReadableStream(p,pullAlgorithm,cancel2Algorithm),n[l].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(c[l].controller,e),readableStreamDefaultControllerError(u[l].controller,e),(!i||!a)&&d.resolve(void 0)}),[c,u]}export{ReadableStream,ReadableStreamDefaultController,ReadableStreamDefaultReader,createReadableStream,P as isReadableStream,F as isReadableStreamDefaultController,I as isReadableStreamDefaultReader,isReadableStreamLocked,readableStreamCancel,readableStreamClose,readableStreamDefaultControllerCanCloseOrEnqueue,readableStreamDefaultControllerClose,readableStreamDefaultControllerEnqueue,readableStreamDefaultControllerError,readableStreamDefaultControllerGetDesiredSize,readableStreamDefaultControllerHasBackpressure,readableStreamError,setupReadableStreamDefaultController};
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";import{AsyncIterator as e,createPromiseCallback as t,dequeueValue as n,elementSizeByTag as r,enqueueValueWithSize as i,extractHighWaterMark as a,extractSizeAlgorithm as o,getIterator as s,isBrandCheck as c,isDetachedBuffer as l,iteratorNext as u,kState as d,kType as f,nonOpCancel as p,nonOpPull as m,nonOpStart as h,resetQueue as g,setPromiseHandled as _,transferArrayBuffer as v,typedArrayConstructorByTag as y}from"./util.js";import{WritableStreamDefaultWriter as b,isWritableStream as x,isWritableStreamLocked as S,writableStreamAbort as C,writableStreamCloseQueuedOrInFlight as w,writableStreamDefaultWriterCloseWithErrorPropagation as T,writableStreamDefaultWriterRelease as E,writableStreamDefaultWriterWrite as D}from"./writable-stream.js";import{queueMicrotask as O}from"@gjsify/utils";const k=Symbol(`kCancel`),A=Symbol(`kClose`),j=Symbol(`kChunk`),M=Symbol(`kError`),N=Symbol(`kPull`),P=Symbol(`kRelease`),F=Symbol(`kSkipThrow`);let I,L;function lazyReadableReleasedError(){return I||(I=TypeError(`Reader released`),I)}function lazyReadableReleasingError(){return L||(L=TypeError(`Releasing reader`),L)}function createAbortError(){if(typeof globalThis.DOMException==`function`)return new DOMException(`The operation was aborted`,`AbortError`);let e=Error(`The operation was aborted`);return e.name=`AbortError`,e}function createReadableStreamState(){return{disturbed:!1,reader:void 0,state:`readable`,storedError:void 0,controller:void 0,closedPromise:Promise.withResolvers()}}var ReadableStream=class{[f]=`ReadableStream`;[d];constructor(e={},t={}){if(e!=null&&typeof e!=`object`)throw TypeError(`source must be an object`);if(t!=null&&typeof t!=`object`)throw TypeError(`strategy must be an object`);this[d]=createReadableStreamState();let n=t?.size,r=t?.highWaterMark,i=e?.type;if(i!==void 0){if(`${i}`==`bytes`){if(n!==void 0)throw RangeError(`strategy.size must not be set for a byte stream`);setupReadableByteStreamControllerFromSource(this,e,a(r,0));return}throw RangeError(`Invalid type: ${i}`)}setupReadableStreamDefaultControllerFromSource(this,e,a(r,1),o(n))}get locked(){if(!R(this))throw TypeError(`Invalid this`);return isReadableStreamLocked(this)}static from(e){return readableStreamFromIterable(e)}cancel(e=void 0){return R(this)?isReadableStreamLocked(this)?Promise.reject(TypeError(`ReadableStream is locked`)):readableStreamCancel(this,e):Promise.reject(TypeError(`Invalid this`))}getReader(e={}){if(!R(this))throw TypeError(`Invalid this`);if(e!=null&&typeof e!=`object`)throw TypeError(`options must be an object`);let t=e?.mode;if(t===void 0)return new ReadableStreamDefaultReader(this);if(`${t}`==`byob`)return new ReadableStreamBYOBReader(this);throw RangeError(`Invalid mode: ${t}`)}pipeThrough(e,t={}){if(!R(this))throw TypeError(`Invalid this`);let n=e?.readable;if(!R(n))throw TypeError(`transform.readable must be a ReadableStream`);let r=e?.writable;if(!x(r))throw TypeError(`transform.writable must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let i=t?.preventAbort,a=t?.preventCancel,o=t?.preventClose,s=t?.signal;if(s!==void 0&&!(s instanceof Object&&`aborted`in s))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(S(r))throw TypeError(`The WritableStream is locked`);return _(readableStreamPipeTo(this,r,!!o,!!i,!!a,s)),n}pipeTo(e,t={}){try{if(!R(this))throw TypeError(`Invalid this`);if(!x(e))throw TypeError(`destination must be a WritableStream`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=t?.preventAbort,r=t?.preventCancel,i=t?.preventClose,a=t?.signal;if(a!==void 0&&!(a instanceof Object&&`aborted`in a))throw TypeError(`options.signal must be an AbortSignal`);if(isReadableStreamLocked(this))throw TypeError(`The ReadableStream is locked`);if(S(e))throw TypeError(`The WritableStream is locked`);return readableStreamPipeTo(this,e,!!i,!!n,!!r,a)}catch(e){return Promise.reject(e)}}tee(){if(!R(this))throw TypeError(`Invalid this`);let e=this[d].controller;return V(e)?readableByteStreamTee(this):readableStreamDefaultTee(this,!1)}values(t={}){if(!R(this))throw TypeError(`Invalid this`);if(t!=null&&typeof t!=`object`)throw TypeError(`options must be an object`);let n=!!t?.preventCancel,r=new ReadableStreamDefaultReader(this),i={done:!1,current:void 0},a=!1;function nextSteps(){if(i.done)return Promise.resolve({done:!0,value:void 0});if(r[d].stream===void 0)return Promise.reject(TypeError(`The reader is not bound to a ReadableStream`));let{promise:e,resolve:t,reject:n}=Promise.withResolvers();return readableStreamDefaultReaderRead(r,{[j](e){i.current=void 0,t({value:e,done:!1})},[A](){i.current=void 0,i.done=!0,readableStreamReaderGenericRelease(r),t({done:!0,value:void 0})},[M](e){i.current=void 0,i.done=!0,readableStreamReaderGenericRelease(r),n(e)}}),e}async function returnSteps(e){if(i.done)return{done:!0,value:e};if(i.done=!0,r[d].stream===void 0)throw TypeError(`The reader is not bound to a ReadableStream`);if(!n){let t=readableStreamReaderGenericCancel(r,e);return readableStreamReaderGenericRelease(r),await t,{done:!0,value:e}}return readableStreamReaderGenericRelease(r),{done:!0,value:e}}return Object.setPrototypeOf({next(){return a||=(i.current=Promise.resolve(),!0),i.current=i.current===void 0?nextSteps():i.current.then(nextSteps,nextSteps),i.current},return(e){return a=!0,i.current=i.current===void 0?returnSteps(e):i.current.then(()=>returnSteps(e),()=>returnSteps(e)),i.current},[Symbol.asyncIterator](){return this}},e)}[Symbol.asyncIterator](){return this.values()}get[Symbol.toStringTag](){return`ReadableStream`}},DefaultReadRequest=class{[d];constructor(){this[d]=Promise.withResolvers()}[j](e){this[d].resolve?.({value:e,done:!1})}[A](){this[d].resolve?.({value:void 0,done:!0})}[M](e){this[d].reject?.(e)}get promise(){return this[d].promise}},ReadableStreamDefaultReader=class{[f]=`ReadableStreamDefaultReader`;[d];constructor(e){if(!R(e))throw TypeError(`Expected a ReadableStream`);this[d]={readRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamDefaultReader(this,e)}read(){if(!B(this))return Promise.reject(TypeError(`Invalid this`));if(this[d].stream===void 0)return Promise.reject(TypeError(`The reader is not attached to a stream`));let e=this[d].stream,t=e[d].controller;if(e[d].state===`readable`&&z(t)&&t[d].queue.length>0){e[d].disturbed=!0;let r=n(t);return t[d].closeRequested&&!t[d].queue.length?(readableStreamDefaultControllerClearAlgorithms(t),readableStreamClose(e)):readableStreamDefaultControllerCallPullIfNeeded(t),Promise.resolve({value:r,done:!1})}let r=new DefaultReadRequest;return readableStreamDefaultReaderRead(this,r),r.promise}releaseLock(){if(!B(this))throw TypeError(`Invalid this`);this[d].stream!==void 0&&readableStreamDefaultReaderRelease(this)}get closed(){return B(this)?this[d].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return B(this)?this[d].stream===void 0?Promise.reject(TypeError(`The reader is not attached to a stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamDefaultReader`}},ReadableStreamDefaultController=class{[f]=`ReadableStreamDefaultController`;[d]={};constructor(e){if(e!==F)throw TypeError(`Illegal constructor`)}get desiredSize(){return readableStreamDefaultControllerGetDesiredSize(this)}close(){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerClose(this)}enqueue(e=void 0){if(!readableStreamDefaultControllerCanCloseOrEnqueue(this))throw TypeError(`Controller is already closed`);readableStreamDefaultControllerEnqueue(this,e)}error(e=void 0){readableStreamDefaultControllerError(this,e)}[k](e){return readableStreamDefaultControllerCancelSteps(this,e)}[N](e){readableStreamDefaultControllerPullSteps(this,e)}[P](){}get[Symbol.toStringTag](){return`ReadableStreamDefaultController`}};const R=c(`ReadableStream`),z=c(`ReadableStreamDefaultController`),B=c(`ReadableStreamDefaultReader`);function isReadableStreamLocked(e){return e[d].reader!==void 0}function readableStreamCancel(e,t){switch(e[d].disturbed=!0,e[d].state){case`closed`:return Promise.resolve();case`errored`:return Promise.reject(e[d].storedError)}readableStreamClose(e);let n=e[d].reader;if(n!==void 0&&readableStreamHasBYOBReader(e)){let e=n[d].readIntoRequests;n[d].readIntoRequests=[];for(let t=0;t<e.length;t++)e[t][A](void 0)}return e[d].controller[k](t).then(()=>{})}function readableStreamClose(e){e[d].state=`closed`,e[d].closedPromise.resolve();let{reader:t}=e[d];if(t!==void 0&&(t[d].close.resolve?.(),readableStreamHasDefaultReader(e))){for(let e=0;e<t[d].readRequests.length;e++)t[d].readRequests[e][A]();t[d].readRequests=[]}}function readableStreamError(e,t){e[d].state=`errored`,e[d].storedError=t,_(e[d].closedPromise.promise),e[d].closedPromise.reject(t);let{reader:n}=e[d];if(n!==void 0){if(_(n[d].close.promise),n[d].close.reject?.(t),readableStreamHasDefaultReader(e)){for(let e=0;e<n[d].readRequests.length;e++)n[d].readRequests[e][M](t);n[d].readRequests=[]}else if(readableStreamHasBYOBReader(e)){for(let e=0;e<n[d].readIntoRequests.length;e++)n[d].readIntoRequests[e][M](t);n[d].readIntoRequests=[]}}}function readableStreamHasDefaultReader(e){let{reader:t}=e[d];return t===void 0?!1:t[d]!==void 0&&t[f]===`ReadableStreamDefaultReader`}function readableStreamGetNumReadRequests(e){return e[d].reader[d].readRequests.length}function readableStreamFulfillReadRequest(e,t,n){let{reader:r}=e[d],i=r[d].readRequests.shift();n?i[A]():i[j](t)}function readableStreamAddReadRequest(e,t){e[d].reader[d].readRequests.push(t)}function readableStreamReaderGenericCancel(e,t){let{stream:n}=e[d];return readableStreamCancel(n,t)}function readableStreamReaderGenericInitialize(e,t){switch(e[d].stream=t,t[d].reader=e,t[d].state){case`readable`:e[d].close=Promise.withResolvers();break;case`closed`:e[d].close={promise:Promise.resolve(),resolve:void 0,reject:void 0};break;case`errored`:e[d].close={promise:Promise.reject(t[d].storedError),resolve:void 0,reject:void 0},_(e[d].close.promise);break}}function readableStreamReaderGenericRelease(e){let{stream:t}=e[d],n=lazyReadableReleasedError();t[d].state===`readable`?e[d].close.reject?.(n):e[d].close={promise:Promise.reject(n),resolve:void 0,reject:void 0},_(e[d].close.promise),t[d].controller[P](),t[d].reader=void 0,e[d].stream=void 0}function readableStreamDefaultReaderRelease(e){readableStreamReaderGenericRelease(e),readableStreamDefaultReaderErrorReadRequests(e,lazyReadableReleasingError())}function readableStreamDefaultReaderErrorReadRequests(e,t){for(let n=0;n<e[d].readRequests.length;++n)e[d].readRequests[n][M](t);e[d].readRequests=[]}function readableStreamDefaultReaderRead(e,t){let{stream:n}=e[d];switch(n[d].disturbed=!0,n[d].state){case`closed`:t[A]();break;case`errored`:t[M](n[d].storedError);break;case`readable`:n[d].controller[N](t);break}}function setupReadableStreamDefaultReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);readableStreamReaderGenericInitialize(e,t),e[d].readRequests=[]}function readableStreamDefaultControllerClose(e){readableStreamDefaultControllerCanCloseOrEnqueue(e)&&(e[d].closeRequested=!0,e[d].queue.length||(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(e[d].stream)))}function readableStreamDefaultControllerEnqueue(e,t){if(!readableStreamDefaultControllerCanCloseOrEnqueue(e))return;let{stream:n}=e[d];if(isReadableStreamLocked(n)&&readableStreamGetNumReadRequests(n))readableStreamFulfillReadRequest(n,t,!1);else try{i(e,t,e[d].sizeAlgorithm(t))}catch(t){throw readableStreamDefaultControllerError(e,t),t}readableStreamDefaultControllerCallPullIfNeeded(e)}function readableStreamDefaultControllerCanCloseOrEnqueue(e){let{stream:t}=e[d];return!e[d].closeRequested&&t[d].state===`readable`}function readableStreamDefaultControllerGetDesiredSize(e){let{stream:t,highWaterMark:n,queueTotalSize:r}=e[d];switch(t[d].state){case`errored`:return null;case`closed`:return 0;default:return n-r}}function readableStreamDefaultControllerHasBackpressure(e){return!readableStreamDefaultControllerShouldCallPull(e)}function readableStreamDefaultControllerShouldCallPull(e){let{stream:t}=e[d];if(!readableStreamDefaultControllerCanCloseOrEnqueue(e)||!e[d].started)return!1;if(isReadableStreamLocked(t)&&readableStreamGetNumReadRequests(t))return!0;let n=readableStreamDefaultControllerGetDesiredSize(e);return n!==null&&n>0}function readableStreamDefaultControllerCallPullIfNeeded(e){if(readableStreamDefaultControllerShouldCallPull(e)){if(e[d].pulling){e[d].pullAgain=!0;return}e[d].pulling=!0,e[d].pullAlgorithm(e).then(()=>{e[d].pulling=!1,e[d].pullAgain&&(e[d].pullAgain=!1,readableStreamDefaultControllerCallPullIfNeeded(e))},t=>readableStreamDefaultControllerError(e,t))}}function readableStreamDefaultControllerClearAlgorithms(e){e[d].pullAlgorithm=void 0,e[d].cancelAlgorithm=void 0,e[d].sizeAlgorithm=void 0}function readableStreamDefaultControllerError(e,t){let{stream:n}=e[d];n[d].state===`readable`&&(g(e),readableStreamDefaultControllerClearAlgorithms(e),readableStreamError(n,t))}function readableStreamDefaultControllerCancelSteps(e,t){g(e);let n=e[d].cancelAlgorithm(t);return readableStreamDefaultControllerClearAlgorithms(e),n}function readableStreamDefaultControllerPullSteps(e,t){let{stream:r,queue:i}=e[d];if(i.length){let a=n(e);e[d].closeRequested&&!i.length?(readableStreamDefaultControllerClearAlgorithms(e),readableStreamClose(r)):readableStreamDefaultControllerCallPullIfNeeded(e),t[j](a);return}readableStreamAddReadRequest(r,t),readableStreamDefaultControllerCallPullIfNeeded(e)}function setupReadableStreamDefaultController(e,t,n,r,i,a,o){t[d]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:a,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,sizeAlgorithm:o,stream:e},e[d].controller=t;let s=n();new Promise(e=>e(s)).then(()=>{t[d].started=!0,readableStreamDefaultControllerCallPullIfNeeded(t)},e=>readableStreamDefaultControllerError(t,e))}function setupReadableStreamDefaultControllerFromSource(e,n,r,i){let a=new ReadableStreamDefaultController(F),o=n?.start,s=n?.pull,c=n?.cancel;setupReadableStreamDefaultController(e,a,o?o.bind(n,a):h,s?t(`source.pull`,s,n):m,c?t(`source.cancel`,c,n):p,r,i)}function createReadableStream(e,t,n,r=1,i=()=>1){let a=Object.create(ReadableStream.prototype);return a[f]=`ReadableStream`,a[d]=createReadableStreamState(),setupReadableStreamDefaultController(a,new ReadableStreamDefaultController(F),e,t,n,r,i),a}function readableStreamFromIterable(e){let t,n=s(e,`async`),r=h;async function pullAlgorithm(){let e=u(n);return Promise.resolve(e).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.next() method must fulfill with an object`);e.done?readableStreamDefaultControllerClose(t[d].controller):readableStreamDefaultControllerEnqueue(t[d].controller,e.value)})}async function cancelAlgorithm(e){let t=n.iterator,r=t.return;if(r===void 0)return Promise.resolve();let i=r.call(t,e);return Promise.resolve(i).then(e=>{if(typeof e!=`object`||!e)throw TypeError(`The promise returned by the iterator.return() method must fulfill with an object`)})}return t=createReadableStream(r,pullAlgorithm,cancelAlgorithm,0),t}function readableStreamPipeTo(e,t,r,i,a,o){let s,c;try{s=new ReadableStreamDefaultReader(e),c=new b(t)}catch(e){return Promise.reject(e)}e[d].disturbed=!0;let l=!1,{promise:u,resolve:f,reject:p}=Promise.withResolvers(),m={currentWrite:Promise.resolve()},h;function finalize(e,t){E(c),readableStreamReaderGenericRelease(s),o!==void 0&&h&&(o.removeEventListener(`abort`,h),h=void 0),e?p(t):f()}async function waitForCurrentWrite(){let e=m.currentWrite;await e,e!==m.currentWrite&&await waitForCurrentWrite()}function shutdownWithAnAction(e,n,r){if(l)return;if(l=!0,t[d].state===`writable`&&!w(t)){waitForCurrentWrite().then(complete,e=>finalize(!0,e));return}complete();function complete(){e().then(()=>finalize(!!n,r),e=>finalize(!0,e))}}function shutdown(e,n){if(!l){if(l=!0,t[d].state===`writable`&&!w(t)){waitForCurrentWrite().then(()=>finalize(!!e,n),e=>finalize(!0,e));return}finalize(!!e,n)}}function abortAlgorithm(){let n;n=o.reason&&o.reason.name===`AbortError`?createAbortError():o.reason;let r=[];i||r.push(()=>t[d].state===`writable`?C(t,n):Promise.resolve()),a||r.push(()=>e[d].state===`readable`?readableStreamCancel(e,n):Promise.resolve()),shutdownWithAnAction(()=>Promise.all(r.map(e=>e())).then(()=>void 0),!0,n)}function watchErrored(e,t,n){e[d].state===`errored`?n(e[d].storedError):t.then(void 0,n)}function watchClosed(e,t,n){e[d].state===`closed`?n():t.then(n,()=>{})}class PipeToReadRequest{[j](e){O(()=>{m.currentWrite=D(c,e),_(m.currentWrite),g.resolve(!1)})}[A](){g.resolve(!0)}[M](e){g.reject(e)}}let g={resolve:null,reject:null};async function step(){if(l||t[d].backpressure&&(await c[d].ready.promise,l))return!0;let r=e[d].controller;if(e[d].state===`readable`&&z(r)&&r[d].queue.length>0){for(;r[d].queue.length>0;){if(l)return!0;let i=n(r);if(r[d].closeRequested&&!r[d].queue.length&&(readableStreamDefaultControllerClearAlgorithms(r),readableStreamClose(e)),m.currentWrite=D(c,i),_(m.currentWrite),t[d].backpressure||t[d].state!==`writable`||w(t))break}return readableStreamDefaultControllerCallPullIfNeeded(r),e[d].state===`closed`}let{promise:i,resolve:a,reject:o}=Promise.withResolvers();return g={resolve:a,reject:o},readableStreamDefaultReaderRead(s,new PipeToReadRequest),i}async function run(){for(;!await step(););}if(o!==void 0){if(o.aborted)return abortAlgorithm(),u;h=abortAlgorithm,o.addEventListener(`abort`,h,{once:!0})}if(_(run()),watchErrored(e,s[d].close.promise,e=>{if(!i)return shutdownWithAnAction(()=>C(t,e),!0,e);shutdown(!0,e)}),watchErrored(t,c[d].close.promise,t=>{if(!a)return shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t);shutdown(!0,t)}),watchClosed(e,s[d].close.promise,()=>{if(!r)return shutdownWithAnAction(()=>T(c));shutdown()}),w(t)||t[d].state===`closed`){let t=TypeError(`Destination WritableStream is closed`);a?shutdown(!0,t):shutdownWithAnAction(()=>readableStreamCancel(e,t),!0,t)}return u}function readableStreamDefaultTee(e,t){let n=new ReadableStreamDefaultReader(e),r=!1,i=!1,a=!1,o,s,c,l,u=Promise.withResolvers();async function pullAlgorithm(){r||(r=!0,readableStreamDefaultReaderRead(n,{[j](e){O(()=>{r=!1;let n=e,o=e;if(!a&&t)try{o=structuredClone(o)}catch{}i||readableStreamDefaultControllerEnqueue(c[d].controller,n),a||readableStreamDefaultControllerEnqueue(l[d].controller,o)})},[A](){O(()=>{r=!1,i||readableStreamDefaultControllerClose(c[d].controller),a||readableStreamDefaultControllerClose(l[d].controller),(!i||!a)&&u.resolve(void 0)})},[M](){r=!1}}))}function cancel1Algorithm(t){if(i=!0,o=t,a){let t=[o,s];u.resolve(readableStreamCancel(e,t))}return u.promise}function cancel2Algorithm(t){if(a=!0,s=t,i){let t=[o,s];u.resolve(readableStreamCancel(e,t))}return u.promise}return c=createReadableStream(h,pullAlgorithm,cancel1Algorithm),l=createReadableStream(h,pullAlgorithm,cancel2Algorithm),n[d].close.promise.then(void 0,e=>{readableStreamDefaultControllerError(c[d].controller,e),readableStreamDefaultControllerError(l[d].controller,e),(!i||!a)&&u.resolve(void 0)}),[c,l]}var BYOBReadIntoRequest=class{[d];constructor(){this[d]=Promise.withResolvers()}[j](e){this[d].resolve?.({value:e,done:!1})}[A](e){this[d].resolve?.({value:e,done:!0})}[M](e){this[d].reject?.(e)}get promise(){return this[d].promise}},ReadableStreamBYOBReader=class{[f]=`ReadableStreamBYOBReader`;[d];constructor(e){if(!R(e))throw TypeError(`Expected a ReadableStream`);this[d]={readIntoRequests:[],stream:void 0,close:{promise:void 0,resolve:void 0,reject:void 0}},setupReadableStreamBYOBReader(this,e)}read(e,t={}){if(!H(this))return Promise.reject(TypeError(`Invalid this`));if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))return Promise.reject(TypeError(`view must be an ArrayBufferView`));let n=e.buffer,r=e.byteLength;if(r===0)return Promise.reject(TypeError(`view must have non-zero byteLength`));if(n.byteLength===0)return l(n)?Promise.reject(TypeError(`view's buffer has been detached`)):Promise.reject(TypeError(`view's buffer must have non-zero byteLength`));let i=t?.min??1;if(typeof i!=`number`||i<1||!Number.isInteger(i)||Number.isNaN(i))return Promise.reject(TypeError(`options.min must be a positive integer`));let a=e[Symbol.toStringTag];if(a!==void 0&&a!==`DataView`){if(i>e.length)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`))}else if(i>r)return Promise.reject(RangeError(`options.min must be smaller or equal to view size`));if(this[d].stream===void 0)return Promise.reject(TypeError(`Reader has no associated stream`));let o=new BYOBReadIntoRequest;return readableStreamBYOBReaderRead(this,e,i,o),o.promise}releaseLock(){if(!H(this))throw TypeError(`Invalid this`);this[d].stream!==void 0&&readableStreamBYOBReaderRelease(this)}get closed(){return H(this)?this[d].close.promise:Promise.reject(TypeError(`Invalid this`))}cancel(e=void 0){return H(this)?this[d].stream===void 0?Promise.reject(TypeError(`Reader has no associated stream`)):readableStreamReaderGenericCancel(this,e):Promise.reject(TypeError(`Invalid this`))}get[Symbol.toStringTag](){return`ReadableStreamBYOBReader`}},ReadableStreamBYOBRequest=class{[f]=`ReadableStreamBYOBRequest`;[d]={};constructor(e){if(e!==F)throw TypeError(`Illegal constructor`)}get view(){if(!U(this))throw TypeError(`Invalid this`);return this[d].view}respond(e){if(!U(this))throw TypeError(`Invalid this`);if(this[d].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(e=+e,!Number.isInteger(e)||e<0||!Number.isFinite(e))throw RangeError(`bytesWritten must be a non-negative integer`);let t=this[d].view;if(l(t.buffer))throw TypeError(`The BYOB request's buffer has been detached`);readableByteStreamControllerRespond(this[d].controller,e)}respondWithNewView(e){if(!U(this))throw TypeError(`Invalid this`);if(this[d].controller===void 0)throw TypeError(`BYOB request has been invalidated`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`view must be an ArrayBufferView`);if(l(e.buffer))throw TypeError(`The given view's buffer has been detached`);readableByteStreamControllerRespondWithNewView(this[d].controller,e)}get[Symbol.toStringTag](){return`ReadableStreamBYOBRequest`}},ReadableByteStreamController=class{[f]=`ReadableByteStreamController`;[d]={};constructor(e){if(e!==F)throw TypeError(`Illegal constructor`)}get byobRequest(){if(!V(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetBYOBRequest(this)}get desiredSize(){if(!V(this))throw TypeError(`Invalid this`);return readableByteStreamControllerGetDesiredSize(this)}close(){if(!V(this))throw TypeError(`Invalid this`);if(this[d].closeRequested)throw TypeError(`Close already requested`);if(this[d].stream[d].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerClose(this)}enqueue(e){if(!V(this))throw TypeError(`Invalid this`);if(typeof e!=`object`||!e||!ArrayBuffer.isView(e))throw TypeError(`chunk must be an ArrayBufferView`);if(e.byteLength===0)throw TypeError(`chunk length must be non-zero`);if(e.buffer.byteLength===0)throw TypeError(`chunk's buffer length must be non-zero`);if(this[d].closeRequested)throw TypeError(`Cannot enqueue after close has been requested`);if(this[d].stream[d].state!==`readable`)throw TypeError(`Stream is not in a readable state`);readableByteStreamControllerEnqueue(this,e)}error(e=void 0){if(!V(this))throw TypeError(`Invalid this`);readableByteStreamControllerError(this,e)}[k](e){return readableByteStreamControllerCancelSteps(this,e)}[N](e){readableByteStreamControllerPullSteps(this,e)}[P](){if(this[d].pendingPullIntos.length>0){let e=this[d].pendingPullIntos[0];e.readerType=`none`,this[d].pendingPullIntos=[e]}}get[Symbol.toStringTag](){return`ReadableByteStreamController`}};const V=c(`ReadableByteStreamController`),H=c(`ReadableStreamBYOBReader`),U=c(`ReadableStreamBYOBRequest`);function readableStreamHasBYOBReader(e){let{reader:t}=e[d];return t===void 0?!1:t[d]!==void 0&&t[f]===`ReadableStreamBYOBReader`}function readableStreamGetNumReadIntoRequests(e){return e[d].reader[d].readIntoRequests.length}function readableStreamAddReadIntoRequest(e,t){e[d].reader[d].readIntoRequests.push(t)}function readableStreamFulfillReadIntoRequest(e,t,n){let{reader:r}=e[d],i=r[d].readIntoRequests.shift();n?i[A](t):i[j](t)}function setupReadableStreamBYOBReader(e,t){if(isReadableStreamLocked(t))throw TypeError(`ReadableStream is locked`);if(!V(t[d].controller))throw TypeError(`Cannot use a BYOB reader with a non-byte stream`);readableStreamReaderGenericInitialize(e,t),e[d].readIntoRequests=[]}function readableStreamBYOBReaderRead(e,t,n,r){let{stream:i}=e[d];i[d].disturbed=!0,i[d].state===`errored`?r[M](i[d].storedError):readableByteStreamControllerPullInto(i[d].controller,t,n,r)}function readableStreamBYOBReaderRelease(e){readableStreamReaderGenericRelease(e);let t=TypeError(`Reader was released`);for(let n=0;n<e[d].readIntoRequests.length;n++)e[d].readIntoRequests[n][M](t);e[d].readIntoRequests=[]}function readableByteStreamControllerClearAlgorithms(e){e[d].pullAlgorithm=void 0,e[d].cancelAlgorithm=void 0}function readableByteStreamControllerClearPendingPullIntos(e){readableByteStreamControllerInvalidateBYOBRequest(e),e[d].pendingPullIntos=[]}function readableByteStreamControllerInvalidateBYOBRequest(e){let t=e[d].byobRequest;t!=null&&(t[d].controller=void 0,t[d].view=null,e[d].byobRequest=null)}function readableByteStreamControllerError(e,t){let{stream:n}=e[d];n[d].state===`readable`&&(readableByteStreamControllerClearPendingPullIntos(e),g(e),readableByteStreamControllerClearAlgorithms(e),readableStreamError(n,t))}function readableByteStreamControllerGetDesiredSize(e){let t=e[d].stream[d].state;return t===`errored`?null:t===`closed`?0:e[d].highWaterMark-e[d].queueTotalSize}function readableByteStreamControllerShouldCallPull(e){let{stream:t}=e[d];if(t[d].state!==`readable`||e[d].closeRequested||!e[d].started)return!1;if(readableStreamHasDefaultReader(t)&&readableStreamGetNumReadRequests(t)>0||readableStreamHasBYOBReader(t)&&readableStreamGetNumReadIntoRequests(t)>0)return!0;let n=readableByteStreamControllerGetDesiredSize(e);return n!==null&&n>0}function readableByteStreamControllerCallPullIfNeeded(e){if(readableByteStreamControllerShouldCallPull(e)){if(e[d].pulling){e[d].pullAgain=!0;return}e[d].pulling=!0,e[d].pullAlgorithm(e).then(()=>{e[d].pulling=!1,e[d].pullAgain&&(e[d].pullAgain=!1,readableByteStreamControllerCallPullIfNeeded(e))},t=>readableByteStreamControllerError(e,t))}}function readableByteStreamControllerHandleQueueDrain(e){e[d].queueTotalSize===0&&e[d].closeRequested?(readableByteStreamControllerClearAlgorithms(e),readableStreamClose(e[d].stream)):readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerEnqueueChunkToQueue(e,t,n,r){e[d].queue.push({buffer:t,byteOffset:n,byteLength:r}),e[d].queueTotalSize+=r}function readableByteStreamControllerEnqueueClonedChunkToQueue(e,t,n,r){let i;try{i=t.slice(n,n+r)}catch(t){readableByteStreamControllerError(e,t);return}readableByteStreamControllerEnqueueChunkToQueue(e,i,0,r)}function readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t){t.bytesFilled>0&&readableByteStreamControllerEnqueueClonedChunkToQueue(e,t.buffer,t.byteOffset,t.bytesFilled),readableByteStreamControllerShiftPendingPullInto(e)}function readableByteStreamControllerShiftPendingPullInto(e){return e[d].pendingPullIntos.shift()}function readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n){n.bytesFilled+=t}function readableByteStreamControllerConvertPullIntoDescriptor(e){let t=e.bytesFilled,n=e.elementSize,r=v(e.buffer);return e.buffer=r,new e.viewConstructor(r,e.byteOffset,t/n)}function readableByteStreamControllerCommitPullIntoDescriptor(e,t){let n=!1;e[d].state===`closed`&&(n=!0);let r=readableByteStreamControllerConvertPullIntoDescriptor(t);t.readerType===`default`?readableStreamFulfillReadRequest(e,r,n):readableStreamFulfillReadIntoRequest(e,r,n)}function readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t){let n=Math.min(e[d].queueTotalSize,t.byteLength-t.bytesFilled),r=t.bytesFilled+n,i=n,a=!1,o=r-r%t.elementSize;o>=t.minimumFill&&(i=o-t.bytesFilled,a=!0);let s=e[d].queue;for(;i>0;){let n=s[0],r=Math.min(i,n.byteLength),a=t.byteOffset+t.bytesFilled,o=new Uint8Array(t.buffer,a,r),c=new Uint8Array(n.buffer,n.byteOffset,r);o.set(c),n.byteLength===r?s.shift():(n.byteOffset+=r,n.byteLength-=r),e[d].queueTotalSize-=r,readableByteStreamControllerFillHeadPullIntoDescriptor(e,r,t),i-=r}return a}function readableByteStreamControllerFillReadRequestFromQueue(e,t){let n=e[d].queue.shift();e[d].queueTotalSize-=n.byteLength,readableByteStreamControllerHandleQueueDrain(e);let r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);t[j](r)}function readableByteStreamControllerProcessReadRequestsUsingQueue(e){let t=e[d].stream[d].reader;for(;t[d].readRequests.length!==0;){if(e[d].queueTotalSize===0)return;readableByteStreamControllerFillReadRequestFromQueue(e,t[d].readRequests.shift())}}function readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e){for(;e[d].pendingPullIntos.length!==0;){if(e[d].queueTotalSize===0)return;let t=e[d].pendingPullIntos[0];readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,t)&&(readableByteStreamControllerShiftPendingPullInto(e),readableByteStreamControllerCommitPullIntoDescriptor(e[d].stream,t))}}function readableByteStreamControllerGetBYOBRequest(e){if(e[d].byobRequest===null&&e[d].pendingPullIntos.length!==0){let t=e[d].pendingPullIntos[0],n=new Uint8Array(t.buffer,t.byteOffset+t.bytesFilled,t.byteLength-t.bytesFilled),r=new ReadableStreamBYOBRequest(F);r[d]={controller:e,view:n},e[d].byobRequest=r}return e[d].byobRequest}function readableByteStreamControllerEnqueue(e,t){let{stream:n}=e[d];if(e[d].closeRequested||n[d].state!==`readable`)return;let r=t.buffer,i=t.byteLength,a=t.byteOffset;if(l(r))throw TypeError(`chunk's buffer is detached`);let o=v(r);if(e[d].pendingPullIntos.length!==0){let t=e[d].pendingPullIntos[0];if(l(t.buffer))throw TypeError(`BYOB request's buffer has been detached`);readableByteStreamControllerInvalidateBYOBRequest(e),t.buffer=v(t.buffer),t.readerType===`none`&&readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,t)}readableStreamHasDefaultReader(n)?(readableByteStreamControllerProcessReadRequestsUsingQueue(e),readableStreamGetNumReadRequests(n)===0?readableByteStreamControllerEnqueueChunkToQueue(e,o,a,i):(e[d].pendingPullIntos.length!==0&&readableByteStreamControllerShiftPendingPullInto(e),readableStreamFulfillReadRequest(n,new Uint8Array(o,a,i),!1))):readableStreamHasBYOBReader(n)?(readableByteStreamControllerEnqueueChunkToQueue(e,o,a,i),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)):readableByteStreamControllerEnqueueChunkToQueue(e,o,a,i),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerClose(e){let{stream:t}=e[d];if(!(e[d].closeRequested||t[d].state!==`readable`)){if(e[d].queueTotalSize>0){e[d].closeRequested=!0;return}if(e[d].pendingPullIntos.length!==0){let t=e[d].pendingPullIntos[0];if(t.bytesFilled%t.elementSize!==0){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);throw readableByteStreamControllerError(e,t),t}}readableByteStreamControllerClearAlgorithms(e),readableStreamClose(t)}}function readableByteStreamControllerPullInto(e,t,n,i){let a=e[d].stream,o=t[Symbol.toStringTag],s,c;if(o===void 0||o===`DataView`)s=DataView,c=1;else{let e=y(o);if(!e){i[M](TypeError(`Unsupported typed array: ${o}`));return}s=e,c=r(o)}let l=t.buffer,u=t.byteLength,f=t.byteOffset,p=n*c,m;try{m=v(l)}catch(e){i[M](e);return}let h={buffer:m,bufferByteLength:m.byteLength,byteOffset:f,byteLength:u,bytesFilled:0,minimumFill:p,elementSize:c,viewConstructor:s,readerType:`byob`};if(e[d].pendingPullIntos.length!==0){e[d].pendingPullIntos.push(h),readableStreamAddReadIntoRequest(a,i);return}if(a[d].state===`closed`){let e=new s(h.buffer,h.byteOffset,0);i[A](e);return}if(e[d].queueTotalSize>0){if(readableByteStreamControllerFillPullIntoDescriptorFromQueue(e,h)){let t=readableByteStreamControllerConvertPullIntoDescriptor(h);readableByteStreamControllerHandleQueueDrain(e),i[j](t);return}if(e[d].closeRequested){let t=TypeError(`Insufficient bytes to fill elements in the given buffer`);readableByteStreamControllerError(e,t),i[M](t);return}}e[d].pendingPullIntos.push(h),readableStreamAddReadIntoRequest(a,i),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespond(e,t){let n=e[d].pendingPullIntos[0];if(e[d].stream[d].state===`closed`){if(t!==0)throw TypeError(`bytesWritten must be 0 when calling respond() on a closed stream`)}else{if(t===0)throw TypeError(`bytesWritten must be greater than 0 when calling respond() on a readable stream`);if(n.bytesFilled+t>n.byteLength)throw RangeError(`bytesWritten out of range`)}n.buffer=v(n.buffer),readableByteStreamControllerRespondInternal(e,t)}function readableByteStreamControllerRespondWithNewView(e,t){let n=e[d].pendingPullIntos[0],r=e[d].stream[d].state,i=t.byteLength,a=t.byteOffset,o=t.buffer;if(r===`closed`){if(i!==0)throw TypeError(`view's length must be 0 when calling respondWithNewView() on a closed stream`)}else if(i===0)throw TypeError(`view's length must be greater than 0 when calling respondWithNewView() on a readable stream`);if(n.byteOffset+n.bytesFilled!==a)throw RangeError(`The region specified by view does not match byobRequest`);if(n.bufferByteLength!==o.byteLength)throw RangeError(`The buffer of view has different capacity than byobRequest`);if(n.bytesFilled+i>n.byteLength)throw RangeError(`The region specified by view is larger than byobRequest`);n.buffer=v(o),readableByteStreamControllerRespondInternal(e,i)}function readableByteStreamControllerRespondInternal(e,t){let n=e[d].pendingPullIntos[0];readableByteStreamControllerInvalidateBYOBRequest(e),e[d].stream[d].state===`closed`?readableByteStreamControllerRespondInClosedState(e,n):readableByteStreamControllerRespondInReadableState(e,t,n),readableByteStreamControllerCallPullIfNeeded(e)}function readableByteStreamControllerRespondInClosedState(e,t){t.readerType===`none`&&readableByteStreamControllerShiftPendingPullInto(e);let n=e[d].stream;if(readableStreamHasBYOBReader(n))for(;readableStreamGetNumReadIntoRequests(n)>0;)readableByteStreamControllerCommitPullIntoDescriptor(n,readableByteStreamControllerShiftPendingPullInto(e))}function readableByteStreamControllerRespondInReadableState(e,t,n){if(readableByteStreamControllerFillHeadPullIntoDescriptor(e,t,n),n.readerType===`none`){readableByteStreamControllerEnqueueDetachedPullIntoToQueue(e,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e);return}if(n.bytesFilled<n.minimumFill)return;readableByteStreamControllerShiftPendingPullInto(e);let r=n.bytesFilled%n.elementSize;if(r>0){let t=n.byteOffset+n.bytesFilled;readableByteStreamControllerEnqueueClonedChunkToQueue(e,n.buffer,t-r,r)}n.bytesFilled-=r,readableByteStreamControllerCommitPullIntoDescriptor(e[d].stream,n),readableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(e)}function readableByteStreamControllerCancelSteps(e,t){readableByteStreamControllerClearPendingPullIntos(e),g(e);let n=e[d].cancelAlgorithm(t);return readableByteStreamControllerClearAlgorithms(e),n}function readableByteStreamControllerPullSteps(e,t){let n=e[d].stream;if(e[d].queueTotalSize>0){readableByteStreamControllerFillReadRequestFromQueue(e,t);return}let r=e[d].autoAllocateChunkSize;if(r!==void 0){let n;try{n=new ArrayBuffer(r)}catch(e){t[M](e);return}let i={buffer:n,bufferByteLength:r,byteOffset:0,byteLength:r,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:`default`};e[d].pendingPullIntos.push(i)}readableStreamAddReadRequest(n,t),readableByteStreamControllerCallPullIfNeeded(e)}function setupReadableByteStreamController(e,t,n,r,i,a,o){t[d]={cancelAlgorithm:i,closeRequested:!1,highWaterMark:a,pullAgain:!1,pullAlgorithm:r,pulling:!1,queue:[],queueTotalSize:0,started:!1,stream:e,byobRequest:null,pendingPullIntos:[],autoAllocateChunkSize:o},e[d].controller=t;let s=n();new Promise(e=>e(s)).then(()=>{t[d].started=!0,readableByteStreamControllerCallPullIfNeeded(t)},e=>readableByteStreamControllerError(t,e))}function setupReadableByteStreamControllerFromSource(e,n,r){let i=new ReadableByteStreamController(F),a=n?.start,o=n?.pull,s=n?.cancel,c=n?.autoAllocateChunkSize;if(c!==void 0&&(c===0||!Number.isInteger(c)||c<0))throw TypeError(`autoAllocateChunkSize must be a positive integer`);setupReadableByteStreamController(e,i,a?a.bind(n,i):h,o?t(`source.pull`,o,n):m,s?t(`source.cancel`,s,n):p,r,c)}function readableByteStreamTee(e){let t=new ReadableStreamDefaultReader(e),n=!1,r=!1,i=!1,a,o,s=Promise.withResolvers(),c,l,u,f;function pullAlgorithm(){return n?Promise.resolve():(n=!0,t.read().then(e=>{if(n=!1,e.done){r||u.close(),i||f.close();return}let t=e.value,a=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));r||u.enqueue(a),i||f.enqueue(new Uint8Array(a))},()=>{}),Promise.resolve())}return c=new ReadableStream({type:`bytes`,pull:pullAlgorithm,cancel(t){if(r=!0,a=t,i){let t=readableStreamCancel(e,[a,o]);return s.resolve(),t}return s.promise}}),l=new ReadableStream({type:`bytes`,pull:pullAlgorithm,cancel(t){if(i=!0,o=t,r){let t=readableStreamCancel(e,[a,o]);return s.resolve(),t}return s.promise}}),u=c[d].controller,f=l[d].controller,t.closed.catch(e=>{u.error(e),f.error(e),(!r||!i)&&s.resolve()}),[c,l]}export{ReadableByteStreamController,ReadableStream,ReadableStreamBYOBReader,ReadableStreamBYOBRequest,ReadableStreamDefaultController,ReadableStreamDefaultReader,createReadableStream,V as isReadableByteStreamController,R as isReadableStream,H as isReadableStreamBYOBReader,U as isReadableStreamBYOBRequest,z as isReadableStreamDefaultController,B as isReadableStreamDefaultReader,isReadableStreamLocked,readableStreamCancel,readableStreamClose,readableStreamDefaultControllerCanCloseOrEnqueue,readableStreamDefaultControllerClose,readableStreamDefaultControllerEnqueue,readableStreamDefaultControllerError,readableStreamDefaultControllerGetDesiredSize,readableStreamDefaultControllerHasBackpressure,readableStreamError,setupReadableByteStreamController,setupReadableStreamDefaultController};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../_virtual/_rolldown/runtime.js";import{
|
|
1
|
+
import"../_virtual/_rolldown/runtime.js";import{ReadableByteStreamController as e,ReadableStreamBYOBReader as t,ReadableStreamBYOBRequest as n,ReadableStreamDefaultController as r,ReadableStreamDefaultReader as i}from"../readable-stream.js";import{ReadableStream as a}from"../index.js";function isNativeStreamUsable(e,t){try{return typeof e==`function`?typeof e.prototype[t]==`function`:!1}catch{return!1}}isNativeStreamUsable(globalThis.ReadableStream,`getReader`)||(globalThis.ReadableStream=a),globalThis.ReadableStreamBYOBReader===void 0&&(globalThis.ReadableStreamBYOBReader=t),globalThis.ReadableStreamBYOBRequest===void 0&&(globalThis.ReadableStreamBYOBRequest=n),globalThis.ReadableByteStreamController===void 0&&(globalThis.ReadableByteStreamController=e),globalThis.ReadableStreamDefaultController===void 0&&(globalThis.ReadableStreamDefaultController=r),globalThis.ReadableStreamDefaultReader===void 0&&(globalThis.ReadableStreamDefaultReader=i);
|
package/lib/esm/util.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./_virtual/_rolldown/runtime.js";const e=Symbol(`kState`),t=Symbol(`kType`);function isBrandCheck(n){return r=>typeof r==`object`&&!!r&&r[e]!==void 0&&r[t]===n}function dequeueValue(t){let{value:n,size:r}=t[e].queue.shift();return t[e].queueTotalSize=Math.max(0,t[e].queueTotalSize-r),n}function resetQueue(t){t[e].queue=[],t[e].queueTotalSize=0}function peekQueueValue(t){return t[e].queue[0].value}function enqueueValueWithSize(t,n,r){if(r=+r,typeof r!=`number`||r<0||Number.isNaN(r)||r===1/0)throw RangeError(`Invalid size: ${r}`);t[e].queue.push({value:n,size:r}),t[e].queueTotalSize+=r}function extractHighWaterMark(e,t){if(e===void 0)return t;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function cloneAsUint8Array(e){let t=e.buffer,n=e.byteOffset,r=e.byteLength;return new Uint8Array(t.slice(n,n+r))}function ArrayBufferViewGetBuffer(e){return e.buffer}function ArrayBufferViewGetByteLength(e){return e.byteLength}function ArrayBufferViewGetByteOffset(e){return e.byteOffset}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,t,n){if(typeof t!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>t.call(n,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const n={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let t={[Symbol.iterator]:()=>e.iterator},n=async function*(){return yield*t}();return{iterator:n,nextMethod:n.next,done:!1}}function getIterator(e,t=`sync`,n){if(n===void 0)if(t===`async`){if(n=e[Symbol.asyncIterator],n==null){let t=e[Symbol.iterator];if(t===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,t))}}else n=e[Symbol.iterator];if(n===void 0)throw TypeError(`Object is not iterable`);let r=n.call(e);if(typeof r!=`object`||!r)throw TypeError(`The iterator method must return an object`);return{iterator:r,nextMethod:r.next,done:!1}}function iteratorNext(e,t){let n;if(n=t===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,t),typeof n!=`object`||!n)throw TypeError(`The iterator.next() method must return an object`);return n}export{ArrayBufferViewGetBuffer,ArrayBufferViewGetByteLength,ArrayBufferViewGetByteOffset,n as AsyncIterator,cloneAsUint8Array,createAsyncFromSyncIterator,createPromiseCallback,dequeueValue,enqueueValueWithSize,extractHighWaterMark,extractSizeAlgorithm,getIterator,isBrandCheck,iteratorNext,e as kState,t as kType,nonOpCancel,nonOpFlush,nonOpPull,nonOpStart,nonOpWrite,peekQueueValue,resetQueue,setPromiseHandled};
|
|
1
|
+
import"./_virtual/_rolldown/runtime.js";const e=Symbol(`kState`),t=Symbol(`kType`);function isBrandCheck(n){return r=>typeof r==`object`&&!!r&&r[e]!==void 0&&r[t]===n}function dequeueValue(t){let{value:n,size:r}=t[e].queue.shift();return t[e].queueTotalSize=Math.max(0,t[e].queueTotalSize-r),n}function resetQueue(t){t[e].queue=[],t[e].queueTotalSize=0}function peekQueueValue(t){return t[e].queue[0].value}function enqueueValueWithSize(t,n,r){if(r=+r,typeof r!=`number`||r<0||Number.isNaN(r)||r===1/0)throw RangeError(`Invalid size: ${r}`);t[e].queue.push({value:n,size:r}),t[e].queueTotalSize+=r}function extractHighWaterMark(e,t){if(e===void 0)return t;if(e=+e,typeof e!=`number`||Number.isNaN(e)||e<0)throw RangeError(`Invalid highWaterMark: ${e}`);return e}function extractSizeAlgorithm(e){if(e===void 0)return()=>1;if(typeof e!=`function`)throw TypeError(`strategy.size must be a function`);return e}function cloneAsUint8Array(e){let t=e.buffer,n=e.byteOffset,r=e.byteLength;return new Uint8Array(t.slice(n,n+r))}function transferArrayBuffer(e){return typeof ArrayBuffer.prototype.transfer==`function`?e.transfer():e.slice(0)}function isDetachedBuffer(e){if(typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||e.byteLength!==0)return!1;try{return e.slice(0,0),!1}catch{return!0}}function typedArrayConstructorByTag(e){switch(e){case`Int8Array`:return Int8Array;case`Uint8Array`:return Uint8Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Int16Array`:return Int16Array;case`Uint16Array`:return Uint16Array;case`Int32Array`:return Int32Array;case`Uint32Array`:return Uint32Array;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return typeof BigInt64Array<`u`?BigInt64Array:void 0;case`BigUint64Array`:return typeof BigUint64Array<`u`?BigUint64Array:void 0;default:return}}function elementSizeByTag(e){switch(e){case`Int8Array`:case`Uint8Array`:case`Uint8ClampedArray`:return 1;case`Int16Array`:case`Uint16Array`:return 2;case`Int32Array`:case`Uint32Array`:case`Float32Array`:return 4;case`Float64Array`:case`BigInt64Array`:case`BigUint64Array`:return 8;default:return 1}}function ArrayBufferViewGetBuffer(e){return e.buffer}function ArrayBufferViewGetByteLength(e){return e.byteLength}function ArrayBufferViewGetByteOffset(e){return e.byteOffset}function setPromiseHandled(e){e.then(()=>{},()=>{})}function createPromiseCallback(e,t,n){if(typeof t!=`function`)throw TypeError(`${e} must be a function`);return async(...e)=>t.call(n,...e)}async function nonOpFlush(){}function nonOpStart(){}async function nonOpPull(){}async function nonOpCancel(){}async function nonOpWrite(){}const n={__proto__:Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype),next:void 0,return:void 0};function createAsyncFromSyncIterator(e){let t={[Symbol.iterator]:()=>e.iterator},n=async function*(){return yield*t}();return{iterator:n,nextMethod:n.next,done:!1}}function getIterator(e,t=`sync`,n){if(n===void 0)if(t===`async`){if(n=e[Symbol.asyncIterator],n==null){let t=e[Symbol.iterator];if(t===void 0)throw TypeError(`Object is not iterable`);return createAsyncFromSyncIterator(getIterator(e,`sync`,t))}}else n=e[Symbol.iterator];if(n===void 0)throw TypeError(`Object is not iterable`);let r=n.call(e);if(typeof r!=`object`||!r)throw TypeError(`The iterator method must return an object`);return{iterator:r,nextMethod:r.next,done:!1}}function iteratorNext(e,t){let n;if(n=t===void 0?e.nextMethod.call(e.iterator):e.nextMethod.call(e.iterator,t),typeof n!=`object`||!n)throw TypeError(`The iterator.next() method must return an object`);return n}export{ArrayBufferViewGetBuffer,ArrayBufferViewGetByteLength,ArrayBufferViewGetByteOffset,n as AsyncIterator,cloneAsUint8Array,createAsyncFromSyncIterator,createPromiseCallback,dequeueValue,elementSizeByTag,enqueueValueWithSize,extractHighWaterMark,extractSizeAlgorithm,getIterator,isBrandCheck,isDetachedBuffer,iteratorNext,e as kState,t as kType,nonOpCancel,nonOpFlush,nonOpPull,nonOpStart,nonOpWrite,peekQueueValue,resetQueue,setPromiseHandled,transferArrayBuffer,typedArrayConstructorByTag};
|
package/lib/types/index.d.ts
CHANGED
|
@@ -35,7 +35,7 @@ declare const _TextDecoderStream: {
|
|
|
35
35
|
};
|
|
36
36
|
export { _WritableStream as WritableStream, _ReadableStream as ReadableStream, _TransformStream as TransformStream, _ByteLengthQueuingStrategy as ByteLengthQueuingStrategy, _CountQueuingStrategy as CountQueuingStrategy, _TextEncoderStream as TextEncoderStream, _TextDecoderStream as TextDecoderStream, };
|
|
37
37
|
export { WritableStreamDefaultWriter, WritableStreamDefaultController } from './writable-stream.js';
|
|
38
|
-
export { ReadableStreamDefaultReader, ReadableStreamDefaultController } from './readable-stream.js';
|
|
38
|
+
export { ReadableStreamDefaultReader, ReadableStreamDefaultController, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableByteStreamController, } from './readable-stream.js';
|
|
39
39
|
export { TransformStreamDefaultController } from './transform-stream.js';
|
|
40
40
|
export { isWritableStream, isWritableStreamLocked, writableStreamAbort, writableStreamClose, writableStreamCloseQueuedOrInFlight, writableStreamDefaultWriterCloseWithErrorPropagation, writableStreamDefaultControllerErrorIfNeeded, createWritableStream, } from './writable-stream.js';
|
|
41
41
|
export { isReadableStream, isReadableStreamLocked, readableStreamCancel, readableStreamClose, readableStreamError, readableStreamDefaultControllerClose, readableStreamDefaultControllerEnqueue, readableStreamDefaultControllerError, readableStreamDefaultControllerGetDesiredSize, readableStreamDefaultControllerCanCloseOrEnqueue, readableStreamDefaultControllerHasBackpressure, setupReadableStreamDefaultController, createReadableStream, } from './readable-stream.js';
|
|
@@ -9,7 +9,7 @@ declare class ReadableStream {
|
|
|
9
9
|
get locked(): boolean;
|
|
10
10
|
static from(iterable: unknown): ReadableStream;
|
|
11
11
|
cancel(reason?: unknown): Promise<void>;
|
|
12
|
-
getReader(options?: any): ReadableStreamDefaultReader;
|
|
12
|
+
getReader(options?: any): ReadableStreamDefaultReader | ReadableStreamBYOBReader;
|
|
13
13
|
pipeThrough(transform: any, options?: any): ReadableStream;
|
|
14
14
|
pipeTo(destination: any, options?: any): Promise<void>;
|
|
15
15
|
tee(): [ReadableStream, ReadableStream];
|
|
@@ -58,4 +58,46 @@ declare function readableStreamDefaultControllerHasBackpressure(controller: any)
|
|
|
58
58
|
declare function readableStreamDefaultControllerError(controller: any, error: unknown): void;
|
|
59
59
|
declare function setupReadableStreamDefaultController(stream: any, controller: any, startAlgorithm: Function, pullAlgorithm: Function, cancelAlgorithm: Function, highWaterMark: number, sizeAlgorithm: (chunk: any) => number): void;
|
|
60
60
|
declare function createReadableStream(start: Function, pull: Function, cancel: Function, highWaterMark?: number, size?: (chunk: any) => number): ReadableStream;
|
|
61
|
-
|
|
61
|
+
declare class ReadableStreamBYOBReader {
|
|
62
|
+
[kType]: string;
|
|
63
|
+
[kState]: any;
|
|
64
|
+
constructor(stream: ReadableStream);
|
|
65
|
+
read(view: ArrayBufferView, options?: {
|
|
66
|
+
min?: number;
|
|
67
|
+
}): Promise<{
|
|
68
|
+
value: ArrayBufferView | undefined;
|
|
69
|
+
done: boolean;
|
|
70
|
+
}>;
|
|
71
|
+
releaseLock(): void;
|
|
72
|
+
get closed(): Promise<void>;
|
|
73
|
+
cancel(reason?: unknown): Promise<void>;
|
|
74
|
+
get [Symbol.toStringTag](): string;
|
|
75
|
+
}
|
|
76
|
+
declare class ReadableStreamBYOBRequest {
|
|
77
|
+
[kType]: string;
|
|
78
|
+
[kState]: any;
|
|
79
|
+
constructor(skipThrowSymbol?: symbol);
|
|
80
|
+
get view(): ArrayBufferView | null;
|
|
81
|
+
respond(bytesWritten: number): void;
|
|
82
|
+
respondWithNewView(view: ArrayBufferView): void;
|
|
83
|
+
get [Symbol.toStringTag](): string;
|
|
84
|
+
}
|
|
85
|
+
declare class ReadableByteStreamController {
|
|
86
|
+
[kType]: string;
|
|
87
|
+
[kState]: any;
|
|
88
|
+
constructor(skipThrowSymbol?: symbol);
|
|
89
|
+
get byobRequest(): ReadableStreamBYOBRequest | null;
|
|
90
|
+
get desiredSize(): number | null;
|
|
91
|
+
close(): void;
|
|
92
|
+
enqueue(chunk: ArrayBufferView): void;
|
|
93
|
+
error(error?: unknown): void;
|
|
94
|
+
[kCancel](reason: unknown): Promise<void>;
|
|
95
|
+
[kPull](readRequest: any): void;
|
|
96
|
+
[kRelease](): void;
|
|
97
|
+
get [Symbol.toStringTag](): string;
|
|
98
|
+
}
|
|
99
|
+
declare const isReadableByteStreamController: (value: unknown) => boolean;
|
|
100
|
+
declare const isReadableStreamBYOBReader: (value: unknown) => boolean;
|
|
101
|
+
declare const isReadableStreamBYOBRequest: (value: unknown) => boolean;
|
|
102
|
+
declare function setupReadableByteStreamController(stream: any, controller: any, startAlgorithm: Function, pullAlgorithm: Function, cancelAlgorithm: Function, highWaterMark: number, autoAllocateChunkSize: number | undefined): void;
|
|
103
|
+
export { ReadableStream, ReadableStreamDefaultReader, ReadableStreamDefaultController, ReadableStreamBYOBReader, ReadableStreamBYOBRequest, ReadableByteStreamController, isReadableStream, isReadableStreamLocked, isReadableStreamDefaultReader, isReadableStreamDefaultController, isReadableStreamBYOBReader, isReadableStreamBYOBRequest, isReadableByteStreamController, readableStreamCancel, readableStreamClose, readableStreamError, readableStreamDefaultControllerClose, readableStreamDefaultControllerEnqueue, readableStreamDefaultControllerError, readableStreamDefaultControllerGetDesiredSize, readableStreamDefaultControllerCanCloseOrEnqueue, readableStreamDefaultControllerHasBackpressure, setupReadableStreamDefaultController, setupReadableByteStreamController, createReadableStream, };
|
package/lib/types/util.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ export declare function enqueueValueWithSize(controller: any, value: any, size:
|
|
|
8
8
|
export declare function extractHighWaterMark(value: number | undefined, defaultHWM: number): number;
|
|
9
9
|
export declare function extractSizeAlgorithm(size: ((chunk: any) => number) | undefined): (chunk: any) => number;
|
|
10
10
|
export declare function cloneAsUint8Array(view: ArrayBufferView): Uint8Array;
|
|
11
|
+
export declare function transferArrayBuffer(buffer: ArrayBufferLike): ArrayBuffer;
|
|
12
|
+
export declare function isDetachedBuffer(buffer: ArrayBufferLike): boolean;
|
|
13
|
+
export declare function typedArrayConstructorByTag(tag: string | undefined): (new (buffer: ArrayBufferLike, byteOffset?: number, length?: number) => ArrayBufferView) | undefined;
|
|
14
|
+
export declare function elementSizeByTag(tag: string | undefined): number;
|
|
11
15
|
export declare function ArrayBufferViewGetBuffer(view: ArrayBufferView): ArrayBuffer;
|
|
12
16
|
export declare function ArrayBufferViewGetByteLength(view: ArrayBufferView): number;
|
|
13
17
|
export declare function ArrayBufferViewGetByteOffset(view: ArrayBufferView): number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gjsify/web-streams",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.10",
|
|
4
4
|
"description": "WHATWG Streams API (ReadableStream, WritableStream, TransformStream) for GJS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "lib/esm/index.js",
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"transform"
|
|
63
63
|
],
|
|
64
64
|
"dependencies": {
|
|
65
|
-
"@gjsify/utils": "^0.4.
|
|
65
|
+
"@gjsify/utils": "^0.4.10"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@gjsify/cli": "^0.4.
|
|
69
|
-
"@gjsify/unit": "^0.4.
|
|
68
|
+
"@gjsify/cli": "^0.4.10",
|
|
69
|
+
"@gjsify/unit": "^0.4.10",
|
|
70
70
|
"@types/node": "^25.6.2",
|
|
71
71
|
"typescript": "^6.0.3"
|
|
72
72
|
}
|