cross-7zip
Version:
Cross-platform 7-Zip for Node.js
2 lines • 3.37 kB
JavaScript
;var _=Object.defineProperty;var v=Object.getOwnPropertyDescriptor;var w=Object.getOwnPropertyNames;var O=Object.prototype.hasOwnProperty;var z=(t,i)=>{for(var n in i)_(t,n,{get:i[n],enumerable:!0})},Z=(t,i,n,r)=>{if(i&&typeof i=="object"||typeof i=="function")for(let e of w(i))!O.call(t,e)&&e!==n&&_(t,e,{get:()=>i[e],enumerable:!(r=v(i,e))||r.enumerable});return t};var y=t=>Z(_({},"__esModule",{value:!0}),t);var F={};z(F,{SevenUnzip:()=>a,SevenZip:()=>u,sevenUnzip:()=>U,sevenUnzipSync:()=>$,sevenZip:()=>P,sevenZipSync:()=>E});module.exports=y(F);var d=require("child_process");var o=require("path"),p=(0,o.join)(__dirname,"..","7zip"),s=new Map;s.set("linux_arm",(0,o.join)(p,"linux_arm_7z"));s.set("linux_arm64",(0,o.join)(p,"linux_arm64_7z"));s.set("linux_ia32",(0,o.join)(p,"linux_ia32_7z"));s.set("linux_x64",(0,o.join)(p,"linux_x64_7z"));s.set("win32_arm64",(0,o.join)(p,"win32_arm64_7z.exe"));s.set("win32_ia32",(0,o.join)(p,"win32_ia32_7z.exe"));s.set("win32_x64",(0,o.join)(p,"win32_x64_7z.exe"));s.set("darwin_arm64",(0,o.join)(p,"darwin_7z"));s.set("darwin_ia32",(0,o.join)(p,"darwin_7z"));s.set("darwin_x64",(0,o.join)(p,"darwin_7z"));var x={maxBuffer:1/0,windowsHide:!0};async function m(t,i){return new Promise((n,r)=>{(0,d.execFile)(t,i,x,e=>{if(e)return r(new Error(e.message));n()})})}function f(t,i){(0,d.execFileSync)(t,i,x)}function l(){let{platform:t,arch:i}=process;return s.get(`${t}_${i}`)}var b={archive:"",destination:""},a=class{_options;get command(){return l()}get args(){let{archive:i,destination:n,password:r}=this._options;return["x",i,`-o${n}`,r?`-p${r}`:""].filter(e=>!!e)}constructor(i){this._options={...b,...i}}setArchive(i){return this._options.archive=i,this}setDestination(i){return this._options.destination=i,this}setPassword(i){return this._options.password=i,this}toString(){return[this.command,...this.args].map(i=>`"${i}"`).join(" ")}async run(){let{command:i,args:n}=this;if(!i)throw new Error("7-Zip executable not found.");return m(i,n)}runSync(){let{command:i,args:n}=this;if(!i)throw new Error("7-Zip executable not found.");f(i,n)}};var h=require("rimraf");var S={destination:"",files:[]},u=class{_options;get command(){return l()}get args(){let{destination:i,files:n,level:r,password:e}=this._options;return["a",i,...n,r?`-mx${Math.max(1,Math.min(r,9))}`:"",e?`-p${e}`:"",e?"-mhe=on":""].filter(g=>!!g)}constructor(i){this._options={...S,...i}}setDestination(i){return this._options.destination=i,this}setFiles(i){return this._options.files=i,this}setLevel(i){return this._options.level=i,this}setOverwrite(i=!0){return this._options.overwrite=i,this}setPassword(i){return this._options.password=i,this}toString(){return[this.command,...this.args].map(i=>`"${i}"`).join(" ")}async run(){let{command:i,args:n}=this,{destination:r,overwrite:e}=this._options;if(!i)throw new Error("7-Zip executable not found.");return e?(0,h.rimraf)(r).then(()=>m(i,n)):m(i,n)}runSync(){let{command:i,args:n}=this,{destination:r,overwrite:e}=this._options;if(!i)throw new Error("7-Zip executable not found.");e&&(0,h.rimrafSync)(r),f(i,n)}};async function P(t){return new u(t).run()}async function U(t){return new a(t).run()}function E(t){new u(t).runSync()}function $(t){new a(t).runSync()}0&&(module.exports={SevenUnzip,SevenZip,sevenUnzip,sevenUnzipSync,sevenZip,sevenZipSync});
//# sourceMappingURL=index.js.map