@yangzw/bruce-img
Version:
An image processing tool that multifunctional and unrestricted
1 lines • 2.32 kB
JavaScript
var x=this&&this.__awaiter||function(o,t,n,i){return new(n||(n=Promise))((function(r,e){function s(o){try{p(i.next(o))}catch(o){e(o)}}function u(o){try{p(i.throw(o))}catch(o){e(o)}}function p(o){var t;o.done?r(o.value):(t=o.value,t instanceof n?t:new n((function(o){o(t)}))).then(s,u)}p((i=i.apply(o,t||[])).next())}))};import{createReadStream as Po,createWriteStream as _o,statSync as wt}from"node:fs";import{basename as _,join as ei}from"node:path";import{exit as s}from"node:process";import{AbsPath as E,AsyncTo as G,CheckPath as He,CreateDir as ns,RandomId as qo,RemoveDir as eo,WaitFor as Ze}from"@yangzw/bruce-us/dist/node.js";import{imageSizeFromFile as Ao}from"image-size/fromFile";import no from"ora";import{GROUP_TEXT as o$}from"../langs/index.js";import{OUTPUT_DIR as ai,FilterImg as pi,GetExt as ui,ShowTitle as io}from"../utils/index.js";const Do={gif:ei(ai.group,"gif"),jpg:ei(ai.group,"jpg"),png:ei(ai.group,"png"),svg:ei(ai.group,"svg"),webp:ei(ai.group,"webp")},Ho={format:Lo,size:Mo,volume:Oo},Jo={big:ei(ai.group,"big"),middle:ei(ai.group,"middle"),small:ei(ai.group,"small")};function Ko(){return x(this,arguments,void 0,(function*(o="",t=""){const n=new Promise((n=>{var i;const r=ei(t,_(o)),e=E(r);if(ns(t),He(r)){const t=_(e).split("."),r=null!==(i=t.pop())&&void 0!==i?i:"png",s=t.concat(qo(4),r).join("."),u=e.replace(_(e),s);Po(o).pipe(_o(u)),n(!0)}else Po(o).pipe(_o(e)),n(!1)})),[i,r]=yield G(n);return yield Ze(100),!i&&r}))}function Lo(){return x(this,arguments,void 0,(function*(o=""){const t=ui(o),n=Do[t],i=yield Ko(o,n);return o$.result1(o,t,i)}))}function Mo(){return x(this,arguments,void 0,(function*(o=""){const{height:t=0,width:n=0}=Ao(o),i=ei(ai.group,`${n}x${t}`),r=yield Ko(o,i);return o$.result2(o,`${n}x${t}`,r)}))}function Oo(){return x(this,arguments,void 0,(function*(o=""){const{size:t}=wt(E(o)),n=t<10240?"small":t>=102400?"big":"middle",i=Jo[n],r=yield Ko(o,i);return o$.result3(o,n,r)}))}export default function No(o){return x(this,void 0,void 0,(function*(){io("group");const t=no(o$.doing).start();eo(ai.group),ns(ai.group);const{count:n,validImgs:i}=yield pi(),r="boolean"==typeof o.type?"format":o.type,e=[];for(const o of i){const t=yield Ho[r](o);e.push(t)}t.stop(),console.log(o$.stats(n)),e.length<=100&&e.forEach((o=>console.log(o))),console.log(o$.done),s(1)}))}