UNPKG

anl

Version:
1 lines 1.82 kB
const e=require(`../../_virtual/rolldown_runtime.cjs`),t=require(`../../utils/logger.cjs`),n=require(`../../utils/index.cjs`),r=require(`../shared/naming.cjs`),i=require(`../shared/constants.cjs`),a=require(`../shared/writer.cjs`);let o=require(`fs`);o=e.__toESM(o);var s=class{config;appendMode;constructor(e,t){this.config=e,this.appendMode=t?.appendMode??!1}async writeSchemas(e){let o=[],s=r.getServerSegment(this.config),c=s?`${s}/`:``,l=`${this.config.saveTypeFolderPath}/models/${c}`;await n.runWithConcurrency(Array.from(e.values()).sort((e,t)=>e.fileName.localeCompare(t.fileName)),32,async({fileName:e,content:r})=>{o.push(`export * from './${e}';`);let a=`${l}${e}.ts`;try{await n.writeFileRecursive(a,r),t.log.info(`${a.padEnd(i.PAD_END)} - Write done!`)}catch(e){t.log.warning(`${a} - Write failed: ${e instanceof Error?e.message:String(e)}`)}}),o.sort(),await a.writeIndexFileWithDedup(`${l}index.ts`,o,{appendMode:this.appendMode}),t.log.step(`Components parsed & written`)}async writeEnums(e){let s=[],c=r.getEnumSegment(this.config),l=c?`${c}/`:``,u=`${this.config.saveEnumFolderPath}/${l}`;await n.runWithConcurrency(Array.from(e.values()).sort((e,t)=>e.fileName.localeCompare(t.fileName)),32,async({fileName:e,content:r})=>{s.push(`export * from './${e}';`);let a=`${u}${e}.ts`;if(this.appendMode&&!c)try{await o.default.promises.readFile(a,`utf8`)!==r&&t.log.warning(`Enum 文件冲突:${a} 已存在且内容不同,将被当前服务覆盖。请检查不同 swagger 服务是否定义了同名但语义不一致的枚举,或开启 enumIsolation: 'segment'。`)}catch{}await n.writeFileRecursive(a,r),t.log.info(`${a.padEnd(i.PAD_END)} - Write done!`)}),s.sort(),await a.writeIndexFileWithDedup(`${u}index.ts`,s,{appendMode:this.appendMode}),t.log.step(`Enums written`)}};exports.ComponentWriter=s;