@gjsify/stream 0.3.20 → 0.3.21

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
- async function e(e){let t=[];for await(let n of e)t.push(n instanceof Uint8Array?n:new TextEncoder().encode(String(n)));let n=t.reduce((e,t)=>e+t.length,0),r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r.buffer}async function t(t){let n=await e(t);return new Blob([n])}async function n(t){let n=await e(t);return new Uint8Array(n)}async function r(t){let n=await e(t);return new TextDecoder().decode(n)}async function i(e){let t=await r(e);return JSON.parse(t)}var a={arrayBuffer:e,blob:t,buffer:n,text:r,json:i};export{e as arrayBuffer,t as blob,n as buffer,a as default,i as json,r as text};
1
+ async function arrayBuffer(e){let t=[];for await(let n of e)t.push(n instanceof Uint8Array?n:new TextEncoder().encode(String(n)));let n=t.reduce((e,t)=>e+t.length,0),r=new Uint8Array(n),i=0;for(let e of t)r.set(e,i),i+=e.length;return r.buffer}async function blob(e){let t=await arrayBuffer(e);return new Blob([t])}async function buffer(e){let t=await arrayBuffer(e);return new Uint8Array(t)}async function text(e){let t=await arrayBuffer(e);return new TextDecoder().decode(t)}async function json(e){let t=await text(e);return JSON.parse(t)}var e={arrayBuffer,blob,buffer,text,json};export{arrayBuffer,blob,buffer,e as default,json,text};
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{makeCallable as e}from"./callable.js";import{nextTick as t,queueMicrotask as n}from"@gjsify/utils";import{EventEmitter as r}from"@gjsify/events";let i=16384,a=16;function o(e){return e?a:i}function s(e,t){if(typeof t!=`number`||t<0||Number.isNaN(t))throw TypeError(`Invalid highWaterMark: ${t}`);e?a=t:i=t}function c(e,t){if(t!==void 0&&(typeof t!=`number`||Number.isNaN(t))){let n=TypeError(`The value of "${e}" is invalid. Received ${t}`);throw n.code=`ERR_INVALID_ARG_VALUE`,n}}var l=class extends r{constructor(e){super(e)}pipe(e,t){let n=this,r=t?.end!==!1,i=!1,a=()=>{i=!1,e.removeListener(`drain`,a),typeof n.resume==`function`&&n.resume()},o=t=>{e.writable&&e.write(t)===!1&&typeof n.pause==`function`&&(n.pause(),i||(i=!0,e.on(`drain`,a)))};n.on(`data`,o);let s=!1,c=()=>{s||(s=!0,r&&e.end())},l=()=>{s||(s=!0,r&&!(n instanceof w)&&typeof e.destroy==`function`&&e.destroy())};r&&(n.on(`end`,c),n.on(`close`,l));let u=()=>{n.removeListener(`data`,o),i&&e.removeListener(`drain`,a),n.removeListener(`end`,c),n.removeListener(`close`,l),n.removeListener(`end`,u),n.removeListener(`close`,u),e.removeListener(`close`,u)};return n.on(`end`,u),n.on(`close`,u),e.on(`close`,u),n instanceof w&&(n._pipeDests.push({dest:e,cleanup:u}),n._readableState.pipes.push(e)),e.emit(`pipe`,n),e}},u=class e extends l{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:[]};_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??o(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!==w.prototype._construct)&&(this._readableState.constructed=!1,t(()=>{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=r.length??1;if(t+i<=e)n.push(this._buffer.shift()),t+=i,this.readableLength-=i;else{let i=e-t,a=globalThis.Buffer;a&&a.isBuffer(r),n.push(r.slice(0,i)),this._buffer[0]=r.slice(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,n){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&t(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let n=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return t(()=>this.emit(`error`,n)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:e.length??1,this.readableFlowing&&!this._flowing&&t(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),t(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,t(()=>{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:e.length??1}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:e.length??1,this.readableEncoding&&typeof e!=`string`){let t=globalThis.Buffer;t&&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){t(()=>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&&t(()=>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 n=e=>{e&&t(()=>this.emit(`error`,e)),t(()=>this.emit(`close`))};return Object.prototype.hasOwnProperty.call(this,`_destroy`)?this._destroy(e??null,n):this._destroyImpl?this._destroyImpl.call(this,e??null,n):n(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(t,n){let r=t.getReader();return new e({...n,read(){r.read().then(({done:e,value:t})=>{e?this.push(null):this.push(t)},e=>{this.destroy(e)})},destroy(e,t){r.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 w({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)}},d=class e extends l{static[Symbol.hasInstance](t){return this.prototype!==void 0&&Object.prototype.isPrototypeOf.call(this.prototype,t)?!0:this.prototype===e.prototype?t!=null&&typeof t.writableHighWaterMark==`number`:!1}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_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`;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??o(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!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!==T.prototype._construct)&&(this._writableState.constructed=!1,t(()=>{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()}_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,n,r){this._writableState.writing=!0;let i=!0;this._write(e,n,n=>{if(this.writableLength-=this.writableObjectMode?1:e?.length??1,i){t(()=>{if(n){r(n),this.emit(`error`,n);return}r(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),n||this._drainWriteBuffer();return}t(n?()=>{r(n),this.emit(`error`,n),this._drainWriteBuffer()}:()=>{r(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),i=!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,t(()=>{e&&this.emit(`error`,e),this.emit(`finish`),t(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(e,n,r){if(typeof n==`function`&&(r=n,n=void 0),n===void 0&&(n=this._defaultEncoding),r||=(()=>{}),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,n),n=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(n=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return t(()=>{r&&r(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:e?.length??1,this.writableCorked>0)return this._corkedBuffer.push({chunk:e,encoding:n,callback:r}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:e,encoding:n,callback:r}),this.writableLength<this.writableHighWaterMark;let i=this.writableLength<this.writableHighWaterMark;return i||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:e,encoding:n,callback:r}):this._doWrite(e,n,r),i}_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,n,r){return typeof e==`function`&&(r=e,e=void 0),typeof n==`function`&&(r=n,n=void 0),this.writableEnded?(r&&t(r),this):this._writableState.constructed?(this._doEnd(e,n,r),this):(this._pendingEnd={chunk:e,encoding:n,callback:r},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:t.chunk?.length??1;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 n=e=>{e&&t(()=>this.emit(`error`,e)),t(()=>this.emit(`close`))};return this._destroyImpl?this._destroyImpl.call(this,e??null,n):n(e),this}},f=class extends u{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),c(`writableHighWaterMark`,e?.writableHighWaterMark),c(`readableHighWaterMark`,e?.readableHighWaterMark),this.writableObjectMode=e?.writableObjectMode??e?.objectMode??!1,this.writableHighWaterMark=e?.highWaterMark??e?.writableHighWaterMark??o(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=o(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||t(()=>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,n,r){if(typeof n==`function`&&(r=n,n=void 0),n===void 0&&(n=this._defaultEncoding),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,n),n=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(n=`buffer`)}if(this.writableEnded){let e=Error(`write after end`),n=r||(()=>{});return t(()=>{n(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:e?.length??1,this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:e,encoding:n,callback:r||(()=>{})}),this.writableLength<this.writableHighWaterMark;let i=this.writableLength<this.writableHighWaterMark;i||(this.writableNeedDrain=!0);let a=r||(()=>{});return this._duplexDoWrite(e,n,a),i}_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,n,r){this._pendingWrites++,this._write(e,n,n=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:e?.length??1,t(n?()=>{if(r(n),this._duplexWriting=!1,this.emit(`error`,n),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(r(),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()}})})}_duplexDrainQueue(){if(this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexDoWrite(e.chunk,e.encoding,e.callback)}}end(e,n,r){typeof e==`function`&&(r=e,e=void 0),typeof n==`function`&&(r=n,n=void 0),e!=null&&this.write(e,n),this.writableEnded=!0;let i=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{t(()=>{e&&this.emit(`error`,e),this.emit(`finish`),t(()=>this.emit(`close`)),r&&r()})})})};return this._pendingWrites>0||this._duplexWriting||this._duplexWriteQueue.length>0?this._pendingEndCb=i:i(),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:t?.length??1,e?(r(e),this.emit(`error`,e)):r()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,t(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}},p=class e extends f{constructor(e){super({...e,write:void 0,final:void 0}),e?.transform&&(this._transform=e.transform),e?.flush&&(this._flush=e.flush),e?.final&&(this._final=e.final)}_transform(e,t,n){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(e){e()}_write(e,n,r){let i=!1;try{this._transform(e,n,(e,n)=>{if(i){let e=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});t(()=>this.emit(`error`,e));return}if(i=!0,e){r(e);return}n!=null&&this.push(n),r()})}catch(e){if(e?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw e;r(e)}}_final(e){this._flush((t,n)=>{if(t){e(t);return}n!=null&&this.push(n),this.push(null),e()})}_doPrefinishHooks(t){let n=e.prototype._final;this._final===n?t():n.call(this,t)}},m=class extends p{constructor(e){super({...e,transform(e,t,n){n(null,e)}})}};function h(...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=null;function i(e){if(!r){r=e;for(let e of n)typeof e.destroy==`function`&&e.destroy();t&&t(e)}}let a=n[0];for(let e=1;e<n.length;e++){let t=n[e];a.pipe(t),a.on(`error`,i),a=t}let o=n[n.length-1];return o.on(`error`,i),o.on(`finish`,()=>{t&&!r&&t(null)}),o}function g(e,t,r){let i;i=typeof t==`function`?t:r;let a=!1;function o(e){a||(a=!0,i(e))}let s=()=>o(),c=()=>o(),l=e=>o(e),u=()=>{!e.writableFinished&&!e.readableEnded&&o(Error(`premature close`))};e.on(`finish`,s),e.on(`end`,c),e.on(`error`,l),e.on(`close`,u);let d=typeof e.write==`function`,f=typeof e.read==`function`,p=e.writableFinished===!0,m=e.readableEnded===!0;if(e.destroyed===!0){let t=e._err;n(t?()=>o(t):d&&p||f&&m?()=>o():()=>o(Error(`premature close`)))}else (d&&!f&&p||!d&&f&&m||d&&f&&p&&m)&&n(()=>o());return function(){e.removeListener(`finish`,s),e.removeListener(`end`,c),e.removeListener(`error`,l),e.removeListener(`close`,u)}}function _(e,t){if(!(e instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(t instanceof C))throw TypeError(`The second argument must be a Stream`);if(e.aborted)t.destroy(Error(`The operation was aborted`));else{let n=()=>{t.destroy(Error(`The operation was aborted`))};e.addEventListener(`abort`,n,{once:!0}),t.once(`close`,()=>{e.removeEventListener(`abort`,n)})}return t}function v(e){if(e==null)return!1;let t=e;return typeof t.readable!=`boolean`||typeof t.read!=`function`||t.destroyed===!0||t.readableEnded===!0?!1:t.readable===!0}function y(e){if(e==null)return!1;let t=e;return typeof t.writable!=`boolean`||typeof t.write!=`function`||t.destroyed===!0||t.writableEnded===!0?!1:t.writable===!0}function b(e){return e==null?!1:e.destroyed===!0}function x(e){if(e==null)return!1;let t=e;return t.readableDidRead===!0||t.readableFlowing!==null&&t.readableFlowing!==void 0}function S(e){if(e==null)return!1;let t=e;return t.destroyed===!0&&typeof t.readable==`boolean`&&t.readable===!1||t.destroyed===!0&&typeof t.writable==`boolean`&&t.writable===!1}const C=e(l),w=e(u),T=e(d),E=e(f),D=e(p),O=e(m),k=Object.assign(C,{Stream:C,Readable:w,Writable:T,Duplex:E,Transform:D,PassThrough:O,pipeline:h,finished:g,addAbortSignal:_,isReadable:v,isWritable:y,isDestroyed:b,isDisturbed:x,isErrored:S,getDefaultHighWaterMark:o,setDefaultHighWaterMark:s});export{E as Duplex,O as PassThrough,w as Readable,C as Stream,D as Transform,T as Writable,_ as addAbortSignal,k as default,g as finished,o as getDefaultHighWaterMark,b as isDestroyed,x as isDisturbed,S as isErrored,v as isReadable,y as isWritable,h as pipeline,s as setDefaultHighWaterMark};
1
+ import{makeCallable as e}from"./callable.js";import{nextTick as t,queueMicrotask as n}from"@gjsify/utils";import{EventEmitter as r}from"@gjsify/events";let i=16384,a=16;function getDefaultHighWaterMark(e){return e?a:i}function setDefaultHighWaterMark(e,t){if(typeof t!=`number`||t<0||Number.isNaN(t))throw TypeError(`Invalid highWaterMark: ${t}`);e?a=t:i=t}function validateHighWaterMark(e,t){if(t!==void 0&&(typeof t!=`number`||Number.isNaN(t))){let n=TypeError(`The value of "${e}" is invalid. Received ${t}`);throw n.code=`ERR_INVALID_ARG_VALUE`,n}}var Stream_=class extends r{constructor(e){super(e)}pipe(e,t){let n=this,r=t?.end!==!1,i=!1,ondrain=()=>{i=!1,e.removeListener(`drain`,ondrain),typeof n.resume==`function`&&n.resume()},ondata=t=>{e.writable&&e.write(t)===!1&&typeof n.pause==`function`&&(n.pause(),i||(i=!0,e.on(`drain`,ondrain)))};n.on(`data`,ondata);let a=!1,onend=()=>{a||(a=!0,r&&e.end())},onclose=()=>{a||(a=!0,r&&!(n instanceof u)&&typeof e.destroy==`function`&&e.destroy())};r&&(n.on(`end`,onend),n.on(`close`,onclose));let cleanup=()=>{n.removeListener(`data`,ondata),i&&e.removeListener(`drain`,ondrain),n.removeListener(`end`,onend),n.removeListener(`close`,onclose),n.removeListener(`end`,cleanup),n.removeListener(`close`,cleanup),e.removeListener(`close`,cleanup)};return n.on(`end`,cleanup),n.on(`close`,cleanup),e.on(`close`,cleanup),n instanceof u&&(n._pipeDests.push({dest:e,cleanup}),n._readableState.pipes.push(e)),e.emit(`pipe`,n),e}},o=class Readable_ extends Stream_{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:[]};_readablePending=!1;_readImpl;_destroyImpl;_constructImpl;constructor(e){super(e),this.readableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(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!==u.prototype._construct)&&(this._readableState.constructed=!1,t(()=>{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=r.length??1;if(t+i<=e)n.push(this._buffer.shift()),t+=i,this.readableLength-=i;else{let i=e-t,a=globalThis.Buffer;a&&a.isBuffer(r),n.push(r.slice(0,i)),this._buffer[0]=r.slice(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,n){if(e===null)return this._readableState.ended=!0,this.readableEnded=!0,this._buffer.length===0&&!this._readableState.endEmitted&&t(()=>this._emitEnd()),this._scheduleReadable(),!1;if(!this.readableObjectMode&&!(typeof e==`string`||ArrayBuffer.isView(e))){let n=Object.assign(TypeError(`Invalid non-string/buffer chunk type: ${typeof e}`),{code:`ERR_INVALID_ARG_TYPE`});return t(()=>this.emit(`error`,n)),!1}return this._buffer.push(e),this.readableLength+=this.readableObjectMode?1:e.length??1,this.readableFlowing&&!this._flowing&&t(()=>this._flow()),this.readableFlowing!==!0&&this._scheduleReadable(),this.readableLength<this.readableHighWaterMark}_emitEnd(){this._readableState.endEmitted||(this._readableState.endEmitted=!0,this.emit(`end`),t(()=>this._autoClose()))}_autoClose(){this.emit(`close`)}_scheduleReadable(){this._readablePending||this.listenerCount(`readable`)===0||(this._readablePending=!0,t(()=>{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:e.length??1}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:e.length??1,this.readableEncoding&&typeof e!=`string`){let t=globalThis.Buffer;t&&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){t(()=>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&&t(()=>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&&t(()=>this.emit(`error`,e)),t(()=>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 u({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)}},s=class Writable_ extends Stream_{static[Symbol.hasInstance](e){return this.prototype!==void 0&&Object.prototype.isPrototypeOf.call(this.prototype,e)?!0:this.prototype===Writable_.prototype?e!=null&&typeof e.writableHighWaterMark==`number`:!1}writable=!0;writableHighWaterMark;writableLength=0;writableObjectMode;writableEnded=!1;writableFinished=!1;writableCorked=0;writableNeedDrain=!1;destroyed=!1;_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`;constructor(e){super(e),this.writableHighWaterMark=e?.highWaterMark??getDefaultHighWaterMark(e?.objectMode??!1),this.writableObjectMode=e?.objectMode??!1,this._decodeStrings=e?.decodeStrings!==!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!==d.prototype._construct)&&(this._writableState.constructed=!1,t(()=>{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()}_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,n,r){this._writableState.writing=!0;let i=!0;this._write(e,n,n=>{if(this.writableLength-=this.writableObjectMode?1:e?.length??1,i){t(()=>{if(n){r(n),this.emit(`error`,n);return}r(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`))}),n||this._drainWriteBuffer();return}t(n?()=>{r(n),this.emit(`error`,n),this._drainWriteBuffer()}:()=>{r(),this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,this.emit(`drain`)),this._drainWriteBuffer()})}),i=!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,t(()=>{e&&this.emit(`error`,e),this.emit(`finish`),t(()=>this.emit(`close`)),this._endCallback&&this._endCallback()})}))}write(e,n,callback){if(typeof n==`function`&&(callback=n,n=void 0),n===void 0&&(n=this._defaultEncoding),callback||=(()=>{}),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,n),n=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(n=`buffer`)}if(this.writableEnded){let e=Error(`write after end`);return t(()=>{callback&&callback(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:e?.length??1,this.writableCorked>0)return this._corkedBuffer.push({chunk:e,encoding:n,callback}),this.writableLength<this.writableHighWaterMark;if(!this._writableState.constructed)return this._pendingConstruct.push({chunk:e,encoding:n,callback}),this.writableLength<this.writableHighWaterMark;let r=this.writableLength<this.writableHighWaterMark;return r||(this.writableNeedDrain=!0),this._writableState.writing?this._writeBuffer.push({chunk:e,encoding:n,callback}):this._doWrite(e,n,callback),r}_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,n,r){return typeof e==`function`&&(r=e,e=void 0),typeof n==`function`&&(r=n,n=void 0),this.writableEnded?(r&&t(r),this):this._writableState.constructed?(this._doEnd(e,n,r),this):(this._pendingEnd={chunk:e,encoding:n,callback:r},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:t.chunk?.length??1;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&&t(()=>this.emit(`error`,e)),t(()=>this.emit(`close`))};return this._destroyImpl?this._destroyImpl.call(this,e??null,cb):cb(e),this}},Duplex_=class extends o{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),validateHighWaterMark(`writableHighWaterMark`,e?.writableHighWaterMark),validateHighWaterMark(`readableHighWaterMark`,e?.readableHighWaterMark),this.writableObjectMode=e?.writableObjectMode??e?.objectMode??!1,this.writableHighWaterMark=e?.highWaterMark??e?.writableHighWaterMark??getDefaultHighWaterMark(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=getDefaultHighWaterMark(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||t(()=>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,n,r){if(typeof n==`function`&&(r=n,n=void 0),n===void 0&&(n=this._defaultEncoding),this._decodeStrings&&!this.writableObjectMode&&typeof e==`string`){let t=globalThis.Buffer;t&&(e=t.from(e,n),n=`buffer`)}if(typeof e!=`string`&&!this.writableObjectMode){let t=globalThis.Buffer;(t&&t.isBuffer(e)||e instanceof Uint8Array)&&(n=`buffer`)}if(this.writableEnded){let e=Error(`write after end`),n=r||(()=>{});return t(()=>{n(e),this.emit(`error`,e)}),!1}if(this.writableLength+=this.writableObjectMode?1:e?.length??1,this.writableCorked>0)return this._duplexCorkedBuffer.push({chunk:e,encoding:n,callback:r||(()=>{})}),this.writableLength<this.writableHighWaterMark;let i=this.writableLength<this.writableHighWaterMark;i||(this.writableNeedDrain=!0);let a=r||(()=>{});return this._duplexDoWrite(e,n,a),i}_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,n,r){this._pendingWrites++,this._write(e,n,n=>{this._pendingWrites--,this.writableLength-=this.writableObjectMode?1:e?.length??1,t(n?()=>{if(r(n),this._duplexWriting=!1,this.emit(`error`,n),this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexWriting=!0,this._duplexStartWrite(e.chunk,e.encoding,e.callback)}}:()=>{if(r(),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()}})})}_duplexDrainQueue(){if(this._duplexWriteQueue.length>0){let e=this._duplexWriteQueue.shift();this._duplexDoWrite(e.chunk,e.encoding,e.callback)}}end(e,n,r){typeof e==`function`&&(r=e,e=void 0),typeof n==`function`&&(r=n,n=void 0),e!=null&&this.write(e,n),this.writableEnded=!0;let doFinal=()=>{this._final(e=>{this.writableFinished=!0,this._doPrefinishHooks(()=>{t(()=>{e&&this.emit(`error`,e),this.emit(`finish`),t(()=>this.emit(`close`)),r&&r()})})})};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:t?.length??1,e?(r(e),this.emit(`error`,e)):r()});this.writableNeedDrain&&this.writableLength<=this.writableHighWaterMark&&(this.writableNeedDrain=!1,t(()=>this.emit(`drain`)))}}setDefaultEncoding(e){return this._defaultEncoding=e,this}},c=class Transform_ extends Duplex_{constructor(e){super({...e,write:void 0,final:void 0}),e?.transform&&(this._transform=e.transform),e?.flush&&(this._flush=e.flush),e?.final&&(this._final=e.final)}_transform(e,t,n){throw Object.assign(Error(`The _transform() method is not implemented`),{code:`ERR_METHOD_NOT_IMPLEMENTED`})}_flush(e){e()}_write(e,n,r){let i=!1;try{this._transform(e,n,(e,n)=>{if(i){let e=Object.assign(Error(`Callback called multiple times`),{code:`ERR_MULTIPLE_CALLBACK`});t(()=>this.emit(`error`,e));return}if(i=!0,e){r(e);return}n!=null&&this.push(n),r()})}catch(e){if(e?.code===`ERR_METHOD_NOT_IMPLEMENTED`)throw e;r(e)}}_final(e){this._flush((t,n)=>{if(t){e(t);return}n!=null&&this.push(n),this.push(null),e()})}_doPrefinishHooks(e){let t=Transform_.prototype._final;this._final===t?e():t.call(this,e)}},PassThrough_=class extends c{constructor(e){super({...e,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=null;function onError(e){if(!r){r=e;for(let e of n)typeof e.destroy==`function`&&e.destroy();t&&t(e)}}let i=n[0];for(let e=1;e<n.length;e++){let t=n[e];i.pipe(t),i.on(`error`,onError),i=t}let a=n[n.length-1];return a.on(`error`,onError),a.on(`finish`,()=>{t&&!r&&t(null)}),a}function finished(e,t,r){let i;i=typeof t==`function`?t:r;let a=!1;function done(e){a||(a=!0,i(e))}let onFinish=()=>done(),onEnd=()=>done(),onError=e=>done(e),onClose=()=>{!e.writableFinished&&!e.readableEnded&&done(Error(`premature close`))};e.on(`finish`,onFinish),e.on(`end`,onEnd),e.on(`error`,onError),e.on(`close`,onClose);let o=typeof e.write==`function`,s=typeof e.read==`function`,c=e.writableFinished===!0,l=e.readableEnded===!0;if(e.destroyed===!0){let t=e._err;n(t?()=>done(t):o&&c||s&&l?()=>done():()=>done(Error(`premature close`)))}else (o&&!s&&c||!o&&s&&l||o&&s&&c&&l)&&n(()=>done());return function(){e.removeListener(`finish`,onFinish),e.removeListener(`end`,onEnd),e.removeListener(`error`,onError),e.removeListener(`close`,onClose)}}function addAbortSignal(e,t){if(!(e instanceof AbortSignal))throw TypeError(`The first argument must be an AbortSignal`);if(!(t instanceof l))throw TypeError(`The second argument must be a Stream`);if(e.aborted)t.destroy(Error(`The operation was aborted`));else{let onAbort=()=>{t.destroy(Error(`The operation was aborted`))};e.addEventListener(`abort`,onAbort,{once:!0}),t.once(`close`,()=>{e.removeEventListener(`abort`,onAbort)})}return t}function isReadable(e){if(e==null)return!1;let t=e;return typeof t.readable!=`boolean`||typeof t.read!=`function`||t.destroyed===!0||t.readableEnded===!0?!1:t.readable===!0}function isWritable(e){if(e==null)return!1;let t=e;return typeof t.writable!=`boolean`||typeof t.write!=`function`||t.destroyed===!0||t.writableEnded===!0?!1:t.writable===!0}function isDestroyed(e){return e==null?!1:e.destroyed===!0}function isDisturbed(e){if(e==null)return!1;let t=e;return t.readableDidRead===!0||t.readableFlowing!==null&&t.readableFlowing!==void 0}function isErrored(e){if(e==null)return!1;let t=e;return t.destroyed===!0&&typeof t.readable==`boolean`&&t.readable===!1||t.destroyed===!0&&typeof t.writable==`boolean`&&t.writable===!1}const l=e(Stream_),u=e(o),d=e(s),f=e(Duplex_),p=e(c),m=e(PassThrough_),h=Object.assign(l,{Stream:l,Readable:u,Writable:d,Duplex:f,Transform:p,PassThrough:m,pipeline,finished,addAbortSignal,isReadable,isWritable,isDestroyed,isDisturbed,isErrored,getDefaultHighWaterMark,setDefaultHighWaterMark});export{f as Duplex,m as PassThrough,u as Readable,l as Stream,p as Transform,d as Writable,addAbortSignal,h as default,finished,getDefaultHighWaterMark,isDestroyed,isDisturbed,isErrored,isReadable,isWritable,pipeline,setDefaultHighWaterMark};
@@ -1 +1 @@
1
- import{finished as e,pipeline as t}from"../index.js";function n(...e){return new Promise((n,r)=>{t(...e,e=>{e?r(e):n()})})}function r(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 i={pipeline:n,finished:r};export{i as default,r as finished,n as pipeline};
1
+ import{finished as e,pipeline as t}from"../index.js";function pipeline(...e){return new Promise((n,r)=>{t(...e,e=>{e?r(e):n()})})}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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/stream",
3
- "version": "0.3.20",
3
+ "version": "0.3.21",
4
4
  "description": "Node.js stream module for Gjs",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -43,14 +43,14 @@
43
43
  "stream"
44
44
  ],
45
45
  "devDependencies": {
46
- "@gjsify/cli": "^0.3.20",
47
- "@gjsify/unit": "^0.3.20",
46
+ "@gjsify/cli": "^0.3.21",
47
+ "@gjsify/unit": "^0.3.21",
48
48
  "@types/node": "^25.6.2",
49
49
  "typescript": "^6.0.3"
50
50
  },
51
51
  "dependencies": {
52
- "@gjsify/events": "^0.3.20",
53
- "@gjsify/utils": "^0.3.20",
54
- "@gjsify/web-streams": "^0.3.20"
52
+ "@gjsify/events": "^0.3.21",
53
+ "@gjsify/utils": "^0.3.21",
54
+ "@gjsify/web-streams": "^0.3.21"
55
55
  }
56
56
  }