sy-api-pro 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- var L=(B,D,y)=>new Promise((P,x)=>{var a=m=>{try{u(y.next(m))}catch($){x($)}},p=m=>{try{u(y.throw(m))}catch($){x($)}},u=m=>m.done?P(m.value):Promise.resolve(m.value).then(a,p);u((y=y.apply(B,D)).next())});(function(B,D){typeof exports=="object"&&typeof module!="undefined"?D(require("axios")):typeof define=="function"&&define.amd?define(["axios"],D):(B=typeof globalThis!="undefined"?globalThis:B||self,D(B.axios))})(this,function(B){"use strict";function D(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var y=D(B);const P=r=>{var e;const n=(r||"").toLowerCase(),i={int:"number",integer:"number",long:"number",bigdecimal:"number",float:"number",double:"number",localdatetime:"string",date:"string",char:"string",byte:"string",short:"string",character:"string",string:"string",multipartfile:"string",boolean:"boolean",void:"void"},{listType:l}=((e=/^list<(?<listType>.+)>$/.exec(n))==null?void 0:e.groups)||{};return l?`Array<${i[l]||"any"}>`:i[n]||"any"},x=Object.freeze({_getDesc(r){const n=(r.title||"").trim();return n?` // ${n}`:""},getInterface:function({list:r,config:{ignoreParamsDTO:n,deleteParentDTO:i}}){const l=r.filter(e=>!e.id);return r.filter(e=>e.id&&!n.includes(e.type)).map(e=>{if(e.id&&e.json){const s=e.json.split(`
1
+ var L=(B,D,y)=>new Promise((P,x)=>{var a=m=>{try{u(y.next(m))}catch($){x($)}},p=m=>{try{u(y.throw(m))}catch($){x($)}},u=m=>m.done?P(m.value):Promise.resolve(m.value).then(a,p);u((y=y.apply(B,D)).next())});(function(B,D){typeof exports=="object"&&typeof module!="undefined"?D(require("axios")):typeof define=="function"&&define.amd?define(["axios"],D):(B=typeof globalThis!="undefined"?globalThis:B||self,D(B.axios))})(this,function(B){"use strict";function D(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var y=D(B);const P=r=>{var e;const n=(r||"").toLowerCase(),i={int:"number",integer:"number",long:"number",bigdecimal:"number",float:"number",double:"number",localdatetime:"string",date:"string",char:"string",byte:"string",short:"string",character:"string",string:"string",multipartfile:"string",boolean:"boolean",void:"void"},{listType:l}=((e=/^list<(?<listType>.+)>$/.exec(n))==null?void 0:e.groups)||{};return l?`Array<${i[l]||"any"}>`:i[n]||"any"},x=Object.freeze({_getDesc(r){const n=(r.title||"").trim();return n?` // ${n}`:""},getInterface:function({list:r,config:{ignoreParamsDTO:n,deleteParentDTO:i}}){const l=r.filter(e=>!e.id);return r.filter(e=>!n.includes(e.type)).map(e=>{if(e.id&&e.json){const s=e.json.split(`
2
2
  `);return s.forEach((t,o)=>{var h;const c=/(?<space>\s*)"(?<name>[a-zA-Z0-9]+)"\s?:\s*"(?<desc>.*)".*$/;if(c.test(t)){const{space:f,name:w,desc:_}=((h=c.exec(t))==null?void 0:h.groups)||{},C=(w||"").trim(),b=(_||"").trim(),q=l.filter(I=>(I.name||"").trim()+(I.title||"").trim()===C+b);if(q.length>=1){const[{type:I}]=q,R=e.required?"?":"";s[o]=t.replace(c,`${f+w+R}: ${P(I)};${b?` // ${b}`:""}`)}}/\s*"[a-zA-Z0-9]+"\s*:\s*.+$/.test(t)&&(s[o]=s[o].replace(/(\s*)"([a-zA-Z0-9]+)"\s?(:\s*.+)$/,"$1$2$3")),s[o]=s[o].replace(/(.*)\[\s+{$/,"$1Array<{").replace(/(.*)}\s*].*$/,"$1}>")}),i.some(t=>{const o=Object.prototype.toString.call(t);if(o==="[object RegExp]")return t.test(e.type);if(o==="[object String]")return t===e.type})?s.slice(1,-1).join(`
3
3
  `):[` ${e.name}${e.required?"":"?"}: {${this._getDesc(e)}`,...s.slice(1,-1).map(t=>` ${t}`)," }"].join(`
4
4
  `)}else return` ${e.name}${e.required?"":"?"}: ${P(e.type)};${this._getDesc(e)}`})}}),a=require("fs"),p=require("path"),u=require("chalk");y.default.interceptors.response.use(r=>{var n,i;return(i=(n=r.data)==null?void 0:n.head)!=null&&i.successful?r:Promise.reject(r)},r=>{throw r});const m=class{constructor(n){this.config={api:"",creatBaseFile:!0,customMethodName:"",projectId:void 0,branchId:void 0,methodId:void 0,outputPath:"",outputDirName:"",apiBaseName:"",ignoreParamsDTO:[],deleteParentDTO:[]},this.apiList=[],this.enums=[],Object.assign(this.config,n),this.getApiData()}getApiData(){return L(this,null,function*(){const{api:n,branchId:i,projectId:l,outputDirName:e,outputPath:s,methodId:d,creatBaseFile:t}=this.config;try{const{data:o}=yield y.default.get(`${n}/api/project/getProjectWithBranchById?id=${l}`);this.config.outputPath=p.join(process.cwd(),s,e||o.body.name);const c=o.body.branchList.find(f=>f.id===i);if(c)console.log(u.blueBright(`\u3010info\u3011\u6B63\u5728\u4F7F\u7528 branchName: ${c.name} branchId: ${i} methodId: ${d}`));else throw u.red(`\u3010error\u3011branchId ${i} \u4E0D\u5B58\u5728`);const h=yield y.default.get(`${n}/api/method/getMethodById?id=${d}`);this.apiList=[h.data.body]}catch(o){console.log(u.red("\u3010error\u3011: \u63A5\u53E3\u83B7\u53D6\u5F02\u5E38")),console.log(o);return}try{yield this.checkApiOutputDir()}catch(o){console.log(u.red("\u3010error\u3011: \u68C0\u67E5\u8F93\u51FA\u76EE\u5F55\u5F02\u5E38")),console.log(o);return}t&&(yield this.creatBaseFile());try{yield this.createFile()}catch(o){console.log(u.red("\u3010error\u3011: createFile \u5F02\u5E38")),console.log(o)}})}checkApiOutputDir(){const{outputPath:n}=this.config;console.log(u.blueBright(`\u3010info\u3011\u8F93\u51FA\u76EE\u5F55 ${n}`));try{a.statSync(n,{bigint:!0})}catch(i){a.mkdirSync(n,{recursive:!0})}}creatBaseFile(){return L(this,null,function*(){const{outputPath:n}=this.config,i=p.join(__dirname,"../template/api"),l=a.readdirSync(i),e=a.readdirSync(n);for(const s of l)if(!e.includes(s))try{const d=a.readFileSync(p.join(i,s));a.writeFileSync(p.join(n,s),d)}catch(d){console.log(u.red("\u3010error\u3011: \u57FA\u7840\u6587\u4EF6\u751F\u6210\u5F02\u5E38")),console.log(d)}})}createFile(){return L(this,null,function*(){const{apiBaseName:n,outputPath:i,customMethodName:l}=this.config;this.apiList.forEach(e=>{var q,I,R;const s=F=>F.replace(/(-[a-z])|(^[a-z])/g,g=>g.replace("-","").toLocaleUpperCase()),d=new RegExp(`(${n})?(/)?(?<apiDirName>[a-zA-Z0-9_]+)/.*$`),{apiDirName:t}=((q=d.exec(e.path))==null?void 0:q.groups)||{},o=l||e.name,c=s(`${t}-`+o);try{a.statSync(p.join(i,t)).isDirectory()}catch(F){a.mkdirSync(p.join(i,t))}let h="";try{h=a.readFileSync(p.join(i,t,"models.ts")).toString()}catch(F){a.writeFileSync(p.join(i,`./${t}/models.ts`),"")}let f=[],w=[];try{f=(I=e.paramList)!=null&&I.length?[h?"":"/* ************************************************ */",`/** ${e.title} RequestModel */`,`export interface ${c}ReqModel {`,...x.getInterface({list:e.paramList||[],config:this.config}),"}",""]:[],w=(R=e.returnList)!=null&&R.length?[f.length?"":"/* ************************************************ */",`/** ${e.title} ResponseModel */`,`export interface ${c}ResModel {`,...x.getInterface({list:e.returnList||[],config:this.config}),"}",""]:[]}catch(F){throw console.log(u.red(`\u3010error\u3011\u7C7B\u578B\u751F\u6210\u5931\u8D25 projectId: ${this.config.projectId} methodId: ${e.id} path: ${e.path}`)),u.red(F)}h.includes(`export interface ${c}ReqModel {`)?console.log(u.yellowBright(`\u3010warning\u3011./${t}/models.ts \u5DF2\u5B58\u5728 ${c}ReqModel`)):f.length&&(a.appendFileSync(p.join(i,`./${t}/models.ts`),f.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sy-api-pro",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "main": "./bin/index.ts",
5
5
  "types": "./bin/model.d.ts",
6
6
  "bin": {