@vulppi/toolbelt
Version:
A collection of tools and utilities.
2 lines (1 loc) • 2.29 kB
JavaScript
;var p=Object.defineProperty;var l=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var b=(f,r)=>{for(var e in r)p(f,e,{get:r[e],enumerable:!0})},y=(f,r,e,t)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of m(r))!d.call(f,n)&&n!==e&&p(f,n,{get:()=>r[n],enumerable:!(t=l(r,n))||t.enumerable});return f};var g=f=>y(p({},"__esModule",{value:!0}),f);var E={};b(E,{extractTokenFromAuthorization:()=>B,parseCompressBuffer:()=>z,parseCompressStream:()=>x,parseDecompressBuffer:()=>w,parseDecompressStream:()=>R});module.exports=g(E);var u=require("buffer"),i=require("zlib");function B(f){if(!f)return null;let r=f.trim(),e=r.match(/^Bearer\s+(.+)$/i);if(e)return{type:"bearer",token:e[1]};let t=r.match(/^Basic\s+(.+)$/i);if(t)try{let n=u.Buffer.from(t[1],"base64").toString("utf-8"),[a,s]=n.split(":");return{type:"basic",username:a,password:s}}catch{return null}return null}var o={gzip:/^(?:x-)?gzip$/i,deflate:/^deflate$/i,identity:/^identity$/i,br:/^br$/i};async function w(f,r=["identity"]){let e=f;for(let t of r)o.identity.test(t)||(o.gzip.test(t)?e=await new Promise((n,a)=>{(0,i.gunzip)(e,(s,c)=>{if(s)return a(s);n(c)})}):o.deflate.test(t)?e=await new Promise((n,a)=>{(0,i.inflate)(e,(s,c)=>{if(s)return a(s);n(c)})}):o.br.test(t)&&(e=await new Promise((n,a)=>{(0,i.brotliDecompress)(e,(s,c)=>{if(s)return a(s);n(c)})})));return e}async function z(f,r=["identity"]){let e=f;for(let t of r.toReversed())o.identity.test(t)||(o.gzip.test(t)?e=await new Promise((n,a)=>{(0,i.gzip)(e,(s,c)=>{if(s)return a(s);n(c)})}):o.deflate.test(t)?e=await new Promise((n,a)=>{(0,i.deflate)(e,(s,c)=>{if(s)return a(s);n(c)})}):o.br.test(t)&&(e=await new Promise((n,a)=>{(0,i.brotliCompress)(e,(s,c)=>{if(s)return a(s);n(c)})})));return e}function R(f,r=["identity"]){let e=f;for(let t of r)o.identity.test(t)||(o.gzip.test(t)?e=e.pipe((0,i.createGunzip)()):o.deflate.test(t)?e=e.pipe((0,i.createInflate)()):o.br.test(t)&&(e=e.pipe((0,i.createBrotliDecompress)())));return e}function x(f,r=["identity"]){let e=f;for(let t of r.toReversed())o.identity.test(t)||(o.gzip.test(t)?e=e.pipe((0,i.createGzip)()):o.deflate.test(t)?e=e.pipe((0,i.createDeflate)()):o.br.test(t)&&(e=e.pipe((0,i.createBrotliCompress)())));return e}