UNPKG

@awesome-compressor/browser-compress-image

Version:

🚀 A powerful, lightweight browser image compression library with TypeScript support. Compress JPEG, PNG, GIF images with multiple output formats (Blob, File, Base64, ArrayBuffer) and zero dependencies.

11 lines • 830 B
import{__esmMin as e,__export as t}from"./chunk-BFNP_Rck.js";import n from"gifsicle-wasm-browser";var r={};t(r,{default:()=>i});async function i(e,t){let{quality:r,mode:i,targetWidth:a,targetHeight:o,maxWidth:s,maxHeight:c}=t;if(!e.type.includes(`gif`))throw Error(`Gifsicle is only for GIF files`);let l;if(i===`keepSize`)l=` -O1 --lossy=${Math.round((1-r)*100)} ${e.name} -o /out/${e.name} `;else{let t=``;if(a&&o)t=`--resize ${a}x${o}`;else if(s||c){let e=Math.min(s||9999,c||9999);t=`--resize-fit ${e}x${e}`}l=` -O1 ${t} ${e.name} -o /out/${e.name} `}let u=await n.run({input:[{file:e,name:e.name}],command:[l]}),d=u[0];return d.size>=e.size*.98?e:d}var a=e(()=>{});export{i as compressWithGifsicle,r as compressWithGifsicle_exports,a as init_compressWithGifsicle};