commitsmile
Version:
Make smile on your commits
3 lines • 5.05 kB
JavaScript
import {createRequire}from'node:module';import {b,a as a$1}from'./chunk-47QF2CA2.mjs';import {c,k,a}from'./chunk-G5RJVSXQ.mjs';createRequire(import.meta.url);
var K=c(M=>{k();var v=Object.defineProperty,l=(u,i)=>v(u,"name",{value:i,configurable:!0});a("node:fs"),a("node:path");var w=b();a("node:http"),a("node:https"),a("node:zlib"),a("node:stream"),a("node:buffer"),a("node:util"),a$1(),a("node:url"),a("node:net");var _=0,t={START_BOUNDARY:_++,HEADER_FIELD_START:_++,HEADER_FIELD:_++,HEADER_VALUE_START:_++,HEADER_VALUE:_++,HEADER_VALUE_ALMOST_DONE:_++,HEADERS_ALMOST_DONE:_++,PART_DATA_START:_++,PART_DATA:_++,END:_++},B=1,H={PART_BOUNDARY:B,LAST_BOUNDARY:B*=2},N=10,y=13,$=32,p=45,j=58,Z=97,z=122,G=l(u=>u|32,"lower"),b$1=l(()=>{},"noop"),Y=class{constructor(i){this.index=0,this.flags=0,this.onHeaderEnd=b$1,this.onHeaderField=b$1,this.onHeadersEnd=b$1,this.onHeaderValue=b$1,this.onPartBegin=b$1,this.onPartData=b$1,this.onPartEnd=b$1,this.boundaryChars={},i=`\r
--`+i;let r=new Uint8Array(i.length);for(let a=0;a<i.length;a++)r[a]=i.charCodeAt(a),this.boundaryChars[r[a]]=!0;this.boundary=r,this.lookbehind=new Uint8Array(this.boundary.length+8),this.state=t.START_BOUNDARY;}write(i){let r=0,a=i.length,E=this.index,{lookbehind:d,boundary:D,boundaryChars:P,index:e,state:o,flags:A}=this,L=this.boundary.length,F=L-1,U=i.length,n,O,T=l(h=>{this[h+"Mark"]=r;},"mark"),s=l(h=>{delete this[h+"Mark"];},"clear"),R=l((h,g,f,m)=>{(g===void 0||g!==f)&&this[h](m&&m.subarray(g,f));},"callback"),S=l((h,g)=>{let f=h+"Mark";f in this&&(g?(R(h,this[f],r,i),delete this[f]):(R(h,this[f],i.length,i),this[f]=0));},"dataCallback");for(r=0;r<a;r++)switch(n=i[r],o){case t.START_BOUNDARY:if(e===D.length-2){if(n===p)A|=H.LAST_BOUNDARY;else if(n!==y)return;e++;break}else if(e-1===D.length-2){if(A&H.LAST_BOUNDARY&&n===p)o=t.END,A=0;else if(!(A&H.LAST_BOUNDARY)&&n===N)e=0,R("onPartBegin"),o=t.HEADER_FIELD_START;else return;break}n!==D[e+2]&&(e=-2),n===D[e+2]&&e++;break;case t.HEADER_FIELD_START:o=t.HEADER_FIELD,T("onHeaderField"),e=0;case t.HEADER_FIELD:if(n===y){s("onHeaderField"),o=t.HEADERS_ALMOST_DONE;break}if(e++,n===p)break;if(n===j){if(e===1)return;S("onHeaderField",!0),o=t.HEADER_VALUE_START;break}if(O=G(n),O<Z||O>z)return;break;case t.HEADER_VALUE_START:if(n===$)break;T("onHeaderValue"),o=t.HEADER_VALUE;case t.HEADER_VALUE:n===y&&(S("onHeaderValue",!0),R("onHeaderEnd"),o=t.HEADER_VALUE_ALMOST_DONE);break;case t.HEADER_VALUE_ALMOST_DONE:if(n!==N)return;o=t.HEADER_FIELD_START;break;case t.HEADERS_ALMOST_DONE:if(n!==N)return;R("onHeadersEnd"),o=t.PART_DATA_START;break;case t.PART_DATA_START:o=t.PART_DATA,T("onPartData");case t.PART_DATA:if(E=e,e===0){for(r+=F;r<U&&!(i[r]in P);)r+=L;r-=F,n=i[r];}if(e<D.length)D[e]===n?(e===0&&S("onPartData",!0),e++):e=0;else if(e===D.length)e++,n===y?A|=H.PART_BOUNDARY:n===p?A|=H.LAST_BOUNDARY:e=0;else if(e-1===D.length)if(A&H.PART_BOUNDARY){if(e=0,n===N){A&=~H.PART_BOUNDARY,R("onPartEnd"),R("onPartBegin"),o=t.HEADER_FIELD_START;break}}else A&H.LAST_BOUNDARY&&n===p?(R("onPartEnd"),o=t.END,A=0):e=0;if(e>0)d[e-1]=n;else if(E>0){let h=new Uint8Array(d.buffer,d.byteOffset,d.byteLength);R("onPartData",0,E,h),E=0,T("onPartData"),r--;}break;case t.END:break;default:throw new Error(`Unexpected state entered: ${o}`)}S("onHeaderField"),S("onHeaderValue"),S("onPartData"),this.index=e,this.state=o,this.flags=A;}end(){if(this.state===t.HEADER_FIELD_START&&this.index===0||this.state===t.PART_DATA&&this.index===this.boundary.length)this.onPartEnd();else if(this.state!==t.END)throw new Error("MultipartParser.end(): stream ended unexpectedly")}};l(Y,"MultipartParser");var J=Y;function q(u){let i=u.match(/\bfilename=("(.*?)"|([^()<>@,;:\\"/[\]?={}\s\t]+))($|;\s)/i);if(!i)return;let r=i[2]||i[3]||"",a=r.slice(r.lastIndexOf("\\")+1);return a=a.replace(/%22/g,'"'),a=a.replace(/&#(\d{4});/g,(E,d)=>String.fromCharCode(d)),a}l(q,"_fileName");async function V(u,i){if(!/multipart/i.test(i))throw new TypeError("Failed to fetch");let r=i.match(/boundary=(?:"([^"]+)"|([^;]+))/i);if(!r)throw new TypeError("no or bad content-type header, no multipart boundary");let a=new J(r[1]||r[2]),E,d,D,P,e,o,A=[],L=new w.FormData,F=l(s=>{D+=T.decode(s,{stream:!0});},"onPartData"),U=l(s=>{A.push(s);},"appendToFile"),n=l(()=>{let s=new w.File(A,o,{type:e});L.append(P,s);},"appendFileToFormData"),O=l(()=>{L.append(P,D);},"appendEntryToFormData"),T=new TextDecoder("utf-8");T.decode(),a.onPartBegin=function(){a.onPartData=F,a.onPartEnd=O,E="",d="",D="",P="",e="",o=null,A.length=0;},a.onHeaderField=function(s){E+=T.decode(s,{stream:!0});},a.onHeaderValue=function(s){d+=T.decode(s,{stream:!0});},a.onHeaderEnd=function(){if(d+=T.decode(),E=E.toLowerCase(),E==="content-disposition"){let s=d.match(/\bname=("([^"]*)"|([^()<>@,;:\\"/[\]?={}\s\t]+))/i);s&&(P=s[2]||s[3]||""),o=q(d),o&&(a.onPartData=U,a.onPartEnd=n);}else E==="content-type"&&(e=d);d="",E="";};for await(let s of u)a.write(s);return a.end(),L}l(V,"toFormData"),M.toFormData=V;});var multipartParser6VJXKNW2 = K();export{multipartParser6VJXKNW2 as default};