New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@artesa/multer

Package Overview
Dependencies
Maintainers
2
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@artesa/multer - npm Package Compare versions

Comparing version 0.1.3 to 0.1.4

2

dist/index.js

@@ -1,2 +0,2 @@

"use strict";var Z=Object.defineProperty;var G=(e,n,t)=>n in e?Z(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t;var L=(e,n,t)=>(G(e,typeof n!="symbol"?n+"":n,t),t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const Q=require("bytes"),N=require("node:fs"),V=require("type-is"),O=require("node:path"),q=require("node:stream"),U=require("node:util"),ee=require("@fastify/busboy"),ne=require("node:os"),te=require("on-finished"),re=require("stream-file-type"),y=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},ie=y(Q),d=y(N),oe=y(V),ae=y(ee),ce=y(ne),se=y(te),fe=y(re),D={CLIENT_ABORTED:"Client aborted",LIMIT_FILE_SIZE:"File too large",LIMIT_FILE_COUNT:"Too many files",LIMIT_FIELD_KEY:"Field name too long",LIMIT_FIELD_VALUE:"Field value too long",LIMIT_FIELD_COUNT:"Too many fields",LIMIT_UNEXPECTED_FILE:"Unexpected file field"};class l extends Error{constructor(t,i){super(D[t]);L(this,"code");L(this,"field");this.code=t,this.name=this.constructor.name,i&&(this.field=i),Error.captureStackTrace(this,this.constructor)}}function le(e){const n=new Map;for(const t of e)typeof t.maxCount=="number"?n.set(t.name,t.maxCount):n.set(t.name,1/0);return function(i){if(!n.has(i.fieldName))throw new l("LIMIT_UNEXPECTED_FILE",i.fieldName);const r=n.get(i.fieldName);if(r<=0)throw new l("LIMIT_FILE_COUNT",i.fieldName);n.set(i.fieldName,r-1)}}const ue=/^[^[]*/,de=/^\[(\d+)\]/,we=/^\[([^\]]+)\]/;function ye(e){function n(){return[{type:"object",key:e,last:!0}]}const t=ue.exec(e)[0];if(!t)return n();const i=e.length;let r=t.length,o={type:"object",key:t};const c=[o];for(;r<i;){let a;if(e[r]==="["&&e[r+1]==="]"){if(r+=2,o.append=!0,r!==i)return n();continue}if(a=de.exec(e.substring(r)),a!==null){r+=a[0].length,o.nextType="array",o={type:"array",key:parseInt(a[1],10)},c.push(o);continue}if(a=we.exec(e.substring(r)),a!==null){r+=a[0].length,o.nextType="object",o={type:"object",key:a[1]},c.push(o);continue}return n()}return o.last=!0,c}function B(e){return e===void 0?"undefined":Array.isArray(e)?"array":typeof e=="object"?"object":"scalar"}function R(e,n,t,i){switch(B(t)){case"undefined":n.append?e[n.key]=[i]:e[n.key]=i;break;case"array":e[n.key].push(i);break;case"object":return R(t,{type:"object",key:"",last:!0},t[""],i);case"scalar":e[n.key]=[e[n.key],i];break}return e}function he(e,n,t,i){if(n.last)return R(e,n,t,i);switch(B(t)){case"undefined":return n.nextType==="array"?e[n.key]=[]:e[n.key]=Object.create(null),e[n.key];case"object":return e[n.key];case"array":{if(n.nextType==="array")return t;const r=Object.create(null);return e[n.key]=r,t.forEach(function(o,c){o!==void 0&&(r[""+c]=o)}),r}case"scalar":{const r=Object.create(null);return r[""]=t,e[n.key]=r,r}}}function me(e,n,t){ye(n).reduce((r,o)=>he(r,o,r[o.key],t),e)}function be(e,n,t){switch(e){case"NONE":break;case"VALUE":n.file=null;break;case"ARRAY":n.files=[];break;case"OBJECT":n.files=Object.create(null);break;default:throw new Error(`Unknown file strategy: ${e}`)}if(e==="OBJECT")for(const i of t)n.files[i.name]=[];return function(r){switch(e){case"VALUE":n.file=r;break;case"ARRAY":n.files.push(r);break;case"OBJECT":n.files[r.fieldName].push(r);break}}}function pe(e){if(e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray)return new DataView(e.buffer,e.byteOffset,e.byteLength);if(e instanceof ArrayBuffer)return new DataView(e);throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray")}const Ee="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",ge="0123456789ABCDEFGHIJKLMNOPQRSTUV",Fe="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function Te(e,n,t){t=t||{};let i,r;switch(n){case"RFC3548":case"RFC4648":i=Ee,r=!0;break;case"RFC4648-HEX":i=ge,r=!0;break;case"Crockford":i=Fe,r=!1;break;default:throw new Error("Unknown base32 variant: "+n)}const o=t.padding!==void 0?t.padding:r,c=pe(e);let a=0,s=0,f="";for(let F=0;F<c.byteLength;F++)for(s=s<<8|c.getUint8(F),a+=8;a>=5;)f+=i[s>>>a-5&31],a-=5;if(a>0&&(f+=i[s<<5-a&31]),o)for(;f.length%8!==0;)f+="=";return f}function _e(e){const n=[],t=e.length;for(let i=0;i<t;i++){let r=e.charCodeAt(i);if(r>=55296&&r<=56319&&t>i+1){const o=e.charCodeAt(i+1);o>=56320&&o<=57343&&(r=(r-55296)*1024+o-56320+65536,i+=1)}if(r<128){n.push(r);continue}if(r<2048){n.push(r>>6|192),n.push(r&63|128);continue}if(r<55296||r>=57344&&r<65536){n.push(r>>12|224),n.push(r>>6&63|128),n.push(r&63|128);continue}if(r>=65536&&r<=1114111){n.push(r>>18|240),n.push(r>>12&63|128),n.push(r>>6&63|128),n.push(r&63|128);continue}n.push(239,191,189)}return new Uint8Array(n).buffer}function Ie(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e>>>0}const I=new Uint32Array([3432918353,461845907]);function x(e,n){return e<<n|e>>>32-n}function Le(e,n){const t=e.byteLength/4|0,i=new Uint32Array(e,0,t);for(let r=0;r<t;r++)i[r]=Math.imul(i[r],I[0]),i[r]=x(i[r],15),i[r]=Math.imul(i[r],I[1]),n[0]=n[0]^i[r],n[0]=x(n[0],13),n[0]=Math.imul(n[0],5)+3864292196}function xe(e,n){const t=e.byteLength/4|0,i=e.byteLength%4;let r=0;const o=new Uint8Array(e,t*4,i);switch(i){case 3:r=r^o[2]<<16;case 2:r=r^o[1]<<8;case 1:r=r^o[0]<<0,r=Math.imul(r,I[0]),r=x(r,15),r=Math.imul(r,I[1]),n[0]=n[0]^r}}function Se(e,n){n[0]=n[0]^e.byteLength,n[0]=Ie(n[0])}function ke(e,n){if(n=n?n|0:0,typeof e=="string"&&(e=_e(e)),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const t=new Uint32Array([n]);return Le(e,t),xe(e,t),Se(e,t),t.buffer}function P(e){if(typeof e!="string")throw new TypeError("template is not a string");const n=/(^|[^%])(%%)*%s/,t=n.exec(e);if(t===null)throw new Error("No replacement token. Template must contain replacement token %s exactly once");const i=t.index+t[0].length;if(n.exec(e.substring(i))!==null)throw new Error("Multiple replacement tokens. Template must contain replacement token %s exactly once")}function Me(e,n){return e.replace(/%([%s])/g,(t,i)=>i==="s"?n:i)}let Ae=0;const Ce=String(Math.random());function E(e,n){P(n);const t=ke(Ce+String(process.pid)+String(++Ae)),i=Te(t,"Crockford");return O.join(e,Me(n,i))}function S(e){let n,t=3;for(;--t;){try{n=e()}catch(i){if(i.code==="EEXIST")continue;throw i}return n}throw new Error("Failed to find unique name")}function k(e,n){let t=3;(function i(){e(function(r,o){if(!r)return n(null,o);if(r.code!=="EEXIST")return n(r);if(--t===0)return n(new Error("Failed to find unique name"));i()})})()}class Ne extends N.WriteStream{constructor(n,t){t=typeof t=="string"?{encoding:t}:t||{};const i=t.flags===void 0?"w":t.flags,r=t.mode===void 0?438:t.mode,{fd:o,path:c}=M(n,i,r);super(c,{...t,fd:o}),this.path=c}}const g=ce.default.tmpdir();function j(e,n,t,i){switch(n){case"w":n="wx";break;case"w+":n="wx+";break;default:throw new Error("Unknown file open flag: "+n)}typeof t=="function"&&(i=t,t=void 0);let r;k(function(o){r=E(g,e),d.default.open(r,n,t,o)},function(o,c){i(o,o?void 0:{fd:c,path:r})})}function M(e,n,t){switch(n){case"w":n="wx";break;case"w+":n="wx+";break;default:throw new Error("Unknown file open flag: "+n)}let i;return{fd:S(function(){return i=E(g,e),d.default.openSync(i,n,t)}),path:i}}function v(e,n,t){typeof n=="function"&&(t=n,n=void 0);let i;k(function(r){i=E(g,e),d.default.mkdir(i,n,r)},function(r){t(r,r?void 0:i)})}function z(e,n){let t;return S(function(){t=E(g,e),d.default.mkdirSync(t,n)}),t}function K(e,n,t,i){if(i=arguments[arguments.length-1],typeof t=="function"||!t)t={flag:"wx"};else if(typeof t=="string")t={encoding:t,flag:"wx"};else if(typeof t=="object")t.flag="wx";else throw new TypeError("Bad arguments");let r;k(function(o){r=E(g,e),d.default.writeFile(r,n,t,o)},function(o){i(o,o?void 0:r)})}function W(e,n,t){if(!t)t={flag:"wx"};else if(typeof t=="string")t={encoding:t,flag:"wx"};else if(typeof t=="object")t.flag="wx";else throw new TypeError("Bad arguments");let i;return S(function(){i=E(g,e),d.default.writeFileSync(i,n,t)}),i}function Y(e,n){return new Ne(e,n)}const w=Object.freeze(Object.defineProperty({__proto__:null,open:j,openSync:M,mkdir:v,mkdirSync:z,writeFile:K,writeFileSync:W,createWriteStream:Y},Symbol.toStringTag,{value:"Module"}));function C(e){return P(e),{open:j.bind(w,e),openSync:M.bind(w,e),mkdir:v.bind(w,e),mkdirSync:z.bind(w,e),writeFile:K.bind(w,e),writeFileSync:W.bind(w,e),createWriteStream:Y.bind(w,e)}}const h=Object.assign(C("%s"),{template:C});h.open;h.openSync;h.mkdir;h.mkdirSync;h.writeFile;h.writeFileSync;const Oe=h.createWriteStream;function X(e,n){return Object.prototype.hasOwnProperty.call(e,n)}const Ue=U.promisify(se.default),De=U.promisify(q.pipeline);function Be(e){e.on("readable",e.read.bind(e))}async function Re(e,n){return await new Promise((t,i)=>{const r=[];e.on("field",(o,c,a,s)=>{if(a)return i(new l("LIMIT_FIELD_KEY"));if(s)return i(new l("LIMIT_FIELD_VALUE",o));if(n&&X(n,"fieldNameSize")&&o.length>n.fieldNameSize)return i(new l("LIMIT_FIELD_KEY"));r.push({key:o,value:c})}),e.on("finish",()=>t(r))})}async function Pe(e,n,t){return await new Promise((i,r)=>{const o=[];e.on("file",async(c,a,s,f,F)=>{if(a.on("error",r),a.on("limit",()=>{r(new l("LIMIT_FILE_SIZE",c))}),n&&X(n,"fieldNameSize")&&c.length>n.fieldNameSize)return r(new l("LIMIT_FIELD_KEY"));const m={fieldName:c,originalName:s,clientReportedMimeType:F,clientReportedFileExtension:O.extname(s||"")};try{t(m)}catch(u){return r(u)}const T=Oe(),A=new fe.default,$=new Promise(u=>T.on("close",u)),H=De(a,A,T).then(async()=>{await $,m.path=T.path,m.size=T.bytesWritten;const u=await A.fileTypePromise();return m.detectedMimeType=u?u.mime:null,m.detectedFileExtension=u?`.${u.ext}`:"",m}).catch(r);o.push(H)}),e.on("finish",()=>i(Promise.all(o)))})}async function je(e,n,t){const i=new ae.default({headers:e.headers,limits:n}),r=Re(i,n),o=Pe(i,n,t),c=new Promise((a,s)=>{e.on("error",f=>s(f)),i.on("error",f=>s(f)),e.on("aborted",()=>s(new l("CLIENT_ABORTED"))),i.on("filesLimit",()=>s(new l("LIMIT_FILE_COUNT"))),i.on("fieldsLimit",()=>s(new l("LIMIT_FIELD_COUNT"))),i.on("finish",a)});e.pipe(i);try{const a=await Promise.all([r,o,c]);return{fields:a[0],files:a[1]}}catch(a){throw e.unpipe(i),Be(e),i.removeAllListeners(),await Ue(e).catch(()=>{}),a}}async function ve(e,n){const t=e(),i=await je(n,t.limits,t.fileFilter);n.body=Object.create(null);for(const o of i.fields)me(n.body,o.key,o.value);const r=be(t.fileStrategy,n,t.fields);for(const o of i.files)o.stream=d.default.createReadStream(o.path),o.stream.on("open",()=>d.default.unlink(o.path,()=>{})),r(o)}function J(e){return function(t,i,r){if(!oe.default(t,["multipart"]))return r();ve(e,t).then(r,r)}}const b=Symbol("limits");function p(e,n,t){const i=e[n]==null?t:e[n],r=ie.default.parse(i);if(!Number.isFinite(r))throw new Error(`Invalid limit "${n}" given: ${e[n]}`);if(!Number.isInteger(r))throw new Error(`Invalid limit "${n}" given: ${r}`);return r}function _(e,n,t){return J(()=>({fields:n,limits:e,fileFilter:le(n),fileStrategy:t}))}class ze{constructor(n){this[b]={fieldNameSize:p(n.limits||{},"fieldNameSize","100B"),fieldSize:p(n.limits||{},"fieldSize","8KB"),fields:p(n.limits||{},"fields",1e3),fileSize:p(n.limits||{},"fileSize","8MB"),files:p(n.limits||{},"files",10),headerPairs:p(n.limits||{},"headerPairs",2e3)}}single(n){return _(this[b],[{name:n,maxCount:1}],"VALUE")}array(n,t){return _(this[b],[{name:n,maxCount:t}],"ARRAY")}fields(n){return _(this[b],n,"OBJECT")}none(){return _(this[b],[],"NONE")}any(){return J(()=>({fields:[],limits:this[b],fileFilter:()=>{},fileStrategy:"ARRAY"}))}}function Ke(e={}){if(e===null)throw new TypeError('Expected object for argument "options", got null');if(typeof e!="object")throw new TypeError(`Expected object for argument "options", got ${typeof e}`);if(e.dest||e.storage||e.fileFilter)throw new Error('The "dest", "storage" and "fileFilter" options where removed in Multer 2.0. Please refer to the latest documentation for new usage.');return new ze(e)}exports.default=Ke;exports.errorMessages=D;
"use strict";var w=Object.defineProperty;var y=(e,t,i)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var g=(e,t,i)=>(y(e,typeof t!="symbol"?t+"":t,i),i);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const bytes=require("bytes"),fs$2=require("node:fs"),is=require("type-is"),node_path=require("node:path"),node_stream=require("node:stream"),node_util=require("node:util"),Busboy=require("@fastify/busboy"),os=require("node:os"),_onFinished=require("on-finished"),_interopDefaultLegacy=e=>e&&typeof e=="object"&&"default"in e?e:{default:e},bytes__default=_interopDefaultLegacy(bytes),fs__default=_interopDefaultLegacy(fs$2),is__default=_interopDefaultLegacy(is),Busboy__default=_interopDefaultLegacy(Busboy),os__default=_interopDefaultLegacy(os),_onFinished__default=_interopDefaultLegacy(_onFinished),errorMessages={CLIENT_ABORTED:"Client aborted",LIMIT_FILE_SIZE:"File too large",LIMIT_FILE_COUNT:"Too many files",LIMIT_FIELD_KEY:"Field name too long",LIMIT_FIELD_VALUE:"Field value too long",LIMIT_FIELD_COUNT:"Too many fields",LIMIT_UNEXPECTED_FILE:"Unexpected file field"};class MulterError extends Error{constructor(i,r){super(errorMessages[i]);g(this,"code");g(this,"field");this.code=i,this.name=this.constructor.name,r&&(this.field=r),Error.captureStackTrace(this,this.constructor)}}function createFileFilter(e){const t=new Map;for(const i of e)typeof i.maxCount=="number"?t.set(i.name,i.maxCount):t.set(i.name,1/0);return function(r){if(!t.has(r.fieldName))throw new MulterError("LIMIT_UNEXPECTED_FILE",r.fieldName);const n=t.get(r.fieldName);if(n<=0)throw new MulterError("LIMIT_FILE_COUNT",r.fieldName);t.set(r.fieldName,n-1)}}const reFirstKey=/^[^[]*/,reDigitPath=/^\[(\d+)\]/,reNormalPath=/^\[([^\]]+)\]/;function parsePath(e){function t(){return[{type:"object",key:e,last:!0}]}const i=reFirstKey.exec(e)[0];if(!i)return t();const r=e.length;let n=i.length,s={type:"object",key:i};const c=[s];for(;n<r;){let l;if(e[n]==="["&&e[n+1]==="]"){if(n+=2,s.append=!0,n!==r)return t();continue}if(l=reDigitPath.exec(e.substring(n)),l!==null){n+=l[0].length,s.nextType="array",s={type:"array",key:parseInt(l[1],10)},c.push(s);continue}if(l=reNormalPath.exec(e.substring(n)),l!==null){n+=l[0].length,s.nextType="object",s={type:"object",key:l[1]},c.push(s);continue}return t()}return s.last=!0,c}function valueType(e){return e===void 0?"undefined":Array.isArray(e)?"array":typeof e=="object"?"object":"scalar"}function setLastValue(e,t,i,r){switch(valueType(i)){case"undefined":t.append?e[t.key]=[r]:e[t.key]=r;break;case"array":e[t.key].push(r);break;case"object":return setLastValue(i,{type:"object",key:"",last:!0},i[""],r);case"scalar":e[t.key]=[e[t.key],r];break}return e}function setValue(e,t,i,r){if(t.last)return setLastValue(e,t,i,r);switch(valueType(i)){case"undefined":return t.nextType==="array"?e[t.key]=[]:e[t.key]=Object.create(null),e[t.key];case"object":return e[t.key];case"array":{if(t.nextType==="array")return i;const n=Object.create(null);return e[t.key]=n,i.forEach(function(s,c){s!==void 0&&(n[""+c]=s)}),n}case"scalar":{const n=Object.create(null);return n[""]=i,e[t.key]=n,n}}}function appendField(e,t,i){parsePath(t).reduce((n,s)=>setValue(n,s,n[s.key],i),e)}function createFileAppender(e,t,i){switch(e){case"NONE":break;case"VALUE":t.file=null;break;case"ARRAY":t.files=[];break;case"OBJECT":t.files=Object.create(null);break;default:throw new Error(`Unknown file strategy: ${e}`)}if(e==="OBJECT")for(const r of i)t.files[r.name]=[];return function(n){switch(e){case"VALUE":t.file=n;break;case"ARRAY":t.files.push(n);break;case"OBJECT":t.files[n.fieldName].push(n);break}}}function toDataView(e){if(e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray)return new DataView(e.buffer,e.byteOffset,e.byteLength);if(e instanceof ArrayBuffer)return new DataView(e);throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray")}const RFC4648="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",RFC4648_HEX="0123456789ABCDEFGHIJKLMNOPQRSTUV",CROCKFORD="0123456789ABCDEFGHJKMNPQRSTVWXYZ";function base32Encode(e,t,i){i=i||{};let r,n;switch(t){case"RFC3548":case"RFC4648":r=RFC4648,n=!0;break;case"RFC4648-HEX":r=RFC4648_HEX,n=!0;break;case"Crockford":r=CROCKFORD,n=!1;break;default:throw new Error("Unknown base32 variant: "+t)}const s=i.padding!==void 0?i.padding:n,c=toDataView(e);let l=0,o=0,a="";for(let f=0;f<c.byteLength;f++)for(o=o<<8|c.getUint8(f),l+=8;l>=5;)a+=r[o>>>l-5&31],l-=5;if(l>0&&(a+=r[o<<5-l&31]),s)for(;a.length%8!==0;)a+="=";return a}function encodeUtf8(e){const t=[],i=e.length;for(let r=0;r<i;r++){let n=e.charCodeAt(r);if(n>=55296&&n<=56319&&i>r+1){const s=e.charCodeAt(r+1);s>=56320&&s<=57343&&(n=(n-55296)*1024+s-56320+65536,r+=1)}if(n<128){t.push(n);continue}if(n<2048){t.push(n>>6|192),t.push(n&63|128);continue}if(n<55296||n>=57344&&n<65536){t.push(n>>12|224),t.push(n>>6&63|128),t.push(n&63|128);continue}if(n>=65536&&n<=1114111){t.push(n>>18|240),t.push(n>>12&63|128),t.push(n>>6&63|128),t.push(n&63|128);continue}t.push(239,191,189)}return new Uint8Array(t).buffer}function fmix(e){return e^=e>>>16,e=Math.imul(e,2246822507),e^=e>>>13,e=Math.imul(e,3266489909),e^=e>>>16,e>>>0}const C=new Uint32Array([3432918353,461845907]);function rotl(e,t){return e<<t|e>>>32-t}function body(e,t){const i=e.byteLength/4|0,r=new Uint32Array(e,0,i);for(let n=0;n<i;n++)r[n]=Math.imul(r[n],C[0]),r[n]=rotl(r[n],15),r[n]=Math.imul(r[n],C[1]),t[0]=t[0]^r[n],t[0]=rotl(t[0],13),t[0]=Math.imul(t[0],5)+3864292196}function tail(e,t){const i=e.byteLength/4|0,r=e.byteLength%4;let n=0;const s=new Uint8Array(e,i*4,r);switch(r){case 3:n=n^s[2]<<16;case 2:n=n^s[1]<<8;case 1:n=n^s[0]<<0,n=Math.imul(n,C[0]),n=rotl(n,15),n=Math.imul(n,C[1]),t[0]=t[0]^n}}function finalize(e,t){t[0]=t[0]^e.byteLength,t[0]=fmix(t[0])}function murmur(e,t){if(t=t?t|0:0,typeof e=="string"&&(e=encodeUtf8(e)),!(e instanceof ArrayBuffer))throw new TypeError("Expected key to be ArrayBuffer or string");const i=new Uint32Array([t]);return body(e,i),tail(e,i),finalize(e,i),i.buffer}function validateTemplate(e){if(typeof e!="string")throw new TypeError("template is not a string");const t=/(^|[^%])(%%)*%s/,i=t.exec(e);if(i===null)throw new Error("No replacement token. Template must contain replacement token %s exactly once");const r=i.index+i[0].length;if(t.exec(e.substring(r))!==null)throw new Error("Multiple replacement tokens. Template must contain replacement token %s exactly once")}function replaceToken(e,t){return e.replace(/%([%s])/g,(i,r)=>r==="s"?t:r)}let invocations=0;const localRandom=String(Math.random());function randomPath(e,t){validateTemplate(t);const i=murmur(localRandom+String(process.pid)+String(++invocations)),r=base32Encode(i,"Crockford");return node_path.join(e,replaceToken(t,r))}function retrySync(e){let t,i=3;for(;--i;){try{t=e()}catch(r){if(r.code==="EEXIST")continue;throw r}return t}throw new Error("Failed to find unique name")}function retryAsync(e,t){let i=3;(function r(){e(function(n,s){if(!n)return t(null,s);if(n.code!=="EEXIST")return t(n);if(--i===0)return t(new Error("Failed to find unique name"));r()})})()}class TempWriteStream extends fs$2.WriteStream{constructor(t,i){i=typeof i=="string"?{encoding:i}:i||{};const r=i.flags===void 0?"w":i.flags,n=i.mode===void 0?438:i.mode,{fd:s,path:c}=openSync(t,r,n);super(c,{...i,fd:s}),this.path=c}}const tmpdir=os__default.default.tmpdir();function open$1(e,t,i,r){switch(t){case"w":t="wx";break;case"w+":t="wx+";break;default:throw new Error("Unknown file open flag: "+t)}typeof i=="function"&&(r=i,i=void 0);let n;retryAsync(function(s){n=randomPath(tmpdir,e),fs__default.default.open(n,t,i,s)},function(s,c){r(s,s?void 0:{fd:c,path:n})})}function openSync(e,t,i){switch(t){case"w":t="wx";break;case"w+":t="wx+";break;default:throw new Error("Unknown file open flag: "+t)}let r;return{fd:retrySync(function(){return r=randomPath(tmpdir,e),fs__default.default.openSync(r,t,i)}),path:r}}function mkdir(e,t,i){typeof t=="function"&&(i=t,t=void 0);let r;retryAsync(function(n){r=randomPath(tmpdir,e),fs__default.default.mkdir(r,t,n)},function(n){i(n,n?void 0:r)})}function mkdirSync(e,t){let i;return retrySync(function(){i=randomPath(tmpdir,e),fs__default.default.mkdirSync(i,t)}),i}function writeFile$1(e,t,i,r){if(r=arguments[arguments.length-1],typeof i=="function"||!i)i={flag:"wx"};else if(typeof i=="string")i={encoding:i,flag:"wx"};else if(typeof i=="object")i.flag="wx";else throw new TypeError("Bad arguments");let n;retryAsync(function(s){n=randomPath(tmpdir,e),fs__default.default.writeFile(n,t,i,s)},function(s){r(s,s?void 0:n)})}function writeFileSync$1(e,t,i){if(!i)i={flag:"wx"};else if(typeof i=="string")i={encoding:i,flag:"wx"};else if(typeof i=="object")i.flag="wx";else throw new TypeError("Bad arguments");let r;return retrySync(function(){r=randomPath(tmpdir,e),fs__default.default.writeFileSync(r,t,i)}),r}function createWriteStream$1(e,t){return new TempWriteStream(e,t)}const temp=Object.freeze(Object.defineProperty({__proto__:null,open:open$1,openSync,mkdir,mkdirSync,writeFile:writeFile$1,writeFileSync:writeFileSync$1,createWriteStream:createWriteStream$1},Symbol.toStringTag,{value:"Module"}));function template(e){return validateTemplate(e),{open:open$1.bind(temp,e),openSync:openSync.bind(temp,e),mkdir:mkdir.bind(temp,e),mkdirSync:mkdirSync.bind(temp,e),writeFile:writeFile$1.bind(temp,e),writeFileSync:writeFileSync$1.bind(temp,e),createWriteStream:createWriteStream$1.bind(temp,e)}}const _default=Object.assign(template("%s"),{template});_default.open;_default.openSync;_default.mkdir;_default.mkdirSync;_default.writeFile;_default.writeFileSync;const createWriteStream=_default.createWriteStream;function getAugmentedNamespace(e){var t=e.default;if(typeof t=="function"){var i=function(){return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(i,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),i}var lib$2={},FsPromise={};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(__viteBrowserExternal$1);Object.defineProperty(FsPromise,"__esModule",{value:!0});FsPromise.readFile=FsPromise.writeFileSync=FsPromise.writeFile=FsPromise.read=FsPromise.open=FsPromise.close=FsPromise.stat=FsPromise.createReadStream=FsPromise.pathExists=void 0;const fs$1=require$$0;FsPromise.pathExists=fs$1.existsSync;FsPromise.createReadStream=fs$1.createReadStream;async function stat(e){return new Promise((t,i)=>{fs$1.stat(e,(r,n)=>{r?i(r):t(n)})})}FsPromise.stat=stat;async function close(e){return new Promise((t,i)=>{fs$1.close(e,r=>{r?i(r):t()})})}FsPromise.close=close;async function open(e,t){return new Promise((i,r)=>{fs$1.open(e,t,(n,s)=>{n?r(n):i(s)})})}FsPromise.open=open;async function read(e,t,i,r,n){return new Promise((s,c)=>{fs$1.read(e,t,i,r,n,(l,o,a)=>{l?c(l):s({bytesRead:o,buffer:a})})})}FsPromise.read=read;async function writeFile(e,t){return new Promise((i,r)=>{fs$1.writeFile(e,t,n=>{n?r(n):i()})})}FsPromise.writeFile=writeFile;function writeFileSync(e,t){fs$1.writeFileSync(e,t)}FsPromise.writeFileSync=writeFileSync;async function readFile(e){return new Promise((t,i)=>{fs$1.readFile(e,(r,n)=>{r?i(r):t(n)})})}FsPromise.readFile=readFile;var core$2={},ReadStreamTokenizer$1={},AbstractTokenizer$1={},lib$1={},EndOfFileStream={};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.EndOfStreamError=e.defaultMessages=void 0,e.defaultMessages="End-Of-Stream";class t extends Error{constructor(){super(e.defaultMessages)}}e.EndOfStreamError=t})(EndOfFileStream);var StreamReader={},Deferred$1={};Object.defineProperty(Deferred$1,"__esModule",{value:!0});Deferred$1.Deferred=void 0;class Deferred{constructor(){this.resolve=()=>null,this.reject=()=>null,this.promise=new Promise((t,i)=>{this.reject=i,this.resolve=t})}}Deferred$1.Deferred=Deferred;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;const t=EndOfFileStream,i=Deferred$1;var r=EndOfFileStream;Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});const n=1*1024*1024;class s{constructor(l){if(this.s=l,this.deferred=null,this.endOfStream=!1,this.peekQueue=[],!l.read||!l.once)throw new Error("Expected an instance of stream.Readable");this.s.once("end",()=>this.reject(new t.EndOfStreamError)),this.s.once("error",o=>this.reject(o)),this.s.once("close",()=>this.reject(new Error("Stream closed")))}async peek(l,o,a){const f=await this.read(l,o,a);return this.peekQueue.push(l.subarray(o,o+f)),f}async read(l,o,a){if(a===0)return 0;if(this.peekQueue.length===0&&this.endOfStream)throw new t.EndOfStreamError;let f=a,m=0;for(;this.peekQueue.length>0&&f>0;){const u=this.peekQueue.pop();if(!u)throw new Error("peekData should be defined");const x=Math.min(u.length,f);l.set(u.subarray(0,x),o+m),m+=x,f-=x,x<u.length&&this.peekQueue.push(u.subarray(x))}for(;f>0&&!this.endOfStream;){const u=Math.min(f,n),x=await this.readFromStream(l,o+m,u);if(m+=x,x<u)break;f-=x}return m}async readFromStream(l,o,a){const f=this.s.read(a);if(f)return l.set(f,o),f.length;{const m={buffer:l,offset:o,length:a,deferred:new i.Deferred};return this.deferred=m.deferred,this.s.once("readable",()=>{this.readDeferred(m)}),m.deferred.promise}}readDeferred(l){const o=this.s.read(l.length);o?(l.buffer.set(o,l.offset),l.deferred.resolve(o.length),this.deferred=null):this.s.once("readable",()=>{this.readDeferred(l)})}reject(l){this.endOfStream=!0,this.deferred&&(this.deferred.reject(l),this.deferred=null)}}e.StreamReader=s})(StreamReader);(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.StreamReader=e.EndOfStreamError=void 0;var t=EndOfFileStream;Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return t.EndOfStreamError}});var i=StreamReader;Object.defineProperty(e,"StreamReader",{enumerable:!0,get:function(){return i.StreamReader}})})(lib$1);Object.defineProperty(AbstractTokenizer$1,"__esModule",{value:!0});AbstractTokenizer$1.AbstractTokenizer=void 0;const peek_readable_1$3=lib$1;class AbstractTokenizer{constructor(t){this.position=0,this.numBuffer=new Uint8Array(8),this.fileInfo=t||{}}async readToken(t,i=this.position){const r=Buffer.alloc(t.len);if(await this.readBuffer(r,{position:i})<t.len)throw new peek_readable_1$3.EndOfStreamError;return t.get(r,0)}async peekToken(t,i=this.position){const r=Buffer.alloc(t.len);if(await this.peekBuffer(r,{position:i})<t.len)throw new peek_readable_1$3.EndOfStreamError;return t.get(r,0)}async readNumber(t){if(await this.readBuffer(this.numBuffer,{length:t.len})<t.len)throw new peek_readable_1$3.EndOfStreamError;return t.get(this.numBuffer,0)}async peekNumber(t){if(await this.peekBuffer(this.numBuffer,{length:t.len})<t.len)throw new peek_readable_1$3.EndOfStreamError;return t.get(this.numBuffer,0)}async ignore(t){if(this.fileInfo.size!==void 0){const i=this.fileInfo.size-this.position;if(t>i)return this.position+=i,i}return this.position+=t,t}async close(){}normalizeOptions(t,i){if(i&&i.position!==void 0&&i.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");return i?{mayBeLess:i.mayBeLess===!0,offset:i.offset?i.offset:0,length:i.length?i.length:t.length-(i.offset?i.offset:0),position:i.position?i.position:this.position}:{mayBeLess:!1,offset:0,length:t.length,position:this.position}}}AbstractTokenizer$1.AbstractTokenizer=AbstractTokenizer;Object.defineProperty(ReadStreamTokenizer$1,"__esModule",{value:!0});ReadStreamTokenizer$1.ReadStreamTokenizer=void 0;const AbstractTokenizer_1$2=AbstractTokenizer$1,peek_readable_1$2=lib$1,maxBufferSize=256e3;class ReadStreamTokenizer extends AbstractTokenizer_1$2.AbstractTokenizer{constructor(t,i){super(i),this.streamReader=new peek_readable_1$2.StreamReader(t)}async getFileInfo(){return this.fileInfo}async readBuffer(t,i){const r=this.normalizeOptions(t,i),n=r.position-this.position;if(n>0)return await this.ignore(n),this.readBuffer(t,i);if(n<0)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");if(r.length===0)return 0;const s=await this.streamReader.read(t,r.offset,r.length);if(this.position+=s,(!i||!i.mayBeLess)&&s<r.length)throw new peek_readable_1$2.EndOfStreamError;return s}async peekBuffer(t,i){const r=this.normalizeOptions(t,i);let n=0;if(r.position){const s=r.position-this.position;if(s>0){const c=new Uint8Array(r.length+s);return n=await this.peekBuffer(c,{mayBeLess:r.mayBeLess}),t.set(c.subarray(s),r.offset),n-s}else if(s<0)throw new Error("Cannot peek from a negative offset in a stream")}if(r.length>0){try{n=await this.streamReader.peek(t,r.offset,r.length)}catch(s){if(i&&i.mayBeLess&&s instanceof peek_readable_1$2.EndOfStreamError)return 0;throw s}if(!r.mayBeLess&&n<r.length)throw new peek_readable_1$2.EndOfStreamError}return n}async ignore(t){const i=Math.min(maxBufferSize,t),r=new Uint8Array(i);let n=0;for(;n<t;){const s=t-n,c=await this.readBuffer(r,{length:Math.min(i,s)});if(c<0)return c;n+=c}return n}}ReadStreamTokenizer$1.ReadStreamTokenizer=ReadStreamTokenizer;var BufferTokenizer$1={};Object.defineProperty(BufferTokenizer$1,"__esModule",{value:!0});BufferTokenizer$1.BufferTokenizer=void 0;const peek_readable_1$1=lib$1,AbstractTokenizer_1$1=AbstractTokenizer$1;class BufferTokenizer extends AbstractTokenizer_1$1.AbstractTokenizer{constructor(t,i){super(i),this.uint8Array=t,this.fileInfo.size=this.fileInfo.size?this.fileInfo.size:t.length}async readBuffer(t,i){if(i&&i.position){if(i.position<this.position)throw new Error("`options.position` must be equal or greater than `tokenizer.position`");this.position=i.position}const r=await this.peekBuffer(t,i);return this.position+=r,r}async peekBuffer(t,i){const r=this.normalizeOptions(t,i),n=Math.min(this.uint8Array.length-r.position,r.length);if(!r.mayBeLess&&n<r.length)throw new peek_readable_1$1.EndOfStreamError;return t.set(this.uint8Array.subarray(r.position,r.position+n),r.offset),n}async close(){}}BufferTokenizer$1.BufferTokenizer=BufferTokenizer;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromBuffer=e.fromStream=e.EndOfStreamError=void 0;const t=ReadStreamTokenizer$1,i=BufferTokenizer$1;var r=lib$1;Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return r.EndOfStreamError}});function n(c,l){return l=l||{},new t.ReadStreamTokenizer(c,l)}e.fromStream=n;function s(c,l){return new i.BufferTokenizer(c,l)}e.fromBuffer=s})(core$2);var FileTokenizer$1={};Object.defineProperty(FileTokenizer$1,"__esModule",{value:!0});FileTokenizer$1.fromFile=FileTokenizer$1.FileTokenizer=void 0;const AbstractTokenizer_1=AbstractTokenizer$1,peek_readable_1=lib$1,fs=FsPromise;class FileTokenizer extends AbstractTokenizer_1.AbstractTokenizer{constructor(t,i){super(i),this.fd=t}async readBuffer(t,i){const r=this.normalizeOptions(t,i);this.position=r.position;const n=await fs.read(this.fd,t,r.offset,r.length,r.position);if(this.position+=n.bytesRead,n.bytesRead<r.length&&(!i||!i.mayBeLess))throw new peek_readable_1.EndOfStreamError;return n.bytesRead}async peekBuffer(t,i){const r=this.normalizeOptions(t,i),n=await fs.read(this.fd,t,r.offset,r.length,r.position);if(!r.mayBeLess&&n.bytesRead<r.length)throw new peek_readable_1.EndOfStreamError;return n.bytesRead}async close(){return fs.close(this.fd)}}FileTokenizer$1.FileTokenizer=FileTokenizer;async function fromFile$1(e){const t=await fs.stat(e);if(!t.isFile)throw new Error(`File not a file: ${e}`);const i=await fs.open(e,"r");return new FileTokenizer(i,{path:e,size:t.size})}FileTokenizer$1.fromFile=fromFile$1;(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.fromStream=e.fromBuffer=e.EndOfStreamError=e.fromFile=void 0;const t=FsPromise,i=core$2;var r=FileTokenizer$1;Object.defineProperty(e,"fromFile",{enumerable:!0,get:function(){return r.fromFile}});var n=core$2;Object.defineProperty(e,"EndOfStreamError",{enumerable:!0,get:function(){return n.EndOfStreamError}}),Object.defineProperty(e,"fromBuffer",{enumerable:!0,get:function(){return n.fromBuffer}});async function s(c,l){if(l=l||{},c.path){const o=await t.stat(c.path);l.path=c.path,l.size=o.size}return i.fromStream(c,l)}e.fromStream=s})(lib$2);var lib={},ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ieee754.read=function(e,t,i,r,n){var s,c,l=n*8-r-1,o=(1<<l)-1,a=o>>1,f=-7,m=i?n-1:0,u=i?-1:1,x=e[t+m];for(m+=u,s=x&(1<<-f)-1,x>>=-f,f+=l;f>0;s=s*256+e[t+m],m+=u,f-=8);for(c=s&(1<<-f)-1,s>>=-f,f+=r;f>0;c=c*256+e[t+m],m+=u,f-=8);if(s===0)s=1-a;else{if(s===o)return c?NaN:(x?-1:1)*(1/0);c=c+Math.pow(2,r),s=s-a}return(x?-1:1)*c*Math.pow(2,s-r)};ieee754.write=function(e,t,i,r,n,s){var c,l,o,a=s*8-n-1,f=(1<<a)-1,m=f>>1,u=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,x=r?0:s-1,p=r?1:-1,h=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,c=f):(c=Math.floor(Math.log(t)/Math.LN2),t*(o=Math.pow(2,-c))<1&&(c--,o*=2),c+m>=1?t+=u/o:t+=u*Math.pow(2,1-m),t*o>=2&&(c++,o/=2),c+m>=f?(l=0,c=f):c+m>=1?(l=(t*o-1)*Math.pow(2,n),c=c+m):(l=t*Math.pow(2,m-1)*Math.pow(2,n),c=0));n>=8;e[i+x]=l&255,x+=p,l/=256,n-=8);for(c=c<<n|l,a+=n;a>0;e[i+x]=c&255,x+=p,c/=256,a-=8);e[i+x-p]|=h*128};(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.AnsiStringType=e.StringType=e.BufferType=e.Uint8ArrayType=e.IgnoreType=e.Float80_LE=e.Float80_BE=e.Float64_LE=e.Float64_BE=e.Float32_LE=e.Float32_BE=e.Float16_LE=e.Float16_BE=e.INT64_BE=e.UINT64_BE=e.INT64_LE=e.UINT64_LE=e.INT32_LE=e.INT32_BE=e.INT24_BE=e.INT24_LE=e.INT16_LE=e.INT16_BE=e.INT8=e.UINT32_BE=e.UINT32_LE=e.UINT24_BE=e.UINT24_LE=e.UINT16_BE=e.UINT16_LE=e.UINT8=void 0;const t=ieee754;function i(o){return new DataView(o.buffer,o.byteOffset)}e.UINT8={len:1,get(o,a){return i(o).getUint8(a)},put(o,a,f){return i(o).setUint8(a,f),a+1}},e.UINT16_LE={len:2,get(o,a){return i(o).getUint16(a,!0)},put(o,a,f){return i(o).setUint16(a,f,!0),a+2}},e.UINT16_BE={len:2,get(o,a){return i(o).getUint16(a)},put(o,a,f){return i(o).setUint16(a,f),a+2}},e.UINT24_LE={len:3,get(o,a){const f=i(o);return f.getUint8(a)+(f.getUint16(a+1,!0)<<8)},put(o,a,f){const m=i(o);return m.setUint8(a,f&255),m.setUint16(a+1,f>>8,!0),a+3}},e.UINT24_BE={len:3,get(o,a){const f=i(o);return(f.getUint16(a)<<8)+f.getUint8(a+2)},put(o,a,f){const m=i(o);return m.setUint16(a,f>>8),m.setUint8(a+2,f&255),a+3}},e.UINT32_LE={len:4,get(o,a){return i(o).getUint32(a,!0)},put(o,a,f){return i(o).setUint32(a,f,!0),a+4}},e.UINT32_BE={len:4,get(o,a){return i(o).getUint32(a)},put(o,a,f){return i(o).setUint32(a,f),a+4}},e.INT8={len:1,get(o,a){return i(o).getInt8(a)},put(o,a,f){return i(o).setInt8(a,f),a+1}},e.INT16_BE={len:2,get(o,a){return i(o).getInt16(a)},put(o,a,f){return i(o).setInt16(a,f),a+2}},e.INT16_LE={len:2,get(o,a){return i(o).getInt16(a,!0)},put(o,a,f){return i(o).setInt16(a,f,!0),a+2}},e.INT24_LE={len:3,get(o,a){const f=e.UINT24_LE.get(o,a);return f>8388607?f-16777216:f},put(o,a,f){const m=i(o);return m.setUint8(a,f&255),m.setUint16(a+1,f>>8,!0),a+3}},e.INT24_BE={len:3,get(o,a){const f=e.UINT24_BE.get(o,a);return f>8388607?f-16777216:f},put(o,a,f){const m=i(o);return m.setUint16(a,f>>8),m.setUint8(a+2,f&255),a+3}},e.INT32_BE={len:4,get(o,a){return i(o).getInt32(a)},put(o,a,f){return i(o).setInt32(a,f),a+4}},e.INT32_LE={len:4,get(o,a){return i(o).getInt32(a,!0)},put(o,a,f){return i(o).setInt32(a,f,!0),a+4}},e.UINT64_LE={len:8,get(o,a){return i(o).getBigUint64(a,!0)},put(o,a,f){return i(o).setBigUint64(a,f,!0),a+8}},e.INT64_LE={len:8,get(o,a){return i(o).getBigInt64(a,!0)},put(o,a,f){return i(o).setBigInt64(a,f,!0),a+8}},e.UINT64_BE={len:8,get(o,a){return i(o).getBigUint64(a)},put(o,a,f){return i(o).setBigUint64(a,f),a+8}},e.INT64_BE={len:8,get(o,a){return i(o).getBigInt64(a)},put(o,a,f){return i(o).setBigInt64(a,f),a+8}},e.Float16_BE={len:2,get(o,a){return t.read(o,a,!1,10,this.len)},put(o,a,f){return t.write(o,f,a,!1,10,this.len),a+this.len}},e.Float16_LE={len:2,get(o,a){return t.read(o,a,!0,10,this.len)},put(o,a,f){return t.write(o,f,a,!0,10,this.len),a+this.len}},e.Float32_BE={len:4,get(o,a){return i(o).getFloat32(a)},put(o,a,f){return i(o).setFloat32(a,f),a+4}},e.Float32_LE={len:4,get(o,a){return i(o).getFloat32(a,!0)},put(o,a,f){return i(o).setFloat32(a,f,!0),a+4}},e.Float64_BE={len:8,get(o,a){return i(o).getFloat64(a)},put(o,a,f){return i(o).setFloat64(a,f),a+8}},e.Float64_LE={len:8,get(o,a){return i(o).getFloat64(a,!0)},put(o,a,f){return i(o).setFloat64(a,f,!0),a+8}},e.Float80_BE={len:10,get(o,a){return t.read(o,a,!1,63,this.len)},put(o,a,f){return t.write(o,f,a,!1,63,this.len),a+this.len}},e.Float80_LE={len:10,get(o,a){return t.read(o,a,!0,63,this.len)},put(o,a,f){return t.write(o,f,a,!0,63,this.len),a+this.len}};class r{constructor(a){this.len=a}get(a,f){}}e.IgnoreType=r;class n{constructor(a){this.len=a}get(a,f){return a.subarray(f,f+this.len)}}e.Uint8ArrayType=n;class s{constructor(a){this.len=a}get(a,f){return Buffer.from(a.subarray(f,f+this.len))}}e.BufferType=s;class c{constructor(a,f){this.len=a,this.encoding=f}get(a,f){return Buffer.from(a).toString(this.encoding,f,f+this.len)}}e.StringType=c;class l{constructor(a){this.len=a}static decode(a,f,m){let u="";for(let x=f;x<m;++x)u+=l.codePointToString(l.singleByteDecoder(a[x]));return u}static inRange(a,f,m){return f<=a&&a<=m}static codePointToString(a){return a<=65535?String.fromCharCode(a):(a-=65536,String.fromCharCode((a>>10)+55296,(a&1023)+56320))}static singleByteDecoder(a){if(l.inRange(a,0,127))return a;const f=l.windows1252[a-128];if(f===null)throw Error("invaliding encoding");return f}get(a,f=0){return l.decode(a,f,f+this.len)}}e.AnsiStringType=l,l.windows1252=[8364,129,8218,402,8222,8230,8224,8225,710,8240,352,8249,338,141,381,143,144,8216,8217,8220,8221,8226,8211,8212,732,8482,353,8250,339,157,382,376,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]})(lib);var util={};util.stringToBytes=e=>[...e].map(t=>t.charCodeAt(0));util.tarHeaderChecksumMatches=(e,t=0)=>{const i=parseInt(e.toString("utf8",148,154).replace(/\0.*$/,"").trim(),8);if(isNaN(i))return!1;let r=8*32;for(let n=t;n<t+148;n++)r+=e[n];for(let n=t+156;n<t+512;n++)r+=e[n];return i===r};util.uint32SyncSafeToken={get:(e,t)=>e[t+3]&127|e[t+2]<<7|e[t+1]<<14|e[t]<<21,len:4};var supported$1={extensions:["jpg","png","apng","gif","webp","flif","xcf","cr2","cr3","orf","arw","dng","nef","rw2","raf","tif","bmp","icns","jxr","psd","indd","zip","tar","rar","gz","bz2","7z","dmg","mp4","mid","mkv","webm","mov","avi","mpg","mp2","mp3","m4a","oga","ogg","ogv","opus","flac","wav","spx","amr","pdf","epub","exe","swf","rtf","wasm","woff","woff2","eot","ttf","otf","ico","flv","ps","xz","sqlite","nes","crx","xpi","cab","deb","ar","rpm","Z","lz","cfb","mxf","mts","blend","bpg","docx","pptx","xlsx","3gp","3g2","jp2","jpm","jpx","mj2","aif","qcp","odt","ods","odp","xml","mobi","heic","cur","ktx","ape","wv","dcm","ics","glb","pcap","dsf","lnk","alias","voc","ac3","m4v","m4p","m4b","f4v","f4p","f4b","f4a","mie","asf","ogm","ogx","mpc","arrow","shp","aac","mp1","it","s3m","xm","ai","skp","avif","eps","lzh","pgp","asar","stl","chm","3mf","zst","jxl","vcf"],mimeTypes:["image/jpeg","image/png","image/gif","image/webp","image/flif","image/x-xcf","image/x-canon-cr2","image/x-canon-cr3","image/tiff","image/bmp","image/vnd.ms-photo","image/vnd.adobe.photoshop","application/x-indesign","application/epub+zip","application/x-xpinstall","application/vnd.oasis.opendocument.text","application/vnd.oasis.opendocument.spreadsheet","application/vnd.oasis.opendocument.presentation","application/vnd.openxmlformats-officedocument.wordprocessingml.document","application/vnd.openxmlformats-officedocument.presentationml.presentation","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/zip","application/x-tar","application/x-rar-compressed","application/gzip","application/x-bzip2","application/x-7z-compressed","application/x-apple-diskimage","application/x-apache-arrow","video/mp4","audio/midi","video/x-matroska","video/webm","video/quicktime","video/vnd.avi","audio/vnd.wave","audio/qcelp","audio/x-ms-asf","video/x-ms-asf","application/vnd.ms-asf","video/mpeg","video/3gpp","audio/mpeg","audio/mp4","audio/opus","video/ogg","audio/ogg","application/ogg","audio/x-flac","audio/ape","audio/wavpack","audio/amr","application/pdf","application/x-msdownload","application/x-shockwave-flash","application/rtf","application/wasm","font/woff","font/woff2","application/vnd.ms-fontobject","font/ttf","font/otf","image/x-icon","video/x-flv","application/postscript","application/eps","application/x-xz","application/x-sqlite3","application/x-nintendo-nes-rom","application/x-google-chrome-extension","application/vnd.ms-cab-compressed","application/x-deb","application/x-unix-archive","application/x-rpm","application/x-compress","application/x-lzip","application/x-cfb","application/x-mie","application/mxf","video/mp2t","application/x-blender","image/bpg","image/jp2","image/jpx","image/jpm","image/mj2","audio/aiff","application/xml","application/x-mobipocket-ebook","image/heif","image/heif-sequence","image/heic","image/heic-sequence","image/icns","image/ktx","application/dicom","audio/x-musepack","text/calendar","text/vcard","model/gltf-binary","application/vnd.tcpdump.pcap","audio/x-dsf","application/x.ms.shortcut","application/x.apple.alias","audio/x-voc","audio/vnd.dolby.dd-raw","audio/x-m4a","image/apng","image/x-olympus-orf","image/x-sony-arw","image/x-adobe-dng","image/x-nikon-nef","image/x-panasonic-rw2","image/x-fujifilm-raf","video/x-m4v","video/3gpp2","application/x-esri-shape","audio/aac","audio/x-it","audio/x-s3m","audio/x-xm","video/MP1S","video/MP2P","application/vnd.sketchup.skp","image/avif","application/x-lzh-compressed","application/pgp-encrypted","application/x-asar","model/stl","application/vnd.ms-htmlhelp","model/3mf","image/jxl","application/zstd"]};const Token=lib,strtok3$1=core$2,{stringToBytes,tarHeaderChecksumMatches,uint32SyncSafeToken}=util,supported=supported$1,minimumBytes=4100;async function fromStream(e){const t=await strtok3$1.fromStream(e);try{return await fromTokenizer(t)}finally{await t.close()}}async function fromBuffer(e){if(!(e instanceof Uint8Array||e instanceof ArrayBuffer||Buffer.isBuffer(e)))throw new TypeError(`Expected the \`input\` argument to be of type \`Uint8Array\` or \`Buffer\` or \`ArrayBuffer\`, got \`${typeof e}\``);const t=e instanceof Buffer?e:Buffer.from(e);if(!(t&&t.length>1))return;const i=strtok3$1.fromBuffer(t);return fromTokenizer(i)}function _check(e,t,i){i={offset:0,...i};for(const[r,n]of t.entries())if(i.mask){if(n!==(i.mask[r]&e[r+i.offset]))return!1}else if(n!==e[r+i.offset])return!1;return!0}async function fromTokenizer(e){try{return _fromTokenizer(e)}catch(t){if(!(t instanceof strtok3$1.EndOfStreamError))throw t}}async function _fromTokenizer(e){let t=Buffer.alloc(minimumBytes);const i=12,r=(s,c)=>_check(t,s,c),n=(s,c)=>r(stringToBytes(s),c);if(e.fileInfo.size||(e.fileInfo.size=Number.MAX_SAFE_INTEGER),await e.peekBuffer(t,{length:i,mayBeLess:!0}),r([66,77]))return{ext:"bmp",mime:"image/bmp"};if(r([11,119]))return{ext:"ac3",mime:"audio/vnd.dolby.dd-raw"};if(r([120,1]))return{ext:"dmg",mime:"application/x-apple-diskimage"};if(r([77,90]))return{ext:"exe",mime:"application/x-msdownload"};if(r([37,33]))return await e.peekBuffer(t,{length:24,mayBeLess:!0}),n("PS-Adobe-",{offset:2})&&n(" EPSF-",{offset:14})?{ext:"eps",mime:"application/eps"}:{ext:"ps",mime:"application/postscript"};if(r([31,160])||r([31,157]))return{ext:"Z",mime:"application/x-compress"};if(r([255,216,255]))return{ext:"jpg",mime:"image/jpeg"};if(r([73,73,188]))return{ext:"jxr",mime:"image/vnd.ms-photo"};if(r([31,139,8]))return{ext:"gz",mime:"application/gzip"};if(r([66,90,104]))return{ext:"bz2",mime:"application/x-bzip2"};if(n("ID3")){await e.ignore(6);const s=await e.readToken(uint32SyncSafeToken);return e.position+s>e.fileInfo.size?{ext:"mp3",mime:"audio/mpeg"}:(await e.ignore(s),fromTokenizer(e))}if(n("MP+"))return{ext:"mpc",mime:"audio/x-musepack"};if((t[0]===67||t[0]===70)&&r([87,83],{offset:1}))return{ext:"swf",mime:"application/x-shockwave-flash"};if(r([71,73,70]))return{ext:"gif",mime:"image/gif"};if(n("FLIF"))return{ext:"flif",mime:"image/flif"};if(n("8BPS"))return{ext:"psd",mime:"image/vnd.adobe.photoshop"};if(n("WEBP",{offset:8}))return{ext:"webp",mime:"image/webp"};if(n("MPCK"))return{ext:"mpc",mime:"audio/x-musepack"};if(n("FORM"))return{ext:"aif",mime:"audio/aiff"};if(n("icns",{offset:0}))return{ext:"icns",mime:"image/icns"};if(r([80,75,3,4])){try{for(;e.position+30<e.fileInfo.size;){await e.readBuffer(t,{length:30});const s={compressedSize:t.readUInt32LE(18),uncompressedSize:t.readUInt32LE(22),filenameLength:t.readUInt16LE(26),extraFieldLength:t.readUInt16LE(28)};if(s.filename=await e.readToken(new Token.StringType(s.filenameLength,"utf-8")),await e.ignore(s.extraFieldLength),s.filename==="META-INF/mozilla.rsa")return{ext:"xpi",mime:"application/x-xpinstall"};if(s.filename.endsWith(".rels")||s.filename.endsWith(".xml"))switch(s.filename.split("/")[0]){case"_rels":break;case"word":return{ext:"docx",mime:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"};case"ppt":return{ext:"pptx",mime:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};case"xl":return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};default:break}if(s.filename.startsWith("xl/"))return{ext:"xlsx",mime:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"};if(s.filename.startsWith("3D/")&&s.filename.endsWith(".model"))return{ext:"3mf",mime:"model/3mf"};if(s.filename==="mimetype"&&s.compressedSize===s.uncompressedSize)switch(await e.readToken(new Token.StringType(s.compressedSize,"utf-8"))){case"application/epub+zip":return{ext:"epub",mime:"application/epub+zip"};case"application/vnd.oasis.opendocument.text":return{ext:"odt",mime:"application/vnd.oasis.opendocument.text"};case"application/vnd.oasis.opendocument.spreadsheet":return{ext:"ods",mime:"application/vnd.oasis.opendocument.spreadsheet"};case"application/vnd.oasis.opendocument.presentation":return{ext:"odp",mime:"application/vnd.oasis.opendocument.presentation"};default:}if(s.compressedSize===0){let c=-1;for(;c<0&&e.position<e.fileInfo.size;)await e.peekBuffer(t,{mayBeLess:!0}),c=t.indexOf("504B0304",0,"hex"),await e.ignore(c>=0?c:t.length)}else await e.ignore(s.compressedSize)}}catch(s){if(!(s instanceof strtok3$1.EndOfStreamError))throw s}return{ext:"zip",mime:"application/zip"}}if(n("OggS")){await e.ignore(28);const s=Buffer.alloc(8);return await e.readBuffer(s),_check(s,[79,112,117,115,72,101,97,100])?{ext:"opus",mime:"audio/opus"}:_check(s,[128,116,104,101,111,114,97])?{ext:"ogv",mime:"video/ogg"}:_check(s,[1,118,105,100,101,111,0])?{ext:"ogm",mime:"video/ogg"}:_check(s,[127,70,76,65,67])?{ext:"oga",mime:"audio/ogg"}:_check(s,[83,112,101,101,120,32,32])?{ext:"spx",mime:"audio/ogg"}:_check(s,[1,118,111,114,98,105,115])?{ext:"ogg",mime:"audio/ogg"}:{ext:"ogx",mime:"application/ogg"}}if(r([80,75])&&(t[2]===3||t[2]===5||t[2]===7)&&(t[3]===4||t[3]===6||t[3]===8))return{ext:"zip",mime:"application/zip"};if(n("ftyp",{offset:4})&&(t[8]&96)!==0){const s=t.toString("binary",8,12).replace("\0"," ").trim();switch(s){case"avif":return{ext:"avif",mime:"image/avif"};case"mif1":return{ext:"heic",mime:"image/heif"};case"msf1":return{ext:"heic",mime:"image/heif-sequence"};case"heic":case"heix":return{ext:"heic",mime:"image/heic"};case"hevc":case"hevx":return{ext:"heic",mime:"image/heic-sequence"};case"qt":return{ext:"mov",mime:"video/quicktime"};case"M4V":case"M4VH":case"M4VP":return{ext:"m4v",mime:"video/x-m4v"};case"M4P":return{ext:"m4p",mime:"video/mp4"};case"M4B":return{ext:"m4b",mime:"audio/mp4"};case"M4A":return{ext:"m4a",mime:"audio/x-m4a"};case"F4V":return{ext:"f4v",mime:"video/mp4"};case"F4P":return{ext:"f4p",mime:"video/mp4"};case"F4A":return{ext:"f4a",mime:"audio/mp4"};case"F4B":return{ext:"f4b",mime:"audio/mp4"};case"crx":return{ext:"cr3",mime:"image/x-canon-cr3"};default:return s.startsWith("3g")?s.startsWith("3g2")?{ext:"3g2",mime:"video/3gpp2"}:{ext:"3gp",mime:"video/3gpp"}:{ext:"mp4",mime:"video/mp4"}}}if(n("MThd"))return{ext:"mid",mime:"audio/midi"};if(n("wOFF")&&(r([0,1,0,0],{offset:4})||n("OTTO",{offset:4})))return{ext:"woff",mime:"font/woff"};if(n("wOF2")&&(r([0,1,0,0],{offset:4})||n("OTTO",{offset:4})))return{ext:"woff2",mime:"font/woff2"};if(r([212,195,178,161])||r([161,178,195,212]))return{ext:"pcap",mime:"application/vnd.tcpdump.pcap"};if(n("DSD "))return{ext:"dsf",mime:"audio/x-dsf"};if(n("LZIP"))return{ext:"lz",mime:"application/x-lzip"};if(n("fLaC"))return{ext:"flac",mime:"audio/x-flac"};if(r([66,80,71,251]))return{ext:"bpg",mime:"image/bpg"};if(n("wvpk"))return{ext:"wv",mime:"audio/wavpack"};if(n("%PDF")){await e.ignore(1350);const s=10*1024*1024,c=Buffer.alloc(Math.min(s,e.fileInfo.size));return await e.readBuffer(c,{mayBeLess:!0}),c.includes(Buffer.from("AIPrivateData"))?{ext:"ai",mime:"application/postscript"}:{ext:"pdf",mime:"application/pdf"}}if(r([0,97,115,109]))return{ext:"wasm",mime:"application/wasm"};if(r([73,73,42,0]))return n("CR",{offset:8})?{ext:"cr2",mime:"image/x-canon-cr2"}:r([28,0,254,0],{offset:8})||r([31,0,11,0],{offset:8})?{ext:"nef",mime:"image/x-nikon-nef"}:r([8,0,0,0],{offset:4})&&(r([45,0,254,0],{offset:8})||r([39,0,254,0],{offset:8}))?{ext:"dng",mime:"image/x-adobe-dng"}:(t=Buffer.alloc(24),await e.peekBuffer(t),(r([16,251,134,1],{offset:4})||r([8,0,0,0],{offset:4}))&&r([0,254,0,4,0,1,0,0,0,1,0,0,0,3,1],{offset:9})?{ext:"arw",mime:"image/x-sony-arw"}:{ext:"tif",mime:"image/tiff"});if(r([77,77,0,42]))return{ext:"tif",mime:"image/tiff"};if(n("MAC "))return{ext:"ape",mime:"audio/ape"};if(r([26,69,223,163])){async function s(){const f=await e.peekNumber(Token.UINT8);let m=128,u=0;for(;(f&m)===0&&m!==0;)++u,m>>=1;const x=Buffer.alloc(u+1);return await e.readBuffer(x),x}async function c(){const f=await s(),m=await s();m[0]^=128>>m.length-1;const u=Math.min(6,m.length);return{id:f.readUIntBE(0,f.length),len:m.readUIntBE(m.length-u,u)}}async function l(f,m){for(;m>0;){const u=await c();if(u.id===17026)return e.readToken(new Token.StringType(u.len,"utf-8"));await e.ignore(u.len),--m}}const o=await c();switch(await l(1,o.len)){case"webm":return{ext:"webm",mime:"video/webm"};case"matroska":return{ext:"mkv",mime:"video/x-matroska"};default:return}}if(r([82,73,70,70])){if(r([65,86,73],{offset:8}))return{ext:"avi",mime:"video/vnd.avi"};if(r([87,65,86,69],{offset:8}))return{ext:"wav",mime:"audio/vnd.wave"};if(r([81,76,67,77],{offset:8}))return{ext:"qcp",mime:"audio/qcelp"}}if(n("SQLi"))return{ext:"sqlite",mime:"application/x-sqlite3"};if(r([78,69,83,26]))return{ext:"nes",mime:"application/x-nintendo-nes-rom"};if(n("Cr24"))return{ext:"crx",mime:"application/x-google-chrome-extension"};if(n("MSCF")||n("ISc("))return{ext:"cab",mime:"application/vnd.ms-cab-compressed"};if(r([237,171,238,219]))return{ext:"rpm",mime:"application/x-rpm"};if(r([197,208,211,198]))return{ext:"eps",mime:"application/eps"};if(r([40,181,47,253]))return{ext:"zst",mime:"application/zstd"};if(r([79,84,84,79,0]))return{ext:"otf",mime:"font/otf"};if(n("#!AMR"))return{ext:"amr",mime:"audio/amr"};if(n("{\\rtf"))return{ext:"rtf",mime:"application/rtf"};if(r([70,76,86,1]))return{ext:"flv",mime:"video/x-flv"};if(n("IMPM"))return{ext:"it",mime:"audio/x-it"};if(n("-lh0-",{offset:2})||n("-lh1-",{offset:2})||n("-lh2-",{offset:2})||n("-lh3-",{offset:2})||n("-lh4-",{offset:2})||n("-lh5-",{offset:2})||n("-lh6-",{offset:2})||n("-lh7-",{offset:2})||n("-lzs-",{offset:2})||n("-lz4-",{offset:2})||n("-lz5-",{offset:2})||n("-lhd-",{offset:2}))return{ext:"lzh",mime:"application/x-lzh-compressed"};if(r([0,0,1,186])){if(r([33],{offset:4,mask:[241]}))return{ext:"mpg",mime:"video/MP1S"};if(r([68],{offset:4,mask:[196]}))return{ext:"mpg",mime:"video/MP2P"}}if(n("ITSF"))return{ext:"chm",mime:"application/vnd.ms-htmlhelp"};if(r([253,55,122,88,90,0]))return{ext:"xz",mime:"application/x-xz"};if(n("<?xml "))return{ext:"xml",mime:"application/xml"};if(r([55,122,188,175,39,28]))return{ext:"7z",mime:"application/x-7z-compressed"};if(r([82,97,114,33,26,7])&&(t[6]===0||t[6]===1))return{ext:"rar",mime:"application/x-rar-compressed"};if(n("solid "))return{ext:"stl",mime:"model/stl"};if(n("BLENDER"))return{ext:"blend",mime:"application/x-blender"};if(n("!<arch>"))return await e.ignore(8),await e.readToken(new Token.StringType(13,"ascii"))==="debian-binary"?{ext:"deb",mime:"application/x-deb"}:{ext:"ar",mime:"application/x-unix-archive"};if(r([137,80,78,71,13,10,26,10])){await e.ignore(8);async function s(){return{length:await e.readToken(Token.INT32_BE),type:await e.readToken(new Token.StringType(4,"binary"))}}do{const c=await s();if(c.length<0)return;switch(c.type){case"IDAT":return{ext:"png",mime:"image/png"};case"acTL":return{ext:"apng",mime:"image/apng"};default:await e.ignore(c.length+4)}}while(e.position+8<e.fileInfo.size);return{ext:"png",mime:"image/png"}}if(r([65,82,82,79,87,49,0,0]))return{ext:"arrow",mime:"application/x-apache-arrow"};if(r([103,108,84,70,2,0,0,0]))return{ext:"glb",mime:"model/gltf-binary"};if(r([102,114,101,101],{offset:4})||r([109,100,97,116],{offset:4})||r([109,111,111,118],{offset:4})||r([119,105,100,101],{offset:4}))return{ext:"mov",mime:"video/quicktime"};if(r([73,73,82,79,8,0,0,0,24]))return{ext:"orf",mime:"image/x-olympus-orf"};if(n("gimp xcf "))return{ext:"xcf",mime:"image/x-xcf"};if(r([73,73,85,0,24,0,0,0,136,231,116,216]))return{ext:"rw2",mime:"image/x-panasonic-rw2"};if(r([48,38,178,117,142,102,207,17,166,217])){async function s(){const c=Buffer.alloc(16);return await e.readBuffer(c),{id:c,size:Number(await e.readToken(Token.UINT64_LE))}}for(await e.ignore(30);e.position+24<e.fileInfo.size;){const c=await s();let l=c.size-24;if(_check(c.id,[145,7,220,183,183,169,207,17,142,230,0,192,12,32,83,101])){const o=Buffer.alloc(16);if(l-=await e.readBuffer(o),_check(o,[64,158,105,248,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"audio/x-ms-asf"};if(_check(o,[192,239,25,188,77,91,207,17,168,253,0,128,95,92,68,43]))return{ext:"asf",mime:"video/x-ms-asf"};break}await e.ignore(l)}return{ext:"asf",mime:"application/vnd.ms-asf"}}if(r([171,75,84,88,32,49,49,187,13,10,26,10]))return{ext:"ktx",mime:"image/ktx"};if((r([126,16,4])||r([126,24,4]))&&r([48,77,73,69],{offset:4}))return{ext:"mie",mime:"application/x-mie"};if(r([39,10,0,0,0,0,0,0,0,0,0,0],{offset:2}))return{ext:"shp",mime:"application/x-esri-shape"};if(r([0,0,0,12,106,80,32,32,13,10,135,10]))switch(await e.ignore(20),await e.readToken(new Token.StringType(4,"ascii"))){case"jp2 ":return{ext:"jp2",mime:"image/jp2"};case"jpx ":return{ext:"jpx",mime:"image/jpx"};case"jpm ":return{ext:"jpm",mime:"image/jpm"};case"mjp2":return{ext:"mj2",mime:"image/mj2"};default:return}if(r([255,10])||r([0,0,0,12,74,88,76,32,13,10,135,10]))return{ext:"jxl",mime:"image/jxl"};if(r([0,0,1,186])||r([0,0,1,179]))return{ext:"mpg",mime:"video/mpeg"};if(r([0,1,0,0,0]))return{ext:"ttf",mime:"font/ttf"};if(r([0,0,1,0]))return{ext:"ico",mime:"image/x-icon"};if(r([0,0,2,0]))return{ext:"cur",mime:"image/x-icon"};if(r([208,207,17,224,161,177,26,225]))return{ext:"cfb",mime:"application/x-cfb"};if(await e.peekBuffer(t,{length:Math.min(256,e.fileInfo.size),mayBeLess:!0}),n("BEGIN:")){if(n("VCARD",{offset:6}))return{ext:"vcf",mime:"text/vcard"};if(n("VCALENDAR",{offset:6}))return{ext:"ics",mime:"text/calendar"}}if(n("FUJIFILMCCD-RAW"))return{ext:"raf",mime:"image/x-fujifilm-raf"};if(n("Extended Module:"))return{ext:"xm",mime:"audio/x-xm"};if(n("Creative Voice File"))return{ext:"voc",mime:"audio/x-voc"};if(r([4,0,0,0])&&t.length>=16){const s=t.readUInt32LE(12);if(s>12&&t.length>=s+16)try{const c=t.slice(16,s+16).toString();if(JSON.parse(c).files)return{ext:"asar",mime:"application/x-asar"}}catch{}}if(r([6,14,43,52,2,5,1,1,13,1,2,1,1,2]))return{ext:"mxf",mime:"application/mxf"};if(n("SCRM",{offset:44}))return{ext:"s3m",mime:"audio/x-s3m"};if(r([71],{offset:4})&&(r([71],{offset:192})||r([71],{offset:196})))return{ext:"mts",mime:"video/mp2t"};if(r([66,79,79,75,77,79,66,73],{offset:60}))return{ext:"mobi",mime:"application/x-mobipocket-ebook"};if(r([68,73,67,77],{offset:128}))return{ext:"dcm",mime:"application/dicom"};if(r([76,0,0,0,1,20,2,0,0,0,0,0,192,0,0,0,0,0,0,70]))return{ext:"lnk",mime:"application/x.ms.shortcut"};if(r([98,111,111,107,0,0,0,0,109,97,114,107,0,0,0,0]))return{ext:"alias",mime:"application/x.apple.alias"};if(r([76,80],{offset:34})&&(r([0,0,1],{offset:8})||r([1,0,2],{offset:8})||r([2,0,2],{offset:8})))return{ext:"eot",mime:"application/vnd.ms-fontobject"};if(r([6,6,237,245,216,29,70,229,189,49,239,231,254,116,183,29]))return{ext:"indd",mime:"application/x-indesign"};if(await e.peekBuffer(t,{length:Math.min(512,e.fileInfo.size),mayBeLess:!0}),tarHeaderChecksumMatches(t))return{ext:"tar",mime:"application/x-tar"};if(r([255,254,255,14,83,0,107,0,101,0,116,0,99,0,104,0,85,0,112,0,32,0,77,0,111,0,100,0,101,0,108,0]))return{ext:"skp",mime:"application/vnd.sketchup.skp"};if(n("-----BEGIN PGP MESSAGE-----"))return{ext:"pgp",mime:"application/pgp-encrypted"};if(t.length>=2&&r([255,224],{offset:0,mask:[255,224]})){if(r([16],{offset:1,mask:[22]}))return r([8],{offset:1,mask:[8]})?{ext:"aac",mime:"audio/aac"}:{ext:"aac",mime:"audio/aac"};if(r([2],{offset:1,mask:[6]}))return{ext:"mp3",mime:"audio/mpeg"};if(r([4],{offset:1,mask:[6]}))return{ext:"mp2",mime:"audio/mpeg"};if(r([6],{offset:1,mask:[6]}))return{ext:"mp1",mime:"audio/mpeg"}}}const stream=readableStream=>new Promise((resolve,reject)=>{const stream=eval("require")("stream");readableStream.on("error",reject),readableStream.once("readable",async()=>{const e=new stream.PassThrough;let t;stream.pipeline?t=stream.pipeline(readableStream,e,()=>{}):t=readableStream.pipe(e);const i=readableStream.read(minimumBytes)||readableStream.read()||Buffer.alloc(0);try{const r=await fromBuffer(i);e.fileType=r}catch(r){reject(r)}resolve(t)})}),fileType$1={fromStream,fromTokenizer,fromBuffer,stream};Object.defineProperty(fileType$1,"extensions",{get(){return new Set(supported.extensions)}});Object.defineProperty(fileType$1,"mimeTypes",{get(){return new Set(supported.mimeTypes)}});var core$1=fileType$1;const strtok3=lib$2,core=core$1;async function fromFile(e){const t=await strtok3.fromFile(e);try{return await core.fromTokenizer(t)}finally{await t.close()}}const fileType={fromFile};Object.assign(fileType,core);Object.defineProperty(fileType,"extensions",{get(){return core.extensions}});Object.defineProperty(fileType,"mimeTypes",{get(){return core.mimeTypes}});var fileType_1=fileType;const kResult=Symbol("result"),kStream=Symbol("stream");class FileType extends node_stream.Transform{constructor(){super(),this[kStream]=new node_stream.PassThrough,this[kResult]=fileType_1.fromStream(this[kStream]).then(t=>(this[kStream]=null,this.emit("file-type",t||null),t||null),()=>(this[kStream]=null,this.emit("file-type",null),null))}fileTypePromise(){return this[kResult]}_transform(t,i,r){this[kStream]!=null&&this[kStream].write(t),r(null,t)}_flush(t){this[kStream]!=null?this[kStream].end(()=>t(null)):t(null)}}function hasOwnProperty(e,t){return Object.prototype.hasOwnProperty.call(e,t)}const onFinished=node_util.promisify(_onFinished__default.default),pipeline=node_util.promisify(node_stream.pipeline);function drainStream(e){e.on("readable",e.read.bind(e))}async function collectFields(e,t){return await new Promise((i,r)=>{const n=[];e.on("field",(s,c,l,o)=>{if(l)return r(new MulterError("LIMIT_FIELD_KEY"));if(o)return r(new MulterError("LIMIT_FIELD_VALUE",s));if(t&&hasOwnProperty(t,"fieldNameSize")&&s.length>t.fieldNameSize)return r(new MulterError("LIMIT_FIELD_KEY"));n.push({key:s,value:c})}),e.on("finish",()=>i(n))})}async function collectFiles(e,t,i){return await new Promise((r,n)=>{const s=[];e.on("file",async(c,l,o,a,f)=>{if(l.on("error",n),l.on("limit",()=>{n(new MulterError("LIMIT_FILE_SIZE",c))}),t&&hasOwnProperty(t,"fieldNameSize")&&c.length>t.fieldNameSize)return n(new MulterError("LIMIT_FIELD_KEY"));const m={fieldName:c,originalName:o,clientReportedMimeType:f,clientReportedFileExtension:node_path.extname(o||"")};try{i(m)}catch(d){return n(d)}const u=createWriteStream(),x=new FileType,p=new Promise(d=>u.on("close",d)),h=pipeline(l,x,u).then(async()=>{await p,m.path=u.path,m.size=u.bytesWritten;const d=await x.fileTypePromise();return m.detectedMimeType=d?d.mime:null,m.detectedFileExtension=d?`.${d.ext}`:"",m}).catch(n);s.push(h)}),e.on("finish",()=>r(Promise.all(s)))})}async function readBody(e,t,i){const r=new Busboy__default.default({headers:e.headers,limits:t}),n=collectFields(r,t),s=collectFiles(r,t,i),c=new Promise((l,o)=>{e.on("error",a=>o(a)),r.on("error",a=>o(a)),e.on("aborted",()=>o(new MulterError("CLIENT_ABORTED"))),r.on("filesLimit",()=>o(new MulterError("LIMIT_FILE_COUNT"))),r.on("fieldsLimit",()=>o(new MulterError("LIMIT_FIELD_COUNT"))),r.on("finish",l)});e.pipe(r);try{const l=await Promise.all([n,s,c]);return{fields:l[0],files:l[1]}}catch(l){throw e.unpipe(r),drainStream(e),r.removeAllListeners(),await onFinished(e).catch(()=>{}),l}}async function handleRequest(e,t){const i=e(),r=await readBody(t,i.limits,i.fileFilter);t.body=Object.create(null);for(const s of r.fields)appendField(t.body,s.key,s.value);const n=createFileAppender(i.fileStrategy,t,i.fields);for(const s of r.files)s.stream=fs__default.default.createReadStream(s.path),s.stream.on("open",()=>fs__default.default.unlink(s.path,()=>{})),n(s)}function createMiddleware(e){return function(i,r,n){if(!is__default.default(i,["multipart"]))return n();handleRequest(e,i).then(n,n)}}const kLimits=Symbol("limits");function parseLimit(e,t,i){const r=e[t]==null?i:e[t],n=bytes__default.default.parse(r);if(!Number.isFinite(n))throw new Error(`Invalid limit "${t}" given: ${e[t]}`);if(!Number.isInteger(n))throw new Error(`Invalid limit "${t}" given: ${n}`);return n}function _middleware(e,t,i){return createMiddleware(()=>({fields:t,limits:e,fileFilter:createFileFilter(t),fileStrategy:i}))}class Multer{constructor(t){this[kLimits]={fieldNameSize:parseLimit(t.limits||{},"fieldNameSize","100B"),fieldSize:parseLimit(t.limits||{},"fieldSize","8KB"),fields:parseLimit(t.limits||{},"fields",1e3),fileSize:parseLimit(t.limits||{},"fileSize","8MB"),files:parseLimit(t.limits||{},"files",10),headerPairs:parseLimit(t.limits||{},"headerPairs",2e3)}}single(t){return _middleware(this[kLimits],[{name:t,maxCount:1}],"VALUE")}array(t,i){return _middleware(this[kLimits],[{name:t,maxCount:i}],"ARRAY")}fields(t){return _middleware(this[kLimits],t,"OBJECT")}none(){return _middleware(this[kLimits],[],"NONE")}any(){return createMiddleware(()=>({fields:[],limits:this[kLimits],fileFilter:()=>{},fileStrategy:"ARRAY"}))}}function multer(e={}){if(e===null)throw new TypeError('Expected object for argument "options", got null');if(typeof e!="object")throw new TypeError(`Expected object for argument "options", got ${typeof e}`);if(e.dest||e.storage||e.fileFilter)throw new Error('The "dest", "storage" and "fileFilter" options where removed in Multer 2.0. Please refer to the latest documentation for new usage.');return new Multer(e)}exports.default=multer;exports.errorMessages=errorMessages;
//# sourceMappingURL=index.js.map
{
"name": "@artesa/multer",
"description": "Middleware for handling `multipart/form-data`.",
"version": "0.1.3",
"version": "0.1.4",
"contributors": [

@@ -6,0 +6,0 @@ "Hage Yaapa <captain@hacksparrow.com> (http://www.hacksparrow.com)",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc