@gjsify/stream 0.52.0 → 0.54.0

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.
@@ -1 +1 @@
1
- var e=Object.defineProperty,__name=(t,n)=>e(t,`name`,{value:n,configurable:!0});export{__name};
1
+ var e=Object.defineProperty,__name=(t,n)=>e(t,`name`,{value:n,configurable:!0}),__exportAll=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};export{__exportAll,__name};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{EventEmitter as e}from"@gjsify/events";var Stream=class extends e{static Stream;static Readable;static Writable;static Duplex;static Transform;static PassThrough;static pipeline;static finished;readable=!1;writable=!1;pipe(t,n){let ondata=e=>{t.writable!==!1&&t.write(e)===!1&&this.pause&&this.pause()};this.on(`data`,ondata);let ondrain=()=>{this.readable&&this.resume&&this.resume()};t.on(`drain`,ondrain);let r=!1,onend=()=>{r||(r=!0,t.end?.())},onclose=()=>{r||(r=!0,t.destroy?.())},onerror=t=>{if(cleanup(),e.listenerCount(this,`error`)===0)throw t},cleanup=()=>{this.removeListener(`data`,ondata),t.removeListener(`drain`,ondrain),this.removeListener(`end`,onend),this.removeListener(`close`,onclose),this.removeListener(`error`,onerror),t.removeListener(`error`,onerror),this.removeListener(`end`,cleanup),this.removeListener(`close`,cleanup),t.removeListener(`close`,cleanup)};return!t._isStdio&&(!n||n.end!==!1)&&(this.on(`end`,onend),this.on(`close`,onclose)),this.on(`error`,onerror),t.on(`error`,onerror),this.on(`end`,cleanup),this.on(`close`,cleanup),t.on(`close`,cleanup),t.emit(`pipe`,this),t}},t=class Readable extends Stream{static from(e){let t=new Readable;return(async()=>{try{for await(let n of e)t.push(n);t.push(null)}catch(e){t.destroy(e)}})(),t}readable=!0;destroyed=!1;readableEnded=!1;_buffer=[];_paused=!1;_flowing=null;_ended=!1;_endEmitted=!1;_drainScheduled=!1;push(e){return e===null?(this._ended=!0,this._scheduleDrain(),!1):(this._flowing?(this._buffer.push(e),this._scheduleDrain()):(this._buffer.push(e),this.emit(`readable`)),!this._paused)}_scheduleDrain(){this._drainScheduled||(this._drainScheduled=!0,queueMicrotask(()=>{this._drainScheduled=!1,this._drainBuffer()}))}read(){return this._buffer.length===0?null:this._buffer.shift()}pause(){return this._paused=!0,this._flowing=!1,this.emit(`pause`),this}resume(){return this._paused=!1,this._flowing=!0,this._scheduleDrain(),this.emit(`resume`),this}_drainBuffer(){for(;this._flowing&&this._buffer.length>0;)this.emit(`data`,this._buffer.shift());this._ended&&this._buffer.length===0&&!this._endEmitted&&(this._endEmitted=!0,this.readableEnded=!0,this.emit(`end`))}destroy(e){return this.destroyed?this:(this.destroyed=!0,queueMicrotask(()=>{e&&this.emit(`error`,e),this.emit(`close`)}),this)}on(e,t){return super.on(e,t),e===`data`&&this._flowing===null&&(this._flowing=!0,this._scheduleDrain()),this}async*[Symbol.asyncIterator](){let e=this,t=null,n=[],r=!1,i=null,settle=e=>{if(t){let n=t;t=null,n(e)}},onData=e=>{t?settle({value:e,done:!1}):n.push(e)},onEnd=()=>{r=!0,settle({value:void 0,done:!0})},onError=e=>{i=e,settle({value:void 0,done:!0})};e.on(`data`,onData),e.on(`end`,onEnd),e.on(`error`,onError);try{for(;;){if(i)throw i;if(n.length>0){yield n.shift();continue}if(r)return;let e=await new Promise(e=>{t=e});if(e.done)return;yield e.value}}finally{e.removeListener(`data`,onData),e.removeListener(`end`,onEnd),e.removeListener(`error`,onError)}}},Writable=class extends Stream{writable=!0;writableEnded=!1;writableFinished=!1;destroyed=!1;_writing=!1;_writeEnded=!1;write(e,t,n){if(this._writeEnded){let e=Error(`write after end`);return queueMicrotask(()=>this.emit(`error`,e)),!1}let r=typeof t==`string`?t:`utf8`,i=typeof t==`function`?t:n;return typeof this._write==`function`?(this._writing=!0,this._write(e,r,e=>{if(this._writing=!1,e){queueMicrotask(()=>this.emit(`error`,e)),i?.();return}i?.(),queueMicrotask(()=>this.emit(`drain`))})):i&&queueMicrotask(()=>i()),!this._writing}end(e,t,n){let r=typeof t==`function`?t:n,finish=()=>{this._writeEnded=!0,this.writableEnded=!0,queueMicrotask(()=>{this.writableFinished=!0,this.emit(`finish`),this.emit(`close`)}),r&&queueMicrotask(()=>r())};return e==null?finish():this.write(e,typeof t==`string`?t:void 0,finish),this}destroy(e){return this.destroyed?this:(this.destroyed=!0,queueMicrotask(()=>{e&&this.emit(`error`,e),this.emit(`close`)}),this)}},Duplex=class extends t{writable=!0;writableEnded=!1;writableFinished=!1;_writing=!1;_writeEnded=!1;write(e,t,n){return Writable.prototype.write.call(this,e,t,n)}end(e,t,n){return Writable.prototype.end.call(this,e,t,n),this}},Transform=class extends Duplex{constructor(e){super(),e?.transform&&(this._transform=e.transform),e?.flush&&(this._flush=e.flush)}write(e,t,n){let r=typeof t==`string`?t:`utf8`,i=typeof t==`function`?t:n;return typeof this._transform==`function`?this._transform(e,r,(e,t)=>{if(e){queueMicrotask(()=>this.emit(`error`,e));return}t!=null&&this.push(t),i?.()}):(this.push(e),i&&queueMicrotask(()=>i())),!0}end(e,t,n){let finishOut=()=>{let e=typeof t==`function`?t:n,done=()=>{this.push(null),this._writeEnded=!0,this.writableEnded=!0,queueMicrotask(()=>{this.writableFinished=!0,this.emit(`finish`)}),e&&queueMicrotask(()=>e())};typeof this._flush==`function`?this._flush(e=>{e?queueMicrotask(()=>this.emit(`error`,e)):done()}):done()};return e==null?finishOut():this.write(e,typeof t==`string`?t:void 0,finishOut),this}},PassThrough=class extends Transform{constructor(){super({transform(e,t,n){n(null,e)}})}};function pipeline(...e){let t=typeof e[e.length-1]==`function`?e.pop():void 0,n=e;if(n.length<2)throw Error(`pipeline requires at least 2 streams`);let r=!1,finish=e=>{r||(r=!0,t?.(e??null))};for(let e=0;e<n.length-1;e++){let t=n[e],r=n[e+1];typeof t.pipe==`function`&&t.pipe(r),t.on(`error`,finish)}let i=n[n.length-1];return i.on(`error`,finish),i.on(`finish`,()=>finish()),i.on(`end`,()=>finish()),i}function finished(e,t,n){let r=typeof t==`function`?t:n,i=!1,finish=e=>{i||(i=!0,r?.(e??null))},onEnd=()=>finish(),onFinish=()=>finish(),onError=e=>finish(e),onClose=()=>finish();return e.on(`end`,onEnd),e.on(`finish`,onFinish),e.on(`error`,onError),e.on(`close`,onClose),()=>{e.removeListener(`end`,onEnd),e.removeListener(`finish`,onFinish),e.removeListener(`error`,onError),e.removeListener(`close`,onClose)}}function addAbortSignal(e,t){let onAbort=()=>{t.destroy?.(Error(`AbortError`))};return e.aborted?queueMicrotask(onAbort):e.addEventListener(`abort`,onAbort,{once:!0}),t}const isReadable=e=>e instanceof t&&e.readable,isWritable=e=>e instanceof Writable&&e.writable,isDestroyed=e=>!!(e&&typeof e==`object`&&e.destroyed),isDisturbed=e=>isDestroyed(e),isErrored=e=>!!(e&&typeof e==`object`&&e.errored);let n=16*1024;const getDefaultHighWaterMark=e=>n,setDefaultHighWaterMark=(e,t)=>{n=t};Stream.Stream=Stream,Stream.Readable=t,Stream.Writable=Writable,Stream.Duplex=Duplex,Stream.Transform=Transform,Stream.PassThrough=PassThrough,Stream.pipeline=pipeline,Stream.finished=finished;const r=Object.assign(Stream,{Readable:t,Writable,Duplex,Transform,PassThrough,Stream,pipeline,finished});export{Duplex,PassThrough,t as Readable,Stream,Transform,Writable,addAbortSignal,r as default,r as"module.exports",finished,getDefaultHighWaterMark,isDestroyed,isDisturbed,isErrored,isReadable,isWritable,pipeline,setDefaultHighWaterMark};
1
+ import"./_virtual/_rolldown/runtime.js";import{writeAfterEndError as e}from"./internal/errors.js";import{EventEmitter as t}from"@gjsify/events";var Stream=class extends t{static Stream;static Readable;static Writable;static Duplex;static Transform;static PassThrough;static pipeline;static finished;readable=!1;writable=!1;pipe(e,n){let ondata=t=>{e.writable!==!1&&e.write(t)===!1&&this.pause&&this.pause()};this.on(`data`,ondata);let ondrain=()=>{this.readable&&this.resume&&this.resume()};e.on(`drain`,ondrain);let r=!1,onend=()=>{r||(r=!0,e.end?.())},onclose=()=>{r||(r=!0,e.destroy?.())},onerror=e=>{if(cleanup(),t.listenerCount(this,`error`)===0)throw e},cleanup=()=>{this.removeListener(`data`,ondata),e.removeListener(`drain`,ondrain),this.removeListener(`end`,onend),this.removeListener(`close`,onclose),this.removeListener(`error`,onerror),e.removeListener(`error`,onerror),this.removeListener(`end`,cleanup),this.removeListener(`close`,cleanup),e.removeListener(`close`,cleanup)};return!e._isStdio&&(!n||n.end!==!1)&&(this.on(`end`,onend),this.on(`close`,onclose)),this.on(`error`,onerror),e.on(`error`,onerror),this.on(`end`,cleanup),this.on(`close`,cleanup),e.on(`close`,cleanup),e.emit(`pipe`,this),e}},n=class Readable extends Stream{static from(e){let t=new Readable;return(async()=>{try{for await(let n of e)t.push(n);t.push(null)}catch(e){t.destroy(e)}})(),t}readable=!0;destroyed=!1;readableEnded=!1;_buffer=[];_paused=!1;_flowing=null;_ended=!1;_endEmitted=!1;_drainScheduled=!1;push(e){return e===null?(this._ended=!0,this._scheduleDrain(),!1):(this._flowing?(this._buffer.push(e),this._scheduleDrain()):(this._buffer.push(e),this.emit(`readable`)),!this._paused)}_scheduleDrain(){this._drainScheduled||(this._drainScheduled=!0,queueMicrotask(()=>{this._drainScheduled=!1,this._drainBuffer()}))}read(){return this._buffer.length===0?null:this._buffer.shift()}pause(){return this._paused=!0,this._flowing=!1,this.emit(`pause`),this}resume(){return this._paused=!1,this._flowing=!0,this._scheduleDrain(),this.emit(`resume`),this}_drainBuffer(){for(;this._flowing&&this._buffer.length>0;)this.emit(`data`,this._buffer.shift());this._ended&&this._buffer.length===0&&!this._endEmitted&&(this._endEmitted=!0,this.readableEnded=!0,this.emit(`end`))}destroy(e){return this.destroyed?this:(this.destroyed=!0,queueMicrotask(()=>{e&&this.emit(`error`,e),this.emit(`close`)}),this)}on(e,t){return super.on(e,t),e===`data`&&this._flowing===null&&(this._flowing=!0,this._scheduleDrain()),this}async*[Symbol.asyncIterator](){let e=this,t=null,n=[],r=!1,i=null,settle=e=>{if(t){let n=t;t=null,n(e)}},onData=e=>{t?settle({value:e,done:!1}):n.push(e)},onEnd=()=>{r=!0,settle({value:void 0,done:!0})},onError=e=>{i=e,settle({value:void 0,done:!0})};e.on(`data`,onData),e.on(`end`,onEnd),e.on(`error`,onError);try{for(;;){if(i)throw i;if(n.length>0){yield n.shift();continue}if(r)return;let e=await new Promise(e=>{t=e});if(e.done)return;yield e.value}}finally{e.removeListener(`data`,onData),e.removeListener(`end`,onEnd),e.removeListener(`error`,onError)}}};Object.defineProperty(n.prototype,"addListener",{...Object.getOwnPropertyDescriptor(n.prototype,`on`)});var Writable=class extends Stream{writable=!0;writableEnded=!1;writableFinished=!1;destroyed=!1;_writing=!1;_writeEnded=!1;write(t,n,r){if(this._writeEnded){let t=e();return queueMicrotask(()=>this.emit(`error`,t)),!1}let i=typeof n==`string`?n:`utf8`,a=typeof n==`function`?n:r;return typeof this._write==`function`?(this._writing=!0,this._write(t,i,e=>{if(this._writing=!1,e){queueMicrotask(()=>this.emit(`error`,e)),a?.();return}a?.(),queueMicrotask(()=>this.emit(`drain`))})):a&&queueMicrotask(()=>a()),!this._writing}end(e,t,n){let r=typeof t==`function`?t:n,finish=()=>{this._writeEnded=!0,this.writableEnded=!0,queueMicrotask(()=>{this.writableFinished=!0,this.emit(`finish`),this.emit(`close`)}),r&&queueMicrotask(()=>r())};return e==null?finish():this.write(e,typeof t==`string`?t:void 0,finish),this}destroy(e){return this.destroyed?this:(this.destroyed=!0,queueMicrotask(()=>{e&&this.emit(`error`,e),this.emit(`close`)}),this)}},Duplex=class extends n{writable=!0;writableEnded=!1;writableFinished=!1;_writing=!1;_writeEnded=!1;write(e,t,n){return Writable.prototype.write.call(this,e,t,n)}end(e,t,n){return Writable.prototype.end.call(this,e,t,n),this}},Transform=class extends Duplex{constructor(e){super(),e?.transform&&(this._transform=e.transform),e?.flush&&(this._flush=e.flush)}write(e,t,n){let r=typeof t==`string`?t:`utf8`,i=typeof t==`function`?t:n;return typeof this._transform==`function`?this._transform(e,r,(e,t)=>{if(e){queueMicrotask(()=>this.emit(`error`,e));return}t!=null&&this.push(t),i?.()}):(this.push(e),i&&queueMicrotask(()=>i())),!0}end(e,t,n){let finishOut=()=>{let e=typeof t==`function`?t:n,done=()=>{this.push(null),this._writeEnded=!0,this.writableEnded=!0,queueMicrotask(()=>{this.writableFinished=!0,this.emit(`finish`)}),e&&queueMicrotask(()=>e())};typeof this._flush==`function`?this._flush(e=>{e?queueMicrotask(()=>this.emit(`error`,e)):done()}):done()};return e==null?finishOut():this.write(e,typeof t==`string`?t:void 0,finishOut),this}},PassThrough=class extends Transform{constructor(){super({transform(e,t,n){n(null,e)}})}};function pipeline(...e){let t=typeof e[e.length-1]==`function`?e.pop():void 0,n=e;if(n.length<2)throw Error(`pipeline requires at least 2 streams`);let r=!1,finish=e=>{r||(r=!0,t?.(e??null))};for(let e=0;e<n.length-1;e++){let t=n[e],r=n[e+1];typeof t.pipe==`function`&&t.pipe(r),t.on(`error`,finish)}let i=n[n.length-1];return i.on(`error`,finish),i.on(`finish`,()=>finish()),i.on(`end`,()=>finish()),i}function finished(e,t,n){let r=typeof t==`function`?t:n,i=!1,finish=e=>{i||(i=!0,r?.(e??null))},onEnd=()=>finish(),onFinish=()=>finish(),onError=e=>finish(e),onClose=()=>finish();return e.on(`end`,onEnd),e.on(`finish`,onFinish),e.on(`error`,onError),e.on(`close`,onClose),()=>{e.removeListener(`end`,onEnd),e.removeListener(`finish`,onFinish),e.removeListener(`error`,onError),e.removeListener(`close`,onClose)}}function addAbortSignal(e,t){let onAbort=()=>{t.destroy?.(Error(`AbortError`))};return e.aborted?queueMicrotask(onAbort):e.addEventListener(`abort`,onAbort,{once:!0}),t}const isReadable=e=>e instanceof n&&e.readable,isWritable=e=>e instanceof Writable&&e.writable,isDestroyed=e=>!!(e&&typeof e==`object`&&e.destroyed),isDisturbed=e=>isDestroyed(e),isErrored=e=>!!(e&&typeof e==`object`&&e.errored);let r=16*1024;const getDefaultHighWaterMark=e=>r,setDefaultHighWaterMark=(e,t)=>{r=t},i={pipeline:(...e)=>new Promise((t,n)=>{pipeline(...e,e=>e?n(e):t())}),finished:(e,t={})=>new Promise((n,r)=>{finished(e,t,e=>e?r(e):n())})};Stream.Stream=Stream,Stream.Readable=n,Stream.Writable=Writable,Stream.Duplex=Duplex,Stream.Transform=Transform,Stream.PassThrough=PassThrough,Stream.pipeline=pipeline,Stream.finished=finished;const a=Object.assign(Stream,{Readable:n,Writable,Duplex,Transform,PassThrough,Stream,pipeline,finished});export{Duplex,PassThrough,n as Readable,Stream,Transform,Writable,addAbortSignal,a as default,a as"module.exports",finished,getDefaultHighWaterMark,isDestroyed,isDisturbed,isErrored,isReadable,isWritable,pipeline,i as promises,setDefaultHighWaterMark};
package/lib/esm/duplex.js CHANGED
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{getDefaultHighWaterMark as e,validateHighWaterMark as t}from"./internal/state.js";import{Readable_ as n}from"./readable.js";import{nextTick as r}from"@gjsify/utils/core";var Duplex_=class extends n{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(n){super(n),t(`writableHighWaterMark`,n?.writableHighWaterMark),t(`readableHighWaterMark`,n?.readableHighWaterMark),this.writableObjectMode=n?.writableObjectMode??n?.objectMode??!1,this.writableHighWaterMark=n?.highWaterMark??n?.writableHighWaterMark??e(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,n?.highWaterMark===void 0&&n?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=n.readableHighWaterMark,this._readableState.highWaterMark=n.readableHighWaterMark),n?.readableObjectMode!==void 0&&(this.readableObjectMode=n.readableObjectMode,this._readableState.objectMode=n.readableObjectMode,n?.readableHighWaterMark===void 0&&n?.highWaterMark===void 0&&(this.readableHighWaterMark=e(n.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=n?.allowHalfOpen!==!1,this._decodeStrings=n?.decodeStrings!==!1,n?.write&&(this._writeImpl=n.write),n?.final&&(this._finalImpl=n.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||r(()=>this.end())})}_write(e,t,n){this._writeImpl?this._writeImpl.call(this,e,t,n):n()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}destroy(e){return this.destroyed?this:(this.writable=!1,super.destroy(e))}write(e,t,n){let i,a;if(typeof t==`function`?(i=t,a=this._defaultEncoding):(a=t??this._defaultEncoding,i=n??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,a),a=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(a=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return r(()=>{i(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(e),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:e,encoding:a,callback:i}),this.writableLength<this.writableHighWaterMark;let o=this.writableLength<this.writableHighWaterMark;return o||(this.writableNeedDrain=!0),this._duplexDoWrite(e,a,i),o}_duplexDoWrite(e,t,n){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:e,encoding:t,callback:n});return}this._duplexWriting=!0,this._duplexStartWrite(e,t,n)}_duplexStartWrite(e,t,n){this._pendingWrites++,this._write(e,t,t=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen(e),r(t?()=>{if(n(t),this._duplexWriting=!1,this.emit(`error`,t),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(n(),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexStartWrite(e.chunk,e.encoding,e.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let e=this._pendingEndCb;this._pendingEndCb=null,e()}})})}end(e,t,n){typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e!=null&&this.write(e,t),this.writableEnded=!0;let doFinal=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{r(()=>{e&&this.emit(`error`,e),this.emit(`finish`),r(()=>this.emit(`close`)),n&&n()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(e){e()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let e=this._duplexCorkedBuffer.splice(0);for(let{chunk:t,encoding:n,callback:r}of e)this._write(t,n,e=>{this.writableLength-=this.writableObjectMode?1:chunkLen(t),e?(r(e),this.emit(`error`,e)):r()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,r(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}};function chunkLen(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}export{Duplex_};
1
+ import"./_virtual/_rolldown/runtime.js";import{writeAfterEndError as e}from"./internal/errors.js";import{getDefaultHighWaterMark as t,validateHighWaterMark as n}from"./internal/state.js";import{Readable_ as r}from"./readable.js";import{nextTick as i}from"@gjsify/utils/core";var Duplex_=class extends r{writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;allowHalfOpen;_decodeStrings;_writableState={highWaterMark:0,objectMode:!1};_duplexCorkedBuffer=[];_duplexWriting=!1;_duplexWriteQueue=[];_writeImpl;_finalImpl;_defaultEncoding=`utf8`;_pendingWrites=0;_pendingEndCb=null;constructor(e){super(e),n(`writableHighWaterMark`,e?.writableHighWaterMark),n(`readableHighWaterMark`,e?.readableHighWaterMark),this.writableObjectMode=e?.writableObjectMode??e?.objectMode??!1,this.writableHighWaterMark=e?.highWaterMark??e?.writableHighWaterMark??t(this.writableObjectMode),this._writableState.highWaterMark=this.writableHighWaterMark,this._writableState.objectMode=this.writableObjectMode,e?.highWaterMark===void 0&&e?.readableHighWaterMark!==void 0&&(this.readableHighWaterMark=e.readableHighWaterMark,this._readableState.highWaterMark=e.readableHighWaterMark),e?.readableObjectMode!==void 0&&(this.readableObjectMode=e.readableObjectMode,this._readableState.objectMode=e.readableObjectMode,e?.readableHighWaterMark===void 0&&e?.highWaterMark===void 0&&(this.readableHighWaterMark=t(e.readableObjectMode),this._readableState.highWaterMark=this.readableHighWaterMark)),this.allowHalfOpen=e?.allowHalfOpen!==!1,this._decodeStrings=e?.decodeStrings!==!1,e?.write&&(this._writeImpl=e.write),e?.final&&(this._finalImpl=e.final),this.allowHalfOpen||this.once(`end`,()=>{this.writableEnded||i(()=>this.end())})}_write(e,t,n){this._writeImpl?this._writeImpl.call(this,e,t,n):n()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}destroy(e){return this.destroyed?this:(this.writable=!1,super.destroy(e))}write(t,n,r){let a,o;if(typeof n==`function`?(a=n,o=this._defaultEncoding):(o=n??this._defaultEncoding,a=r??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof t==`string`){let e=globalThis.Buffer;e&&(t=e.from(t,o),o=`buffer`)}if(typeof t!=`string`&&!this.writableObjectMode){let e=globalThis.Buffer;(e&&e.isBuffer(t)||t instanceof Uint8Array)&&(o=`buffer`)}if(this.writableEnded){let t=e();return i(()=>{a(t),this.emit(`error`,t)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(t),this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:t,encoding:o,callback:a}),this.writableLength<this.writableHighWaterMark;let s=this.writableLength<this.writableHighWaterMark;return s||(this.writableNeedDrain=!0),this._duplexDoWrite(t,o,a),s}_duplexDoWrite(e,t,n){if(this._duplexWriting){this._duplexWriteQueue.push({chunk:e,encoding:t,callback:n});return}this._duplexWriting=!0,this._duplexStartWrite(e,t,n)}_duplexStartWrite(e,t,n){this._pendingWrites++,this._write(e,t,t=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:chunkLen(e),i(t?()=>{if(n(t),this._duplexWriting=!1,this.destroyed||this.emit(`error`,t),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(n(),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexStartWrite(e.chunk,e.encoding,e.callback);return}if(this._duplexWriting=!1,this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._pendingWrites===0&&this._pendingEndCb){let e=this._pendingEndCb;this._pendingEndCb=null,e()}})})}end(e,t,n){typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e!=null&&this.write(e,t),this.writableEnded=!0;let doFinal=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{i(()=>{e&&this.emit(`error`,e),this.emit(`finish`),i(()=>this.emit(`close`)),n&&n()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=doFinal:doFinal(),this}_doPrefinishHooks(e){e()}cork(){this.writableCorked++}uncork(){if(this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._duplexCorkedBuffer.length>0)){let e=this._duplexCorkedBuffer.splice(0);for(let{chunk:t,encoding:n,callback:r}of e)this._write(t,n,e=>{this.writableLength-=this.writableObjectMode?1:chunkLen(t),e?(r(e),this.destroyed||this.emit(`error`,e)):r()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,i(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}};function chunkLen(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}export{Duplex_};
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{makeCallable as e}from"./callable.js";import{Stream_ as t}from"./stream-base.js";import{addAbortSignal as n,finished as r,isDestroyed as i,isDisturbed as a,isErrored as o,isReadable as s,isWritable as c}from"./utils/finished.js";import{getDefaultHighWaterMark as l,setDefaultHighWaterMark as u}from"./internal/state.js";import{Readable_ as d}from"./readable.js";import{Duplex_ as f}from"./duplex.js";import"./utils/pipe.js";import{Writable_ as p}from"./writable.js";import{Transform_ as m}from"./transform.js";import{PassThrough_ as h}from"./passthrough.js";import{pipeline as g}from"./utils/pipeline.js";const _=e(t),v=e(d),y=e(p),b=e(f),x=e(m),S=e(h),C=Object.assign(_,{Stream:_,Readable:v,Writable:y,Duplex:b,Transform:x,PassThrough:S,pipeline:g,finished:r,addAbortSignal:n,isReadable:s,isWritable:c,isDestroyed:i,isDisturbed:a,isErrored:o,getDefaultHighWaterMark:l,setDefaultHighWaterMark:u});export{b as Duplex,S as PassThrough,v as Readable,_ as Stream,x as Transform,y as Writable,n as addAbortSignal,C as default,C as"module.exports",r as finished,l as getDefaultHighWaterMark,i as isDestroyed,a as isDisturbed,o as isErrored,s as isReadable,c as isWritable,g as pipeline,u as setDefaultHighWaterMark};
1
+ import{makeCallable as e}from"./callable.js";import{Stream_ as t}from"./stream-base.js";import{addAbortSignal as n,finished as r,isDestroyed as i,isDisturbed as a,isErrored as o,isReadable as s,isWritable as c}from"./utils/finished.js";import{getDefaultHighWaterMark as l,setDefaultHighWaterMark as u}from"./internal/state.js";import{Readable_ as d}from"./readable.js";import{Duplex_ as f}from"./duplex.js";import"./utils/pipe.js";import{Writable_ as p}from"./writable.js";import{Transform_ as m}from"./transform.js";import{PassThrough_ as h}from"./passthrough.js";import{pipeline as g}from"./utils/pipeline.js";import{promises_exports as _}from"./promises/index.js";const v=e(t),y=e(d),b=e(p),x=e(f),S=e(m),C=e(h),w=Object.assign(v,{Stream:v,Readable:y,Writable:b,Duplex:x,Transform:S,PassThrough:C,pipeline:g,finished:r,addAbortSignal:n,isReadable:s,isWritable:c,isDestroyed:i,isDisturbed:a,isErrored:o,getDefaultHighWaterMark:l,setDefaultHighWaterMark:u,promises:_});export{x as Duplex,C as PassThrough,y as Readable,v as Stream,S as Transform,b as Writable,n as addAbortSignal,w as default,w as"module.exports",r as finished,l as getDefaultHighWaterMark,i as isDestroyed,a as isDisturbed,o as isErrored,s as isReadable,c as isWritable,g as pipeline,_ as promises,u as setDefaultHighWaterMark};
@@ -0,0 +1 @@
1
+ import"../_virtual/_rolldown/runtime.js";function writeAfterEndError(){let e=Error(`write after end`);return e.code=`ERR_STREAM_WRITE_AFTER_END`,e}export{writeAfterEndError};
@@ -1 +1 @@
1
- import"../_virtual/_rolldown/runtime.js";import{finished as e}from"../utils/finished.js";import{pipeline as t}from"../utils/pipeline.js";import"../index.js";function pipeline(...e){return new Promise((n,r)=>{let cb=e=>{e?r(e):n()};t(...e,cb)})}function finished(t,n){return new Promise((r,i)=>{n&&typeof n!=`function`?e(t,n,e=>{e?i(e):r()}):e(t,e=>{e?i(e):r()})})}var n={pipeline,finished};export{n as default,finished,pipeline};
1
+ import{__exportAll as e}from"../_virtual/_rolldown/runtime.js";import{finished as t}from"../utils/finished.js";import{pipeline as n}from"../utils/pipeline.js";var r=e({default:()=>i,finished:()=>finished,pipeline:()=>pipeline});function pipeline(...e){return new Promise((t,r)=>{let cb=e=>{e?r(e):t()};n(...e,cb)})}function finished(e,n){return new Promise((r,i)=>{n&&typeof n!=`function`?t(e,n,e=>{e?i(e):r()}):t(e,e=>{e?i(e):r()})})}var i={pipeline,finished};export{i as default,finished,pipeline,r as promises_exports};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{Stream_ as e}from"./stream-base.js";import{kAsyncDispose as t,streamAsyncDispose as n}from"./internal/dispose.js";import{getDefaultHighWaterMark as r}from"./internal/state.js";import{nextTick as i}from"@gjsify/utils/core";function chunkLength(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}function sliceChunk(e,t,n){if(typeof e==`string`)return n===void 0?e.slice(t):e.slice(t,n);let r=e.slice;return typeof r==`function`?r.call(e,t,n):e}var a=class Readable_ extends e{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??r(e?.objectMode??!1),this.readableEncoding=e?.encoding??null,this.readableObjectMode=e?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,e?.read&&(this._readImpl=e.read),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,i(()=>{this._construct(e=>{this._readableState.constructed=!0,e?this.destroy(e):this.readableFlowing===!0&&this._flow()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_read(e){this._readImpl&&this._readImpl.call(this,e)}read(e){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(e??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||e===0)return null;if(this.readableObjectMode){if(e===void 0){let e=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),e}if(e>this.readableLength)return null;let t=this._buffer.shift();return--this.readableLength,t}if(e!=null)return e>this.readableLength?null:this._readBytes(e);let t=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),t.length===1)return t[0];if(t.length===0)return null;if(typeof t[0]==`string`)return t.join(``);let n=globalThis.Buffer;return n?.concat?n.concat(t):t}_readBytes(e){let t=0,n=[];for(;t<e&&this._buffer.length>0;){let r=this._buffer[0],i=chunkLength(r);if(t+i<=e)n.push(this._buffer.shift()),t+=i,this.readableLength-=i;else{let i=e-t;n.push(sliceChunk(r,0,i)),this._buffer[0]=sliceChunk(r,i),this.readableLength-=i,t+=i}}if(n.length===1)return n[0];let r=globalThis.Buffer;return r?.concat?r.concat(n):n}push(e,t){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&i(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let t=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return i(()=>this.emit(`error`,t)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e),this.readableFlowing&&!this._flowing&&i(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),i(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,i(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(e,t){return super.on(e,t),e===`data`&&this.readableFlowing!==!1&&this.resume(),e===`readable`&&(this._buffer.length>0||this._readableState.ended)&&this._scheduleReadable(),this}unshift(e){this._buffer.unshift(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e)}setEncoding(e){return this.readableEncoding=e,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let e=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(e),this.readableEncoding&&typeof e!=`string`){let t=globalThis.Buffer;t?.isBuffer&&t.isBuffer(e)?e=e.toString(this.readableEncoding):e instanceof Uint8Array&&(e=new TextDecoder(this.readableEncoding).decode(e))}this.emit(`data`,e)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){i(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&i(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(e){if(e){let t=this._pipeDests.findIndex(t=>t.dest===e);if(t!==-1){this._pipeDests[t].cleanup(),this._pipeDests.splice(t,1);let n=this._readableState.pipes.indexOf(e);n!==-1&&this._readableState.pipes.splice(n,1),e.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let e of this._pipeDests)e.cleanup(),e.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(e,t){this._destroyImpl?this._destroyImpl.call(this,e,t):t(e??void 0)}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,e&&(this._err=e);let cb=e=>{e&&i(()=>this.emit(`error`,e)),i(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(e??null,cb):this._destroyImpl?this._destroyImpl.call(this,e??null,cb):cb(e),this}static toWeb(e){return new ReadableStream({start(t){e.on(`data`,e=>{typeof e==`string`?t.enqueue(new TextEncoder().encode(e)):e instanceof Uint8Array?t.enqueue(e):e&&typeof e.length==`number`&&t.enqueue(new Uint8Array(e))}),e.on(`end`,()=>{t.close()}),e.on(`error`,e=>{t.error(e)})},cancel(){e.destroy()}})}static fromWeb(e,t){let n=e.getReader();return new Readable_({...t,read(){n.read().then(({done:e,value:t})=>{e?this.push(null):this.push(t)},e=>{this.destroy(e)})},destroy(e,t){n.cancel(e?.message).then(()=>t(null),t)}})}[Symbol.asyncIterator](){let e=this,t=[],n=!1,r=null,i=null,a=null;return e.on(`data`,e=>{if(i){let t=i;i=null,a=null,t({value:e,done:!1})}else t.push(e)}),e.on(`end`,()=>{if(n=!0,i){let e=i;i=null,a=null,e({value:void 0,done:!0})}}),e.on(`error`,e=>{if(r=e,n=!0,a){let t=a;i=null,a=null,t(e)}}),{next(){return r?Promise.reject(r):t.length>0?Promise.resolve({value:t.shift(),done:!1}):n?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{i=e,a=t})},return(){return e.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(e,t){let n=new Readable_({objectMode:!0,...t,read(){}});return typeof e==`string`||ArrayBuffer.isView(e)?(n.push(e),n.push(null),n):((async()=>{try{for await(let t of e)n.push(t)||await new Promise(e=>n.once(`drain`,e));n.push(null)}catch(e){n.destroy(e)}})(),n)}};a.prototype[t]=function(){return n(this,this.readableEnded)};export{a as Readable_};
1
+ import"./_virtual/_rolldown/runtime.js";import{Stream_ as e}from"./stream-base.js";import{kAsyncDispose as t,streamAsyncDispose as n}from"./internal/dispose.js";import{getDefaultHighWaterMark as r}from"./internal/state.js";import{nextTick as i}from"@gjsify/utils/core";function chunkLength(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}function sliceChunk(e,t,n){if(typeof e==`string`)return n===void 0?e.slice(t):e.slice(t,n);let r=e.slice;return typeof r==`function`?r.call(e,t,n):e}var a=class Readable_ extends e{readable=!0;readableFlowing=null;readableLength=0;readableHighWaterMark;readableEncoding;readableObjectMode;readableEnded=!1;readableAborted=!1;destroyed=!1;_pipeDests=[];_buffer=[];_readableState={ended:!1,endEmitted:!1,reading:!1,constructed:!0,highWaterMark:0,objectMode:!1,pipes:[]};_err;_readablePending=!1;_readImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??r(e?.objectMode??!1),this.readableEncoding=e?.encoding??null,this.readableObjectMode=e?.objectMode??!1,this._readableState.highWaterMark=this.readableHighWaterMark,this._readableState.objectMode=this.readableObjectMode,e?.read&&(this._readImpl=e.read),e?.destroy&&(this._destroy=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Readable_.prototype._construct)&&(this._readableState.constructed=!1,i(()=>{this._construct(e=>{this._readableState.constructed=!0,e?this.destroy(e):this.readableFlowing===!0&&this._flow()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_read(e){this._readImpl&&this._readImpl.call(this,e)}read(e){if(!this._readableState.constructed)return null;if(this._buffer.length===0){if(this._readableState.ended)return null;this._readableState.reading=!0,this._read(e??this.readableHighWaterMark),this._readableState.reading=!1}if(this._buffer.length===0||e===0)return null;if(this.readableObjectMode){if(e===void 0){let e=this._buffer.shift();return--this.readableLength,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),e}if(e>this.readableLength)return null;let t=this._buffer.shift();return--this.readableLength,t}if(e!=null)return e>this.readableLength?null:this._readBytes(e);let t=this._buffer.splice(0);if(this.readableLength=0,this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted&&this._emitEnd(),t.length===1)return t[0];if(t.length===0)return null;if(typeof t[0]==`string`)return t.join(``);let n=globalThis.Buffer;return n?.concat?n.concat(t):t}_readBytes(e){let t=0,n=[];for(;t<e&&this._buffer.length>0;){let r=this._buffer[0],i=chunkLength(r);if(t+i<=e)n.push(this._buffer.shift()),t+=i,this.readableLength-=i;else{let i=e-t;n.push(sliceChunk(r,0,i)),this._buffer[0]=sliceChunk(r,i),this.readableLength-=i,t+=i}}if(n.length===1)return n[0];let r=globalThis.Buffer;return r?.concat?r.concat(n):n}push(e,t){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&i(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let t=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return i(()=>this.emit(`error`,t)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e),this.readableFlowing&&!this._flowing&&i(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),i(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,i(()=>{this._readablePending=!1,this.destroyed||this.emit(`readable`)}))}on(e,t){return super.on(e,t),e===`data`&&this.readableFlowing!==!1&&this.listenerCount(`readable`)===0&&this.resume(),e===`readable`&&(this.readableFlowing=!1,this._buffer.length>0||this._readableState.ended?this._scheduleReadable():this._readableState.reading||i(()=>{this.destroyed||this.read(0)})),this}removeListener(e,t){let n=super.removeListener(e,t);return e===`readable`&&i(()=>this._updateReadableListening()),n}removeAllListeners(e){let t=e===void 0?super.removeAllListeners():super.removeAllListeners(e);return(e===`readable`||e===void 0)&&i(()=>this._updateReadableListening()),t}_updateReadableListening(){this.listenerCount(`readable`)>0||(this.listenerCount(`data`)>0?this.resume():this.readableFlowing=null)}unshift(e){this._buffer.unshift(e),this.readableLength+=this.readableObjectMode?1:chunkLength(e)}setEncoding(e){return this.readableEncoding=e,this}pause(){return this.readableFlowing=!1,this.emit(`pause`),this}resume(){return this.readableFlowing!==!0&&(this.readableFlowing=!0,this.emit(`resume`),this._readableState.constructed&&this._flow()),this}_flowing=!1;_flow(){if(!(this.readableFlowing!==!0||this._flowing||this.destroyed)&&this._readableState.constructed){this._flowing=!0;try{for(;this._buffer.length>0&&this.readableFlowing&&!this.destroyed;){let e=this._buffer.shift();if(this.readableLength-=this.readableObjectMode?1:chunkLength(e),this.readableEncoding&&typeof e!=`string`){let t=globalThis.Buffer;t?.isBuffer&&t.isBuffer(e)?e=e.toString(this.readableEncoding):e instanceof Uint8Array&&(e=new TextDecoder(this.readableEncoding).decode(e))}this.emit(`data`,e)}if(this.destroyed)return;if(this._readableState.ended&&this._buffer.length===0&&!this._readableState.endEmitted){i(()=>this._emitEnd());return}!this._readableState.ended&&!this._readableState.reading&&!this.destroyed&&(this._readableState.reading=!0,this._read(this.readableHighWaterMark),this._readableState.reading=!1)}finally{this._flowing=!1}this._buffer.length>0&&this.readableFlowing&&!this.destroyed&&i(()=>this._flow())}}isPaused(){return this.readableFlowing===!1}unpipe(e){if(e){let t=this._pipeDests.findIndex(t=>t.dest===e);if(t!==-1){this._pipeDests[t].cleanup(),this._pipeDests.splice(t,1);let n=this._readableState.pipes.indexOf(e);n!==-1&&this._readableState.pipes.splice(n,1),e.emit(`unpipe`,this),this._pipeDests.length===0&&(this.readableFlowing=!1)}}else{for(let e of this._pipeDests)e.cleanup(),e.dest.emit(`unpipe`,this);this._pipeDests=[],this._readableState.pipes=[],this.readableFlowing=!1}return this}_destroy(e,t){t(e??void 0)}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.readable=!1,this.readableAborted=!this.readableEnded,e&&(this._err=e);let t=!1,cb=e=>{t||(t=!0,e&&i(()=>this.emit(`error`,e)),i(()=>this.emit(`close`)))};try{this._destroy(e??null,cb)}catch(e){cb(e)}return this}static toWeb(e){return new ReadableStream({start(t){e.on(`data`,e=>{typeof e==`string`?t.enqueue(new TextEncoder().encode(e)):e instanceof Uint8Array?t.enqueue(e):e&&typeof e.length==`number`&&t.enqueue(new Uint8Array(e))}),e.on(`end`,()=>{t.close()}),e.on(`error`,e=>{t.error(e)})},cancel(){e.destroy()}})}static fromWeb(e,t){let n=e.getReader();return new Readable_({...t,read(){n.read().then(({done:e,value:t})=>{e?this.push(null):this.push(t)},e=>{this.destroy(e)})},destroy(e,t){n.cancel(e?.message).then(()=>t(null),t)}})}[Symbol.asyncIterator](){let e=this,t=[],n=!1,r=null,i=null,a=null;return e.on(`data`,e=>{if(i){let t=i;i=null,a=null,t({value:e,done:!1})}else t.push(e)}),e.on(`end`,()=>{if(n=!0,i){let e=i;i=null,a=null,e({value:void 0,done:!0})}}),e.on(`error`,e=>{if(r=e,n=!0,a){let t=a;i=null,a=null,t(e)}}),{next(){return r?Promise.reject(r):t.length>0?Promise.resolve({value:t.shift(),done:!1}):n?Promise.resolve({value:void 0,done:!0}):new Promise((e,t)=>{i=e,a=t})},return(){return e.destroy(),Promise.resolve({value:void 0,done:!0})},[Symbol.asyncIterator](){return this}}}static from(e,t){let n=new Readable_({objectMode:!0,...t,read(){}});return typeof e==`string`||ArrayBuffer.isView(e)?(n.push(e),n.push(null),n):((async()=>{try{for await(let t of e)n.push(t)||await new Promise(e=>n.once(`drain`,e));n.push(null)}catch(e){n.destroy(e)}})(),n)}};a.prototype[t]=function(){return n(this,this.readableEnded)};const o=Object.getOwnPropertyDescriptor(a.prototype,`on`),s=Object.getOwnPropertyDescriptor(a.prototype,`removeListener`);Object.defineProperty(a.prototype,"addListener",{...o}),Object.defineProperty(a.prototype,"off",{...s});export{a as Readable_};
@@ -1 +1 @@
1
- import"./_virtual/_rolldown/runtime.js";import{Stream_ as e}from"./stream-base.js";import{kAsyncDispose as t,streamAsyncDispose as n}from"./internal/dispose.js";import{getDefaultHighWaterMark as r}from"./internal/state.js";import{nextTick as i}from"@gjsify/utils/core";var a=class Writable_ extends e{static[Symbol.hasInstance](e){let t=this;return t.prototype!==void 0&&Object.prototype.isPrototypeOf.call(t.prototype,e)?!0:t.prototype!==Writable_.prototype||e==null?!1:typeof e.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_destroyImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;_autoDestroy;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??r(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!1,this._autoDestroy=e?.autoDestroy!==!1,e?.write&&(this._writeImpl=e.write),e?.writev&&(this._writev=e.writev),e?.final&&(this._finalImpl=e.final),e?.destroy&&(this._destroyImpl=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,i(()=>{this._construct(e=>{this._writableState.constructed=!0,e?this.destroy(e):this._maybeFlush()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_write(e,t,n){this._writeImpl?this._writeImpl.call(this,e,t,n):n()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}_destroy(e,t){this._destroyImpl?this._destroyImpl.call(this,e,t):t(e)}_maybeFlush(){let e=this._pendingConstruct.splice(0);if(e.length>0){let[t,...n]=e;this._writeBuffer.push(...n),this._doWrite(t.chunk,t.encoding,t.callback)}if(this._pendingEnd){let{chunk:e,encoding:t,callback:n}=this._pendingEnd;this._pendingEnd=null,this._doEnd(e,t,n)}}_doWrite(e,t,n){this._writableState.writing=!0;let r=!0;this._write(e,t,t=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(e),r){i(()=>{if(t){n(t),this.emit(`error`,t);return}n(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),t||this._drainWriteBuffer();return}i(t?()=>{n(t),this.emit(`error`,t),this._drainWriteBuffer()}:()=>{n(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),r=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let e=this._writeBuffer.shift();this._doWrite(e.chunk,e.encoding,e.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(e=>{this.writableFinished=!0,this._writableState.finished=!0,i(()=>{e&&this.emit(`error`,e),this.emit(`finish`),this._autoDestroy?this.destroy():i(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(e,t,n){let r,a;if(typeof t==`function`?(r=t,a=this._defaultEncoding):(a=t??this._defaultEncoding,r=n??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,a),a=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(a=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return i(()=>{r(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(e),this.writableCorked>0)return this._corkedBuffer.push({chunk:e,encoding:a,callback:r}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:e,encoding:a,callback:r}),this.writableLength<this.writableHighWaterMark;let o=this.writableLength<this.writableHighWaterMark;return o||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:e,encoding:a,callback:r}):this._doWrite(e,a,r),o}_doEnd(e,t,n){e!=null&&this.write(e,t),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=n,this._maybeFinish()}end(e,t,n){return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),this.writableEnded?(n&&i(n),this):this._writableState.constructed?(this._doEnd(e,t,n),this):(this._pendingEnd={chunk:e,encoding:t,callback:n},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let e=this._corkedBuffer.splice(0),t=e.map(e=>({chunk:e.chunk,encoding:e.encoding}));this._writev.call(this,t,t=>{for(let t of e)this.writableLength-=this.writableObjectMode?1:chunkLen(t.chunk);if(t){for(let n of e)n.callback(t);this.emit(`error`,t)}else{for(let t of e)t.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let e=this._corkedBuffer.splice(0);if(e.length>0){let[t,...n]=e;this._writeBuffer.push(...n),this._doWrite(t.chunk,t.encoding,t.callback)}}}setDefaultEncoding(e){return this._defaultEncoding=e,this}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,e&&(this._err=e);let cb=e=>{e&&i(()=>this.emit(`error`,e)),i(()=>this.emit(`close`))};return this._destroy(e??null,cb),this}};a.prototype[t]=function(){return n(this,this.writableFinished)};function chunkLen(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}export{a as Writable_};
1
+ import"./_virtual/_rolldown/runtime.js";import{writeAfterEndError as e}from"./internal/errors.js";import{Stream_ as t}from"./stream-base.js";import{kAsyncDispose as n,streamAsyncDispose as r}from"./internal/dispose.js";import{getDefaultHighWaterMark as i}from"./internal/state.js";import{nextTick as a}from"@gjsify/utils/core";var o=class Writable_ extends t{static[Symbol.hasInstance](e){let t=this;return t.prototype!==void 0&&Object.prototype.isPrototypeOf.call(t.prototype,e)?!0:t.prototype!==Writable_.prototype||e==null?!1:typeof e.writableHighWaterMark==`number`}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_err;_writableState={ended:!1,finished:!1,constructed:!0,writing:!1};_corkedBuffer=[];_writeBuffer=[];_pendingConstruct=[];_ending=!1;_endCallback;_pendingEnd=null;_writeImpl;_writev;_finalImpl;_constructImpl;_decodeStrings;_defaultEncoding=`utf8`;_autoDestroy;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??i(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!1,this._autoDestroy=e?.autoDestroy!==!1,e?.write&&(this._writeImpl=e.write),e?.writev&&(this._writev=e.writev),e?.final&&(this._finalImpl=e.final),e?.destroy&&(this._destroy=e.destroy),e?.construct&&(this._constructImpl=e.construct),(this._constructImpl||this._construct!==Writable_.prototype._construct)&&(this._writableState.constructed=!1,a(()=>{this._construct(e=>{this._writableState.constructed=!0,e?this.destroy(e):this._maybeFlush()})}))}_construct(e){this._constructImpl?this._constructImpl.call(this,e):e()}_write(e,t,n){this._writeImpl?this._writeImpl.call(this,e,t,n):n()}_final(e){this._finalImpl?this._finalImpl.call(this,e):e()}_destroy(e,t){t(e)}_maybeFlush(){let e=this._pendingConstruct.splice(0);if(e.length>0){let[t,...n]=e;this._writeBuffer.push(...n),this._doWrite(t.chunk,t.encoding,t.callback)}if(this._pendingEnd){let{chunk:e,encoding:t,callback:n}=this._pendingEnd;this._pendingEnd=null,this._doEnd(e,t,n)}}_doWrite(e,t,n){this._writableState.writing=!0;let r=!0;this._write(e,t,t=>{if(this.writableLength-=this.writableObjectMode?1:chunkLen(e),r){a(()=>{if(t){n(t),this.emit(`error`,t);return}n(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),t||this._drainWriteBuffer();return}a(t?()=>{n(t),this.emit(`error`,t),this._drainWriteBuffer()}:()=>{n(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),r=!1}_drainWriteBuffer(){if(this._writeBuffer.length>0){let e=this._writeBuffer.shift();this._doWrite(e.chunk,e.encoding,e.callback)}else this._writableState.writing=!1,this._maybeFinish()}_maybeFinish(){!this._ending||this._writableState.finished||this._writableState.writing||this._writeBuffer.length>0||(this._ending=!1,this._final(e=>{this.writableFinished=!0,this._writableState.finished=!0,a(()=>{e&&this.emit(`error`,e),this.emit(`finish`),this._autoDestroy?this.destroy():a(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(t,n,r){let i,o;if(typeof n==`function`?(i=n,o=this._defaultEncoding):(o=n??this._defaultEncoding,i=r??(()=>{})),this._decodeStrings&&!this.writableObjectMode&&typeof t==`string`){let e=globalThis.Buffer;e&&(t=e.from(t,o),o=`buffer`)}if(typeof t!=`string`&&!this.writableObjectMode){let e=globalThis.Buffer;(e&&e.isBuffer(t)||t instanceof Uint8Array)&&(o=`buffer`)}if(this.writableEnded){let t=e();return a(()=>{i(t),this.emit(`error`,t)}),!1}if(this.writableLength+=this.writableObjectMode?1:chunkLen(t),this.writableCorked>0)return this._corkedBuffer.push({chunk:t,encoding:o,callback:i}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:t,encoding:o,callback:i}),this.writableLength<this.writableHighWaterMark;let s=this.writableLength<this.writableHighWaterMark;return s||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:t,encoding:o,callback:i}):this._doWrite(t,o,i),s}_doEnd(e,t,n){e!=null&&this.write(e,t),this.writableEnded=!0,this._writableState.ended=!0,this._ending=!0,this._endCallback=n,this._maybeFinish()}end(e,t,n){return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),this.writableEnded?(n&&a(n),this):this._writableState.constructed?(this._doEnd(e,t,n),this):(this._pendingEnd={chunk:e,encoding:t,callback:n},this)}cork(){this.writableCorked++}uncork(){this.writableCorked>0&&(this.writableCorked--,this.writableCorked===0&&this._corkedBuffer.length>0&&this._flushCorkedBuffer())}_flushCorkedBuffer(){if(this._writev&&this._corkedBuffer.length>1){let e=this._corkedBuffer.splice(0),t=e.map(e=>({chunk:e.chunk,encoding:e.encoding}));this._writev.call(this,t,t=>{for(let t of e)this.writableLength-=this.writableObjectMode?1:chunkLen(t.chunk);if(t){for(let n of e)n.callback(t);this.emit(`error`,t)}else{for(let t of e)t.callback();this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}})}else{let e=this._corkedBuffer.splice(0);if(e.length>0){let[t,...n]=e;this._writeBuffer.push(...n),this._doWrite(t.chunk,t.encoding,t.callback)}}}setDefaultEncoding(e){return this._defaultEncoding=e,this}destroy(e){if(this.destroyed)return this;this.destroyed=!0,this.writable=!1,e&&(this._err=e);let t=!1,cb=e=>{t||(t=!0,e&&a(()=>this.emit(`error`,e)),a(()=>this.emit(`close`)))};try{this._destroy(e??null,cb)}catch(e){cb(e)}return this}};o.prototype[n]=function(){return r(this,this.writableFinished)};function chunkLen(e){if(e==null)return 1;let t=e.length;return typeof t==`number`?t:1}export{o as Writable_};
@@ -100,6 +100,13 @@ export declare const isDisturbed: (s: unknown) => boolean;
100
100
  export declare const isErrored: (s: unknown) => boolean;
101
101
  export declare const getDefaultHighWaterMark: (_objectMode?: boolean) => number;
102
102
  export declare const setDefaultHighWaterMark: (_objectMode: boolean, n: number) => void;
103
+ /** `stream.promises` — parity with `./index.ts`: the two helpers, promise-returning. */
104
+ export declare const promises: {
105
+ pipeline: (...streams: AnyStream[]) => Promise<void>;
106
+ finished: (stream: AnyStream, opts?: {
107
+ signal?: AbortSignal;
108
+ }) => Promise<void>;
109
+ };
103
110
  declare const streamDefault: typeof Stream & {
104
111
  Readable: typeof Readable;
105
112
  Writable: typeof Writable;
@@ -8,8 +8,10 @@ import { PassThrough_ } from './passthrough.js';
8
8
  import { pipeline } from './utils/pipeline.js';
9
9
  import { finished, addAbortSignal, isReadable, isWritable, isDestroyed, isDisturbed, isErrored } from './utils/finished.js';
10
10
  import { getDefaultHighWaterMark, setDefaultHighWaterMark } from './internal/state.js';
11
+ import * as promises from './promises/index.js';
11
12
  export { getDefaultHighWaterMark, setDefaultHighWaterMark };
12
13
  export { pipeline, finished, addAbortSignal };
14
+ export { promises };
13
15
  export { isReadable, isWritable, isDestroyed, isDisturbed, isErrored };
14
16
  export type { ReadableOptions, WritableOptions, DuplexOptions, TransformOptions, FinishedOptions } from 'node:stream';
15
17
  export type { StreamOptions } from './internal/types.js';
@@ -42,6 +44,7 @@ declare const _default: typeof Stream_ & {
42
44
  isErrored: typeof isErrored;
43
45
  getDefaultHighWaterMark: typeof getDefaultHighWaterMark;
44
46
  setDefaultHighWaterMark: typeof setDefaultHighWaterMark;
47
+ promises: typeof promises;
45
48
  };
46
49
  export default _default;
47
50
  export { _default as 'module.exports' };
@@ -0,0 +1,2 @@
1
+ /** `ERR_STREAM_WRITE_AFTER_END` — a `write()` issued after `end()`. */
2
+ export declare function writeAfterEndError(): Error;
@@ -0,0 +1,2 @@
1
+ declare const _default: () => Promise<void>;
2
+ export default _default;
@@ -33,7 +33,6 @@ export declare class Readable_ extends Stream_ {
33
33
  _err?: Error;
34
34
  private _readablePending;
35
35
  private _readImpl;
36
- private _destroyImpl;
37
36
  private _constructImpl;
38
37
  constructor(opts?: ReadableOptions);
39
38
  _construct(callback: ErrCallback): void;
@@ -49,6 +48,15 @@ export declare class Readable_ extends Stream_ {
49
48
  /** Schedule a single 'readable' event per microtask cycle (deduplicates multiple pushes). */
50
49
  private _scheduleReadable;
51
50
  on(event: string | symbol, listener: (...args: unknown[]) => void): this;
51
+ removeListener(event: string | symbol, listener: (...args: unknown[]) => void): this;
52
+ removeAllListeners(event?: string | symbol): this;
53
+ /**
54
+ * Leave readable mode once its last listener is gone: a surviving 'data'
55
+ * listener resumes flowing, otherwise the stream goes back to `null` (not
56
+ * paused) so a later `resume()` still starts it. Mirrors Node's
57
+ * `updateReadableListening`.
58
+ */
59
+ private _updateReadableListening;
52
60
  unshift(chunk: unknown): void;
53
61
  setEncoding(encoding: string): this;
54
62
  pause(): this;
@@ -24,7 +24,6 @@ export declare class Writable_ extends Stream_ {
24
24
  private _writeImpl;
25
25
  private _writev;
26
26
  private _finalImpl;
27
- private _destroyImpl;
28
27
  private _constructImpl;
29
28
  private _decodeStrings;
30
29
  private _defaultEncoding;
@@ -49,11 +48,10 @@ export declare class Writable_ extends Stream_ {
49
48
  _write(chunk: unknown, encoding: string, callback: ErrCallback): void;
50
49
  _final(callback: ErrCallback): void;
51
50
  /**
52
- * Default `_destroy` impl — delegates to the constructor-opt `destroy`
53
- * callback if one was provided. Subclasses can override this method
54
- * (Node-spec convention: see lib/internal/streams/writable.js's
55
- * `_destroy`), and the destroy() machinery will pick up the override
56
- * automatically. Without this hook, packages like execa that wrap
51
+ * Default `_destroy`. Subclasses override it (Node-spec convention: see
52
+ * lib/internal/streams/writable.js's `_destroy`) and a constructor-opt
53
+ * `destroy` replaces it on the instance; destroy() dispatches virtually
54
+ * either way. Without this hook, packages like execa that wrap
57
55
  * `subprocessStdin._destroy` to spy on cleanup-time exitCode have no
58
56
  * way to intercept teardown.
59
57
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/stream",
3
- "version": "0.52.0",
3
+ "version": "0.54.0",
4
4
  "description": "Node.js stream module for Gjs",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -54,15 +54,15 @@
54
54
  "stream"
55
55
  ],
56
56
  "devDependencies": {
57
- "@gjsify/cli": "^0.52.0",
58
- "@gjsify/unit": "^0.52.0",
57
+ "@gjsify/cli": "^0.54.0",
58
+ "@gjsify/unit": "^0.54.0",
59
59
  "@types/node": "^25.9.2",
60
60
  "typescript": "^6.0.3"
61
61
  },
62
62
  "dependencies": {
63
- "@gjsify/events": "^0.52.0",
64
- "@gjsify/utils": "^0.52.0",
65
- "@gjsify/web-streams": "^0.52.0"
63
+ "@gjsify/events": "^0.54.0",
64
+ "@gjsify/utils": "^0.54.0",
65
+ "@gjsify/web-streams": "^0.54.0"
66
66
  },
67
67
  "gjsify": {
68
68
  "runtimes": {