/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/wct@2.4.6/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
#!/usr/bin/env node
var program=require("commander");let fs=require("fs-extra"),cwd=process.cwd(),innerCmds=["where","config","sub"];require("map-path").setRoot(__dirname);let utils=require("map-path")("Utils"),config=require("map-path")("Services/config.js"),nodepath=require("path"),configUrl=config.configUrl,commandType=process.argv[2];program.version("1.0.0","-v, --version");let transformOption=o=>{if(void 0===o)return[];let e=[];return e=o.split(","),e},readConfig=function(){return new Promise(((o,e)=>{fs.readJson(configUrl).then((e=>{utils.ifEmptyObject(e)?o():o(e)})).catch((e=>{o()}))}))},checkConfig=function(){let{data:o,jump:e}=this;return new Promise(((t,n)=>{-1===["sub","config"].indexOf(commandType)&&"object"==typeof o?t():e("parse")}))},useExtra=function(){let{store:o,jump:e}=this,t=o.config.path;return new Promise(((o,e)=>{let n=nodepath.join(t,"cmds");fs.stat(n,((t,r)=>{t?e(t):r.isDirectory()?fs.readdir(n,((t,n)=>{t?e(t):o(n)})):e("must directory")}))}))},parseExtra=function(){let{store:o,data:e}=this,t=o.config.path;return new Promise(((o,n)=>{for(let o of e){let e=nodepath.join(t,"cmds",o);try{let o=require(e),{options:t=[],name:n,action:r}=o;if(-1!==innerCmds.indexOf(n))continue;let i=program.command(`${n} [args...]`);t.forEach(((o,e)=>{let t=o.split("="),n=t[0],r=t[1]||"";i=i.option(`-${n},--${n} [opts]`,`${r}`,transformOption)}));i.action(r)}catch(o){utils.consoleNo(o)}}o()}))},parse=function(){let{store:o}=this,e=o.config;program.command("config [args...]").action((function(o=[]){let e=o[0];require("map-path")("Tasks/config.js")(e).then((o=>{utils.consoleYes(o)})).catch((o=>{utils.consoleNo(o)}))})),program.command("where").action((function(o=[]){"object"==typeof e?utils.consoleYes(`store in ${e.path}`):utils.consoleYes("no config path")})),program.command("sub [args...]").option("-o, --option [opts]","config options",transformOption).action((function(o=[],t){if(!e)return void utils.consoleNo("no config path,pls use wct config pathUrl");let n=o[0],r=o[1]||cwd,{option:i}=t;-1===innerCmds.indexOf(n)?require("map-path")("Tasks/sub.js")(n,{dir:r,option:i}).then((o=>{utils.consoleYes(o)})).catch((o=>{utils.consoleNo(o)})):utils.consoleNo(`can't sub inner cmds ${n}`)}))};utils.branch([{callback:readConfig,name:"config"},{callback:checkConfig},{callback:useExtra},{callback:parseExtra},{callback:parse,name:"parse"}]).then((o=>{program.parse(process.argv)})).catch((o=>{utils.consoleNo(o)}));
//# sourceMappingURL=/sm/f278c7722cc3f4f8245017c298d1a4fb2691f7a4dcffd730845db23c2acc840d.map