async function e(e,t){if(!e.ok||!e.body||e.bodyUsed)return e;let n=e.headers.get("content-type");if(!n||!~n.indexOf("multipart/"))return e;let i=n.indexOf("boundary="),l="-";if(~i){let e=i+9,t=n.indexOf(";",e);l=n.slice(e,t>-1?t:void 0).trim().replace(/"/g,"")}return async function*(e,t,n){let i,l,r,d=new TextDecoder("utf8"),o=e.getReader(),a=!n||!n.multiple,f=t.length,s="",c=[];try{let e;e:for(;!(e=await o.read()).done;){let n=d.decode(e.value,{stream:!0});i=s.length,s+=n;let o=n.indexOf(t);for(~o?i+=o:i=s.indexOf(t),c=[];~i;){let e=s.slice(0,i),n=s.slice(i+f);if(l){let t=e.indexOf("\r\n\r\n")+4,i=e.lastIndexOf("\r\n",t),l=!1,d=e.slice(t,i>-1?void 0:i),o=String(e.slice(0,t)).trim().split("\r\n"),f={},s=o.length;for(;r=o[--s];r=r.split(": "),f[r.shift().toLowerCase()]=r.join(": "));if(r=f["content-type"],r&&~r.indexOf("application/json"))try{d=JSON.parse(d),l=!0}catch(e){}if(r={headers:f,body:d,json:l},a?yield r:c.push(r),"--"===n.slice(0,2))break e}else t="\r\n"+t,l=f+=2;s=n,i=s.indexOf(t)}c.length&&(yield c)}}finally{c.length&&(yield c),await o.cancel()}}(e.body,`--${l}`,t)}export{e as meros};