@gjsify/stream 0.53.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
- 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},r={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=t,Stream.Writable=Writable,Stream.Duplex=Duplex,Stream.Transform=Transform,Stream.PassThrough=PassThrough,Stream.pipeline=pipeline,Stream.finished=finished;const i=Object.assign(Stream,{Readable:t,Writable,Duplex,Transform,PassThrough,Stream,pipeline,finished});export{Duplex,PassThrough,t as Readable,Stream,Transform,Writable,addAbortSignal,i as default,i as"module.exports",finished,getDefaultHighWaterMark,isDestroyed,isDisturbed,isErrored,isReadable,isWritable,pipeline,r as promises,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.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(()=>{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.destroyed||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_};
@@ -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{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.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){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)};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;_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._destroy=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){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 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}};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_};
@@ -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;
@@ -48,6 +48,15 @@ export declare class Readable_ extends Stream_ {
48
48
  /** Schedule a single 'readable' event per microtask cycle (deduplicates multiple pushes). */
49
49
  private _scheduleReadable;
50
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;
51
60
  unshift(chunk: unknown): void;
52
61
  setEncoding(encoding: string): this;
53
62
  pause(): this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/stream",
3
- "version": "0.53.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.53.0",
58
- "@gjsify/unit": "^0.53.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.53.0",
64
- "@gjsify/utils": "^0.53.0",
65
- "@gjsify/web-streams": "^0.53.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": {