sy-api-pro 2.0.4 → 2.0.5

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
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require(`fs`),require(`path`),require(`commander`),require(`chalk`),require(`axios`)):typeof define==`function`&&define.amd?define([`fs`,`path`,`commander`,`chalk`,`axios`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.fs,e.path,e.commander,e.chalk,e.axios))})(this,function(e,t,n,r,i){var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=c(t),a=0,l=i.length,d;a<l;a++)d=i[a],!u.call(e,d)&&d!==n&&o(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=s(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:a(l(e)),d(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e));e=f(e),t=f(t),r=f(r),i=f(i);var p=e=>{var t;let n=(e||``).toLowerCase(),r={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:i}=((t=RegExp(`^list<(?<listType>.+)>$`,``).exec(n))==null?void 0:t.groups)||{};return i?`Array<${r[i]||`any`}>`:r[n]||`any`},m=Object.freeze({getInterface:function({list:e,config:{ignoreParamsDTO:t,deleteParentDTO:n,resOnlyInclude:r},res:i=!1}){let a=``,o=e.filter(e=>!t.includes(e.name));if(n.length&&(o=o.flatMap(e=>{let t=n.some(t=>{let n=Object.prototype.toString.call(t);if(n===`[object RegExp]`)return t.test(e.oType);if(n===`[object String]`)return t===e.oType});return a=e.type||``,t||!e.name?(e==null?void 0:e.properties)||[]:[e]})),i&&r){let e=o.find(e=>{let t=Object.prototype.toString.call(r);if(t===`[object RegExp]`)return r.test(e.name);if(t===`[object String]`)return r===e.name});a=(e==null?void 0:e.type)||``,o=(e==null?void 0:e.properties)||o}let s=[],c=(e,t)=>{for(let a of e){var n,r;let e=Array(t).fill(` `).join(``),o=a.required?``:`?`,l=``;if(a.type===`array`){var i;l=(i=a.subType)!=null&&i.includes(`object`)?`{`:p(a.subType||``)+`[];`}else l=a.type===`object`?`{`:p(a.type)+`;`;a.description&&s.push(`${e}/* ${a.description} */`),s.push(`${e+(a.name||`定义错误手动修改`)+o}: ${l}`),(n=a.properties)!=null&&n.length&&c(a.properties,t+1),a.type===`array`&&(r=a.subType)!=null&&r.includes(`object`)?s.push(`${e}}[];`):a.type===`object`&&s.push(`${e}};`)}};return c(o,1),{type:a,list:s}}}),h={red:(e,...t)=>{console.log(r.default.red(e),...t)},redBright:(e,...t)=>{console.log(r.default.redBright(e),...t)},bgRed:(e,...t)=>{console.log(r.default.bgRed(e),...t)},bgRedBright:(e,...t)=>{console.log(r.default.bgRedBright(e),...t)},blue:(e,...t)=>{console.log(r.default.blue(e),...t)},blueBright:(e,...t)=>{console.log(r.default.blueBright(e),...t)},bgBlue:(e,...t)=>{console.log(r.default.bgBlue(e),...t)},bgBlueBright:(e,...t)=>{console.log(r.default.bgBlueBright(e),...t)},yellow:(e,...t)=>{console.log(r.default.yellow(e),...t)},yellowBright:(e,...t)=>{console.log(r.default.yellowBright(e),...t)},bgYellow:(e,...t)=>{console.log(r.default.bgYellow(e),...t)},bgYellowBright:(e,...t)=>{console.log(r.default.bgYellowBright(e),...t)},green:(e,...t)=>{console.log(r.default.green(e),...t)},greenBright:(e,...t)=>{console.log(r.default.greenBright(e),...t)},bgGreen:(e,...t)=>{console.log(r.default.bgGreen(e),...t)},bgGreenBright:(e,...t)=>{console.log(r.default.bgGreenBright(e),...t)}};function g(e){"@babel/helpers - typeof";return g=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function y(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function x(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){b(a,r,i,o,s,`next`,e)}function s(e){b(a,r,i,o,s,`throw`,e)}o(void 0)})}}i.default.interceptors.response.use(e=>{var t;return((t=e.data)==null?void 0:t.errcode)==0?e:Promise.reject(e)},e=>{throw e});var S=class{constructor(e){y(this,`config`,{api:``,customMethodName:``,projectId:void 0,methodId:0,outputPath:``,outputDirName:``,apiBaseName:``,ignoreParamsDTO:[],deleteParentDTO:[],resOnlyInclude:``,apiHeaderTemplate:[]}),y(this,`apiList`,[]),y(this,`enums`,[]),Object.assign(this.config,e),this.getApiData()}getApiData(){var e=this;return x(function*(){let{api:n,projectId:r,outputPath:a,outputDirName:o,methodId:s}=e.config;try{let c=`${n}/api/project/getGenCodeDataV2?projectId=${r}`,{data:l}=yield i.default.get(c);if(e.config.outputPath=t.join(process.cwd(),a,o||l.data.project.appCode),e.apiList=l.data.apis.filter(e=>e._id==s),!e.apiList.length){h.green(`apiPath:`,c),h.green(`methodId:`,s),h.red(`【error】: 未找到接口`);return}}catch(e){h.red(`【error】: 接口获取异常`),console.log(e);return}try{yield e.checkApiOutputDir()}catch(e){h.red(`【error】: 检查输出目录异常`),console.log(e);return}try{yield e.createFile()}catch(e){h.red(`【error】: createFile 异常`),console.log(e)}})()}checkApiOutputDir(){let{outputPath:t}=this.config;console.log(r.default.blueBright(`【info】输出目录 ${t}`));try{e.default.statSync(t,{bigint:!0})}catch(n){e.default.mkdirSync(t,{recursive:!0})}}creatBaseFile(){var n=this;return x(function*(){let{outputPath:r}=n.config,i=t.join(__dirname,`../template/api`),a=e.default.readdirSync(i),o=e.default.readdirSync(r);for(let n of a)if(!o.includes(n))try{let a=e.default.readFileSync(t.join(i,n));e.default.writeFileSync(t.join(r,n),a)}catch(e){h.red(`【error】: 基础文件生成异常`),console.log(e)}})()}createFile(){var n=this;return x(function*(){let{apiBaseName:i,outputPath:a,customMethodName:o}=n.config;for(let c of n.apiList){var s;let l=e=>e.replace(/(-[a-z])|(^[a-z])/g,e=>e.replace(`-`,``).toLocaleUpperCase()),u=c.path.startsWith(`/`)?c.path:`/${c.path}`,d=typeof i==`string`?i.startsWith(`/`)?i:`/${i}`:i,f=u.replace(d,``),{apiDirName:p}=((s=RegExp(`(/)?(?<apiDirName>[a-zA-Z0-9_-]+)`).exec(f))==null?void 0:s.groups)||{},g=JSON.parse(c.responseJson)[0],_=g.fullName.replace(g.oName,``).split(`.`).at(-4)||``,v=o||_;console.log(v);let y=l(`${p}-`+v);try{e.default.statSync(t.join(a,p)).isDirectory()}catch(n){e.default.mkdirSync(t.join(a,p))}let b=``;try{b=e.default.readFileSync(t.join(a,p,`models.ts`)).toString()}catch(n){e.default.writeFileSync(t.join(a,`./${p}/models.ts`),``)}let x={type:``,list:[]},S={type:``,list:[]};try{x=m.getInterface({list:JSON.parse(c.bodyJson||c.queryJson)||[],config:n.config}),S=m.getInterface({list:JSON.parse(c.responseJson)||[],config:n.config,res:!0}),[{name:`ReqModel`,list:x.list,isNewLine:!0},{name:`ResModel`,list:S.list,isNewLine:!x.list.length}].filter(e=>e.list.length).forEach(n=>{let i=y+n.name;b.includes(`export interface ${i} {`)?(console.log(Object.keys(r.default)),h.yellowBright(`【warning】./${p}/models.ts 已存在 ${i}`)):e.default.appendFileSync(t.join(a,`./${p}/models.ts`),[n.isNewLine?`/* ************************************************ */`:``,`/** ${c.title} ${n.name} */`,`export interface ${i} {`,...n.list,`}`,``].join(`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(require(`fs`),require(`path`),require(`commander`),require(`chalk`),require(`axios`)):typeof define==`function`&&define.amd?define([`fs`,`path`,`commander`,`chalk`,`axios`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.fs,e.path,e.commander,e.chalk,e.axios))})(this,function(e,t,n,r,i){var a=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty,d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=c(t),a=0,l=i.length,d;a<l;a++)d=i[a],!u.call(e,d)&&d!==n&&o(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=s(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:a(l(e)),d(t||!e||!e.__esModule?o(n,`default`,{value:e,enumerable:!0}):n,e));e=f(e),t=f(t),r=f(r),i=f(i);var p=e=>{var t;let n=(e||``).toLowerCase(),r={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:i}=((t=RegExp(`^list<(?<listType>.+)>$`,``).exec(n))==null?void 0:t.groups)||{};return i?`Array<${r[i]||`any`}>`:r[n]||`any`},m=Object.freeze({getInterface:function({list:e,config:{ignoreParamsDTO:t,deleteParentDTO:n,resOnlyInclude:r},res:i=!1}){let a=``,o=e.filter(e=>!t.includes(e.name));if(n.length&&(o=o.flatMap(e=>{let t=n.some(t=>{let n=Object.prototype.toString.call(t);if(n===`[object RegExp]`)return t.test(e.oType);if(n===`[object String]`)return t===e.oType});return a=e.type||``,t||!e.name?(e==null?void 0:e.properties)||[]:[e]})),i&&r){let e=o.find(e=>{let t=Object.prototype.toString.call(r);if(t===`[object RegExp]`)return r.test(e.name);if(t===`[object String]`)return r===e.name});a=(e==null?void 0:e.type)||``,o=e?(e==null?void 0:e.properties)||[]:o}let s=[],c=(e,t)=>{for(let a of e){var n,r;let e=Array(t).fill(` `).join(``),o=a.required?``:`?`,l=``;if(a.type===`array`){var i;l=(i=a.subType)!=null&&i.includes(`object`)?`{`:p(a.subType||``)+`[];`}else l=a.type===`object`?`{`:p(a.type)+`;`;a.description&&s.push(`${e}/* ${a.description} */`),s.push(`${e+(a.name||`定义错误手动修改`)+o}: ${l}`),(n=a.properties)!=null&&n.length&&c(a.properties,t+1),a.type===`array`&&(r=a.subType)!=null&&r.includes(`object`)?s.push(`${e}}[];`):a.type===`object`&&s.push(`${e}};`)}};return c(o,1),{type:a,list:s}}}),h={red:(e,...t)=>{console.log(r.default.red(e),...t)},redBright:(e,...t)=>{console.log(r.default.redBright(e),...t)},bgRed:(e,...t)=>{console.log(r.default.bgRed(e),...t)},bgRedBright:(e,...t)=>{console.log(r.default.bgRedBright(e),...t)},blue:(e,...t)=>{console.log(r.default.blue(e),...t)},blueBright:(e,...t)=>{console.log(r.default.blueBright(e),...t)},bgBlue:(e,...t)=>{console.log(r.default.bgBlue(e),...t)},bgBlueBright:(e,...t)=>{console.log(r.default.bgBlueBright(e),...t)},yellow:(e,...t)=>{console.log(r.default.yellow(e),...t)},yellowBright:(e,...t)=>{console.log(r.default.yellowBright(e),...t)},bgYellow:(e,...t)=>{console.log(r.default.bgYellow(e),...t)},bgYellowBright:(e,...t)=>{console.log(r.default.bgYellowBright(e),...t)},green:(e,...t)=>{console.log(r.default.green(e),...t)},greenBright:(e,...t)=>{console.log(r.default.greenBright(e),...t)},bgGreen:(e,...t)=>{console.log(r.default.bgGreen(e),...t)},bgGreenBright:(e,...t)=>{console.log(r.default.bgGreenBright(e),...t)}};function g(e){"@babel/helpers - typeof";return g=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},g(e)}function _(e,t){if(g(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(g(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function v(e){var t=_(e,`string`);return g(t)==`symbol`?t:t+``}function y(e,t,n){return(t=v(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function b(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){n(e);return}s.done?t(c):Promise.resolve(c).then(r,i)}function x(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var a=e.apply(t,n);function o(e){b(a,r,i,o,s,`next`,e)}function s(e){b(a,r,i,o,s,`throw`,e)}o(void 0)})}}i.default.interceptors.response.use(e=>{var t;return((t=e.data)==null?void 0:t.errcode)==0?e:Promise.reject(e)},e=>{throw e});var S=class{constructor(e){y(this,`config`,{api:``,customMethodName:``,projectId:void 0,methodId:0,outputPath:``,outputDirName:``,apiBaseName:``,ignoreParamsDTO:[],deleteParentDTO:[],resOnlyInclude:``,apiHeaderTemplate:[]}),y(this,`apiList`,[]),y(this,`enums`,[]),Object.assign(this.config,e),this.getApiData()}getApiData(){var e=this;return x(function*(){let{api:n,projectId:r,outputPath:a,outputDirName:o,methodId:s}=e.config;try{let c=`${n}/api/project/getGenCodeDataV2?projectId=${r}`,{data:l}=yield i.default.get(c);if(e.config.outputPath=t.join(process.cwd(),a,o||l.data.project.appCode),e.apiList=l.data.apis.filter(e=>e._id==s),!e.apiList.length){h.green(`apiPath:`,c),h.green(`methodId:`,s),h.red(`【error】: 未找到接口`);return}}catch(e){h.red(`【error】: 接口获取异常`),console.log(e);return}try{yield e.checkApiOutputDir()}catch(e){h.red(`【error】: 检查输出目录异常`),console.log(e);return}try{yield e.createFile()}catch(e){h.red(`【error】: createFile 异常`),console.log(e)}})()}checkApiOutputDir(){let{outputPath:t}=this.config;console.log(r.default.blueBright(`【info】输出目录 ${t}`));try{e.default.statSync(t,{bigint:!0})}catch(n){e.default.mkdirSync(t,{recursive:!0})}}creatBaseFile(){var n=this;return x(function*(){let{outputPath:r}=n.config,i=t.join(__dirname,`../template/api`),a=e.default.readdirSync(i),o=e.default.readdirSync(r);for(let n of a)if(!o.includes(n))try{let a=e.default.readFileSync(t.join(i,n));e.default.writeFileSync(t.join(r,n),a)}catch(e){h.red(`【error】: 基础文件生成异常`),console.log(e)}})()}createFile(){var n=this;return x(function*(){let{apiBaseName:i,outputPath:a,customMethodName:o}=n.config;for(let c of n.apiList){var s;let l=e=>e.replace(/(-[a-z])|(^[a-z])/g,e=>e.replace(`-`,``).toLocaleUpperCase()),u=c.path.startsWith(`/`)?c.path:`/${c.path}`,d=typeof i==`string`?i.startsWith(`/`)?i:`/${i}`:i,f=u.replace(d,``),{apiDirName:p}=((s=RegExp(`(/)?(?<apiDirName>[a-zA-Z0-9_-]+)`).exec(f))==null?void 0:s.groups)||{},g=JSON.parse(c.responseJson)[0],_=g.fullName.replace(g.oName,``).split(`.`).at(-4)||``,v=o||_;console.log(v);let y=l(`${p}-`+v);try{e.default.statSync(t.join(a,p)).isDirectory()}catch(n){e.default.mkdirSync(t.join(a,p))}let b=``;try{b=e.default.readFileSync(t.join(a,p,`models.ts`)).toString()}catch(n){e.default.writeFileSync(t.join(a,`./${p}/models.ts`),``)}let x={type:``,list:[]},S={type:``,list:[]};try{x=m.getInterface({list:JSON.parse(c.bodyJson||c.queryJson)||[],config:n.config}),S=m.getInterface({list:JSON.parse(c.responseJson)||[],config:n.config,res:!0}),[{name:`ReqModel`,list:x.list,isNewLine:!0},{name:`ResModel`,list:S.list,isNewLine:!x.list.length}].filter(e=>e.list.length).forEach(n=>{let i=y+n.name;b.includes(`export interface ${i} {`)?(console.log(Object.keys(r.default)),h.yellowBright(`【warning】./${p}/models.ts 已存在 ${i}`)):e.default.appendFileSync(t.join(a,`./${p}/models.ts`),[n.isNewLine?`/* ************************************************ */`:``,`/** ${c.title} ${n.name} */`,`export interface ${i} {`,...n.list,`}`,``].join(`
2
2
  `))})}catch(e){throw h.red(`【error】类型生成失败 projectId: ${n.config.projectId} methodId: ${c._id} path: ${u}`),r.default.red(e)}let C=x.type==`array`?`[]`:``,w=S.type==`array`?`[]`:``;console.log(x.type,S.type);let T=[c.title&&` /** ${c.title} */`,` ${v}(${x.list.length?`params: M.${y}ReqModel${C}`:``}) {`,` return axios.${c.method.toLowerCase()}<ApiResponse<${S.list.length?`M.${y}ResModel${w}`:`any`}>>(`,` \`\${ApiPrefix}${u}\`,`,x.list.length&&` ${[`post`,`put`,`patch`].includes(c.method.toLowerCase())?`params`:`{ params }`},`,` );`,` },`].filter(Boolean);/^[a-zA-Z]+$/.test((c.method||``).trim())||console.log(r.default.yellowBright(`【warning】接口请求类型异常,请手动补全 method:${c.method} path: ${u} methodId: ${n.config.methodId} projectId: ${n.config.projectId}`));let E=`${l(p)}Api`;try{let n=e.default.readFileSync(t.join(a,p,`api.ts`)).toString(),r=n.split(`
3
3
  `);if(!n.includes(`import`))throw Error(`null`);if(n.includes(` ${v}(`)){let e=r.findIndex(e=>e.includes(` ${v}(`)),t=r.findIndex((t,n)=>n>e&&t===` },`);h.yellowBright([`【warning】./${p}/api.ts 已存在api`,...r.slice(e,t+1).map(e=>` ${e}`)].join(`
4
4
  `)),h.yellowBright(`【warning】当前需要生成的 path 为 ${u}, methodName 为 ${v}`)}else r.splice(r.map(e=>e.includes(`}`)).lastIndexOf(!0),0,T.join(`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sy-api-pro",
3
- "version": "2.0.4",
3
+ "version": "2.0.5",
4
4
  "main": "./bin/index.ts",
5
5
  "types": "./bin/model.d.ts",
6
6
  "bin": {
@@ -43,6 +43,6 @@
43
43
  },
44
44
  "devDependencies": {
45
45
  "rollup-plugin-terser": "^7.0.2",
46
- "vite": "^8.0.6"
46
+ "vite": "^8.0.7"
47
47
  }
48
48
  }