UNPKG

@apeleghq/multipart-parser

Version:

TypeScript streaming parser for MIME multipart messages

3 lines (2 loc) 1.31 kB
"use strict";var d=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var u=Object.prototype.hasOwnProperty;var T=(e,t)=>{for(var n in t)d(e,n,{get:t[n],enumerable:!0})},w=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of g(t))!u.call(e,a)&&a!==n&&d(e,a,{get:()=>t[a],enumerable:!(r=y(t,a))||r.enumerable});return e};var m=e=>w(d({},"__esModule",{value:!0}),e);var v={};T(v,{default:()=>i,parseMessage:()=>i});module.exports=m(v);var M=(e,t)=>{e:for(let n=0;n<=e.length-t.length;n++){for(let r=0;r<t.length;r++)if(e[n+r]!==t[r])continue e;return n}return-1},c=M;var p=new TextDecoder,A=new TextEncoder,o=A.encode(`\r `),I=[9,32],j=(e,t)=>{let n=0,r=[];for(;(n=c(e,o))!==-1&&n!==0;){let s=e.indexOf(58);if(s===-1)throw new Error("Invalid header");let h=p.decode(e.subarray(0,s));for(;I.includes(e[n+2]);){let l=c(e.subarray(n+2),o);if(l<1)break;n+=2+l}let x=p.decode(e.subarray(s+1,n)).replace(/\r\n/g,"");r.push([h,x]),e=e.subarray(n+o.length)}return{headers:t?t(r):(()=>{let s=new Headers(r);return s.has("content-transfer-encoding")||s.set("content-transfer-encoding","7bit"),s.has("content-type")||s.set("content-type","text/plain; charset=us-ascii"),s})(),body:n===-1?null:e.subarray(n+o.length)}},i=j;0&&(module.exports={parseMessage});