UNPKG

univ-fs-webnfs

Version:

The universal Filesystem for Web File System Access API (Native File System API)

1 lines 1.23 kB
(self.webpackChunkuniv_fs_webnfs=self.webpackChunkuniv_fs_webnfs||[]).push([[335],{335:(t,s,i)=>{"use strict";i.r(s),i.d(s,{default:()=>e});var h=i(15),n=i(272);class a extends h.Readable{constructor(t,s,i){super(),this.conv=t,this.src=s,this.iStart=0,this.mods=i,s.once("readable",(()=>this.setup()))}setup(){const t=t=>{const s=t,i=s.byteLength;try{const t=this.iStart+i;for(const h of this.mods){const n=h.start??0,a=n+(h.length??Number.MAX_SAFE_INTEGER);if(n<=this.iStart&&t<=a){const t=this.iStart-n,s=i;return void this.push(this.conv.slice(h.data,{start:t,length:s}))}if(this.iStart<=n&&n<=t){const i=n-this.iStart;if(0<i&&this.push(s.slice(0,i)),a<t){const i=a-n;if(this.push(this.conv.slice(h.data,{start:0,length:i})),a<t){const i=a-this.iStart,h=t-a;this.push(s.slice(i,h))}}return}if(n<this.iStart&&this.iStart<a){const s=this.iStart-n;let i;return i=a<t?a-this.iStart:t-this.iStart,void this.push(this.conv.slice(h.data,{start:s,length:i}))}this.push(s)}}finally{this.iStart+=i}},s=this.src;s.once("error",(i=>{this.destroy(i),s.off("data",t)})),s.once("end",(()=>{this.push(null),s.off("data",t)})),s.on("data",t)}_read(){}}const e=async function(t,...s){const i=await(0,n.et)();return new a(i,t,s)}},15:()=>{}}]);