comp-hub 0.47.0 → 0.47.1

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.
Files changed (2) hide show
  1. package/dist/index.js +1 -1
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- (()=>{var __webpack_modules__={53196:ir=>{function webpackEmptyAsyncContext(ir){return Promise.resolve().then((()=>{var sr=new Error("Cannot find module '"+ir+"'");sr.code="MODULE_NOT_FOUND";throw sr}))}webpackEmptyAsyncContext.keys=()=>[];webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext;webpackEmptyAsyncContext.id=53196;ir.exports=webpackEmptyAsyncContext},14071:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});const yr=hr(lr(22078));const kr=lr(23718);const{logLevel:Fr=""}=(0,yr.default)(process.argv.slice(2));sr["default"]={keys:"1755564797722_8890",koa:{globalPrefix:"/api"},midwayLogger:{default:{transports:{console:{level:"all"}}},clients:{appLogger:{level:Fr||"warn"},coreLogger:{level:Fr||"info"}}},cacheManager:{clients:{default:{store:"memory"}}},i18n:{defaultLocale:"zh",localeTable:{en:{default:kr.backendMessages.en},zh:{default:kr.backendMessages.zh},fr:{default:kr.backendMessages.fr},nl:{default:kr.backendMessages.nl},"zh-TW":{default:kr.backendMessages["zh-TW"]}},writeCookie:false}}},91921:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr["default"]={}},12799:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.MainConfiguration=void 0;const Wr=lr(46123);const zr=Fr(lr(47453));const Jr=Fr(lr(99375));const Hr=Fr(lr(65295));const Gr=Fr(lr(2865));const Yr=Fr(lr(49179));const Qr=Fr(lr(62487));const Zr=Fr(lr(96955));const cn=Fr(lr(87735));const un=Fr(lr(16928));const Tn=Fr(lr(79896));const jn=Ur(lr(76982));const ni=lr(79896);const si=lr(24434);const pi=Ur(lr(99819));const di=Ur(lr(77036));const gi=lr(31855);const yi=lr(26815);const Ti=lr(54633);const Ei=lr(59416);const Ci=lr(61142);const Pi=lr(64754);const wi=lr(10778);const Fi=lr(67872);const Ri=lr(15960);const Bi=lr(4145);const ji=Fr(lr(14071));const Wi=Fr(lr(91921));const zi=lr(87518);const Hi=lr(18801);const Ki=Fr(lr(68255));const $i={DEFAULT_PORT:Number(zi.uri.getUrlPort(yi.KEYS.LOCAL_SERVICE_URL_DEV)),MAX_SUB_PORT_RETRIES:20};let ks=class MainConfiguration{constructor(){this.appConfig=null;this.subServer=null}get apiUrl(){const ir=this.app.getEnv();return ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL?yi.KEYS.REMOTE_SERVICE_URL_DEV:yi.KEYS.REMOTE_SERVICE_URL_PROD}getVersion(){const ir=this.app.getEnv();if(ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){const ir=un.join(__dirname,"../../cli/package.json");const sr=JSON.parse((0,ni.readFileSync)(ir,"utf8"));return sr.version}return process.env.COMP_HUB_VERSION||"unknown"}createProxyConfig(ir){const sr=new si.EventEmitter;const lr={...ir,on:{...ir.on,error:ir=>{this.logger.error("Proxy Error:",ir.message);sr.emit("error",ir)},proxyRes:()=>sr.emit("proxyRes"),proxyReq:ir=>{const lr=`${ir.protocol}//${ir.host}${ir.path}`;this.logger.debug("[Proxy] →",lr);sr.emit("proxyReq",ir)},proxyReqWs:(...ir)=>sr.emit("proxyReqWs",...ir)}};const hr=ir.pathRewrite;const yr=Object.keys(hr??{});if(yr.length>0){const[ir]=yr;lr.pathRewrite=sr=>{let lr=sr.replace(yi.KEYS.PROXY_PATH_PREFIX,"");lr=lr.replace(new RegExp(ir),hr[ir]);return lr}}else{lr.pathRewrite=ir=>ir.replace(yi.KEYS.PROXY_PATH_PREFIX,"")}return{proxy:(0,gi.createProxyMiddleware)(lr),opt:lr,event:sr}}createProxyMap(ir){const sr={};for(const[lr,hr]of Object.entries(ir)){sr[lr]=this.createProxyConfig(hr)}return sr}setupProxy(){const ir=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);if(Pi.ProxyController.proxys){for(const ir of Object.values(Pi.ProxyController.proxys)){ir.event.removeAllListeners()}}Pi.ProxyController.proxys={};if(!ir.proxy)return;Pi.ProxyController.proxys=this.createProxyMap(ir.proxy)}async buildConfig(ir){const sr=this.app.getEnv();const lr=ir.cwd||process.cwd();this.logger.info("cwd:",lr);this.logger.info("env:",sr);const hr={port:ir.port||$i.DEFAULT_PORT,allowDebug:ir.allowDebug??false,api:ir.api||this.apiUrl,dir:ir.dir||"",cwd:lr,proxy:ir.proxy};const yr=un.join(lr,hr.dir||"").replace(/[\\/]$/,"");const kr=un.join(lr,yi.KEYS.PREBUILD_MODULE_DIR);const Fr=un.join(lr,"node_modules");await Tn.promises.mkdir(kr,{recursive:true});const Br={prebuildModulePath:kr,cwd:lr,port:hr.port,srcPath:yr,remoteServer:hr.api,version:this.getVersion(),allowDebug:hr.allowDebug,proxy:hr.proxy,projectHash:jn.default.createHash("sha256").update(lr).digest("hex").slice(0,8),ossWebsite:(0,Ri.shouldUseOssMode)(sr)?{main:process.env.WEBSITE_OSS_URL_MAIN||yi.KEYS.WEBSITE_OSS_URL_MAIN,iframe:process.env.WEBSITE_OSS_URL_IFRAME||yi.KEYS.WEBSITE_OSS_URL_IFRAME}:null};wi.remoteInstance.defaults.baseURL=Br.remoteServer;if(sr===yi.KEYS.LOCAL_MIDWAY_ENV_PROD){Br.port=await(0,di.default)({port:di.default.makeRange(Br.port,Br.port+100)})}this.appConfig=Br;const Ur={[yi.KEYS.MODULE_LOAD_PREFIX]:{prefix:yi.KEYS.MODULE_LOAD_PREFIX,dir:kr,maxAge:0},[yi.KEYS.NODE_MODULES_LOAD_PREFIX]:{prefix:yi.KEYS.NODE_MODULES_LOAD_PREFIX,dir:Fr,maxAge:0},[yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL]:{prefix:yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,dir:Br.srcPath,maxAge:0}};Ur.default={prefix:"/public",dir:kr};const Wr={dirs:Ur};if(sr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){await Tn.promises.writeFile(un.join(__dirname,".comphubConfig.json"),JSON.stringify(Br,null,2))}return{koa:{port:Br.port},staticFile:Wr,httpProxy:{strategy:{[yi.KEYS.REMOTE_SERVICE_PREFIX]:{match:new RegExp(`^/${yi.KEYS.REMOTE_SERVICE_PREFIX}/(.*)$`),target:`${Br.remoteServer}/$1`}}}}}async startSubPort(){const ir=this.app.getEnv();const sr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);const{port:lr,remoteServer:hr}=sr;let yr=await(0,di.default)({port:di.default.makeRange(lr,lr+100)});const kr=new pi.default;kr.use((async(ir,yr)=>{if(ir.path.startsWith(yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL)){const{srcPath:lr}=sr;const hr=ir.path[0];const yr=ir.path.replace(yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,"");const kr=await zi.locate.resolveBuildPath(yr,{baseDir:lr});if(kr){const sr=kr.replace(lr,"");const Fr=Hi.textKit.replaceSlashWithSpecifiedSeparator(sr,hr);if(yr!==Fr){const sr=Fr.replace(yr,"");ir.redirect(ir.path+sr);return}}}const kr=[{prefix:`/${yi.KEYS.REMOTE_SERVICE_PREFIX}`,target:hr,rewrite:{[`^/${yi.KEYS.REMOTE_SERVICE_PREFIX}`]:""}},{prefix:`/${yi.KEYS.LOCAL_SERVICE_PREFIX}`,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{[`^/${yi.KEYS.LOCAL_SERVICE_PREFIX}`]:""}},{prefix:yi.KEYS.MODULE_LOAD_PREFIX,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}},{prefix:yi.KEYS.NODE_MODULES_LOAD_PREFIX,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}},{prefix:yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}}];for(const sr of kr){if(ir.path.startsWith(sr.prefix)){await(0,Fi.createKoaProxy)(ir,sr.target,sr.rewrite);return}}await yr()}));if((0,Ri.shouldUseOssMode)(ir)){const ir=sr.ossWebsite;kr.use((0,Ri.createOssStaticMiddleware)({mainBaseUrl:ir.main,iframeBaseUrl:ir.iframe,htmlMode:"inject",injectHtml:(ir,sr)=>{const lr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);const hr=`<script>window.__GLOBAL_CONFIG__ = ${JSON.stringify({subPort:lr.subPort})};<\/script>`;return sr.replace("\x3c!--GLOBAL_CONFIG--\x3e",hr)},logger:this.logger}))}await new Promise(((lr,hr)=>{let Fr=0;const Br=kr.listen(yr,(()=>{this.subServer=Br;this.app.setAttr(yi.KEYS.COMPHUB_CONFIG_KEY,{...sr,subPort:yr});if(process.send){process.send({type:"subPort",subPort:yr})}if(ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){this.logger.info(`子端口 ${yr} 已启动`)}lr()}));Br.on("error",(ir=>{if(ir.code==="EADDRINUSE"&&Fr<$i.MAX_SUB_PORT_RETRIES){Fr++;this.logger.error(`子端口 ${yr} 被占用,正在尝试端口 ${++yr}`);Br.close();Br.listen(yr)}else{hr(ir)}}))}))}async printAccessInfo(ir){const sr=await ir.getAsync(zr.Framework);const lr=sr.getServer();const hr=lr.address();const yr=this.app.getEnv();const kr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);this.logger.info("cwd:",kr.cwd);this.logger.info("env:",yr);this.logger.info("port:",kr.port);if(kr.subPort)this.logger.info("subPort:",kr.subPort);if(hr&&typeof hr!=="string"){const ir=hr.port;this.logger.info("Local Address:",`http://localhost:${ir}`);if(yr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){const sr=zi.network.getLocalIPv4();if(sr)this.logger.info("Network Address:",`http://${sr}:${ir}`);this.logger.info("Swagger UI:",`http://localhost:${ir}/swagger-ui/index.html`)}}}async onConfigLoad(){const ir=await(0,Bi.waitForIpcConfig)();const sr=await this.buildConfig(ir);const lr=this.app.getEnv();if(lr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){await Tn.promises.writeFile(un.join(__dirname,".start.json"),JSON.stringify(sr,null,2))}return sr}async onReady(){this.app.setAttr(yi.KEYS.COMPHUB_CONFIG_KEY,this.appConfig);this.app.useMiddleware([Ci.ReportMiddleware]);const ir=this.app.getEnv();if((0,Ri.shouldUseOssMode)(ir)){const ir=this.appConfig.ossWebsite;this.app.use((0,Ri.createOssStaticMiddleware)({mainBaseUrl:ir.main,iframeBaseUrl:ir.iframe,htmlMode:"passthrough",logger:this.logger}))}this.app.useFilter([Ei.BadRequestErrorFilter,Ti.DefaultErrorFilter]);process.on("disconnect",(()=>{this.logger.info("Master process exited, shutting down...");if(this.subServer){this.subServer.close()}process.exit(0)}))}async onServerReady(ir){this.setupProxy();await this.startSubPort();await this.printAccessInfo(ir)}async onStop(){if(this.subServer){await new Promise((ir=>{this.subServer.close((()=>ir()))}));this.logger.info("子服务已关闭")}}};sr.MainConfiguration=ks;kr([(0,Wr.Logger)("coreLogger"),Br("design:type",Object)],ks.prototype,"logger",void 0);kr([(0,Wr.App)(),Br("design:type",Object)],ks.prototype,"app",void 0);sr.MainConfiguration=ks=kr([(0,Wr.Configuration)({imports:[zr,Jr,Gr,Qr,Zr,cn,Ki,{component:Hr,enabledEnvironment:[yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL]},{component:Yr,enabledEnvironment:[yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL]}],importConfigs:[{default:ji,local:Wi}]})],ks)},83465:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.CompController=void 0;const Fr=lr(46123);const Br=lr(48795);const Ur=lr(63366);const Wr=lr(49179);const zr=lr(8131);const Jr=lr(101);const Hr=lr(19465);const Gr=lr(19385);const Yr=lr(4990);const Qr=(0,Gr.createNoData)(Wr.ApiProperty);let Zr=class CompController{async dir(ir){const sr=await this.compService.getCompDir(ir.compPath);return Gr.resUtil.success(sr)}async file(ir){const{filePath:sr}=ir;const lr=await this.compService.getCompFile(sr);return Gr.resUtil.success({content:lr})}async check(ir){const sr=await this.compService.checkCompConfig(ir.compPath,ir.framework);return Gr.resUtil.success(sr)}async updateVersion(ir){const{compPath:sr,version:lr}=ir;await this.compService.updateCompVersion(sr,lr);return Gr.resUtil.noData()}async generateCompJson(ir){const{compPath:sr}=ir;await this.compService.generateCompJson(sr);return Gr.resUtil.noData()}async dep(ir){const{compPath:sr}=ir;const{dep:lr,framework:hr}=await this.compService.getCompDep(sr);return Gr.resUtil.success({thirdParty:lr,framework:hr})}async checkCompRepeat(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();const sr=await this.compService.checkCompRepeat(ir);return Gr.resUtil.success(sr)}async submit(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();await this.compService.submitComp(ir);return Gr.resUtil.noData()}async update(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();await this.compService.updateComp(ir);return Gr.resUtil.noData()}async download(ir){const sr=await this.compService.downloadComp(ir);if(sr?.isRepeat){return Gr.resUtil.success({isRepeat:true})}return Gr.resUtil.success({isRepeat:false})}async localCompsByIds(ir){const{compIds:sr}=ir;const lr=await this.compService.getLocalCompsByIds(sr);return Gr.resUtil.success({compInfos:lr})}async packageJson(){const ir=await this.compService.getPackageJsonContent();return Gr.resUtil.success({packageJson:ir})}async compFileHash(ir){const sr=await this.compService.getCompFileHash(ir);return Gr.resUtil.success(sr)}async localComps(ir){const sr=await this.compService.getLocalComps(ir);return Gr.resUtil.success(sr)}async openCompPathInVscode(ir){await this.compService.openCompPathInVscode(ir);return Gr.resUtil.noData()}async openCompPathInExplorer(ir){await this.compService.openCompPathInExplorer(ir);return Gr.resUtil.noData()}async localCompDetailByPathHash(ir){const sr=await this.compService.getLocalCompDetailByPathHash(ir);return Gr.resUtil.success(sr)}async writeFile(ir){await this.compService.writeCompFile(ir);return Gr.resUtil.noData()}async renameDir(ir){await this.compService.renameCompDir(ir);return Gr.resUtil.noData()}};sr.CompController=Zr;hr([(0,Fr.App)(),yr("design:type",Object)],Zr.prototype,"app",void 0);hr([(0,Fr.Inject)(),yr("design:type",Br.CompService)],Zr.prototype,"compService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Ur.ConfigService)],Zr.prototype,"configService",void 0);hr([(0,Wr.ApiOperation)({summary:"获取组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileVO)}),(0,Fr.Post)("/dir"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompDirDTO]),yr("design:returntype",Promise)],Zr.prototype,"dir",null);hr([(0,Wr.ApiOperation)({summary:"获取组件目录内指定文件的内容"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileContentVO)}),(0,Fr.Post)("/file"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompFileDTO]),yr("design:returntype",Promise)],Zr.prototype,"file",null);hr([(0,Wr.ApiOperation)({summary:"检查组件配置是否符合规范"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompCheckVO)}),(0,Fr.Post)("/check"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompCheckDTO]),yr("design:returntype",Promise)],Zr.prototype,"check",null);hr([(0,Wr.ApiOperation)({summary:"更新组件版本号"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/updateVersion"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.UpdateVersionDTO]),yr("design:returntype",Promise)],Zr.prototype,"updateVersion",null);hr([(0,Wr.ApiOperation)({summary:"生成组件指纹文件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/generateCompJson"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.GenerateCompJsonDTO]),yr("design:returntype",Promise)],Zr.prototype,"generateCompJson",null);hr([(0,Wr.ApiOperation)({summary:"获取组件依赖关系"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.ImportScanResultVO)}),(0,Fr.Post)("/dep"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.DepDTO]),yr("design:returntype",Promise)],Zr.prototype,"dep",null);hr([(0,Wr.ApiOperation)({summary:"检查组件是否重复"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompSimilarListVO)}),(0,Fr.Post)("/checkCompRepeat",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CheckCompRepeatDTO]),yr("design:returntype",Promise)],Zr.prototype,"checkCompRepeat",null);hr([(0,Wr.ApiOperation)({summary:"提交组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/submit",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.SubmitCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"submit",null);hr([(0,Wr.ApiOperation)({summary:"更新组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/update",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.UpdateCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"update",null);hr([(0,Wr.ApiOperation)({summary:"下载组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.DownloadCompVO)}),(0,Fr.Post)("/download",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.DownloadCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"download",null);hr([(0,Wr.ApiOperation)({summary:"通过ids在本地查询组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.LocalCompsByIdsVO)}),(0,Fr.Post)("/localCompsByIds"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompsByIdsDTO]),yr("design:returntype",Promise)],Zr.prototype,"localCompsByIds",null);hr([(0,Wr.ApiOperation)({summary:"获取package.json"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.PackageJsonVO)}),(0,Fr.Post)("/packageJson"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Zr.prototype,"packageJson",null);hr([(0,Wr.ApiOperation)({summary:"获取组件文件hash"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileHashVO)}),(0,Fr.Post)("/compFileHash"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompFileHashDTO]),yr("design:returntype",Promise)],Zr.prototype,"compFileHash",null);hr([(0,Wr.ApiOperation)({summary:"获取本地组件列表,分页查询"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,(0,Gr.createListWrapper)(Wr.ApiProperty,Jr.LocalCompsVO))}),(0,Fr.Post)("/localComps",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompsDTO]),yr("design:returntype",Promise)],Zr.prototype,"localComps",null);hr([(0,Wr.ApiOperation)({summary:"通过组件路径打开在vscode中打开所在文件夹"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/openCompPathInVscode"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.OpenCompPathInVscodeDTO]),yr("design:returntype",Promise)],Zr.prototype,"openCompPathInVscode",null);hr([(0,Wr.ApiOperation)({summary:"在系统文件管理器中打开并选中组件文件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/openCompPathInExplorer"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.OpenCompPathInExplorerDTO]),yr("design:returntype",Promise)],Zr.prototype,"openCompPathInExplorer",null);hr([(0,Wr.ApiOperation)({summary:"通过组件完整文件路径hash获取组件信息"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.LocalCompDetailVO)}),(0,Fr.Post)("/localCompDetailByPathHash"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompDetailByPathHashDTO]),yr("design:returntype",Promise)],Zr.prototype,"localCompDetailByPathHash",null);hr([(0,Wr.ApiOperation)({summary:"写入文件到组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/writeFile"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompWriteFileDTO]),yr("design:returntype",Promise)],Zr.prototype,"writeFile",null);hr([(0,Wr.ApiOperation)({summary:"重命名组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/renameDir"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.RenameCompDirDTO]),yr("design:returntype",Promise)],Zr.prototype,"renameDir",null);sr.CompController=Zr=hr([(0,Wr.ApiTags)(["comp"]),(0,Fr.Controller)("/comp")],Zr)},96736:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.ModuleController=void 0;const Fr=lr(46123);const Br=lr(49179);const Ur=lr(85984);const Wr=lr(19428);const zr=lr(71692);const Jr=lr(61275);const Hr=lr(19385);const Gr=(0,Hr.createNoData)(Br.ApiProperty);let Yr=class ModuleController{async preBuild(ir){const{deps:sr}=ir;let lr=null;await this.queueService.enqueue((async()=>{lr=await this.moduleService.preBuild(sr)}));return Hr.resUtil.success(lr)}async buildTemplateCompiler(ir){let sr=null;await this.queueService.enqueue((async()=>{sr=await this.moduleService.buildTemplateCompiler(ir.vueVersion)}));return Hr.resUtil.success(sr)}async preBuildSize(){const ir=await this.moduleService.preBuildSize();return Hr.resUtil.success({size:ir})}async clearPreBuild(){await this.moduleService.clearPreBuild();return Hr.resUtil.noData()}};sr.ModuleController=Yr;hr([(0,Fr.Inject)(),yr("design:type",Ur.ModuleService)],Yr.prototype,"moduleService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.QueueService)],Yr.prototype,"queueService",void 0);hr([(0,Br.ApiOperation)({summary:"模块预构建"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.PreBuildVO)}),(0,Fr.Post)("/preBuild"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[Wr.PreBuildDTO]),yr("design:returntype",Promise)],Yr.prototype,"preBuild",null);hr([(0,Br.ApiOperation)({summary:"构建 vue-template-compiler 浏览器 bundle"}),(0,Br.ApiResponse)({status:200,description:"返回 vue-template-compiler 浏览器 bundle 文件名",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.BuildTemplateCompilerVO)}),(0,Fr.Post)("/buildTemplateCompiler"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[Wr.BuildTemplateCompilerDTO]),yr("design:returntype",Promise)],Yr.prototype,"buildTemplateCompiler",null);hr([(0,Br.ApiOperation)({summary:"获取预构建模块文件总大小"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.PreBuildSizeVO)}),(0,Fr.Post)("/preBuildSize"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Yr.prototype,"preBuildSize",null);hr([(0,Br.ApiOperation)({summary:"清除预构建模块文件"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:Gr}),(0,Fr.Post)("/clearPreBuild"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Yr.prototype,"clearPreBuild",null);sr.ModuleController=Yr=hr([(0,Br.ApiTags)(["module"]),(0,Fr.Controller)("/module")],Yr)},64754:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr;Object.defineProperty(sr,"__esModule",{value:true});sr.ProxyController=void 0;const Fr=lr(46123);const Br=lr(26815);const Ur=Br.KEYS.PROXY_PATH_PREFIX;let Wr=kr=class ProxyController{async proxy(){const ir=this.ctx.path.replace(Ur,"");let sr=null;for(const[lr,hr]of Object.entries(kr.proxys)){const yr=new RegExp(lr);if(yr.test(ir)||ir.startsWith(lr)){sr=hr;break}}if(!sr){this.ctx.status=404;this.ctx.body={message:"Proxy not found"};return}const{proxy:lr,event:hr}=sr;await new Promise(((ir,sr)=>{lr(this.ctx.req,this.ctx.res);hr.on("error",sr);hr.on("proxyRes",ir)}))}};sr.ProxyController=Wr;hr([(0,Fr.Inject)(),yr("design:type",Object)],Wr.prototype,"ctx",void 0);hr([(0,Fr.All)("/*"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Wr.prototype,"proxy",null);sr.ProxyController=Wr=kr=hr([(0,Fr.Controller)(Ur,{ignoreGlobalPrefix:true})],Wr)},17076:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SpaController=void 0;const kr=lr(46123);const Fr=lr(49179);const Br=lr(63366);const Ur=lr(26815);const Wr="无法连接 OSS 资源服务器,请检查网络后重试";let zr=class SpaController{async index(){this.ctx.redirect(`/${Ur.KEYS.WEBSITE_PATH_MAIN}/`)}async spa(){const ir=this.configService.comphubConfig();const{ossWebsite:sr}=ir;if(!sr){this.ctx.status=404;return}let lr;let hr;try{hr=await fetch(`${sr.main}/${Ur.KEYS.WEBSITE_PATH_MAIN}/index.html`,{signal:AbortSignal.timeout(15e3)})}catch{this.ctx.status=502;this.ctx.body=Wr;return}if(!hr.ok){this.ctx.status=502;this.ctx.body=Wr;return}lr=await hr.text();this.ctx.set("Cache-Control","no-cache");const yr=this.configService.getGlobalConfig();const{projectHash:kr}=yr;if(kr){lr=lr.replace(/<base[^>]*>/gi,"");lr=lr.replace("\x3c!--BASE_HREF--\x3e",`<base href="/${kr}/${Ur.KEYS.WEBSITE_PATH_MAIN}/">`)}const Fr=`<script>window.__GLOBAL_CONFIG__ = ${JSON.stringify(yr)};<\/script>`;lr=lr.replace("\x3c!--GLOBAL_CONFIG--\x3e",Fr);return lr}async getGlobalConfig(){return this.configService.getGlobalConfig()}};sr.SpaController=zr;hr([(0,kr.Inject)(),yr("design:type",Object)],zr.prototype,"ctx",void 0);hr([(0,kr.App)(),yr("design:type",Object)],zr.prototype,"app",void 0);hr([(0,kr.Inject)(),yr("design:type",Br.ConfigService)],zr.prototype,"configService",void 0);hr([(0,kr.Get)("/"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"index",null);hr([(0,kr.Get)(`/${Ur.KEYS.WEBSITE_PATH_MAIN}/*`),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"spa",null);hr([(0,kr.Get)(Ur.KEYS.GLOBAL_CONFIG_PATH),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"getGlobalConfig",null);sr.SpaController=zr=hr([(0,Fr.ApiExcludeController)(),(0,kr.Controller)("/",{ignoreGlobalPrefix:true})],zr)},44734:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.VuefinderController=void 0;const Fr=lr(46123);const Br=lr(5808);const Ur=lr(49179);const Wr=lr(23444);let zr=class VuefinderController{async list(ir){const sr=await this.vuefinderService.list(ir);return sr}};sr.VuefinderController=zr;hr([(0,Fr.App)(),yr("design:type",Object)],zr.prototype,"app",void 0);hr([(0,Fr.Inject)(),yr("design:type",Br.VuefinderService)],zr.prototype,"vuefinderService",void 0);hr([(0,Ur.ApiOperation)({summary:"list"}),(0,Fr.Get)("/list"),kr(0,(0,Fr.Query)()),yr("design:type",Function),yr("design:paramtypes",[Wr.VueFinderIndexDTO]),yr("design:returntype",Promise)],zr.prototype,"list",null);sr.VuefinderController=zr=hr([(0,Ur.ApiTags)(["vuefinder"]),(0,Fr.Controller)("/vuefinder")],zr)},60149:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BasePageDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class BasePageDTO{}sr.BasePageDTO=BasePageDTO;hr([(0,kr.ApiProperty)({example:1,description:"当前页码",required:false}),(0,Fr.Rule)(Fr.RuleType.number().min(1)),yr("design:type",Number)],BasePageDTO.prototype,"page",void 0);hr([(0,kr.ApiProperty)({example:10,description:"每页数量",required:false}),(0,Fr.Rule)(Fr.RuleType.number().min(1).max(50)),yr("design:type",Number)],BasePageDTO.prototype,"pageSize",void 0);hr([(0,Fr.Rule)(Fr.RuleType.string().allow("").max(50).pattern(/\{\s*\$\w+:/i,{invert:true}).trim()),(0,kr.ApiProperty)({example:"小明",description:"关键词",required:false}),yr("design:type",String)],BasePageDTO.prototype,"keyword",void 0)},8131:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.RenameCompDirDTO=sr.CompWriteFileDTO=sr.LocalCompDetailByPathHashDTO=sr.OpenCompPathInExplorerDTO=sr.OpenCompPathInVscodeDTO=sr.LocalCompsDTO=sr.DownloadCompDTO=sr.UpdateCompDTO=sr.SubmitCompDTO=sr.DepItemDTO=sr.CompFileDTO=sr.UpdateVersionDTO=sr.CompFileHashDTO=sr.CheckCompRepeatDTO=sr.LocalCompsByIdsDTO=sr.DepDTO=sr.GenerateCompJsonDTO=sr.CompCheckDTO=sr.CompDirDTO=void 0;const kr=lr(49179);const Fr=lr(99375);const Br=lr(26815);const Ur=lr(60149);class CompPathDTO{}hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompPathDTO.prototype,"compPath",void 0);class CompIdDTO{}hr([(0,kr.ApiProperty)({required:true,description:"组件id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompIdDTO.prototype,"compId",void 0);class CompDirDTO extends CompPathDTO{}sr.CompDirDTO=CompDirDTO;class CompCheckDTO extends CompPathDTO{}sr.CompCheckDTO=CompCheckDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件框架类型",example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompCheckDTO.prototype,"framework",void 0);class GenerateCompJsonDTO extends CompPathDTO{}sr.GenerateCompJsonDTO=GenerateCompJsonDTO;class DepDTO extends CompPathDTO{}sr.DepDTO=DepDTO;class LocalCompsByIdsDTO{}sr.LocalCompsByIdsDTO=LocalCompsByIdsDTO;hr([(0,kr.ApiProperty)({type:[String],required:true,description:"组件id列表",example:["123","456"]}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],LocalCompsByIdsDTO.prototype,"compIds",void 0);class CheckCompRepeatDTO extends CompPathDTO{}sr.CheckCompRepeatDTO=CheckCompRepeatDTO;hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],CheckCompRepeatDTO.prototype,"teamId",void 0);class CompFileHashDTO extends CompPathDTO{}sr.CompFileHashDTO=CompFileHashDTO;class UpdateVersionDTO extends CompPathDTO{}sr.UpdateVersionDTO=UpdateVersionDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件版本号",example:"1.0.0"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],UpdateVersionDTO.prototype,"version",void 0);class CompFileDTO{}sr.CompFileDTO=CompFileDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件路径",example:"/src/components/MyComp/index.vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompFileDTO.prototype,"filePath",void 0);class PreviewItemDTO{}hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址",required:true}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],PreviewItemDTO.prototype,"miniPath",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址(全屏窗口)",required:false}),(0,Fr.Rule)(Fr.RuleType.array().optional().items(Fr.RuleType.string())),yr("design:type",Array)],PreviewItemDTO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({example:"我是一个预览入口",description:"预览入口描述",required:false}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],PreviewItemDTO.prototype,"desc",void 0);class ParentDTO{}hr([(0,kr.ApiProperty)({description:"父库名称",required:true,example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],ParentDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"父库版本",required:true,example:"^2.10.5"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],ParentDTO.prototype,"version",void 0);class DepItemDTO{}sr.DepItemDTO=DepItemDTO;hr([(0,kr.ApiProperty)({description:"库名称",required:true,example:"element-plus"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DepItemDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"库版本(仅第三方库存在)",required:true,example:"^2.10.5"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DepItemDTO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:ParentDTO,description:"父库(仅第三方库存在),在子包导入的时候,需要指定父库,比如 ol/Map.js 就需要指定父库 ol",required:false}),(0,Fr.Rule)(Fr.RuleType.object().optional()),yr("design:type",ParentDTO)],DepItemDTO.prototype,"parent",void 0);class SubmitCompDTO{}sr.SubmitCompDTO=SubmitCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件名称",example:"MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"compPath",void 0);hr([(0,kr.ApiProperty)({type:[DepItemDTO],required:true,description:"组件依赖"}),(0,Fr.Rule)(Fr.RuleType.array().required()),yr("design:type",Array)],SubmitCompDTO.prototype,"dep",void 0);hr([(0,kr.ApiProperty)({type:[PreviewItemDTO],required:true,description:"组件预览数据"}),(0,Fr.Rule)(Fr.RuleType.array().required()),yr("design:type",Array)],SubmitCompDTO.prototype,"previewConfigs",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件描述",example:"这是一个组件"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"desc",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件背景颜色",example:"#f0f0f0"}),(0,Fr.Rule)(Fr.RuleType.string().empty("").default("")),yr("design:type",String)],SubmitCompDTO.prototype,"bgColor",void 0);hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],SubmitCompDTO.prototype,"teamId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件标签",example:["hooks","图表"],type:[String]}),(0,Fr.Rule)(Fr.RuleType.array().items(Fr.RuleType.string())),yr("design:type",Array)],SubmitCompDTO.prototype,"tags",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件框架类型",example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],SubmitCompDTO.prototype,"framework",void 0);class UpdateCompDTO extends SubmitCompDTO{}sr.UpdateCompDTO=UpdateCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],UpdateCompDTO.prototype,"compId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],UpdateCompDTO.prototype,"teamId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件升级描述",example:"升级组件描述"}),(0,Fr.Rule)(Fr.RuleType.string().allow("").max(200)),yr("design:type",String)],UpdateCompDTO.prototype,"upgradeDesc",void 0);class DownloadCompDTO extends CompIdDTO{}sr.DownloadCompDTO=DownloadCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件下载路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"savePath",void 0);hr([(0,kr.ApiProperty)({required:false,description:"是否覆盖",example:true}),(0,Fr.Rule)(Fr.RuleType.boolean().default(false)),yr("design:type",Boolean)],DownloadCompDTO.prototype,"isCover",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件名称",example:"MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"compName",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件版本",example:"1.0.0"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"version",void 0);class LocalCompsDTO extends Ur.BasePageDTO{}sr.LocalCompsDTO=LocalCompsDTO;class OpenCompPathInVscodeDTO{}sr.OpenCompPathInVscodeDTO=OpenCompPathInVscodeDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件夹路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInVscodeDTO.prototype,"folderPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"目标文件相对于组件文件夹的路径",example:""}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInVscodeDTO.prototype,"relativeFilePath",void 0);class OpenCompPathInExplorerDTO{}sr.OpenCompPathInExplorerDTO=OpenCompPathInExplorerDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件夹路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInExplorerDTO.prototype,"folderPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"目标文件相对于组件文件夹的路径",example:""}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInExplorerDTO.prototype,"relativeFilePath",void 0);class LocalCompDetailByPathHashDTO{}sr.LocalCompDetailByPathHashDTO=LocalCompDetailByPathHashDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件完整文件路径hash",example:"1234567890"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],LocalCompDetailByPathHashDTO.prototype,"fullPathHash",void 0);class CompWriteFileDTO{}sr.CompWriteFileDTO=CompWriteFileDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"compPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"文件名",example:Br.KEYS.COMP_SCREENSHOT_MINI_FILENAME}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"filename",void 0);hr([(0,kr.ApiProperty)({required:true,description:"文件内容(base64,不含前缀)",example:"iVBORw0KGgo..."}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"content",void 0);class RenameCompDirDTO extends CompPathDTO{}sr.RenameCompDirDTO=RenameCompDirDTO;hr([(0,kr.ApiProperty)({required:true,description:"新目录名称",example:"NewCompName"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],RenameCompDirDTO.prototype,"newName",void 0)},19428:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BuildTemplateCompilerDTO=sr.PreBuildDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class PreBuildDTO{}sr.PreBuildDTO=PreBuildDTO;hr([(0,kr.ApiProperty)({type:[String],required:true,description:"组件依赖",example:["axios","md5"]}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],PreBuildDTO.prototype,"deps",void 0);class BuildTemplateCompilerDTO{}sr.BuildTemplateCompilerDTO=BuildTemplateCompilerDTO;hr([(0,kr.ApiProperty)({type:String,required:true,description:"Vue 版本号,如 2.6.14",example:"2.6.14"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],BuildTemplateCompilerDTO.prototype,"vueVersion",void 0)},23444:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.VueFinderIndexDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class VueFinderIndexDTO{}sr.VueFinderIndexDTO=VueFinderIndexDTO;hr([(0,kr.ApiProperty)({required:false,description:"文件路径"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],VueFinderIndexDTO.prototype,"path",void 0)},59416:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.BadRequestErrorFilter=void 0;const yr=lr(46123);const kr=lr(19385);const Fr=lr(26815);let Br=class BadRequestErrorFilter{async catch(ir,sr){const lr=sr.app.getEnv();if(lr===Fr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("BadRequestErrorFilter==>",ir)}return kr.resUtil.error(ir.message,ir.status)}};sr.BadRequestErrorFilter=Br;sr.BadRequestErrorFilter=Br=hr([(0,yr.Catch)(yr.httpError.BadRequestError)],Br)},54633:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.DefaultErrorFilter=void 0;const yr=lr(46123);const kr=lr(26815);let Fr=class DefaultErrorFilter{async catch(ir,sr){const lr=sr.app.getEnv();try{const sr=JSON.parse(ir.message);return{...sr}}catch(ir){if(lr===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("解析错误信息失败==>",ir.message,"\n")}}finally{if(lr===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("原始错误==>",ir)}}sr.status=ir.status??500;return{code:ir.status??500,message:ir.message??"未知错误"}}};sr.DefaultErrorFilter=Fr;sr.DefaultErrorFilter=Fr=hr([(0,yr.Catch)()],Fr)},15545:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(12799);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.MainConfiguration}});yr(lr(14071),sr);yr(lr(91921),sr);yr(lr(83465),sr);yr(lr(96736),sr);yr(lr(64754),sr);yr(lr(17076),sr);yr(lr(44734),sr);yr(lr(60149),sr);yr(lr(8131),sr);yr(lr(19428),sr);yr(lr(23444),sr);yr(lr(59416),sr);yr(lr(54633),sr);yr(lr(9711),sr);yr(lr(53951),sr);yr(lr(77523),sr);yr(lr(15960),sr);yr(lr(61142),sr);yr(lr(19465),sr);yr(lr(95637),sr);yr(lr(48795),sr);yr(lr(63366),sr);yr(lr(23086),sr);yr(lr(85984),sr);yr(lr(80799),sr);yr(lr(61275),sr);yr(lr(19452),sr);yr(lr(5808),sr);yr(lr(66593),sr);yr(lr(58953),sr);yr(lr(49969),sr);yr(lr(52639),sr);yr(lr(4145),sr);yr(lr(5052),sr);yr(lr(10778),sr);yr(lr(67872),sr);yr(lr(101),sr);yr(lr(71692),sr)},9711:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},53951:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},77523:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},15960:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.OSS_HTML_CACHE_CONTROL=void 0;sr.shouldUseOssMode=shouldUseOssMode;sr.resolveOssUrl=resolveOssUrl;sr.isHtmlRequest=isHtmlRequest;sr.toHtmlFileUrl=toHtmlFileUrl;sr.createOssStaticMiddleware=createOssStaticMiddleware;const hr=lr(2203);const yr=lr(26815);sr.OSS_HTML_CACHE_CONTROL="no-cache";function shouldUseOssMode(ir){return ir!==yr.KEYS.LOCAL_MIDWAY_ENV_LOCAL}function resolveOssUrl(ir,sr,lr){if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_MAIN}/`))return ir+lr;if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_CONTAINER}/`))return sr+lr;if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_ITEM}/`))return sr+lr;return null}function isHtmlRequest(ir,sr){if(ir.endsWith("/")||/\.html$/i.test(ir))return true;return/text\/html/i.test(sr)}function toHtmlFileUrl(ir,sr){if(/\.html$/i.test(sr))return ir;const lr=sr.split("/").filter(Boolean)[0]??"";return ir.slice(0,ir.length-sr.length)+`/${lr}/index.html`}function createOssStaticMiddleware(ir){return async(lr,yr)=>{const kr=resolveOssUrl(ir.mainBaseUrl,ir.iframeBaseUrl,lr.path);if(!kr){await yr();return}const Fr=isHtmlRequest(lr.path,lr.headers.accept||"");if(Fr&&ir.htmlMode==="passthrough"){await yr();return}try{const yr=Fr?toHtmlFileUrl(kr,lr.path):kr;const Br=await fetch(yr,{redirect:"follow",signal:AbortSignal.timeout(15e3)});if(Fr){const hr=await Br.text();if(!Br.ok){lr.status=Br.status;lr.body=hr;return}lr.status=Br.status;lr.type="text/html; charset=utf-8";const yr=ir.htmlHeaders??{"Cache-Control":sr.OSS_HTML_CACHE_CONTROL};for(const[ir,sr]of Object.entries(yr))lr.set(ir,sr);lr.body=ir.injectHtml?.(lr.path,hr)??hr;return}lr.status=Br.status;lr.set("content-type",Br.headers.get("content-type")||"application/octet-stream");const Ur=Br.headers.get("cache-control");if(Ur)lr.set("cache-control",Ur);lr.body=Br.body?hr.Readable.fromWeb(Br.body):""}catch(sr){const hr=sr instanceof Error?sr.message:String(sr);ir.logger?.warn("[oss-static] 代理失败:",hr);lr.status=502;lr.body="无法连接 OSS 资源服务器,请检查网络后重试"}}}},61142:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.ReportMiddleware=void 0;const yr=lr(46123);let kr=class ReportMiddleware{resolve(){return async(ir,sr)=>{const lr=Date.now();const hr=await sr();const yr=ir.url;ir.logger.info(`请求 ${ir.method} ${yr} → ${ir.status} (${Date.now()-lr}ms)`);return hr}}static getName(){return"report"}};sr.ReportMiddleware=kr;sr.ReportMiddleware=kr=hr([(0,yr.Middleware)()],kr)},19465:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.TokenMiddleware=void 0;const yr=lr(46123);const kr=lr(10778);let Fr=class TokenMiddleware{resolve(){return async(ir,sr)=>{(0,kr.setHeader)(ir.header);await sr()}}static getName(){return"token"}};sr.TokenMiddleware=Fr;sr.TokenMiddleware=Fr=hr([(0,yr.Middleware)()],Fr)},95637:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.CommandService=void 0;const Fr=lr(46123);const Br=kr(lr(79896));const Ur=lr(63366);const Wr=lr(7455);const zr=kr(lr(16928));const Jr=lr(68255);const Hr=lr(35317);const Gr=kr(lr(70857));let Yr=class CommandService{async revealInVSCode(ir,sr,lr=1,hr=1){const{cwd:yr}=this.configService.comphubConfig();if(!ir||!Br.default.existsSync(ir)||!Br.default.statSync(ir).isDirectory()){throw new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.folderPathNotExist"))}const kr=zr.default.resolve(ir,sr);if(!Br.default.existsSync(kr)||Br.default.statSync(kr).isDirectory()){throw new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.filePathNotExist"))}(0,Wr.launchIDE)({file:yr});(0,Wr.launchIDE)({file:kr,line:lr,column:hr})}revealInExplorer(ir,sr){return new Promise(((lr,hr)=>{if(!ir||!Br.default.existsSync(ir)||!Br.default.statSync(ir).isDirectory()){hr(new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.folderPathNotExist")));return}const yr=zr.default.resolve(ir,sr);if(!Br.default.existsSync(yr)||Br.default.statSync(yr).isDirectory()){hr(new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.filePathNotExist")));return}const kr=Gr.default.platform();if(kr==="win32"){(0,Hr.exec)(`explorer /select,"${yr}"`,(()=>{lr(yr)}))}else{(0,Hr.exec)(`open -R "${yr}"`,(ir=>{if(ir){hr(new Fr.httpError.InternalServerErrorError(this.i18nService.translate("local.command.errors.openExplorerFailed",{args:[ir.message]})));return}lr(yr)}))}}))}};sr.CommandService=Yr;hr([(0,Fr.Inject)(),yr("design:type",Ur.ConfigService)],Yr.prototype,"configService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Object)],Yr.prototype,"ctx",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.MidwayI18nService)],Yr.prototype,"i18nService",void 0);sr.CommandService=Yr=hr([(0,Fr.Provide)()],Yr)},48795:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CompService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(63366);const Hr=lr(23086);const Gr=lr(85984);const Yr=lr(80799);const Qr=Fr(lr(70857));const Zr=Fr(lr(10232));const cn=lr(87518);const un=lr(84464);const Tn=lr(95637);const jn=lr(5052);const ni=lr(52639);const si=lr(26815);const pi=lr(18801);const di=lr(4990);const gi=lr(68255);let yi=class CompService{getCompFullPath(ir){const{srcPath:sr}=this.configService.comphubConfig();ir=ir.replace(si.KEYS.FILE_MANAGER_DIRNAME,"");const lr=Wr.join(sr,ir);return lr}checkCompEntryIndex(ir,sr){const lr=(0,ni.getFrameworkEntryFiles)(sr);if(!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.frameworkUnknown"))}for(const sr of lr){if(zr.existsSync(Wr.join(ir,sr))){return sr}}throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.entryFileNotExist",{args:[lr.join(" / ")]}))}async checkWebCompDeps(ir,sr){const lr=this.depsService.collectCompSources(ir);const hr=(0,ni.findUnresolvedBareSpecifiers)(lr,sr.map((ir=>ir.name)));if(hr.length){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.webCompDepMissing",{args:[hr.join("、")]}))}}checkCompJson(ir){const sr=this.getCompFullPath(ir);const lr=Wr.join(sr,si.KEYS.COMP_CONFIG_FILENAME);if(!zr.existsSync(lr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.configFileNotExist"))}}checkCompJsonFormat(ir){const sr=Object.keys(ir);const lr=si.ARRAY.COMP_DEFAULT_FIELD.every((ir=>!ir.required||sr.includes(ir.name)));if(!lr)return false;return pi.versionKit.validateVersion(ir.version)}async updateCompJson(ir,sr){const lr=this.getCompFullPath(ir);const hr=Wr.join(lr,si.KEYS.COMP_CONFIG_FILENAME);const yr=await this.getCompFile(hr);const kr=sr(JSON.parse(yr));await zr.promises.writeFile(hr,JSON.stringify(kr,null,4))}async readCompVersion(ir){const sr=Wr.join(ir,si.KEYS.COMP_CONFIG_FILENAME);const lr=await this.getCompFile(sr);const hr=JSON.parse(lr);return hr.version}initCompJson(){return si.ARRAY.COMP_DEFAULT_FIELD.reduce(((ir,sr)=>{const lr={};if(sr.required){lr[sr.name]=sr.default}return{...ir,...lr}}),{})}async uploadCompFolderToOss({compFullPath:ir,version:sr,ossData:lr}){const{files:hr}=await cn.fileTree.generateTree(ir);const yr=hr.map((({absolutePath:sr,size:lr})=>{const hr=sr.replace(ir,"");return{filePath:hr,fileFullPath:sr,size:lr??0}}));yr.sort(((ir,sr)=>sr.size-ir.size));for(let ir=0;ir<yr.length;ir++){const{filePath:hr,fileFullPath:kr}=yr[ir];const Fr=Wr.join(lr.key,sr,hr);const Br={...lr,key:Fr.replace(new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g"),"/")};const Ur=zr.createReadStream(kr);await this.ossService.uploadFileToOss(Br,Ur)}}async uploadPreBuildFilesToOss(ir){const sr=Array.from(new Set(ir));if(sr.length===0)return;const lr=await di.remoteApi.v1Oss.osscontrollerPrebuildputpolicy();const hr=lr.data;const{cwd:yr}=this.configService.comphubConfig();const kr=Wr.join(yr,si.KEYS.PREBUILD_MODULE_DIR);for(const ir of sr){const sr=Wr.join(kr,ir);if(!zr.existsSync(sr)){this.ctx.logger.warn(`预编译产物文件不存在,跳过上传: ${sr}`);continue}const lr=zr.createReadStream(sr);const yr={...hr,key:ir};await this.ossService.uploadFileToOss(yr,lr,true)}}async getCompHash(ir){const sr=await cn.digest.getFileHashList(ir);const lr=sr.map((ir=>`${ir.relativePath}-${ir.hash}`)).join(";");return cn.digest.getStringHash(lr)}async getCompFeatures(ir){const sr=await cn.digest.getFileHashAndSsdeepList(ir);const lr=sr.map((ir=>{const sr=(0,un.omit)(ir,["relativePath"]);return{...sr,path:ir.relativePath}}));const hr=await cn.digest.getRelativeDirList(ir);const yr=JSON.stringify(hr);const kr=cn.digest.getStringFuzzyHash(yr);const Fr=await this.getCompHash(ir);return{fileHashList:lr,compHash:Fr,dirHash:cn.digest.getStringHash(yr),dirSsdeep:cn.digest.getSsdeepStruct(kr)}}async getCompFileList(ir){const{files:sr}=await cn.fileTree.generateTree(ir,{withStats:true,calculateSize:true});const lr=sr.map((({name:sr,size:lr,absolutePath:hr})=>({name:sr,size:lr??0,path:hr.replace(ir,"").replace(new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g"),"/")})));return lr}checkCompFileSize(ir){if(ir>si.KEYS.COMP_SUBMIT_MAX_TOTAL_SIZE){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitSizeExceeded",{args:[Math.floor(si.KEYS.COMP_SUBMIT_MAX_TOTAL_SIZE/1024/1024).toString()]}))}}checkCompFileNum(ir){if(ir>si.KEYS.COMP_SUBMIT_MAX_FILE_COUNT){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitFileCountExceeded",{args:[si.KEYS.COMP_SUBMIT_MAX_FILE_COUNT.toString()]}))}}checkCompSingleFileSize(ir){const sr=si.KEYS.COMP_SUBMIT_MAX_SINGLE_FILE_SIZE;const lr=Math.floor(sr/1024/1024);for(const hr of ir){if(hr.size>sr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitSingleFileSizeExceeded",{args:[hr.path,lr.toString()]}))}}}async findCompJsonPath(ir){const{files:sr}=await cn.fileTree.generateTree(ir,{ignore:["node_modules"]});this.ctx.logger.debug("项目文件数量:",sr.length);const lr=sr.filter((({absolutePath:ir})=>ir.endsWith(si.KEYS.COMP_CONFIG_FILENAME)));return lr}async getAllLocalCompIds(){const{srcPath:ir}=this.configService.comphubConfig();const sr=await this.findCompJsonPath(ir);this.ctx.logger.debug("组件文件数量:",sr.length);const lr=sr.map((async({absolutePath:ir})=>{const sr=await zr.promises.readFile(ir,"utf8");const lr=JSON.parse(sr);const hr=this.checkCompJsonFormat(lr);const yr=Wr.dirname(ir);return{compjson:lr,isCompHub:hr,compPath:yr,pathHash:cn.digest.getStringHash(yr)}}));const hr=await Promise.all(lr);return hr.filter((ir=>ir.isCompHub&&ir.compjson[si.KEYS.COMP_FIELD_COMP_ID]))}async getCompDir(ir){const{srcPath:sr}=this.configService.comphubConfig();const lr=Wr.join(ir.replace(si.KEYS.FILE_MANAGER_DIRNAME,`${sr}${Wr.sep}`));const{tree:hr,files:yr}=await cn.fileTree.generateTree(lr,{sortBy:"type"});const _handleTree=ir=>{const sr={name:ir.name,path:ir.absolutePath,type:ir.type};if(ir.children&&ir.children.length>0){sr.children=ir.children.map((ir=>_handleTree(ir)))}return sr};return{tree:_handleTree(hr),files:yr.map((ir=>ir.absolutePath))}}async getCompFile(ir){const sr=await zr.promises.readFile(ir,"utf-8");return sr}async checkCompConfig(ir,sr){const lr=Wr.basename(ir);const hr=this.getCompFullPath(ir);let yr;try{const ir=this.checkCompEntryIndex(hr,sr);yr=Wr.join(lr,ir)}catch(ir){this.ctx.logger.error("检查组件入口文件失败",ir);return{errorMsg:ir.message}}try{this.checkCompJson(ir)}catch(ir){this.ctx.logger.error("检查组件配置文件comp.json失败",ir);return{entryIndexPath:yr,errorMsg:ir.message}}const kr=Wr.join(lr,si.KEYS.COMP_CONFIG_FILENAME);try{const sr=Wr.join(this.getCompFullPath(ir),si.KEYS.COMP_CONFIG_FILENAME);const lr=await this.getCompFile(sr);const hr=this.checkCompJsonFormat(JSON.parse(lr));if(!hr){return{entryIndexPath:yr,compJsonPath:kr,errorMsg:this.i18nService.translate("local.comp.check.configJsonFormatError")}}}catch(ir){this.ctx.logger.error("读取组件配置文件comp.json失败",ir);return{entryIndexPath:yr,compJsonPath:kr,errorMsg:this.i18nService.translate("local.comp.check.configJsonReadError")}}return{entryIndexPath:yr,compJsonPath:kr,errorMsg:""}}async updateCompVersion(ir,sr){const lr=pi.versionKit.validateVersion(sr);if(!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.invalidVersionFormat"))}const hr=this.getCompFullPath(ir);const yr=Wr.join(hr,si.KEYS.COMP_CONFIG_FILENAME);const kr=await this.getCompFile(yr);const Fr=JSON.parse(kr);Fr.version=sr;const Br=JSON.stringify(Fr,null,2);await zr.promises.writeFile(yr,Br)}async generateCompJson(ir){const sr=this.getCompFullPath(ir);const lr=Wr.basename(sr);const hr=this.initCompJson();hr.name=lr;await zr.promises.writeFile(Wr.join(sr,si.KEYS.COMP_CONFIG_FILENAME),JSON.stringify(hr,null,4))}async getCompDep(ir){const{cwd:sr}=this.configService.comphubConfig();const lr=this.getCompFullPath(ir);const hr=await this.depsService.getModuleEntry(lr,sr);const yr=this.depsService.detectCompFrameworkFor(lr);return{dep:hr,framework:yr}}async getCompFileHash(ir){const{compPath:sr}=ir;const lr=this.getCompFullPath(sr);const hr=await this.getCompFeatures(lr);return{compHash:hr.compHash}}async checkCompRepeat(ir){const{compPath:sr,teamId:lr}=ir;const hr=this.getCompFullPath(sr);const yr=await this.getCompFeatures(hr);const kr=await di.remoteApi.v1Comp.compcontrollerCheckcompexistbyhash(yr,{headers:{"team-id":lr}});return kr.data}async submitComp(ir){let sr="";let lr={};try{const{compPath:hr,dep:yr,previewConfigs:kr,desc:Fr,bgColor:Br,name:Ur,teamId:Wr,tags:zr,framework:Jr}=ir;lr={"team-id":Wr};this.checkCompJson(hr);const Hr=this.getCompFullPath(hr);const Gr=await this.getCompFeatures(Hr);this.checkCompEntryIndex(Hr,Jr);if(Jr===si.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){await this.checkWebCompDeps(Hr,yr)}const Yr=await this.readCompVersion(Hr);const Qr=await this.getCompFileList(Hr);const Zr=Qr.reduce(((ir,sr)=>ir+sr.size),0);this.checkCompFileNum(Qr.length);this.checkCompFileSize(Zr);this.checkCompSingleFileSize(Qr);const{entryNameToFile:cn,chunkFiles:un,templateCompilerFile:Tn,uploadFiles:jn}=await this.getPreBuildInfo(yr);const ni={entryNameToFile:cn,chunkFiles:un,...Tn?{templateCompilerFile:Tn}:{}};const pi={name:Ur,dep:yr,previewConfigs:kr,desc:Fr,version:Yr,size:Zr,files:Qr,bgColor:Br,compFeatures:Gr,tags:zr,preBuildInfo:ni,framework:Jr};const gi=await di.remoteApi.v1Comp.compcontrollerUpload(pi,{headers:lr});const yi=gi.data._id;sr=yi;await this.updateCompJson(hr,(ir=>({...ir,name:Ur,[si.KEYS.COMP_FIELD_COMP_ID]:yi})));const{data:{componentDir:Ti}}=await di.remoteApi.v1Oss.osscontrollerCompossdir();const Ei=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:Ti});const Ci={compFullPath:Hr,version:Yr,ossData:Ei.data};await this.uploadCompFolderToOss(Ci);await this.uploadPreBuildFilesToOss(jn);const{key:Pi}=Ei.data;const wi={compId:yi,objectId:`${Ti}${Pi}`};await di.remoteApi.v1Comp.compcontrollerUpdateobjectid(wi)}catch(ir){if(sr){await di.remoteApi.v1Comp.compcontrollerDeletefailedcomp({compId:sr},{headers:lr})}if(ir instanceof Ur.httpError.BadRequestError){throw new Ur.httpError.BadRequestError(ir)}throw new Error(ir.message)}}async updateComp(ir){const{compId:sr,compPath:lr,dep:hr,previewConfigs:yr,desc:kr,bgColor:Fr,name:Br,upgradeDesc:Ur,teamId:Jr,tags:Hr,framework:Gr}=ir;const Yr=this.getCompFullPath(lr);const Qr=await this.getCompFeatures(Yr);this.checkCompEntryIndex(Yr,Gr);if(Gr===si.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){await this.checkWebCompDeps(Yr,hr)}const Zr=await di.remoteApi.v1Comp.compcontrollerCompdetail({compId:sr});const{objectId:cn,version:un}=Zr.data;const Tn=await this.readCompVersion(Yr);const jn=await this.getCompFileList(Yr);const ni=jn.reduce(((ir,sr)=>ir+sr.size),0);this.checkCompFileNum(jn.length);this.checkCompFileSize(ni);this.checkCompSingleFileSize(jn);const{entryNameToFile:pi,chunkFiles:gi,templateCompilerFile:yi,uploadFiles:Ti}=await this.getPreBuildInfo(hr,Zr.data);const Ei={entryNameToFile:pi,chunkFiles:gi,...yi?{templateCompilerFile:yi}:{}};const Ci={compId:sr,name:Br,dep:hr,previewConfigs:yr,desc:kr,version:Tn,size:ni,files:jn,bgColor:Fr,compFeatures:Qr,upgradeDesc:Ur,tags:Hr,preBuildInfo:Ei,framework:Gr};const Pi=await di.remoteApi.v1Comp.compcontrollerUpdate(Ci,{headers:{"team-id":Jr}});const{isFileChange:wi}=Pi.data;if(!wi&&un===Tn){await this.uploadPreBuildFilesToOss(Ti);const ir=Wr.join(Yr,si.KEYS.COMP_SCREENSHOT_MINI_FILENAME);if(zr.existsSync(ir)){const sr=await di.remoteApi.v1Oss.osscontrollerCompossdir();const lr=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:sr.data.componentDir});const hr=cn.replace(lr.data.dir,"");const yr=Wr.join(hr,Tn,si.KEYS.COMP_SCREENSHOT_MINI_FILENAME).replace(/\\/g,"/");const kr=zr.createReadStream(ir);const Fr={...lr.data,key:yr};await this.ossService.uploadFileToOss(Fr,kr,true)}return}const Fi=await di.remoteApi.v1Oss.osscontrollerCompossdir();const{componentDir:Ri}=Fi.data;const Bi=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:Ri});const ji=cn.replace(Bi.data.dir,"");const Wi={...Bi.data,key:ji};const zi={compFullPath:Yr,version:Tn,ossData:Wi};await this.uploadCompFolderToOss(zi);await this.uploadPreBuildFilesToOss(Ti);await this.updateCompJson(lr,(ir=>({...ir,name:Br,[si.KEYS.COMP_FIELD_COMP_ID]:sr})))}async getPreBuildInfo(ir,sr){const{reused:lr,localNames:hr}=(0,jn.splitReusableDeps)(ir,sr?.dep??[],sr?.preBuildInfo?.entryNameToFile??{});const yr=hr.length?await this.moduleService.preBuild(hr):{entryNameToFile:{},chunkFiles:[]};const kr=await this.buildTemplateCompilerIfNeeded(ir);return{entryNameToFile:{...yr.entryNameToFile,...lr},chunkFiles:yr.chunkFiles,...kr?{templateCompilerFile:kr}:{},uploadFiles:Array.from(new Set([...Object.values(yr.entryNameToFile),...yr.chunkFiles,...kr?[kr]:[]]))}}async buildTemplateCompilerIfNeeded(ir){const sr=(0,jn.resolveCompilerBuild)(ir);if(sr.action==="skip"){if(sr.reason==="unparsable"){this.ctx.logger.warn(`[getPreBuildInfo] vue 版本号无法解析(${JSON.stringify(sr.raw)}),跳过模板编译器构建,外网将回退到 loader 内置编译器`)}return undefined}const{fileName:lr}=await this.moduleService.buildTemplateCompiler(sr.vueVersion);return lr}async downloadComp(ir){const{compId:sr,savePath:lr,isCover:hr,compName:yr,version:kr}=ir;const{srcPath:Fr}=this.configService.comphubConfig();const Br=si.KEYS.FILE_MANAGER_DIRNAME;const Jr=lr.replace(Br,"").replace(/[/\\]/g,Wr.sep);const Hr=Wr.join(Fr,Jr,yr);if(!hr&&zr.existsSync(Hr)){return{isRepeat:true}}const Gr=Qr.tmpdir();const Yr=Wr.join(Gr,si.KEYS.COMP_TEMP_DIR);this.ctx.logger.debug("组件下载到临时目录",Yr);const un=await di.remoteApi.v1Comp.compcontrollerCompdetail({compId:sr,version:kr});if(!un?.data){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compNotExist"))}const{files:Tn,objectId:jn,name:ni}=un.data;let pi=[];const gi=Wr.join(Yr,jn,kr);if(zr.existsSync(gi)){const{files:ir}=await cn.fileTree.generateTree(gi);pi=ir}await di.remoteApi.v1Comp.compcontrollerUpdatecompdownloadcount({compId:sr,version:kr});if(Tn.length===pi.length){const ir=pi.find((({absolutePath:ir})=>ir.replace(gi,"").startsWith(`${Wr.sep}${si.KEYS.COMP_CONFIG_FILENAME}`)));if(ir){const sr=await zr.promises.readFile(ir.absolutePath,"utf8");const lr=JSON.parse(sr);const{name:hr}=lr;if(ni===hr){await Zr.copy(gi,Hr);this.ctx.logger.debug("组件缓存文件和服务器文件一致,直接使用缓存文件");return}}}const yi=Tn.map((ir=>{const sr=Wr.join(jn,kr,ir.path);return{path:sr.replace(/[/\\]/g,"/")}}));const Ti=await this.ossService.getDownloadSts();await this.ossService.downloadFileToPath(Ti,yi,Yr);const Ei=Wr.join(Yr,jn,kr);await Zr.copy(Ei,Hr)}async getLocalCompsByIds(ir){const{srcPath:sr}=this.configService.comphubConfig();const lr=await this.findCompJsonPath(sr);this.ctx.logger.debug("组件文件数量:",lr.length);const hr=lr.map((async({absolutePath:ir})=>{const sr=await zr.promises.readFile(ir,"utf8");const lr=JSON.parse(sr);return{...lr,path:Wr.dirname(ir)}}));const yr=await Promise.all(hr);const kr=yr.filter((sr=>ir.includes(sr[si.KEYS.COMP_FIELD_COMP_ID])));if(!kr){return[]}const Fr=si.KEYS.FILE_MANAGER_DIRNAME;const Br=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const Ur=kr.map((ir=>{const lr=ir.path.replace(sr,"").replace(Br,"/").slice(1);return{id:ir[si.KEYS.COMP_FIELD_COMP_ID],path:Fr+lr,fullPath:ir.path,fullPathHash:cn.digest.getStringHash(ir.path),basename:Wr.basename(ir.path)}}));return Ur}async getPackageJsonContent(){const ir=this.configService.comphubConfig();const sr=Wr.join(ir.cwd,"package.json");return await cn.fileSys.readJsonFile(sr)}async getLocalComps(ir){const{page:sr=1,pageSize:lr=10}=ir;const{srcPath:hr}=this.configService.comphubConfig();const yr=await this.getAllLocalCompIds();const kr=yr.map((ir=>({id:ir.compjson[si.KEYS.COMP_FIELD_COMP_ID],pathHash:ir.pathHash})));kr.sort(((ir,sr)=>ir.id.localeCompare(sr.id)));const Fr=[...new Set(kr.map((ir=>ir.id)))];const Br=await di.remoteApi.v1Comp.compcontrollerExistcompsbyids({compIds:Fr});const{ids:zr=[]}=Br.data;const Jr=kr.filter((ir=>zr.includes(ir.id)));const Hr=Jr.length;const Gr=Jr.slice((sr-1)*lr,sr*lr);const Yr=new Map(yr.map((ir=>[`${ir.compjson[si.KEYS.COMP_FIELD_COMP_ID]}_${ir.pathHash}`,ir])));const Qr=await di.remoteApi.v1Comp.compcontrollerCompsbyids({compIds:Gr.map((ir=>ir.id))});const{rows:Zr=[]}=Qr.data;const un=new Map(Zr.map((ir=>[ir._id,ir])));const Tn=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const jn=si.KEYS.FILE_MANAGER_DIRNAME;const ni=Gr.map((async({id:ir,pathHash:sr})=>{const lr=Yr.get(`${ir}_${sr}`);const yr=un.get(ir);if(!yr||!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compWithIdNotExist",{args:[ir]}))}const kr=lr.compPath.replace(hr,"").replace(Tn,"/").slice(1);return{_id:cn.digest.getStringHash(lr.compPath),name:yr.name,compId:ir,version:lr.compjson.version,path:jn+kr,previewConfigs:yr.previewConfigs,bgColor:yr.bgColor,fullPath:lr.compPath}}));const gi=await Promise.all(ni);return{total:Hr,page:sr,pageSize:lr,rows:gi}}async getLocalCompDetailByPathHash(ir){const{fullPathHash:sr}=ir;const lr=await this.getAllLocalCompIds();const hr=lr.find((ir=>ir.pathHash===sr));if(!hr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compWithPathNotExist",{args:[sr]}))}const{srcPath:yr}=this.configService.comphubConfig();const kr=hr.compjson[si.KEYS.COMP_FIELD_COMP_ID];const{version:Fr}=hr.compjson;const Br=await di.remoteApi.v1Comp.compcontrollerCompsbyids({compIds:[kr]});const{rows:zr=[]}=Br.data;const Jr=zr[0];const Hr=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const Gr=si.KEYS.FILE_MANAGER_DIRNAME;const Yr=hr.compPath.replace(yr,"").replace(Hr,"/").slice(1);return{_id:sr,name:Jr.name,compId:kr,version:Fr,path:Gr+Yr,previewConfigs:Jr.previewConfigs,bgColor:Jr.bgColor,fullPath:hr.compPath}}async openCompPathInVscode(ir){const{folderPath:sr,relativeFilePath:lr}=ir;await this.commandService.revealInVSCode(sr,lr)}async openCompPathInExplorer(ir){const{folderPath:sr,relativeFilePath:lr}=ir;await this.commandService.revealInExplorer(sr,lr)}async writeCompFile(ir){const{compPath:sr,filename:lr,content:hr}=ir;const yr=this.getCompFullPath(sr);const kr=Wr.join(yr,lr);zr.writeFileSync(kr,Buffer.from(hr,"base64"))}async renameCompDir(ir){const{compPath:sr,newName:lr}=ir;if(!pi.textKit.validateCompName(lr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.invalidCompName",{args:[lr]}))}const hr=this.getCompFullPath(sr);const yr=Wr.basename(hr);if(yr===lr)return;const kr=Wr.dirname(hr);const Fr=Wr.join(kr,lr);if(zr.existsSync(Fr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.dirAlreadyExists",{args:[lr]}))}await zr.promises.rename(hr,Fr)}};sr.CompService=yi;kr([(0,Ur.App)(),Br("design:type",Object)],yi.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Jr.ConfigService)],yi.prototype,"configService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Yr.OssService)],yi.prototype,"ossService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Tn.CommandService)],yi.prototype,"commandService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Hr.DepsService)],yi.prototype,"depsService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Gr.ModuleService)],yi.prototype,"moduleService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Object)],yi.prototype,"ctx",void 0);kr([(0,Ur.Inject)(),Br("design:type",gi.MidwayI18nService)],yi.prototype,"i18nService",void 0);sr.CompService=yi=kr([(0,Ur.Provide)()],yi)},63366:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ConfigService=void 0;const Ur=lr(46123);const Wr=lr(26815);const zr=Fr(lr(16928));let Jr=class ConfigService{comphubConfig(){const ir=this.app.getAttr(Wr.KEYS.COMPHUB_CONFIG_KEY);return ir}getGlobalConfig(){const ir=this.comphubConfig();const{cwd:sr,srcPath:lr,version:hr,allowDebug:yr,subPort:kr,projectHash:Fr}=ir;return{cwd:sr,srcPath:lr,sep:zr.sep,version:hr,allowDebug:yr,subPort:kr,projectHash:Fr}}};sr.ConfigService=Jr;kr([(0,Ur.App)(),Br("design:type",Object)],Jr.prototype,"app",void 0);sr.ConfigService=Jr=kr([(0,Ur.Provide)()],Jr)},23086:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.DepsService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(64713);const Hr=lr(87518);const Gr=lr(18801);const Yr=lr(26815);const Qr=lr(63366);const Zr=lr(52639);const cn=lr(58953);let un=0;let Tn=class DepsService{async getModuleEntry(ir,sr){const lr=await Hr.fileSys.readJsonFile(Wr.join(sr,"package.json"));if(!lr){this.ctx.logger.error("未找到 package.json 文件");return[]}const hr=Hr.resolver.findDependencyVersion(lr,"vue");const yr=Hr.resolver.findDependencyVersion(lr,"react");const kr=await Hr.depGraph.detectImports(ir,{pathAliases:["@"]});const Fr=this.detectCompFrameworkFor(ir);if(Fr!==Yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){if(hr&&yr){throw new Ur.httpError.BadRequestError("组件同时依赖 vue 和 react,无法确定框架类型")}if(hr){kr.vue={version:hr}}if(yr){kr.react={version:yr};const ir=Hr.resolver.findDependencyVersion(lr,"react-dom");if(ir){const sr=Number(Gr.versionKit.getMajorVersion(yr));if(sr>=18){kr["react-dom/client"]={version:ir}}else{kr["react-dom"]={version:ir}}}}}const Br={};for(const[ir]of Object.entries(kr)){const hr=Hr.resolver.findDependencyVersion(lr,ir);const yr={version:hr};const kr=await Hr.resolver.findOwningPackage(ir,sr);if(kr){yr.version=kr.version;if(!hr){yr.parent={name:kr.name,version:kr.version}}}Br[ir]=yr}return Object.entries(Br).map((([ir,sr])=>({name:ir,version:sr.version,...sr.parent&&{parent:sr.parent}})))}collectCompSources(ir){const sr=new Set(["node_modules",".git","dist",".comp_hub_temp"]);const lr=[".js",".mjs",".ts",".vue",".jsx",".tsx"];const hr=[];const walk=(ir,yr)=>{let kr;try{kr=zr.readdirSync(ir,{withFileTypes:true})}catch{return}for(const Fr of kr){const kr=yr?`${yr}/${Fr.name}`:Fr.name;if(Fr.isDirectory()){if(sr.has(Fr.name))continue;walk(Wr.join(ir,Fr.name),kr)}else if(Fr.isFile()&&lr.some((ir=>Fr.name.endsWith(ir)))){try{hr.push({relativePath:kr,content:zr.readFileSync(Wr.join(ir,Fr.name),"utf-8")})}catch{}}}};walk(ir,"");return hr}detectCompFrameworkFor(ir){return(0,Zr.detectFrameworkFromSources)(this.collectCompSources(ir))}async buildTemplateCompiler(ir,sr,lr){const hr=(await Hr.fileSys.readJsonFile(Wr.join(sr,"node_modules","vue-template-compiler","package.json")))?.version;if(!hr){throw new Error(`未在 node_modules 中找到 vue-template-compiler,请确保项目已安装: npm install vue-template-compiler@${ir}`)}this.ctx.logger.info(`[buildTemplateCompiler] 实装 vue-template-compiler@${hr},组件声明 Vue 版本: ${ir}`);const yr=(await Hr.fileSys.readJsonFile(Wr.join(sr,"node_modules","vue","package.json")))?.version;if(!yr){this.ctx.logger.warn(`[buildTemplateCompiler] 未在 node_modules 中找到 vue,跳过编译器一致性检查(cwd=${sr})`)}else if(!(0,cn.isTemplateCompilerVersionMatched)(yr,hr)){this.ctx.logger.warn(`[buildTemplateCompiler] vue@${yr} 与 vue-template-compiler@${hr} 主次版本不一致:`+`编译产物取自实装的 ${hr},会喂给 ${yr} 的运行时,模板较复杂时可能出现编译异常。`+`如需消除告警: npm install vue-template-compiler@${yr}`)}const kr=`export * from 'vue-template-compiler';`;const Fr=Wr.join(lr,"__compiler_entry__.js");await zr.promises.mkdir(lr,{recursive:true});await zr.promises.writeFile(Fr,kr);const Br=Wr.join(lr,`__compiler_tmp__-${process.pid}-${++un}.js`);try{await(0,Jr.build)({entryPoints:[Fr],bundle:true,format:"iife",globalName:"VueTemplateCompiler",outfile:Br,platform:"browser",target:"es2015",absWorkingDir:sr,nodePaths:[Wr.join(sr,"node_modules")],external:[],sourcemap:false,minify:true})}catch(ir){await zr.promises.unlink(Fr).catch((()=>{}));await zr.promises.unlink(Br).catch((()=>{}));throw new Error(`esbuild 构建 vue-template-compiler 失败: ${ir.message}`)}await zr.promises.unlink(Fr).catch((()=>{}));const Ur=await zr.promises.readFile(Br,"utf-8");const Gr=Hr.digest.getStringHash(Ur).slice(0,8);const Yr=(0,cn.buildTemplateCompilerFileName)(hr,Gr);await zr.promises.rename(Br,Wr.join(lr,Yr));this.ctx.logger.info(`[buildTemplateCompiler] esbuild 构建完成: ${Yr}`);return{fileName:Yr}}async precompileModule(ir,sr,lr){const hr=await Hr.fileSys.readJsonFile(Wr.join(lr,"package.json"));if(!hr){this.ctx.logger.error("未找到 package.json 文件");return{entryNameToFile:{},chunkFiles:[]}}const{entryPoints:yr,entryKeyToDepName:kr,skippedDeps:Fr}=await(0,cn.buildEntryPoints)(sr,hr,lr);const{entryPoints:Br,mergedPackages:Ur}=(0,cn.mergeSubPathEntries)(yr);for(const[,sr]of Object.entries(Ur)){const lr=(0,cn.generateMergedWrapper)(sr.subExportMap);const hr=Wr.join(ir,`${sr.entryKey}.js`);Br[sr.entryKey]=hr;await zr.promises.mkdir(Wr.dirname(hr),{recursive:true});await zr.promises.writeFile(hr,lr)}await zr.promises.mkdir(ir,{recursive:true});const Gr={};const Qr={};for(const[ir,sr]of Object.entries(Br)){const hr=kr[ir]??ir;if(ir.startsWith("__merged__")||Hr.resolver.isModuleInstalled(hr,lr)){Gr[ir]=sr;const yr=await Hr.resolver.findOwningPackage(hr,lr);if(yr?.version)Qr[ir]=yr.version}else{Fr.push(hr)}}const Zr={};const un=Wr.join(ir,Yr.KEYS.META_FILE_NAME);const Tn=await Hr.fileSys.readJsonFile(un);const{filteredEntryPoints:jn,cachedMappings:ni}=(0,cn.filterCachedModules)(Gr,Tn,Qr);for(const[,sr]of Object.entries(Ur)){const lr=sr.entryKey;if(Tn?.[lr]){const hr=Tn[lr].file;for(const lr of sr.wrapperSubPaths){const yr=sr.subExportMap[lr];const kr=(0,cn.getSubWrapperFileName)(yr,hr);const Fr=Wr.join(ir,kr);if(!zr.existsSync(Fr)){await zr.promises.writeFile(Fr,(0,cn.generateSubWrapper)(yr,hr))}ni[lr]=kr}ni[lr]=hr}}Object.assign(Zr,ni);if(Object.keys(jn).length===0){const ir=this.resolveChunkFiles(Zr,Tn);const hr=this.restoreEntryNames(Zr,kr);this.warnMissingDeps(sr,hr,Fr,lr);return{entryNameToFile:hr,chunkFiles:ir}}const si={entryPoints:jn,bundle:true,format:"esm",splitting:true,minify:true,outdir:ir,entryNames:"[name]-[hash]",chunkNames:"chunk-[hash]",outExtension:{".js":".js"},loader:{".woff":"file",".woff2":"file",".ttf":"file",".eot":"file",".otf":"file",".svg":"file",".png":"dataurl",".jpg":"dataurl",".jpeg":"dataurl",".gif":"dataurl"},metafile:true,write:true,target:"esnext",sourcemap:false,external:["vue","react"],absWorkingDir:lr,nodePaths:[Wr.join(lr,"node_modules")]};const pi=await(0,Jr.build)(si);const{optimized:di,entryNameToFile:gi}=(0,cn.analyzeBuildOutputs)(pi,jn,ir,Qr);for(const[,sr]of Object.entries(Ur)){const lr=sr.entryKey;if(!(lr in jn))continue;const hr=gi[lr];if(!hr)continue;for(const lr of sr.wrapperSubPaths){const yr=sr.subExportMap[lr];const kr=(0,cn.getSubWrapperFileName)(yr,hr);const Fr=Wr.join(ir,kr);await zr.promises.writeFile(Fr,(0,cn.generateSubWrapper)(yr,hr));gi[lr]=kr}}const yi={...Tn,...di};await(0,cn.saveBuildMetadata)(un,yi);const Ti={...Zr,...gi};const Ei=this.resolveChunkFiles(Ti,yi);const Ci=this.restoreEntryNames(Ti,kr);this.warnMissingDeps(sr,Ci,Fr,lr);return{entryNameToFile:Ci,chunkFiles:Ei}}warnMissingDeps(ir,sr,lr,hr){const yr=ir.filter((ir=>!(ir in sr)));if(!yr.length)return;const kr=yr.filter((ir=>!lr.includes(ir)));const Fr=kr.length?`;其中 ${kr.join(", ")} 并非因「未安装」被过滤,需查入口构建 / 缓存 / esbuild 产出匹配环节`:";均因「未安装」被过滤";this.ctx.logger.warn(`[precompileModule] 请求了但未产出映射: ${yr.join(", ")}${Fr}(cwd=${hr})`)}restoreEntryNames(ir,sr){for(const[lr,hr]of Object.entries(ir)){const yr=sr[lr];if(yr&&yr!==lr){ir[yr]=hr;delete ir[lr]}}return ir}resolveChunkFiles(ir,sr){const lr=new Set(Object.values(ir));const hr=new Set;for(const[yr]of Object.entries(ir)){const ir=sr?.[yr]?.chunkFiles;if(!ir?.length)continue;for(const sr of ir){if(!lr.has(sr))hr.add(sr)}}return Array.from(hr)}};sr.DepsService=Tn;kr([(0,Ur.App)(),Br("design:type",Object)],Tn.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Object)],Tn.prototype,"ctx",void 0);kr([(0,Ur.Inject)(),Br("design:type",Qr.ConfigService)],Tn.prototype,"configService",void 0);sr.DepsService=Tn=kr([(0,Ur.Provide)()],Tn)},85984:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ModuleService=void 0;const Ur=lr(46123);const Wr=lr(63366);const zr=lr(23086);const Jr=Fr(lr(16928));const Hr=lr(87518);const Gr=Fr(lr(79896));const Yr=lr(26815);let Qr=class ModuleService{async getPreBuildModuleDir(){const{cwd:ir}=this.configService.comphubConfig();const sr=Jr.join(ir,Yr.KEYS.PREBUILD_MODULE_DIR);await Gr.promises.mkdir(sr,{recursive:true});return sr}async preBuild(ir){const sr=await this.getPreBuildModuleDir();const{cwd:lr}=this.configService.comphubConfig();return await this.depsService.precompileModule(sr,ir,lr)}async buildTemplateCompiler(ir){const sr=await this.getPreBuildModuleDir();const{cwd:lr}=this.configService.comphubConfig();return await this.depsService.buildTemplateCompiler(ir,lr,sr)}async preBuildSize(){const ir=await this.getPreBuildModuleDir();return await Hr.fileSys.dirSize(ir)}async clearPreBuild(){const ir=await this.getPreBuildModuleDir();await Gr.promises.rm(ir,{recursive:true,force:true})}};sr.ModuleService=Qr;kr([(0,Ur.Inject)(),Br("design:type",Wr.ConfigService)],Qr.prototype,"configService",void 0);kr([(0,Ur.Inject)(),Br("design:type",zr.DepsService)],Qr.prototype,"depsService",void 0);kr([(0,Ur.App)(),Br("design:type",Object)],Qr.prototype,"app",void 0);sr.ModuleService=Qr=kr([(0,Ur.Provide)()],Qr)},80799:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.OssService=void 0;const Wr=lr(46123);const zr=Ur(lr(54504));const Jr=Ur(lr(12593));const Hr=Ur(lr(18451));const Gr=Fr(lr(16928));const Yr=Fr(lr(79896));const Qr=lr(96955);const Zr=lr(4990);const cn=Ur(lr(23046));const un=lr(45853);const Tn=lr(26815);const jn=lr(68255);let ni=class OssService{createOssClient(ir){const sr={endpoint:Tn.KEYS.OSS_CUSTOM_DOMAIN,authorizationV4:true,cname:true,...ir};return new Hr.default(sr)}getContentTypeWithCharset(ir){const sr=Gr.extname(ir).toLowerCase();const lr={".css":"text/css; charset=utf-8",".js":"application/javascript; charset=utf-8",".mjs":"application/javascript; charset=utf-8",".cjs":"application/javascript; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".json":"application/json; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".vue":"text/plain; charset=utf-8",".md":"text/markdown; charset=utf-8",".svg":"image/svg+xml; charset=utf-8",".xml":"application/xml; charset=utf-8",".scss":"text/css; charset=utf-8",".sass":"text/css; charset=utf-8",".less":"text/css; charset=utf-8"};return lr[sr]}createOssFormData(ir,sr,lr=false){const hr=new zr.default;const yr=ir.dir+ir.key;hr.append("success_action_status","200");hr.append("policy",ir.policy);hr.append("x-oss-signature",ir.signature);hr.append("x-oss-signature-version",ir.x_oss_signature_version);hr.append("x-oss-credential",ir.x_oss_credential);hr.append("x-oss-date",ir.x_oss_date);hr.append("key",yr);hr.append("x-oss-security-token",ir.security_token);hr.append("x-oss-forbid-overwrite",lr?"false":"true");hr.append("Cache-Control","public, max-age=31536000");const kr={};const Fr=sr.path?.toString();if(Fr){const ir=this.getContentTypeWithCharset(Fr);if(ir){kr.contentType=ir}}hr.append("file",sr,kr);return{host:ir.host,filePath:yr,formData:hr}}async getDownloadSts(){const ir=await this.cache.get(Tn.KEYS.CACHE_KEY_STS_TOKEN);if(ir){return ir}const sr=await Zr.remoteApi.v1Oss.osscontrollerGetsts();const lr=new Date(sr.data.Expiration).getTime()-1*60*1e3;const hr=lr-Date.now();this.ctx.logger.debug("STS过期时间",(0,cn.default)(lr).format("YYYY-MM-DD HH:mm:ss"));this.cache.set(Tn.KEYS.CACHE_KEY_STS_TOKEN,sr.data,hr);return sr.data}async uploadFileToOss(ir,sr,lr=false){const{host:hr,formData:yr}=this.createOssFormData(ir,sr,lr);const kr=await Jr.default.post(hr,yr,{headers:{...yr.getHeaders()}}).catch((async ir=>{const sr=ir.response.data;const lr=await(0,un.parseStringPromise)(sr);if(lr?.Error){throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[lr.Error.Message]}))}throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[ir.message||ir]}))}));if(kr.status!==200){throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[kr.data]}))}}async downloadFileToPath(ir,sr,lr){const hr=this.createOssClient({region:ir.region,accessKeyId:ir.AccessKeyId,accessKeySecret:ir.AccessKeySecret,stsToken:ir.SecurityToken,bucket:ir.bucket,refreshSTSToken:async()=>{const ir=await this.getDownloadSts();return{accessKeyId:ir.AccessKeyId,accessKeySecret:ir.AccessKeySecret,stsToken:ir.SecurityToken}}});const yr=sr.map((async ir=>{const{path:sr}=ir;const yr=Gr.join(lr,sr);const kr=Gr.dirname(yr);if(!Yr.existsSync(kr)){Yr.mkdirSync(kr,{recursive:true})}return await hr.get(sr,yr)}));return await Promise.all(yr)}};sr.OssService=ni;kr([(0,Wr.Inject)(),Br("design:type",Object)],ni.prototype,"ctx",void 0);kr([(0,Wr.InjectClient)(Qr.CachingFactory,"default"),Br("design:type",Object)],ni.prototype,"cache",void 0);kr([(0,Wr.Inject)(),Br("design:type",jn.MidwayI18nService)],ni.prototype,"i18nService",void 0);sr.OssService=ni=kr([(0,Wr.Provide)()],ni)},61275:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.QueueService=void 0;const yr=lr(46123);let kr=class QueueService{constructor(){this.queue=[];this.isProcessing=false}async processQueue(){if(this.isProcessing||this.queue.length===0){return}this.isProcessing=true;const ir=this.queue.shift();if(ir){await ir()}this.isProcessing=false;this.processQueue()}async enqueue(ir){return new Promise((sr=>{this.queue.push((async()=>{try{await ir()}finally{sr()}}));this.processQueue()}))}};sr.QueueService=kr;sr.QueueService=kr=hr([(0,yr.Provide)(),(0,yr.Scope)(yr.ScopeEnum.Singleton)],kr)},19452:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.TerminalService=void 0;const Wr=lr(46123);const zr=lr(35317);const Jr=lr(63366);const Hr=Fr(lr(1999));const Gr=lr(73024);const Yr=lr(51455);const Qr=lr(87518);const Zr=Ur(lr(44644));let cn=class TerminalService{constructor(){this.subprocess=null;this.cwd="";this.tabIndex=0}getPrompt(){return`${this.cwd}`}smartDecode(ir){if(!ir||ir.length===0)return"";try{new TextDecoder("utf-8",{fatal:true}).decode(ir);return Hr.decode(ir,"utf-8")}catch{return Hr.decode(ir,"gbk")}}async folderExists(ir){try{await(0,Yr.access)(ir,Gr.constants.F_OK|Gr.constants.R_OK);return true}catch{return false}}async shutdown(ir=5e3){const sr=this.subprocess;if(!sr||sr.killed){this.ctx.emit("output",{cwd:this.getPrompt()});return}return new Promise((lr=>{let hr=false;const done=()=>{if(!hr){hr=true;lr(0)}};sr.once("exit",done);(0,Zr.default)(sr.pid,"SIGTERM",(ir=>{if(ir){this.ctx.emit("output",{err:ir.message})}}));const yr=setTimeout((()=>{(0,Zr.default)(sr.pid,"SIGKILL",(ir=>{if(ir){this.ctx.emit("output",{err:ir.message})}done()}))}),ir);sr.once("exit",(()=>clearTimeout(yr)))}))}async execCmd({cwd:ir,oldCwd:sr,command:lr}){if(!await this.folderExists(ir)){this.ctx.emit("output",{err:`${ir} 路径不存在`});this.ctx.emit("output",{cwd:sr});return}this.cwd=ir;if(!lr.trim()){this.ctx.emit("output",{cwd:this.getPrompt()});return}if(lr==="^C"){await this.shutdown();return}this.subprocess=(0,zr.spawn)(lr,{shell:true,cwd:ir,stdio:["pipe","pipe","pipe"],detached:false,env:{...process.env,FORCE_COLOR:"3",NPM_CONFIG_COLOR:"always",COLORTERM:"truecolor",TERM:"xterm-256color"}});this.subprocess.stdout?.on("data",(ir=>{this.ctx.emit("output",{stdout:this.smartDecode(ir)})}));this.subprocess.stderr?.on("data",(ir=>{this.ctx.emit("output",{stderr:this.smartDecode(ir)})}));this.subprocess.on("close",(()=>{this.subprocess=null;this.ctx.emit("output",{cwd:this.getPrompt(),command:lr})}));this.subprocess.on("error",(ir=>{this.ctx.emit("output",{err:ir.message})}))}async cmdTab({cwd:ir,lastWord:sr}){let lr=await Qr.fileSys.readDirFiles(ir);if(sr){lr=lr.filter((ir=>ir.name.startsWith(sr)))}if(lr.length===0){return}this.tabIndex=(this.tabIndex+1)%lr.length;const hr=lr[this.tabIndex];this.ctx.emit("output",{tab:hr.name})}};sr.TerminalService=cn;kr([(0,Wr.Inject)(),Br("design:type",Jr.ConfigService)],cn.prototype,"configService",void 0);kr([(0,Wr.Inject)(),Br("design:type",Object)],cn.prototype,"ctx",void 0);sr.TerminalService=cn=kr([(0,Wr.Provide)()],cn)},5808:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.VuefinderService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(63366);const Hr=Fr(lr(93900));const Gr=lr(26815);let Yr=class VuefinderService{async list({path:ir}){const sr=this.configService.comphubConfig();const{srcPath:lr}=sr;const hr=ir?.replace(Gr.KEYS.FILE_MANAGER_DIRNAME,"")||"";let yr=Wr.join(lr,hr);const kr=await zr.promises.access(yr).then((()=>true)).catch((()=>false));if(!kr){yr=lr;ir=Gr.KEYS.FILE_MANAGER_DIRNAME}const Fr=await zr.promises.readdir(yr);const Br=Fr.map((async sr=>{const lr=Wr.join(yr,sr);const hr=await zr.promises.stat(lr);const kr=hr.isDirectory();const Fr=ir===Gr.KEYS.FILE_MANAGER_DIRNAME?`${ir}${sr}`:`${ir}/${sr}`;return{type:kr?"dir":"file",path:Fr,file_size:hr.size,visibility:"public",last_modified:Math.floor(hr.mtimeMs/1e3),basename:sr,extension:kr?"":Wr.extname(sr).slice(1),mime_type:Hr.lookup(sr)||""}}));const Ur=await Promise.all(Br);Ur.sort(((ir,sr)=>{if(ir.type==="dir"&&sr.type==="file"){return-1}else if(ir.type==="file"&&sr.type==="dir"){return 1}else{return 0}}));return{storages:Fr,dirname:ir,files:Ur}}};sr.VuefinderService=Yr;kr([(0,Ur.App)(),Br("design:type",Object)],Yr.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Jr.ConfigService)],Yr.prototype,"configService",void 0);sr.VuefinderService=Yr=kr([(0,Ur.Provide)()],Yr)},66593:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.TerminalSocketController=void 0;const kr=lr(46123);const Fr=lr(19452);let Br=class TerminalSocketController{async onConnection(){this.ctx.logger.debug(`新客户端连接:${this.ctx.id}`)}async onDisConnection(){this.ctx.logger.debug(`客户端断开连接:${this.ctx.id}`);await this.terminalService.shutdown()}async onCommand(ir){this.terminalService.execCmd(ir)}async onTab(ir){this.terminalService.cmdTab(ir)}};sr.TerminalSocketController=Br;hr([(0,kr.Inject)(),yr("design:type",Object)],Br.prototype,"ctx",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.TerminalService)],Br.prototype,"terminalService",void 0);hr([(0,kr.OnWSConnection)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"onConnection",null);hr([(0,kr.OnWSDisConnection)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"onDisConnection",null);hr([(0,kr.OnWSMessage)("command"),yr("design:type",Function),yr("design:paramtypes",[Object]),yr("design:returntype",Promise)],Br.prototype,"onCommand",null);hr([(0,kr.OnWSMessage)("tab"),yr("design:type",Function),yr("design:paramtypes",[Object]),yr("design:returntype",Promise)],Br.prototype,"onTab",null);sr.TerminalSocketController=Br=hr([(0,kr.WSController)("/terminal")],Br)},58953:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();Object.defineProperty(sr,"__esModule",{value:true});sr.PRECOMPILE_BUILD_VERSION=void 0;sr.analyzeBuildOutputs=analyzeBuildOutputs;sr.saveBuildMetadata=saveBuildMetadata;sr.filterCachedModules=filterCachedModules;sr.toSafeEntryKey=toSafeEntryKey;sr.buildEntryPoints=buildEntryPoints;sr.mergeSubPathEntries=mergeSubPathEntries;sr.generateMergedWrapper=generateMergedWrapper;sr.generateSubWrapper=generateSubWrapper;sr.getSubWrapperFileName=getSubWrapperFileName;sr.isTemplateCompilerVersionMatched=isTemplateCompilerVersionMatched;sr.buildTemplateCompilerFileName=buildTemplateCompilerFileName;const Fr=kr(lr(16928));const Br=kr(lr(79896));const Ur=lr(87518);const Wr=lr(18801);const zr=lr(26815);sr.PRECOMPILE_BUILD_VERSION=1;function resolveModuleEntry(ir,sr){if(ir!=="vue")return ir;const lr=Wr.versionKit.getMajorVersion(sr);return lr==="3"?zr.KEYS.VUE_ESM_BUNDLER:ir}function extractModuleName(ir){const sr=Fr.extname(ir);const lr=Fr.basename(ir,sr);return lr.replace(/-[A-Za-z0-9_-]{8}$/,"")}function matchEntryKey(ir,sr){return ir.find((ir=>{const lr=ir.split("/");const hr=lr[lr.length-1];return sr===hr}))}function analyzeBuildOutputs(ir,lr,hr,yr={}){const kr={};const Wr={};const zr=Object.keys(lr);const Jr=ir.metafile?.outputs??{};const Hr=new Set(Object.keys(Jr).map((ir=>Fr.basename(ir))));for(const[ir,lr]of Object.entries(Jr)){const Jr=Fr.basename(ir);if(!lr.entryPoint)continue;const Gr=extractModuleName(ir);const Yr=matchEntryKey(zr,Gr);if(!Yr)continue;Wr[Yr]=Jr;const Qr=Fr.join(hr,Jr);const Zr=Br.readFileSync(Qr,"utf-8");const cn=Ur.digest.getStringHash(Zr).slice(0,8);kr[Yr]={src:lr.entryPoint,file:Jr,fileHash:cn,needsInterop:false,version:yr[Yr],buildVersion:sr.PRECOMPILE_BUILD_VERSION,chunkFiles:(lr.imports??[]).map((ir=>Fr.basename(ir.path))).filter((ir=>ir&&Hr.has(ir)&&ir!==Jr))}}return{optimized:kr,entryNameToFile:Wr}}async function saveBuildMetadata(ir,sr){await Br.promises.writeFile(ir,JSON.stringify(sr,null,2))}function isCacheEntryValid(ir,lr){return!!ir.version&&ir.version===lr&&ir.buildVersion===sr.PRECOMPILE_BUILD_VERSION}function filterCachedModules(ir,sr,lr={}){if(!sr){return{filteredEntryPoints:ir,cachedMappings:{}}}const hr={};const yr={};for(const[kr,Fr]of Object.entries(ir)){const ir=sr[kr];if(ir&&isCacheEntryValid(ir,lr[kr])){yr[kr]=ir.file}else{hr[kr]=Fr}}return{filteredEntryPoints:hr,cachedMappings:yr}}function toSafeEntryKey(ir){if(ir.startsWith("@")){const sr=ir.split("/");if(sr.length===2&&!Fr.extname(sr[1])){return`__${sr[0].slice(1)}_${sr[1]}`}}if(ir.includes("/")){return ir.replace(/\//g,"_")}return ir}async function buildEntryPoints(ir,sr,lr){const hr={};const yr={};const kr=[];for(const Fr of ir){const ir=Ur.resolver.findDependencyVersion(sr,Fr);if(!ir){const ir=await Ur.resolver.findOwningPackage(Fr,lr);if(!ir){kr.push(Fr);continue}}const Br=toSafeEntryKey(Fr);hr[Br]=resolveModuleEntry(Fr,ir);yr[Br]=Fr}return{entryPoints:hr,entryKeyToDepName:yr,skippedDeps:kr}}function extractPackageName(ir){if(ir.startsWith("@")){const sr=ir.split("/");return sr.slice(0,2).join("/")}return ir.split("/")[0]}function toSafeIdentifier(ir){return ir.replace(/\.js$/,"").replace(/[./]/g,"_")}function mergeSubPathEntries(ir){const sr={};const lr={};for(const[hr,yr]of Object.entries(ir)){const ir=extractPackageName(hr);if(hr!==ir){const kr=!/\.(js|ts|jsx|tsx|mjs|cjs)$/.test(hr);if(kr){lr[hr]=yr;continue}if(!sr[ir])sr[ir]={};sr[ir][hr]=yr}else{lr[hr]=yr}}const hr={};for(const[ir,yr]of Object.entries(sr)){const sr=Object.keys(yr);if(sr.length<=1){Object.assign(lr,yr);continue}const kr=Ur.digest.getStringHash(sr.slice().sort().join("|")).slice(0,8);const Fr=`__merged__${ir}-${kr}`;const Br={};const Wr=[];for(const ir of Object.keys(yr)){const sr=toSafeIdentifier(ir);Br[ir]=sr;Wr.push(ir)}lr[Fr]=Fr;hr[ir]={entryKey:Fr,subExportMap:Br,wrapperSubPaths:Wr}}return{entryPoints:lr,mergedPackages:hr}}function generateMergedWrapper(ir){const sr=[];const lr=[];const hr=[];const yr=new Set;for(const[kr,Fr]of Object.entries(ir)){if(yr.has(Fr))continue;yr.add(Fr);const ir=`__imp_${Fr}`;sr.push(`import * as ${ir} from '${kr}';`);lr.push(`export const ${Fr} = ${ir}.default || Object.assign({}, ${ir});`);hr.push(`export * from '${kr}';`)}return["// Auto-generated by comp-hub: merged entry for esbuild",...sr,...lr,...hr,""].join("\n")}function generateSubWrapper(ir,sr){return[`// Auto-generated: sub-wrapper for ${ir}`,`export { ${ir} as default } from './${sr}';`,`export * from './${sr}';`,""].join("\n")}function getSubWrapperFileName(ir,sr){const lr=Fr.basename(sr,Fr.extname(sr));return`${ir}-w-${lr}.js`}function isTemplateCompilerVersionMatched(ir,sr){const parse=ir=>{try{return Wr.versionKit.parseVersion(ir)}catch{return null}};const lr=parse(ir);const hr=parse(sr);if(!lr||!hr)return false;return lr.major===hr.major&&lr.minor===hr.minor}function buildTemplateCompilerFileName(ir,sr){return`vue2-template-compiler-${ir.replace(/\./g,"_")}-${sr}.js`}},49969:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getErrorMessage=getErrorMessage;function getErrorMessage(ir){if(ir instanceof Error)return ir.message;if(typeof ir==="string")return ir;return String(ir)}},52639:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.detectFrameworkFromSources=detectFrameworkFromSources;sr.getFrameworkEntryFiles=getFrameworkEntryFiles;sr.findUnresolvedBareSpecifiers=findUnresolvedBareSpecifiers;const hr=lr(48636);const yr=lr(26815);const kr=[/customElements\s*\.\s*define\s*\(/,/extends\s+HTMLElement\b/];function detectFrameworkFromSources(ir){const sr=ir.map((ir=>ir.relativePath.split("/").pop()??""));if(sr.includes(yr.KEYS.COMP_USE_ENTRY_FILE)){return yr.KEYS.COMP_FRAMEWORK_VUE}if(sr.some((ir=>ir==="index.jsx"||ir==="index.tsx"))){return yr.KEYS.COMP_FRAMEWORK_REACT}if(ir.some((ir=>kr.some((sr=>sr.test(ir.content)))))){return yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT}if(sr.includes(yr.KEYS.COMP_USE_ENTRY_FILE_WEB_COMPONENT)){return yr.KEYS.COMP_FRAMEWORK_REACT}return""}const Fr={[yr.KEYS.COMP_FRAMEWORK_VUE]:[yr.KEYS.COMP_USE_ENTRY_FILE],[yr.KEYS.COMP_FRAMEWORK_REACT]:[...yr.KEYS.COMP_USE_ENTRY_FILE_REACT],[yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT]:[yr.KEYS.COMP_USE_ENTRY_FILE_WEB_COMPONENT]};function getFrameworkEntryFiles(ir){return ir?Fr[ir]:undefined}function findUnresolvedBareSpecifiers(ir,sr){const lr=new Set(sr.map(toTopLevelPackageName));const hr=[];const yr=new Set;for(const sr of ir){let ir;try{ir=collectModuleSpecifiers(sr.content)}catch{continue}for(const sr of ir){if(sr.startsWith(".")||sr.startsWith("/"))continue;const ir=toTopLevelPackageName(sr);if(lr.has(ir)||yr.has(ir))continue;yr.add(ir);hr.push(ir)}}return hr}function toTopLevelPackageName(ir){return ir.startsWith("@")?ir.split("/").slice(0,2).join("/"):ir.split("/")[0]}function collectModuleSpecifiers(ir){const sr=(0,hr.parse)(ir,{sourceType:"module",createImportExpressions:true,plugins:["dynamicImport","jsx","typescript"]});const lr=[];const walk=ir=>{if(!ir||typeof ir!=="object")return;if((ir.type==="ImportDeclaration"||ir.type==="ExportAllDeclaration"||ir.type==="ImportExpression"||ir.type==="ExportNamedDeclaration"&&ir.source)&&typeof ir.source?.value==="string"){lr.push(ir.source.value)}for(const sr of Object.keys(ir)){if(sr==="loc"||sr==="start"||sr==="end")continue;const lr=ir[sr];if(Array.isArray(lr))lr.forEach(walk);else if(lr&&typeof lr==="object"&&typeof lr.type==="string")walk(lr)}};walk(sr.program);return lr}},4145:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.waitForIpcConfig=waitForIpcConfig;const yr=hr(lr(16928));const kr=lr(26815);function parseCwdArg(ir){for(let sr=0;sr<ir.length;sr++){if(ir[sr]==="--cwd"&&sr+1<ir.length){return ir[sr+1]}if(ir[sr].startsWith("--cwd=")){return ir[sr].replace("--cwd=","")}}return undefined}function waitForIpcConfig(){const ir=parseCwdArg(process.argv);if(ir){return Promise.resolve({type:"config",port:0,cwd:yr.default.resolve(ir),allowDebug:process.env.MIDWAY_SERVER_ENV===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL})}if(process.send){return new Promise(((ir,sr)=>{const lr=setTimeout((()=>{sr(new Error("No IPC config received within 10s. MidwayJS must be started by master via fork."))}),1e4);process.once("message",(sr=>{if(sr?.type==="config"){clearTimeout(lr);ir(sr)}}))}))}return Promise.resolve({type:"config",port:0,cwd:process.cwd(),allowDebug:process.env.MIDWAY_SERVER_ENV===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL})}},5052:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.splitReusableDeps=splitReusableDeps;sr.resolveCompilerBuild=resolveCompilerBuild;const hr=lr(18801);function splitReusableDeps(ir,sr=[],lr={}){const yr=new Map(sr.map((ir=>[ir.name,ir.version])));const kr={};const Fr=[];for(const sr of ir){const ir=lr[sr.name];const Br=yr.get(sr.name);if(ir&&Br&&hr.versionKit.isVersionEqual(sr.version,Br)){kr[sr.name]=ir}else{Fr.push(sr.name)}}return{reused:kr,localNames:Fr}}function resolveCompilerBuild(ir){const sr=ir.find((ir=>ir.name==="vue"))?.version;if(!sr)return{action:"skip",reason:"no-vue"};try{return hr.versionKit.getMajorVersion(sr)==="2"?{action:"build",vueVersion:sr}:{action:"skip",reason:"not-vue2"}}catch{return{action:"skip",reason:"unparsable",raw:sr}}}},10778:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.remoteInstance=sr.setHeader=void 0;const yr=lr(42552);const kr=lr(26815);const Fr=hr(lr(65692));const Br=(0,yr.initInstance)(kr.KEYS.REMOTE_SERVICE_PREFIX,{timeout:1e4,httpsAgent:new Fr.default.Agent({rejectUnauthorized:false})},(ir=>ir.replace(kr.KEYS.REMOTE_SERVICE_PREFIX,"")));sr.remoteInstance=Br;let Ur=null;const setHeader=ir=>{Ur=ir};sr.setHeader=setHeader;Br.interceptors.request.use((ir=>{ir.headers[kr.KEYS.AUTHORIZATION_HEADER_NAME]=Ur[kr.KEYS.AUTHORIZATION_HEADER_NAME];ir.headers[kr.KEYS.ACCEPT_LANGUAGE_HEADER_NAME]=Ur[kr.KEYS.ACCEPT_LANGUAGE_HEADER_NAME.toLowerCase()];ir.headers["cookie"]=Ur.cookie;return ir}),(ir=>Promise.reject(ir)));Br.interceptors.response.use((async ir=>{if(ir.data.code!==0){throw new Error(JSON.stringify(ir.data))}return ir.data}),(ir=>Promise.reject(ir)))},67872:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.createKoaProxy=createKoaProxy;const yr=hr(lr(58611));const kr=lr(31855);const Fr=new yr.default.Agent({keepAlive:true,keepAliveMsecs:3e4,maxSockets:50,maxFreeSockets:10});const Br=new Map;function getOrCreateSubProxy(ir,sr){const lr=`${ir}|${JSON.stringify(sr)}`;if(!Br.has(lr)){Br.set(lr,(0,kr.createProxyMiddleware)({target:ir,changeOrigin:true,secure:false,agent:Fr,pathRewrite:sr,on:{error:ir=>{}}}))}return Br.get(lr)}async function createKoaProxy(ir,sr,lr){const hr=getOrCreateSubProxy(sr,lr);return new Promise(((sr,lr)=>{ir.res.on("finish",sr);ir.res.on("close",sr);ir.res.on("error",lr);hr(ir.req,ir.res,(ir=>{if(ir)lr(ir);else sr()}))}))}},101:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.PackageJsonVO=sr.LocalCompDetailVO=sr.LocalCompsVO=sr.CompFileHashVO=sr.CompSimilarListVO=sr.DownloadCompVO=sr.LocalCompsByIdsVO=sr.ImportScanResultVO=sr.CompCheckVO=sr.CompFileContentVO=sr.CompFileVO=sr.CompSimilarListItemVO=sr.FileNode=void 0;const kr=lr(49179);const Fr=lr(26815);class FileNode{}sr.FileNode=FileNode;hr([(0,kr.ApiProperty)({description:"目录/文件名称",example:"index.vue",required:true}),yr("design:type",String)],FileNode.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"目录/文件路径",example:"/src/components/MyComp/index.vue",required:true}),yr("design:type",String)],FileNode.prototype,"path",void 0);hr([(0,kr.ApiProperty)({description:"目录/文件类型",example:"file",required:true,enum:Fr.ENUM.FileType}),yr("design:type",String)],FileNode.prototype,"type",void 0);hr([(0,kr.ApiProperty)({description:"子节点",type:[FileNode]}),yr("design:type",Array)],FileNode.prototype,"children",void 0);class CompSimilarListItemVO{}sr.CompSimilarListItemVO=CompSimilarListItemVO;hr([(0,kr.ApiProperty)({example:"60d21b4667d0d8992e610c85",description:"组件主键ID(自动生成)",required:true}),yr("design:type",String)],CompSimilarListItemVO.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({example:"组件名称",description:"组件名称",required:true}),yr("design:type",String)],CompSimilarListItemVO.prototype,"name",void 0);class CompFileVO{}sr.CompFileVO=CompFileVO;hr([(0,kr.ApiProperty)({type:FileNode,description:"组件文件树",required:true}),yr("design:type",FileNode)],CompFileVO.prototype,"tree",void 0);hr([(0,kr.ApiProperty)({type:[String],description:"组件文件列表",required:true}),yr("design:type",Array)],CompFileVO.prototype,"files",void 0);class CompFileContentVO{}sr.CompFileContentVO=CompFileContentVO;hr([(0,kr.ApiProperty)({description:"组件文件内容",example:"let a=123;",required:true}),yr("design:type",String)],CompFileContentVO.prototype,"content",void 0);class CompCheckVO{}sr.CompCheckVO=CompCheckVO;hr([(0,kr.ApiProperty)({description:"组件入口文件路径",required:false}),yr("design:type",String)],CompCheckVO.prototype,"entryIndexPath",void 0);hr([(0,kr.ApiProperty)({description:"组件配置文件路径",required:false}),yr("design:type",String)],CompCheckVO.prototype,"compJsonPath",void 0);hr([(0,kr.ApiProperty)({description:"异常结果内容",required:true}),yr("design:type",String)],CompCheckVO.prototype,"errorMsg",void 0);class ParentVO{}hr([(0,kr.ApiProperty)({description:"父库名称",required:true,example:"vue"}),yr("design:type",String)],ParentVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"父库版本",required:true,example:"^2.10.5"}),yr("design:type",String)],ParentVO.prototype,"version",void 0);class ImportDetailVO{}hr([(0,kr.ApiProperty)({description:"库名称",required:true,example:"element-plus"}),yr("design:type",String)],ImportDetailVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"库版本(仅第三方库存在)",required:true,example:"^2.10.5"}),yr("design:type",String)],ImportDetailVO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:ParentVO,description:"父库(仅第三方库存在),在子包导入的时候,需要指定父库,比如 ol/Map.js 就需要指定父库 ol",required:false}),yr("design:type",ParentVO)],ImportDetailVO.prototype,"parent",void 0);class ImportScanResultVO{}sr.ImportScanResultVO=ImportScanResultVO;hr([(0,kr.ApiProperty)({type:[ImportDetailVO],required:true,description:"第三方库导入详情"}),yr("design:type",Array)],ImportScanResultVO.prototype,"thirdParty",void 0);hr([(0,kr.ApiProperty)({description:"探测出的组件框架类型(vue / react / webcomponent)",required:true,example:"vue"}),yr("design:type",String)],ImportScanResultVO.prototype,"framework",void 0);class CompInfoVO{}hr([(0,kr.ApiProperty)({example:"60d21b4667d0d8992e610c85",description:"组件主键ID(自动生成)",required:true}),yr("design:type",String)],CompInfoVO.prototype,"id",void 0);hr([(0,kr.ApiProperty)({description:"组件文件路径",example:"local:///MyComp/index.vue",required:true}),yr("design:type",String)],CompInfoVO.prototype,"path",void 0);hr([(0,kr.ApiProperty)({description:"组件文件名称",example:"base-table",required:true}),yr("design:type",String)],CompInfoVO.prototype,"basename",void 0);hr([(0,kr.ApiProperty)({description:"组件文件完整路径",example:"/src/components/MyComp/index.vue",required:true}),yr("design:type",String)],CompInfoVO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({description:"组件文件完整路径哈希值",example:"123",required:true}),yr("design:type",String)],CompInfoVO.prototype,"fullPathHash",void 0);class LocalCompsByIdsVO{}sr.LocalCompsByIdsVO=LocalCompsByIdsVO;hr([(0,kr.ApiProperty)({type:[CompInfoVO],required:true}),yr("design:type",Array)],LocalCompsByIdsVO.prototype,"compInfos",void 0);class DownloadCompVO{}sr.DownloadCompVO=DownloadCompVO;hr([(0,kr.ApiProperty)({description:"组件是否重复",example:true,required:true}),yr("design:type",Boolean)],DownloadCompVO.prototype,"isRepeat",void 0);class CompSimilarListVO{}sr.CompSimilarListVO=CompSimilarListVO;hr([(0,kr.ApiProperty)({type:[CompSimilarListItemVO],description:"相似组件列表",required:true}),yr("design:type",Array)],CompSimilarListVO.prototype,"similarList",void 0);class CompFileHashVO{}sr.CompFileHashVO=CompFileHashVO;hr([(0,kr.ApiProperty)({example:"123",description:"组件哈希值",required:true}),yr("design:type",String)],CompFileHashVO.prototype,"compHash",void 0);class PreviewItem{}hr([(0,kr.ApiProperty)({type:String,example:"656f78a9b0c7e8d2e1f3a4b5",description:"预览配置项主键ID(自动生成)",required:false}),yr("design:type",String)],PreviewItem.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址",required:true}),yr("design:type",Array)],PreviewItem.prototype,"miniPath",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址(全屏窗口)",required:false}),yr("design:type",Array)],PreviewItem.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({example:"我是一个预览入口",description:"预览入口描述",required:false}),yr("design:type",String)],PreviewItem.prototype,"desc",void 0);class LocalCompsVO{}sr.LocalCompsVO=LocalCompsVO;hr([(0,kr.ApiProperty)({type:String,example:"656f78a9b0c7e8d2e1f3a4b5",description:"内容id,这里用路径哈希值",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({type:String,example:"qin-table",description:"组件名称",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({type:String,example:"123456",description:"组件ID",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"compId",void 0);hr([(0,kr.ApiProperty)({type:String,example:"1.0.0",description:"组件版本",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:[PreviewItem],required:true}),yr("design:type",Array)],LocalCompsVO.prototype,"previewConfigs",void 0);hr([(0,kr.ApiProperty)({type:String,example:"local://components/QinTable",description:"组件文件路径",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"path",void 0);hr([(0,kr.ApiProperty)({type:String,example:"D:/src/components/QinTable/index.vue",description:"组件文件完整路径",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({type:String,example:"#f0f0f0",description:"组件背景颜色",required:false}),yr("design:type",String)],LocalCompsVO.prototype,"bgColor",void 0);class LocalCompDetailVO extends LocalCompsVO{}sr.LocalCompDetailVO=LocalCompDetailVO;class PackageJsonVO{}sr.PackageJsonVO=PackageJsonVO;hr([(0,kr.ApiProperty)({type:Object,description:"组件package.json文件内容",required:true}),yr("design:type",Object)],PackageJsonVO.prototype,"packageJson",void 0)},71692:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BuildTemplateCompilerVO=sr.PreBuildSizeVO=sr.PreBuildVO=void 0;const kr=lr(49179);class PreBuildVO{}sr.PreBuildVO=PreBuildVO;hr([(0,kr.ApiProperty)({description:"预构建模块对应文件",required:true,example:{vue:"vue-hash.js"}}),yr("design:type",Object)],PreBuildVO.prototype,"entryNameToFile",void 0);hr([(0,kr.ApiProperty)({description:"esbuild code-splitting 生成的公共 chunk 文件列表,上传 OSS 时需要一并上传",required:false,example:["chunk-26KRECMG.js","chunk-3AE7QCN7.js"]}),yr("design:type",Array)],PreBuildVO.prototype,"chunkFiles",void 0);class PreBuildSizeVO{}sr.PreBuildSizeVO=PreBuildSizeVO;hr([(0,kr.ApiProperty)({description:"预构建模块文件总大小",required:true,example:1024}),yr("design:type",Number)],PreBuildSizeVO.prototype,"size",void 0);class BuildTemplateCompilerVO{}sr.BuildTemplateCompilerVO=BuildTemplateCompilerVO;hr([(0,kr.ApiProperty)({description:"vue-template-compiler 浏览器 bundle 文件名(实装版本-内容 hash),通过 /_module_load_prefix_/ 前缀加载",required:true,example:"vue2-template-compiler-2_7_16-a1b2c3d4.js"}),yr("design:type",String)],BuildTemplateCompilerVO.prototype,"fileName",void 0)},15798:(ir,sr)=>{"use strict";const lr={suspectRx:/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*\:/};sr.parse=function(ir,...hr){const yr=typeof hr[0]==="object"&&hr[0];const kr=hr.length>1||!yr?hr[0]:undefined;const Fr=hr.length>1&&hr[1]||yr||{};const Br=JSON.parse(ir,kr);if(Fr.protoAction==="ignore"){return Br}if(!Br||typeof Br!=="object"){return Br}if(!ir.match(lr.suspectRx)){return Br}sr.scan(Br,Fr);return Br};sr.scan=function(ir,sr={}){let lr=[ir];while(lr.length){const ir=lr;lr=[];for(const hr of ir){if(Object.prototype.hasOwnProperty.call(hr,"__proto__")){if(sr.protoAction!=="remove"){throw new SyntaxError("Object contains forbidden prototype property")}delete hr.__proto__}for(const ir in hr){const sr=hr[ir];if(sr&&typeof sr==="object"){lr.push(hr[ir])}}}}};sr.safeParse=function(ir,lr){try{return sr.parse(ir,lr)}catch(ir){return null}}},35522:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(43700);const kr=lr(66621);const Fr=lr(69322);const Br={};ir.exports=function(ir,sr,lr={}){hr(ir&&typeof ir==="object","Invalid defaults value: must be an object");hr(!sr||sr===true||typeof sr==="object","Invalid source value: must be true, falsy or an object");hr(typeof lr==="object","Invalid options: must be an object");if(!sr){return null}if(lr.shallow){return Br.applyToDefaultsWithShallow(ir,sr,lr)}const Fr=yr(ir);if(sr===true){return Fr}const Ur=lr.nullOverride!==undefined?lr.nullOverride:false;return kr(Fr,sr,{nullOverride:Ur,mergeArrays:false})};Br.applyToDefaultsWithShallow=function(ir,sr,lr){const Ur=lr.shallow;hr(Array.isArray(Ur),"Invalid keys");const Wr=new Map;const zr=sr===true?null:new Set;for(let lr of Ur){lr=Array.isArray(lr)?lr:lr.split(".");const hr=Fr(ir,lr);if(hr&&typeof hr==="object"){Wr.set(hr,zr&&Fr(sr,lr)||hr)}else if(zr){zr.add(lr)}}const Jr=yr(ir,{},Wr);if(!zr){return Jr}for(const ir of zr){Br.reachCopy(Jr,sr,ir)}const Hr=lr.nullOverride!==undefined?lr.nullOverride:false;return kr(Jr,sr,{nullOverride:Hr,mergeArrays:false})};Br.reachCopy=function(ir,sr,lr){for(const ir of lr){if(!(ir in sr)){return}const lr=sr[ir];if(typeof lr!=="object"||lr===null){return}sr=lr}const hr=sr;let yr=ir;for(let ir=0;ir<lr.length-1;++ir){const sr=lr[ir];if(typeof yr[sr]!=="object"){yr[sr]={}}yr=yr[sr]}yr[lr[lr.length-1]]=hr}},99583:(ir,sr,lr)=>{"use strict";const hr=lr(16443);const yr={};ir.exports=function(ir,...sr){if(ir){return}if(sr.length===1&&sr[0]instanceof Error){throw sr[0]}throw new hr(sr)}},43700:(ir,sr,lr)=>{"use strict";const hr=lr(69322);const yr=lr(99704);const kr=lr(87492);const Fr={needsProtoHack:new Set([yr.set,yr.map,yr.weakSet,yr.weakMap])};ir.exports=Fr.clone=function(ir,sr={},lr=null){if(typeof ir!=="object"||ir===null){return ir}let hr=Fr.clone;let Br=lr;if(sr.shallow){if(sr.shallow!==true){return Fr.cloneWithShallow(ir,sr)}hr=ir=>ir}else if(Br){const sr=Br.get(ir);if(sr){return sr}}else{Br=new Map}const Ur=yr.getInternalProto(ir);if(Ur===yr.buffer){return Buffer&&Buffer.from(ir)}if(Ur===yr.date){return new Date(ir.getTime())}if(Ur===yr.regex){return new RegExp(ir)}const Wr=Fr.base(ir,Ur,sr);if(Wr===ir){return ir}if(Br){Br.set(ir,Wr)}if(Ur===yr.set){for(const lr of ir){Wr.add(hr(lr,sr,Br))}}else if(Ur===yr.map){for(const[lr,yr]of ir){Wr.set(lr,hr(yr,sr,Br))}}const zr=kr.keys(ir,sr);for(const lr of zr){if(lr==="__proto__"){continue}if(Ur===yr.array&&lr==="length"){Wr.length=ir.length;continue}const kr=Object.getOwnPropertyDescriptor(ir,lr);if(kr){if(kr.get||kr.set){Object.defineProperty(Wr,lr,kr)}else if(kr.enumerable){Wr[lr]=hr(ir[lr],sr,Br)}else{Object.defineProperty(Wr,lr,{enumerable:false,writable:true,configurable:true,value:hr(ir[lr],sr,Br)})}}else{Object.defineProperty(Wr,lr,{enumerable:true,writable:true,configurable:true,value:hr(ir[lr],sr,Br)})}}return Wr};Fr.cloneWithShallow=function(ir,sr){const lr=sr.shallow;sr=Object.assign({},sr);sr.shallow=false;const yr=new Map;for(const sr of lr){const lr=hr(ir,sr);if(typeof lr==="object"||typeof lr==="function"){yr.set(lr,lr)}}return Fr.clone(ir,sr,yr)};Fr.base=function(ir,sr,lr){if(lr.prototype===false){if(Fr.needsProtoHack.has(sr)){return new sr.constructor}return sr===yr.array?[]:{}}const hr=Object.getPrototypeOf(ir);if(hr&&hr.isImmutable){return ir}if(sr===yr.array){const ir=[];if(hr!==sr){Object.setPrototypeOf(ir,hr)}return ir}if(Fr.needsProtoHack.has(sr)){const ir=new hr.constructor;if(hr!==sr){Object.setPrototypeOf(ir,hr)}return ir}return Object.create(hr)}},35879:(ir,sr,lr)=>{"use strict";const hr=lr(99704);const yr={mismatched:null};ir.exports=function(ir,sr,lr){lr=Object.assign({prototype:true},lr);return!!yr.isDeepEqual(ir,sr,lr,[])};yr.isDeepEqual=function(ir,sr,lr,kr){if(ir===sr){return ir!==0||1/ir===1/sr}const Fr=typeof ir;if(Fr!==typeof sr){return false}if(ir===null||sr===null){return false}if(Fr==="function"){if(!lr.deepFunction||ir.toString()!==sr.toString()){return false}}else if(Fr!=="object"){return ir!==ir&&sr!==sr}const Br=yr.getSharedType(ir,sr,!!lr.prototype);switch(Br){case hr.buffer:return Buffer&&Buffer.prototype.equals.call(ir,sr);case hr.promise:return ir===sr;case hr.regex:return ir.toString()===sr.toString();case yr.mismatched:return false}for(let lr=kr.length-1;lr>=0;--lr){if(kr[lr].isSame(ir,sr)){return true}}kr.push(new yr.SeenEntry(ir,sr));try{return!!yr.isDeepEqualObj(Br,ir,sr,lr,kr)}finally{kr.pop()}};yr.getSharedType=function(ir,sr,lr){if(lr){if(Object.getPrototypeOf(ir)!==Object.getPrototypeOf(sr)){return yr.mismatched}return hr.getInternalProto(ir)}const kr=hr.getInternalProto(ir);if(kr!==hr.getInternalProto(sr)){return yr.mismatched}return kr};yr.valueOf=function(ir){const sr=ir.valueOf;if(sr===undefined){return ir}try{return sr.call(ir)}catch(ir){return ir}};yr.hasOwnEnumerableProperty=function(ir,sr){return Object.prototype.propertyIsEnumerable.call(ir,sr)};yr.isSetSimpleEqual=function(ir,sr){for(const lr of Set.prototype.values.call(ir)){if(!Set.prototype.has.call(sr,lr)){return false}}return true};yr.isDeepEqualObj=function(ir,sr,lr,kr,Fr){const{isDeepEqual:Br,valueOf:Ur,hasOwnEnumerableProperty:Wr}=yr;const{keys:zr,getOwnPropertySymbols:Jr}=Object;if(ir===hr.array){if(kr.part){for(const ir of sr){for(const sr of lr){if(Br(ir,sr,kr,Fr)){return true}}}}else{if(sr.length!==lr.length){return false}for(let ir=0;ir<sr.length;++ir){if(!Br(sr[ir],lr[ir],kr,Fr)){return false}}return true}}else if(ir===hr.set){if(sr.size!==lr.size){return false}if(!yr.isSetSimpleEqual(sr,lr)){const ir=new Set(Set.prototype.values.call(lr));for(const lr of Set.prototype.values.call(sr)){if(ir.delete(lr)){continue}let sr=false;for(const hr of ir){if(Br(lr,hr,kr,Fr)){ir.delete(hr);sr=true;break}}if(!sr){return false}}}}else if(ir===hr.map){if(sr.size!==lr.size){return false}for(const[ir,hr]of Map.prototype.entries.call(sr)){if(hr===undefined&&!Map.prototype.has.call(lr,ir)){return false}if(!Br(hr,Map.prototype.get.call(lr,ir),kr,Fr)){return false}}}else if(ir===hr.error){if(sr.name!==lr.name||sr.message!==lr.message){return false}}const Hr=Ur(sr);const Gr=Ur(lr);if((sr!==Hr||lr!==Gr)&&!Br(Hr,Gr,kr,Fr)){return false}const Yr=zr(sr);if(!kr.part&&Yr.length!==zr(lr).length&&!kr.skip){return false}let Qr=0;for(const ir of Yr){if(kr.skip&&kr.skip.includes(ir)){if(lr[ir]===undefined){++Qr}continue}if(!Wr(lr,ir)){return false}if(!Br(sr[ir],lr[ir],kr,Fr)){return false}}if(!kr.part&&Yr.length-Qr!==zr(lr).length){return false}if(kr.symbols!==false){const ir=Jr(sr);const hr=new Set(Jr(lr));for(const yr of ir){if(!kr.skip||!kr.skip.includes(yr)){if(Wr(sr,yr)){if(!Wr(lr,yr)){return false}if(!Br(sr[yr],lr[yr],kr,Fr)){return false}}else if(Wr(lr,yr)){return false}}hr.delete(yr)}for(const ir of hr){if(Wr(lr,ir)){return false}}}return true};yr.SeenEntry=class{constructor(ir,sr){this.obj=ir;this.ref=sr}isSame(ir,sr){return this.obj===ir&&this.ref===sr}}},16443:(ir,sr,lr)=>{"use strict";const hr=lr(72912);const yr={};ir.exports=class extends Error{constructor(ir){const lr=ir.filter((ir=>ir!=="")).map((ir=>typeof ir==="string"?ir:ir instanceof Error?ir.message:hr(ir)));super(lr.join(" ")||"Unknown error");if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,sr.assert)}}}},57391:ir=>{"use strict";const sr={};ir.exports=function(ir){if(!ir){return""}let lr="";for(let hr=0;hr<ir.length;++hr){const yr=ir.charCodeAt(hr);if(sr.isSafe(yr)){lr+=ir[hr]}else{lr+=sr.escapeHtmlChar(yr)}}return lr};sr.escapeHtmlChar=function(ir){const lr=sr.namedHtml.get(ir);if(lr){return lr}if(ir>=256){return"&#"+ir+";"}const hr=ir.toString(16).padStart(2,"0");return`&#x${hr};`};sr.isSafe=function(ir){return sr.safeCharCodes.has(ir)};sr.namedHtml=new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[34,"&quot;"],[160,"&nbsp;"],[162,"&cent;"],[163,"&pound;"],[164,"&curren;"],[169,"&copy;"],[174,"&reg;"]]);sr.safeCharCodes=function(){const ir=new Set;for(let sr=32;sr<123;++sr){if(sr>=97||sr>=65&&sr<=90||sr>=48&&sr<=57||sr===32||sr===46||sr===44||sr===45||sr===58||sr===95){ir.add(sr)}}return ir}()},43935:ir=>{"use strict";const sr={};ir.exports=function(ir){return ir.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},85363:ir=>{"use strict";const sr={};ir.exports=function(){}},66621:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(43700);const kr=lr(87492);const Fr={};ir.exports=Fr.merge=function(ir,sr,lr){hr(ir&&typeof ir==="object","Invalid target value: must be an object");hr(sr===null||sr===undefined||typeof sr==="object","Invalid source value: must be null, undefined, or an object");if(!sr){return ir}lr=Object.assign({nullOverride:true,mergeArrays:true},lr);if(Array.isArray(sr)){hr(Array.isArray(ir),"Cannot merge array onto an object");if(!lr.mergeArrays){ir.length=0}for(let hr=0;hr<sr.length;++hr){ir.push(yr(sr[hr],{symbols:lr.symbols}))}return ir}const Br=kr.keys(sr,lr);for(let hr=0;hr<Br.length;++hr){const kr=Br[hr];if(kr==="__proto__"||!Object.prototype.propertyIsEnumerable.call(sr,kr)){continue}const Ur=sr[kr];if(Ur&&typeof Ur==="object"){if(ir[kr]===Ur){continue}if(!ir[kr]||typeof ir[kr]!=="object"||Array.isArray(ir[kr])!==Array.isArray(Ur)||Ur instanceof Date||Buffer&&Buffer.isBuffer(Ur)||Ur instanceof RegExp){ir[kr]=yr(Ur,{symbols:lr.symbols})}else{Fr.merge(ir[kr],Ur,lr)}}else{if(Ur!==null&&Ur!==undefined){ir[kr]=Ur}else if(lr.nullOverride){ir[kr]=Ur}}}return ir}},69322:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr={};ir.exports=function(ir,sr,lr){if(sr===false||sr===null||sr===undefined){return ir}lr=lr||{};if(typeof lr==="string"){lr={separator:lr}}const kr=Array.isArray(sr);hr(!kr||!lr.separator,"Separator option is not valid for array-based chain");const Fr=kr?sr:sr.split(lr.separator||".");let Br=ir;for(let ir=0;ir<Fr.length;++ir){let kr=Fr[ir];const Ur=lr.iterables&&yr.iterables(Br);if(Array.isArray(Br)||Ur==="set"){const ir=Number(kr);if(Number.isInteger(ir)){kr=ir<0?Br.length+ir:ir}}if(!Br||typeof Br==="function"&&lr.functions===false||!Ur&&Br[kr]===undefined){hr(!lr.strict||ir+1===Fr.length,"Missing segment",kr,"in reach path ",sr);hr(typeof Br==="object"||lr.functions===true||typeof Br!=="function","Invalid segment",kr,"in reach path ",sr);Br=lr.default;break}if(!Ur){Br=Br[kr]}else if(Ur==="set"){Br=[...Br][kr]}else{Br=Br.get(kr)}}return Br};yr.iterables=function(ir){if(ir instanceof Set){return"set"}if(ir instanceof Map){return"map"}}},72912:ir=>{"use strict";const sr={};ir.exports=function(...ir){try{return JSON.stringify(...ir)}catch(ir){return"[Cannot display object: "+ir.message+"]"}}},99704:(ir,sr)=>{"use strict";const lr={};sr=ir.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};lr.typeMap=new Map([["[object Error]",sr.error],["[object Map]",sr.map],["[object Promise]",sr.promise],["[object Set]",sr.set],["[object WeakMap]",sr.weakMap],["[object WeakSet]",sr.weakSet]]);sr.getInternalProto=function(ir){if(Array.isArray(ir)){return sr.array}if(Buffer&&ir instanceof Buffer){return sr.buffer}if(ir instanceof Date){return sr.date}if(ir instanceof RegExp){return sr.regex}if(ir instanceof Error){return sr.error}const hr=Object.prototype.toString.call(ir);return lr.typeMap.get(hr)||sr.generic}},87492:(ir,sr)=>{"use strict";const lr={};sr.keys=function(ir,sr={}){return sr.symbols!==false?Reflect.ownKeys(ir):Object.getOwnPropertyNames(ir)}},75663:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr={};sr.Sorter=class{constructor(){this._items=[];this.nodes=[]}add(ir,sr){sr=sr||{};const lr=[].concat(sr.before||[]);const yr=[].concat(sr.after||[]);const kr=sr.group||"?";const Fr=sr.sort||0;hr(!lr.includes(kr),`Item cannot come before itself: ${kr}`);hr(!lr.includes("?"),"Item cannot come before unassociated items");hr(!yr.includes(kr),`Item cannot come after itself: ${kr}`);hr(!yr.includes("?"),"Item cannot come after unassociated items");if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){const ir={seq:this._items.length,sort:Fr,before:lr,after:yr,group:kr,node:sr};this._items.push(ir)}if(!sr.manual){const ir=this._sort();hr(ir,"item",kr!=="?"?`added into group ${kr}`:"","created a dependencies error")}return this.nodes}merge(ir){if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){if(sr){for(const ir of sr._items){this._items.push(Object.assign({},ir))}}}this._items.sort(yr.mergeSort);for(let ir=0;ir<this._items.length;++ir){this._items[ir].seq=ir}const sr=this._sort();hr(sr,"merge created a dependencies error");return this.nodes}sort(){const ir=this._sort();hr(ir,"sort created a dependencies error");return this.nodes}_sort(){const ir={};const sr=Object.create(null);const lr=Object.create(null);for(const hr of this._items){const yr=hr.seq;const kr=hr.group;lr[kr]=lr[kr]||[];lr[kr].push(yr);ir[yr]=hr.before;for(const ir of hr.after){sr[ir]=sr[ir]||[];sr[ir].push(yr)}}for(const sr in ir){const hr=[];for(const yr in ir[sr]){const kr=ir[sr][yr];lr[kr]=lr[kr]||[];hr.push(...lr[kr])}ir[sr]=hr}for(const hr in sr){if(lr[hr]){for(const yr of lr[hr]){ir[yr].push(...sr[hr])}}}const hr={};for(const sr in ir){const lr=ir[sr];for(const ir of lr){hr[ir]=hr[ir]||[];hr[ir].push(sr)}}const yr={};const kr=[];for(let ir=0;ir<this._items.length;++ir){let sr=ir;if(hr[ir]){sr=null;for(let ir=0;ir<this._items.length;++ir){if(yr[ir]===true){continue}if(!hr[ir]){hr[ir]=[]}const lr=hr[ir].length;let kr=0;for(let sr=0;sr<lr;++sr){if(yr[hr[ir][sr]]){++kr}}if(kr===lr){sr=ir;break}}}if(sr!==null){yr[sr]=true;kr.push(sr)}}if(kr.length!==this._items.length){return false}const Fr={};for(const ir of this._items){Fr[ir.seq]=ir}this._items=[];this.nodes=[];for(const ir of kr){const sr=Fr[ir];this.nodes.push(sr.node);this._items.push(sr)}return true}};yr.mergeSort=(ir,sr)=>ir.sort===sr.sort?0:ir.sort<sr.sort?-1:1},3563:(ir,sr,lr)=>{const{parse:hr,format:yr}=lr(87016);const{pathToRegexp:kr,compile:Fr,parse:Br}=lr(44985);ir.exports=Layer;function Layer(ir,sr,lr,hr={}){this.opts=hr;this.name=this.opts.name||null;this.methods=[];this.paramNames=[];this.stack=Array.isArray(lr)?lr:[lr];for(const ir of sr){const sr=this.methods.push(ir.toUpperCase());if(this.methods[sr-1]==="GET")this.methods.unshift("HEAD")}for(let lr=0;lr<this.stack.length;lr++){const hr=this.stack[lr];const yr=typeof hr;if(yr!=="function")throw new Error(`${sr.toString()} \`${this.opts.name||ir}\`: \`middleware\` must be a function, not \`${yr}\``)}this.path=ir;this.regexp=kr(ir,this.paramNames,this.opts)}Layer.prototype.match=function(ir){return this.regexp.test(ir)};Layer.prototype.params=function(ir,sr,lr={}){for(let ir=sr.length,hr=0;hr<ir;hr++){if(this.paramNames[hr]){const ir=sr[hr];if(ir&&ir.length>0)lr[this.paramNames[hr].name]=ir?safeDecodeURIComponent(ir):ir}}return lr};Layer.prototype.captures=function(ir){return this.opts.ignoreCaptures?[]:ir.match(this.regexp).slice(1)};Layer.prototype.url=function(ir,sr){let lr=ir;const kr=this.path.replace(/\(\.\*\)/g,"");if(typeof ir!=="object"){lr=Array.prototype.slice.call(arguments);if(typeof lr[lr.length-1]==="object"){sr=lr[lr.length-1];lr=lr.slice(0,-1)}}const Ur=Fr(kr,{encode:encodeURIComponent,...sr});let Wr;const zr=Br(kr);let Jr={};if(Array.isArray(lr)){for(let ir=zr.length,sr=0,hr=0;sr<ir;sr++){if(zr[sr].name)Jr[zr[sr].name]=lr[hr++]}}else if(zr.some((ir=>ir.name))){Jr=ir}else if(!sr){sr=ir}Wr=Ur(Jr);if(sr&&sr.query){Wr=hr(Wr);if(typeof sr.query==="string"){Wr.search=sr.query}else{Wr.search=undefined;Wr.query=sr.query}return yr(Wr)}return Wr};Layer.prototype.param=function(ir,sr){const{stack:lr}=this;const hr=this.paramNames;const middleware=function(lr,hr){return sr.call(this,lr.params[ir],lr,hr)};middleware.param=ir;const yr=hr.map((function(ir){return ir.name}));const kr=yr.indexOf(ir);if(kr>-1){lr.some((function(ir,sr){if(!ir.param||yr.indexOf(ir.param)>kr){lr.splice(sr,0,middleware);return true}}))}return this};Layer.prototype.setPrefix=function(ir){if(this.path){this.path=this.path!=="/"||this.opts.strict===true?`${ir}${this.path}`:ir;this.paramNames=[];this.regexp=kr(this.path,this.paramNames,this.opts)}return this};function safeDecodeURIComponent(ir){try{return decodeURIComponent(ir)}catch{return ir}}},53777:(ir,sr,lr)=>{const hr=lr(77246);const yr=lr(58024);const kr=lr(93);const{pathToRegexp:Fr}=lr(44985);const Br=lr(3563);const Ur=lr(26675)("koa-router");ir.exports=Router;function Router(ir={}){if(!(this instanceof Router))return new Router(ir);this.opts=ir;this.methods=this.opts.methods||["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"];this.exclusive=Boolean(this.opts.exclusive);this.params={};this.stack=[];this.host=this.opts.host}for(const Wr of kr){function setMethodVerb(ir){Router.prototype[ir]=function(sr,lr,hr){if(typeof lr==="string"||lr instanceof RegExp){hr=Array.prototype.slice.call(arguments,2)}else{hr=Array.prototype.slice.call(arguments,1);lr=sr;sr=null}if(typeof lr!=="string"&&!(lr instanceof RegExp)&&(!Array.isArray(lr)||lr.length===0))throw new Error(`You have to provide a path when adding a ${ir} handler`);this.register(lr,[ir],hr,{name:sr});return this}}setMethodVerb(Wr)}Router.prototype.del=Router.prototype["delete"];Router.prototype.use=function(){const ir=this;const sr=Array.prototype.slice.call(arguments);let lr;if(Array.isArray(sr[0])&&typeof sr[0][0]==="string"){const yr=sr[0];for(const kr of yr){ir.use.apply(ir,[kr].concat(sr.slice(1)))}return this}const hr=typeof sr[0]==="string";if(hr)lr=sr.shift();for(const Ur of sr){if(Ur.router){const Wr=Object.assign(Object.create(Router.prototype),Ur.router,{stack:[...Ur.router.stack]});for(let zr=0;zr<Wr.stack.length;zr++){const Jr=Wr.stack[zr];const Hr=Object.assign(Object.create(Br.prototype),Jr);if(lr)Hr.setPrefix(lr);if(ir.opts.prefix)Hr.setPrefix(ir.opts.prefix);ir.stack.push(Hr);Wr.stack[zr]=Hr}if(ir.params){function setRouterParams(sr){const lr=sr;for(const sr of lr){Wr.param(sr,ir.params[sr])}}setRouterParams(Object.keys(ir.params))}}else{const Gr=[];Fr(ir.opts.prefix||"",Gr);const Yr=ir.opts.prefix&&Gr.length;ir.register(lr||"([^/]*)",[],Ur,{end:false,ignoreCaptures:!hr&&!Yr})}}return this};Router.prototype.prefix=function(ir){ir=ir.replace(/\/$/,"");this.opts.prefix=ir;for(let sr=0;sr<this.stack.length;sr++){const lr=this.stack[sr];lr.setPrefix(ir)}return this};Router.prototype.routes=Router.prototype.middleware=function(){const ir=this;const sr=function dispatch(sr,lr){Ur("%s %s",sr.method,sr.path);const yr=ir.matchHost(sr.host);if(!yr){return lr()}const kr=ir.opts.routerPath||sr.newRouterPath||sr.path||sr.routerPath;const Fr=ir.match(kr,sr.method);let Br;if(sr.matched){sr.matched.push.apply(sr.matched,Fr.path)}else{sr.matched=Fr.path}sr.router=ir;if(!Fr.route)return lr();const Wr=Fr.pathAndMethod;const zr=Wr[Wr.length-1];sr._matchedRoute=zr.path;if(zr.name){sr._matchedRouteName=zr.name}Br=(ir.exclusive?[zr]:Wr).reduce((function(ir,sr){ir.push((function(ir,lr){ir.captures=sr.captures(kr,ir.captures);ir.params=ir.request.params=sr.params(kr,ir.captures,ir.params);ir.routerPath=sr.path;ir.routerName=sr.name;ir._matchedRoute=sr.path;if(sr.name){ir._matchedRouteName=sr.name}return lr()}));return ir.concat(sr.stack)}),[]);return hr(Br)(sr,lr)};sr.router=this;return sr};Router.prototype.allowedMethods=function(ir={}){const sr=this.methods;return function allowedMethods(lr,hr){return hr().then((function(){const hr={};if(!lr.status||lr.status===404){for(let ir=0;ir<lr.matched.length;ir++){const sr=lr.matched[ir];for(let ir=0;ir<sr.methods.length;ir++){const lr=sr.methods[ir];hr[lr]=lr}}const kr=Object.keys(hr);if(!~sr.indexOf(lr.method)){if(ir.throw){const sr=typeof ir.notImplemented==="function"?ir.notImplemented():new yr.NotImplemented;throw sr}else{lr.status=501;lr.set("Allow",kr.join(", "))}}else if(kr.length>0){if(lr.method==="OPTIONS"){lr.status=200;lr.body="";lr.set("Allow",kr.join(", "))}else if(!hr[lr.method]){if(ir.throw){const sr=typeof ir.methodNotAllowed==="function"?ir.methodNotAllowed():new yr.MethodNotAllowed;throw sr}else{lr.status=405;lr.set("Allow",kr.join(", "))}}}}}))}};Router.prototype.all=function(ir,sr,lr){if(typeof sr==="string"){lr=Array.prototype.slice.call(arguments,2)}else{lr=Array.prototype.slice.call(arguments,1);sr=ir;ir=null}if(typeof sr!=="string"&&!(sr instanceof RegExp)&&(!Array.isArray(sr)||sr.length===0))throw new Error("You have to provide a path when adding an all handler");this.register(sr,kr,lr,{name:ir});return this};Router.prototype.redirect=function(ir,sr,lr){if(typeof ir==="symbol"||ir[0]!=="/"){ir=this.url(ir);if(ir instanceof Error)throw ir}if(typeof sr==="symbol"||sr[0]!=="/"&&!sr.includes("://")){sr=this.url(sr);if(sr instanceof Error)throw sr}return this.all(ir,(ir=>{ir.redirect(sr);ir.status=lr||301}))};Router.prototype.register=function(ir,sr,lr,hr={}){const yr=this;const{stack:kr}=this;if(Array.isArray(ir)){for(const kr of ir){yr.register.call(yr,kr,sr,lr,hr)}return this}const Fr=new Br(ir,sr,lr,{end:hr.end===false?hr.end:true,name:hr.name,sensitive:hr.sensitive||this.opts.sensitive||false,strict:hr.strict||this.opts.strict||false,prefix:hr.prefix||this.opts.prefix||"",ignoreCaptures:hr.ignoreCaptures});if(this.opts.prefix){Fr.setPrefix(this.opts.prefix)}for(let ir=0;ir<Object.keys(this.params).length;ir++){const sr=Object.keys(this.params)[ir];Fr.param(sr,this.params[sr])}kr.push(Fr);Ur("defined route %s %s",Fr.methods,Fr.path);return Fr};Router.prototype.route=function(ir){const sr=this.stack;for(let lr=sr.length,hr=0;hr<lr;hr++){if(sr[hr].name&&sr[hr].name===ir)return sr[hr]}return false};Router.prototype.url=function(ir,sr){const lr=this.route(ir);if(lr){const ir=Array.prototype.slice.call(arguments,1);return lr.url.apply(lr,ir)}return new Error(`No route found for name: ${String(ir)}`)};Router.prototype.match=function(ir,sr){const lr=this.stack;let hr;const yr={path:[],pathAndMethod:[],route:false};for(let kr=lr.length,Fr=0;Fr<kr;Fr++){hr=lr[Fr];Ur("test %s %s",hr.path,hr.regexp);if(hr.match(ir)){yr.path.push(hr);if(hr.methods.length===0||~hr.methods.indexOf(sr)){yr.pathAndMethod.push(hr);if(hr.methods.length>0)yr.route=true}}}return yr};Router.prototype.matchHost=function(ir){const{host:sr}=this;if(!sr){return true}if(!ir){return false}if(typeof sr==="string"){return ir===sr}if(typeof sr==="object"&&sr instanceof RegExp){return sr.test(ir)}};Router.prototype.param=function(ir,sr){this.params[ir]=sr;for(let lr=0;lr<this.stack.length;lr++){const hr=this.stack[lr];hr.param(ir,sr)}return this};Router.url=function(ir){const sr=Array.prototype.slice.call(arguments,1);return Br.prototype.url.apply({path:ir},sr)}},86979:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AsyncHooksContextManager=void 0;const hr=lr(46123);const yr=lr(90290);class AsyncHooksContextManager{constructor(){this._contexts=new Map;this._stack=[];this._asyncHook=yr.createHook({init:this._init.bind(this),before:this._before.bind(this),after:this._after.bind(this),destroy:this._destroy.bind(this),promiseResolve:this._destroy.bind(this)})}active(){var ir;return(ir=this._stack[this._stack.length-1])!==null&&ir!==void 0?ir:hr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){this._enterContext(ir);try{return sr.call(lr,...hr)}finally{this._exitContext()}}enable(){this._asyncHook.enable();return this}disable(){this._asyncHook.disable();this._contexts.clear();this._stack=[];return this}_init(ir,sr){if(sr==="TIMERWRAP")return;const lr=this._stack[this._stack.length-1];if(lr!==undefined){this._contexts.set(ir,lr)}}_destroy(ir){this._contexts.delete(ir)}_before(ir){const sr=this._contexts.get(ir);if(sr!==undefined){this._enterContext(sr)}}_after(){this._exitContext()}_enterContext(ir){this._stack.push(ir)}_exitContext(){this._stack.pop()}bind(ir,sr){if(typeof sr==="function"){const lr=this;const contextWrapper=function(...hr){return lr.with(ir,(()=>sr.apply(this,hr)))};Object.defineProperty(contextWrapper,"length",{enumerable:false,configurable:true,writable:false,value:sr.length});return contextWrapper}return sr}}sr.AsyncHooksContextManager=AsyncHooksContextManager},63259:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AsyncLocalStorageContextManager=void 0;const hr=lr(46123);const yr=lr(90290);class AsyncLocalStorageContextManager{constructor(){this._asyncLocalStorage=new yr.AsyncLocalStorage}active(){var ir;return(ir=this._asyncLocalStorage.getStore())!==null&&ir!==void 0?ir:hr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){const yr=lr==null?sr:sr.bind(lr);return this._asyncLocalStorage.run(ir,yr,...hr)}enable(){return this}disable(){this._asyncLocalStorage.disable();return this}bind(ir,sr){if(typeof sr==="function"){const lr=this;const contextWrapper=function(...hr){return lr.with(ir,(()=>sr.apply(this,hr)))};Object.defineProperty(contextWrapper,"length",{enumerable:false,configurable:true,writable:false,value:sr.length});return contextWrapper}return sr}}sr.AsyncLocalStorageContextManager=AsyncLocalStorageContextManager},44101:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.createContextManager=sr.isSemverGreaterThanOrEqualTo=void 0;yr(lr(86979),sr);yr(lr(63259),sr);var kr=lr(43349);Object.defineProperty(sr,"isSemverGreaterThanOrEqualTo",{enumerable:true,get:function(){return kr.isSemverGreaterThanOrEqualTo}});Object.defineProperty(sr,"createContextManager",{enumerable:true,get:function(){return kr.createContextManager}})},43349:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createContextManager=sr.isSemverGreaterThanOrEqualTo=void 0;const hr=lr(63259);const yr=lr(86979);const kr=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z-]+(?:\.[\da-z-]+)*))?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?)?)?$/i;function isSemverGreaterThanOrEqualTo(ir,sr){const lr=kr.exec(ir);const hr=kr.exec(sr);if(lr&&hr){if(lr[1]===hr[1]&&lr[2]===hr[2]&&lr[3]===hr[3]&&lr[4]===hr[4]){return true}return gteString(lr[1],hr[1])||lr[1]===hr[1]&&gteString(lr[2],hr[2])||lr[1]===hr[1]&&lr[2]===hr[2]&&gteString(lr[3],hr[3])||lr[1]===hr[1]&&lr[2]===hr[2]&&lr[3]===hr[3]&&gteString(lr[4],hr[4])}return false}sr.isSemverGreaterThanOrEqualTo=isSemverGreaterThanOrEqualTo;function gteString(ir,sr){const lr=parseInt(ir,10);const hr=parseInt(sr,10);return lr>hr}function createContextManager(){const ir=isSemverGreaterThanOrEqualTo(process.version,"14.8.0")?hr.AsyncLocalStorageContextManager:yr.AsyncHooksContextManager;return new ir}sr.createContextManager=createContextManager},26733:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Bootstrap=sr.BootstrapStarter=void 0;const hr=lr(46123);const yr=lr(16928);const kr=lr(51169);const Fr=lr(44101);const Br=lr(5982);const Ur=lr(92364);class BootstrapStarter{constructor(){this.globalOptions={}}configure(ir={}){this.globalOptions=ir;return this}async init(){this.appDir=this.globalOptions.appDir=this.globalOptions.appDir||process.cwd();this.baseDir=this.globalOptions.baseDir=this.getBaseDir();if(process.env["MIDWAY_FORK_MODE"]){if(process.env["MIDWAY_FORK_MODE"]==="cluster"){this.eventBus=new Br.ChildProcessEventBus({isWorker:true})}else if(process.env["MIDWAY_FORK_MODE"]==="thread"){this.eventBus=new Br.ThreadEventBus({isWorker:true})}}if(!this.globalOptions.moduleLoadType){const ir=await(0,hr.loadModule)((0,yr.join)(this.appDir,"package.json"),{safeLoad:true,enableCache:false});this.globalOptions.moduleLoadType=(ir===null||ir===void 0?void 0:ir.type)==="module"?"esm":"commonjs"}this.applicationContext=await(0,hr.initializeGlobalApplicationContext)({asyncContextManager:(0,Fr.createContextManager)(),loggerFactory:kr.loggers,...this.globalOptions});return this.applicationContext}async run(){this.applicationContext=await this.init();if(this.eventBus){await this.eventBus.start();if(process.env["MIDWAY_STICKY_MODE"]==="true"){const ir=this.applicationContext.get(hr.MidwayApplicationManager);const sr=ir.getApplication("socketIO");(0,Ur.setupWorker)(sr)}}const ir=this.applicationContext.get(hr.MidwayFrameworkService);if(!ir.getMainApp()){throw new hr.MidwayMainFrameworkMissingError}}async stop(){if(this.applicationContext){await(0,hr.destroyGlobalApplicationContext)(this.applicationContext)}if(this.eventBus){await this.eventBus.stop()}}getApplicationContext(){return this.applicationContext}getBaseDir(){if(this.globalOptions.baseDir){return this.globalOptions.baseDir}if((0,hr.isTypeScriptEnvironment)()){return(0,yr.join)(this.appDir,"src")}else{return(0,yr.join)(this.appDir,"dist")}}}sr.BootstrapStarter=BootstrapStarter;class Bootstrap{static configure(ir={}){this.configured=true;if(!this.logger&&!ir.logger){this.logger=this.bootstrapLoggerFactory.createLogger("bootstrap",{enableError:false,enableFile:false,enableConsole:true});if(ir.logger===false){if(this.logger["disableConsole"]){this.logger["disableConsole"]()}else{this.logger["level"]="none"}}ir.logger=this.logger}else{this.logger=this.logger||ir.logger}if(ir.appDir&&ir.appDir!==process.cwd()){process.chdir(ir.appDir)}this.getStarter().configure(ir);return this}static getStarter(){if(!this.starter){this.starter=new BootstrapStarter}return this.starter}static async run(){if(!this.configured){this.configure()}process.once("SIGINT",this.onSignal.bind(this,"SIGINT"));process.once("SIGQUIT",this.onSignal.bind(this,"SIGQUIT"));process.once("SIGTERM",this.onSignal.bind(this,"SIGTERM"));process.once("exit",this.onExit.bind(this));this.uncaughtExceptionHandler=this.uncaughtExceptionHandler.bind(this);process.on("uncaughtException",this.uncaughtExceptionHandler);this.unhandledRejectionHandler=this.unhandledRejectionHandler.bind(this);process.on("unhandledRejection",this.unhandledRejectionHandler);return this.getStarter().run().then((()=>{this.logger.info("[midway:bootstrap] current app started");global["MIDWAY_BOOTSTRAP_APP_READY"]=true;return this.getApplicationContext()})).catch((ir=>{this.logger.error(ir);process.exit(1)}))}static async stop(){await this.getStarter().stop();process.removeListener("uncaughtException",this.uncaughtExceptionHandler);process.removeListener("unhandledRejection",this.unhandledRejectionHandler);this.reset();global["MIDWAY_BOOTSTRAP_APP_READY"]=false}static reset(){this.configured=false;this.starter=null;this.bootstrapLoggerFactory.close()}static async onSignal(ir){this.logger.info("[midway:bootstrap] receive signal %s, closing",ir);try{await this.stop();this.logger.info("[midway:bootstrap] close done, exiting with code:0");process.exit(0)}catch(ir){this.logger.error("[midway:bootstrap] close with error: ",ir);process.exit(1)}}static onExit(ir){this.logger.info("[midway:bootstrap] exit with code:%s",ir)}static uncaughtExceptionHandler(ir){if(!(ir instanceof Error)){ir=new Error(String(ir))}if(ir.name==="Error"){ir.name="unhandledExceptionError"}this.logger.error(ir)}static unhandledRejectionHandler(ir){if(!(ir instanceof Error)){const sr=new Error(String(ir));if(ir){if(ir.name)sr.name=ir.name;if(ir.message)sr.message=ir.message;if(ir.stack)sr.stack=ir.stack}ir=sr}if(ir.name==="Error"){ir.name="unhandledRejectionError"}this.logger.error(ir)}static getApplicationContext(){return this.getStarter().getApplicationContext()}}sr.Bootstrap=Bootstrap;Bootstrap.configured=false;Bootstrap.bootstrapLoggerFactory=new kr.MidwayLoggerContainer},84575:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.setupStickyMaster=sr.AbstractForkManager=sr.ClusterManager=sr.BootstrapStarter=sr.Bootstrap=void 0;yr(lr(82516),sr);var kr=lr(26733);Object.defineProperty(sr,"Bootstrap",{enumerable:true,get:function(){return kr.Bootstrap}});Object.defineProperty(sr,"BootstrapStarter",{enumerable:true,get:function(){return kr.BootstrapStarter}});var Fr=lr(93772);Object.defineProperty(sr,"ClusterManager",{enumerable:true,get:function(){return Fr.ClusterManager}});var Br=lr(84338);Object.defineProperty(sr,"AbstractForkManager",{enumerable:true,get:function(){return Br.AbstractForkManager}});var Ur=lr(92364);Object.defineProperty(sr,"setupStickyMaster",{enumerable:true,get:function(){return Ur.setupStickyMaster}})},82516:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},84338:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AbstractForkManager=void 0;const hr=lr(70857);const yr=lr(39023);const kr=lr(53599);const Fr=lr(24434);const Br=lr(39023);const Ur=(0,Br.debuglog)("midway:bootstrap");class AbstractForkManager{constructor(ir){this.options=ir;this.reforks=[];this.disconnectCount=0;this.unexpectedCount=0;this.disconnects={};this.hub=new Fr.EventEmitter;this.workers=new Map;this.isClosing=false;ir.count=ir.count||hr.cpus().length-1;ir.refork=ir.refork!==false;ir.limit=ir.limit||60;ir.duration=ir.duration||6e4;ir.logger=ir.logger||console;ir.workerInitTimeout=ir.workerInitTimeout||3e4;this.eventBus=this.createEventBus({initTimeout:ir.workerInitTimeout})}async start(){Ur("Start manager with options: %j",this.options);this.bindWorkerDisconnect((ir=>{Ur(" - worker(%s): trigger event = disconnect",this.getWorkerId(ir));const sr=this.options.logger[ir["disableRefork"]?"info":"error"];this.disconnectCount++;const lr=this.isWorkerDead(ir);if(lr){Ur(" - worker(%s): worker is dead",this.getWorkerId(ir));this.options.logger.info("[%s] [bootstrap:master:%s] don't fork, because worker:%s exit event emit before disconnect",(0,kr.logDate)(),process.pid,this.getWorkerId(ir));return}if(ir["disableRefork"]){Ur(" - worker(%s): worker is disableRefork(maybe terminated by master)",this.getWorkerId(ir));sr("[%s] [bootstrap:master:%s] don't fork, because worker:%s will be kill soon",(0,kr.logDate)(),process.pid,this.getWorkerId(ir));return}this.disconnects[this.getWorkerId(ir)]=(0,kr.logDate)();this.tryToRefork(ir)}));this.bindWorkerExit(((ir,sr,lr)=>{Ur(" - worker(%s): trigger event = exit",this.getWorkerId(ir));this.workers.delete(this.getWorkerId(ir));if(ir["disableRefork"]){return}const hr=!!this.disconnects[this.getWorkerId(ir)];Ur(" - worker(%s): isExpected=%s",this.getWorkerId(ir),hr);if(hr){delete this.disconnects[this.getWorkerId(ir)];return}Ur(" - worker(%s): isWorkerDead=%s",this.getWorkerId(ir),this.isWorkerDead(ir));if(this.isWorkerDead(ir)){return}Ur(" - worker(%s): unexpectedCount will add");this.unexpectedCount++;this.tryToRefork(ir);this.onUnexpected(ir,sr,lr)}));this.bindClose();this.hub.on("reachReforkLimit",this.onReachReforkLimit.bind(this));setImmediate((()=>{if(process.listeners("uncaughtException").length===0){process.on("uncaughtException",this.onerror.bind(this))}}));for(let ir=0;ir<this.options.count;ir++){const ir=this.createWorker();Ur(" - worker(%s) created",this.getWorkerId(ir));this.eventBus.addWorker(ir);this.workers.set(this.getWorkerId(ir),ir)}await this.eventBus.start()}tryToRefork(ir){if(this.allowRefork()){Ur(" - worker(%s): allow refork and will fork new",this.getWorkerId(ir));const sr=this.createWorker(ir);this.workers.set(this.getWorkerId(sr),sr);this.options.logger.info("[%s] [bootstrap:master:%s] new worker:%s fork (state: %s)",(0,kr.logDate)(),process.pid,this.getWorkerId(sr),sr["state"]);this.eventBus.addWorker(sr)}else{Ur(" - worker(%s): forbidden refork and will stop",this.getWorkerId(ir));this.options.logger.info("[%s] [bootstrap:master:%s] don't fork new work (refork: %s)",(0,kr.logDate)(),process.pid,this.options.refork)}}allowRefork(){if(!this.options.refork||this.isClosing){return false}const ir=this.reforks.push(Date.now());if(ir>this.options.limit){this.reforks.shift()}const sr=this.reforks[this.reforks.length-1]-this.reforks[0];const lr=this.reforks.length<this.options.limit||sr>this.options.duration;if(!lr){this.hub.emit("reachReforkLimit")}return lr}onerror(ir){if(!ir){return}this.options.logger.error("[%s] [bootstrap:master:%s] master uncaughtException: %s",(0,kr.logDate)(),process.pid,ir.stack);this.options.logger.error(ir);this.options.logger.error("(total %d disconnect, %d unexpected exit)",this.disconnectCount,this.unexpectedCount)}onUnexpected(ir,sr,lr){const hr=ir.hasOwnProperty("exitedAfterDisconnect")?"exitedAfterDisconnect":"suicide";const Fr=new Error(yr.format("worker:%s died unexpected (code: %s, signal: %s, %s: %s, state: %s)",this.getWorkerId(ir),sr,lr,hr,ir[hr],ir["state"]));Fr.name="WorkerDiedUnexpectedError";this.options.logger.error("[%s] [bootstrap:master:%s] (total %d disconnect, %d unexpected exit) %s",(0,kr.logDate)(),process.pid,this.disconnectCount,this.unexpectedCount,Fr.stack)}onReachReforkLimit(){this.options.logger.error("[%s] [bootstrap:master:%s] worker died too fast (total %d disconnect, %d unexpected exit)",(0,kr.logDate)(),process.pid,this.disconnectCount,this.unexpectedCount)}async killWorker(ir,sr){await this.closeWorker(ir);await Promise.race([(0,Fr.once)(ir,"exit"),(0,kr.sleep)(sr)]);if(ir.killed)return;(ir.process||ir).kill("SIGKILL")}async stop(ir=2e3){Ur("run close");this.isClosing=true;await this.eventBus.stop();for(const sr of this.workers.values()){sr["disableRefork"]=true;await this.killWorker(sr,ir)}if(this.exitListener){await this.exitListener()}}hasWorker(ir){return this.workers.has(ir)}getWorker(ir){return this.workers.get(ir)}getWorkerIds(){return Array.from(this.workers.keys())}onStop(ir){this.exitListener=ir}bindClose(){process.once("SIGINT",this.onSignal.bind(this,"SIGINT"));process.once("SIGQUIT",this.onSignal.bind(this,"SIGQUIT"));process.once("SIGTERM",this.onSignal.bind(this,"SIGTERM"));process.once("exit",this.onMasterExit.bind(this))}async onSignal(ir){if(!this.isClosing){this.options.logger.info("[bootstrap:master] receive signal %s, closing",ir);try{await this.stop();this.options.logger.info("[bootstrap:master] close done, exiting with code:0");process.exit(0)}catch(ir){this.options.logger.error("[midway:master] close with error: ",ir);process.exit(1)}}}onMasterExit(ir){this.options.logger.info("[bootstrap:master] exit with code:%s",ir)}}sr.AbstractForkManager=AbstractForkManager},93772:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ClusterManager=void 0;const hr=lr(5982);const yr=lr(84338);const kr=lr(29907);const Fr=lr(39023);const Br=lr(46123);const Ur=(0,Fr.debuglog)("midway:bootstrap");class ClusterManager extends yr.AbstractForkManager{constructor(ir={}){super(ir);this.options=ir;ir.args=ir.args||[];ir.execArgv=ir.execArgv||[];if((0,Br.isTypeScriptEnvironment)()){ir.execArgv.push(...["--require","ts-node/register"])}}createWorker(){if(kr["setupPrimary"]){kr["setupPrimary"](this.options)}else if(kr["setupMaster"]){kr["setupMaster"](this.options)}return kr.fork({MIDWAY_FORK_MODE:"cluster",MIDWAY_STICKY_MODE:this.options.sticky?"true":"false",...this.options.env})}bindWorkerDisconnect(ir){Ur("Bind cluster.disconnect event");kr.on("disconnect",ir)}bindWorkerExit(ir){Ur("Bind cluster.exit event");kr.on("exit",ir)}getWorkerId(ir){return String(ir.process.pid)}isWorkerDead(ir){return ir.isDead()}closeWorker(ir){ir.kill("SIGTERM")}createEventBus(ir){return new hr.ChildProcessEventBus(ir)}isPrimary(){return!kr.isWorker}}sr.ClusterManager=ClusterManager},92364:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.setupWorker=sr.setupStickyMaster=void 0;const hr=lr(29907);const yr=lr(76982);const randomId=()=>(0,yr.randomBytes)(8).toString("hex");function setupStickyMaster(ir,sr={}){const lr={loadBalancingMethod:"least-connection",...sr};const yr=new Map;const kr=/sid=([\w-]{20})/;let Fr=0;const computeWorkerId=ir=>{const sr=kr.exec(ir);if(sr){const ir=sr[1];const lr=yr.get(ir);if(lr&&hr.workers[lr]){return lr}}switch(lr.loadBalancingMethod){case"random":{const ir=Object.keys(hr.workers);return ir[Math.floor(Math.random()*ir.length)]}case"round-robin":{const ir=Object.keys(hr.workers);Fr++;if(Fr>=ir.length){Fr=0}return ir[Fr]}case"least-connection":let ir;for(const sr in hr.workers){const lr=hr.workers[sr];if(ir===undefined){ir=lr}else{const sr=lr["clientsCount"]||0;const hr=ir["clientsCount"]||0;if(sr<hr){ir=lr}}}return ir.id}};ir.on("connection",(ir=>{let sr,lr;const sendCallback=sr=>{if(sr){ir.destroy()}};ir.on("data",(yr=>{let kr="utf-8";let Fr=yr.toString(kr);if(sr&&lr){hr.workers[sr].send({type:"sticky:http-chunk",data:Fr,encoding:kr,connectionId:lr},sendCallback);return}sr=computeWorkerId(Fr);const Br=!(Fr.startsWith("GET")||Fr.substring(0,Fr.indexOf("\r\n\r\n")).includes("pgrade: websocket"));if(Fr.startsWith("POST")&&Fr.includes("multipart/form-data")){kr="base64";Fr=yr.toString("base64")}ir.pause();if(Br){lr=randomId()}hr.workers[sr].send({type:"sticky:connection",data:Fr,encoding:kr,connectionId:lr},ir,{keepOpen:Br},sendCallback)}))}));ir.on("request",(ir=>{ir.on("data",(()=>{}))}));hr.on("message",((ir,{type:sr,data:hr})=>{switch(sr){case"sticky:connection":yr.set(hr,ir.id);if(lr.loadBalancingMethod==="least-connection"){ir["clientsCount"]=(ir["clientsCount"]||0)+1}break;case"sticky:disconnection":yr.delete(hr);if(lr.loadBalancingMethod==="least-connection"){ir["clientsCount"]--}break}}))}sr.setupStickyMaster=setupStickyMaster;function setupWorker(ir){const sr=new Map;process.on("message",(({type:lr,data:hr,encoding:yr,connectionId:kr},Fr)=>{switch(lr){case"sticky:connection":if(!Fr){return}ir.httpServer.emit("connection",Fr);Fr.emit("data",Buffer.from(hr,yr));Fr.resume();if(kr){sr.set(kr,Fr);Fr.on("close",(()=>{sr.delete(kr)}))}break;case"sticky:http-chunk":{const ir=sr.get(kr);if(ir){ir.emit("data",Buffer.from(hr,yr))}}}}));const ignoreError=()=>{};ir.engine.on("connection",(ir=>{process.send({type:"sticky:connection",data:ir.id},ignoreError);ir.once("close",(()=>{process.send({type:"sticky:disconnection",data:ir.id},ignoreError)}))}))}sr.setupWorker=setupWorker},53599:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.sleep=sr.logDate=void 0;function logDate(){const ir=new Date;let sr=ir.getDate();if(sr<10){sr="0"+sr}let lr=ir.getMonth()+1;if(lr<10){lr="0"+lr}let hr=ir.getHours();if(hr<10){hr="0"+hr}let yr=ir.getMinutes();if(yr<10){yr="0"+yr}let kr=ir.getSeconds();if(kr<10){kr="0"+kr}let Fr=ir.getMilliseconds();if(Fr<10){Fr="00"+Fr}else if(Fr<100){Fr="0"+Fr}return ir.getFullYear()+"-"+lr+"-"+sr+" "+hr+":"+yr+":"+kr+"."+Fr}sr.logDate=logDate;async function sleep(ir){return new Promise((sr=>{setTimeout(sr,ir)}))}sr.sleep=sleep},64080:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.multiCaching=sr.createCache=sr.caching=void 0;const hr=lr(48851);const yr=lr(87932);async function caching(ir,sr){if(ir==="memory"){const ir=(0,yr.memoryStore)(sr);return createCache(ir,sr)}if(typeof ir==="function"){const lr=await ir(sr);return createCache(lr,sr)}return createCache(ir,sr)}sr.caching=caching;function createCache(ir,sr){return{wrap:async(lr,yr,kr)=>(0,hr.coalesceAsync)(lr,(async()=>{const Fr=await ir.get(lr);if(Fr===undefined){const sr=await yr();const hr=typeof kr==="function"?kr(sr):kr;await ir.set(lr,sr,hr);return sr}else if(sr===null||sr===void 0?void 0:sr.refreshThreshold){const Br=typeof kr==="function"?kr(Fr):kr;const Ur=await ir.ttl(lr);if(Ur!==-1&&Ur<sr.refreshThreshold){(0,hr.coalesceAsync)(`+++${lr}`,yr).then((sr=>ir.set(lr,sr,Br)))}}return Fr})),store:ir,del:sr=>ir.del(sr),get:sr=>ir.get(sr),set:(sr,lr,hr)=>ir.set(sr,lr,hr),reset:()=>ir.reset(),methodWrap:async(lr,yr,kr,Fr)=>(0,hr.coalesceAsync)(lr,(async()=>{const Br=await ir.get(lr);if(Br===undefined){const sr=await yr(...kr);const hr=typeof Fr==="function"?Fr(sr):Fr;await ir.set(lr,sr,hr);return sr}else if(sr===null||sr===void 0?void 0:sr.refreshThreshold){const Ur=typeof Fr==="function"?Fr(Br):Fr;const Wr=await ir.ttl(lr);if(Wr!==-1&&Wr<sr.refreshThreshold){(0,hr.coalesceAsync)(`+++${lr}`,(()=>yr(...kr))).then((sr=>ir.set(lr,sr,Ur)))}}return Br}))}}sr.createCache=createCache;function multiCaching(ir){const get=async sr=>{for(const lr of ir){try{const ir=await lr.get(sr);if(ir!==undefined)return ir}catch(ir){}}};const set=async(sr,lr,hr)=>{await Promise.all(ir.map((ir=>ir.set(sr,lr,hr))))};return{get:get,set:set,del:async sr=>{await Promise.all(ir.map((ir=>ir.del(sr))))},async wrap(sr,lr,hr){let yr;let kr=0;for(;kr<ir.length;kr++){try{yr=await ir[kr].get(sr);if(yr!==undefined)break}catch(ir){}}if(yr===undefined){const ir=await lr();const yr=typeof hr==="function"?hr(ir):hr;await set(sr,ir,yr);return ir}else{const Fr=typeof hr==="function"?hr(yr):hr;Promise.all(ir.slice(0,kr).map((ir=>ir.set(sr,yr,Fr)))).then();ir[kr].wrap(sr,lr,hr).then()}return yr},reset:async()=>{await Promise.all(ir.map((ir=>ir.reset())))},mget:async(...sr)=>{const lr=new Array(sr.length).fill(undefined);for(const hr of ir){if(lr.every((ir=>ir!==undefined)))break;try{const ir=await hr.store.mget(...sr);ir.forEach(((ir,sr)=>{if(lr[sr]===undefined&&ir!==undefined)lr[sr]=ir}))}catch(ir){}}return lr},mset:async(sr,lr)=>{await Promise.all(ir.map((ir=>ir.store.mset(sr,lr))))},mdel:async(...sr)=>{await Promise.all(ir.map((ir=>ir.store.mdel(...sr))))},methodWrap:async(sr,lr,hr,yr)=>{let kr;let Fr=0;for(;Fr<ir.length;Fr++){try{kr=await ir[Fr].get(sr);if(kr!==undefined)break}catch(ir){}}if(kr===undefined){const ir=await lr(...hr);const kr=typeof yr==="function"?yr(ir):yr;await set(sr,ir,kr);return ir}else{const Br=typeof yr==="function"?yr(kr):yr;Promise.all(ir.slice(0,Fr).map((ir=>ir.set(sr,kr,Br)))).then();ir[Fr].methodWrap(sr,lr,hr,yr).then()}return kr}}}sr.multiCaching=multiCaching},8869:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(64080),sr);yr(lr(87932),sr);yr(lr(91724),sr)},48851:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.coalesceAsync=void 0;const lr=new Map;async function coalesceAsync(ir,sr){if(!hasKey(ir)){addKey(ir);try{const lr=await Promise.resolve(sr());coalesce({key:ir,result:lr});return lr}catch(sr){coalesce({key:ir,error:sr});throw sr}}return enqueue(ir)}sr.coalesceAsync=coalesceAsync;function hasKey(ir){return lr.has(ir)}function addKey(ir){lr.set(ir,[])}function removeKey(ir){lr.delete(ir)}function addCallbackToKey(ir,sr){const hr=getCallbacksByKey(ir);hr.push(sr);lr.set(ir,hr)}function getCallbacksByKey(ir){var sr;return(sr=lr.get(ir))!==null&&sr!==void 0?sr:[]}function enqueue(ir){return new Promise(((sr,lr)=>{const hr={resolve:sr,reject:lr};addCallbackToKey(ir,hr)}))}function dequeue(ir){const sr=getCallbacksByKey(ir);removeKey(ir);return sr}function coalesce(ir){const{key:sr,error:lr,result:hr}=ir;dequeue(sr).forEach((ir=>{if(lr){ir.reject(lr)}else{ir.resolve(hr)}}))}},87932:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.memoryStore=void 0;const hr=lr(57223);const yr=lr(19944);function clone(ir){if(typeof ir==="object"&&ir!==null){return yr(ir)}return ir}function memoryStore(ir){var sr;const lr=(ir===null||ir===void 0?void 0:ir.shouldCloneBeforeSet)!==false;const yr=(sr=ir===null||ir===void 0?void 0:ir.isCacheable)!==null&&sr!==void 0?sr:ir=>ir!==undefined;const kr={ttlAutopurge:true,...ir,max:(ir===null||ir===void 0?void 0:ir.max)||500,ttl:(ir===null||ir===void 0?void 0:ir.ttl)!==undefined?ir.ttl:0};const Fr=new hr(kr);return{async del(ir){Fr.delete(ir)},get:async ir=>Fr.get(ir),keys:async()=>[...Fr.keys()],mget:async(...ir)=>ir.map((ir=>Fr.get(ir))),async mset(ir,sr){const hr={ttl:sr!==undefined?sr:kr.ttl};for(const[sr,kr]of ir){if(!yr(kr))throw new Error(`no cacheable value ${JSON.stringify(kr)}`);if(lr)Fr.set(sr,clone(kr),hr);else Fr.set(sr,kr,hr)}},async mdel(...ir){for(const sr of ir)Fr.delete(sr)},async reset(){Fr.clear()},ttl:async ir=>Fr.getRemainingTTL(ir),async set(ir,sr,hr){if(!yr(sr))throw new Error(`no cacheable value ${JSON.stringify(sr)}`);if(lr)sr=clone(sr);const Br=hr!==undefined?hr:kr.ttl;Fr.set(ir,sr,{ttl:Br})},get calculatedSize(){return Fr.calculatedSize},get size(){return Fr.size},dump:()=>Fr.dump(),load:(...ir)=>Fr.load(...ir)}}sr.memoryStore=memoryStore},91724:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},68805:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CacheConfiguration=sr.getClassMethodDefaultCacheKey=void 0;const kr=lr(46123);const Fr=lr(42696);const Br=lr(91761);function getClassMethodDefaultCacheKey(ir,sr){return ir.name+"-"+(0,kr.getProviderUUId)(ir)+"-"+sr}sr.getClassMethodDefaultCacheKey=getClassMethodDefaultCacheKey;let Ur=class CacheConfiguration{async onReady(ir){this.cacheService=await ir.getAsync(Br.CachingFactory);this.decoratorService.registerMethodHandler(Fr.CACHE_DECORATOR_KEY,(({target:ir,propertyName:sr,metadata:lr})=>{if(!lr.cacheKey){lr.cacheKey=getClassMethodDefaultCacheKey(ir,sr)}return{around:async ir=>{let sr=lr.cacheKey;const hr=this.cacheService.get(lr.cacheInstanceName);if(typeof sr==="function"){sr=await sr({methodArgs:ir.args,ctx:ir.target[kr.REQUEST_OBJ_CTX_KEY],target:ir.target})}if(typeof sr==="string"){return hr.methodWrap(sr,ir.proceed,ir.args,lr.ttl)}else{return ir.proceed(...ir.args)}}}}))}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayDecoratorService)],Ur.prototype,"decoratorService",void 0);Ur=hr([(0,kr.Configuration)({namespace:"cacheManager",importConfigs:[{default:{cacheManager:{}}}]})],Ur);sr.CacheConfiguration=Ur},42696:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Caching=sr.CACHE_DECORATOR_KEY=void 0;const hr=lr(46123);sr.CACHE_DECORATOR_KEY="cache-manager:caching";function Caching(ir,lr,yr){if(typeof lr==="number"){yr=lr;lr=undefined}return(0,hr.createCustomMethodDecorator)(sr.CACHE_DECORATOR_KEY,{cacheInstanceName:ir,cacheKey:lr,ttl:yr})}sr.Caching=Caching},91761:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CachingFactory=void 0;const kr=lr(46123);const Fr=lr(8869);let Br=class CachingFactory extends kr.ServiceFactory{async init(){await this.initClients(this.cacheManagerConfig)}async createClient(ir,sr){if(Array.isArray(ir.store)){const lr=[];for(const hr of ir.store){if(typeof hr==="string"){if(!this.has(hr)){throw new kr.MidwayCommonError(`cache instance "${hr}" not found in "${sr}", please check your configuration.`)}lr.push(this.get(hr))}else if(typeof hr==="function"){lr.push(await hr())}else if(hr["wrap"]){lr.push(hr["wrap"])}else if(typeof hr==="object"){if(typeof hr.store==="function"){hr.store=await hr.store(hr["options"]||{},this.applicationContext)}if(!hr.store){throw new kr.MidwayCommonError(`cache instance "${sr}" store is undefined, please check your configuration.`)}lr.push(await(0,Fr.caching)(hr.store,hr["options"]))}else{throw new kr.MidwayCommonError("invalid cache config")}}return await(0,Fr.multiCaching)(lr)}else{if(typeof ir.store==="function"){ir.store=await ir.store(ir["options"]||{},this.applicationContext)}if(!ir.store){throw new kr.MidwayCommonError(`cache instance "${sr}" store is undefined, please check your configuration.`)}return await(0,Fr.caching)(ir.store,ir["options"])}}getName(){return"cache-manager"}getCaching(ir){return this.get(ir)}getMultiCaching(ir){return this.get(ir)}};hr([(0,kr.Config)("cacheManager"),yr("design:type",Object)],Br.prototype,"cacheManagerConfig",void 0);hr([(0,kr.ApplicationContext)(),yr("design:type",Object)],Br.prototype,"applicationContext",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"init",null);Br=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Br);sr.CachingFactory=Br},96955:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CacheManager=sr.getClassMethodDefaultCacheKey=sr.Configuration=void 0;var kr=lr(68805);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.CacheConfiguration}});Object.defineProperty(sr,"getClassMethodDefaultCacheKey",{enumerable:true,get:function(){return kr.getClassMethodDefaultCacheKey}});yr(lr(43488),sr);yr(lr(91761),sr);yr(lr(42696),sr);sr.CacheManager=lr(8869);yr(lr(93730),sr)},43488:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},93730:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createRedisStore=void 0;const hr=lr(46123);const getVal=ir=>JSON.stringify(ir)||'"undefined"';function createRedisStore(ir){return async(sr,lr)=>{const{RedisServiceFactory:yr}=(0,hr.safeRequire)("@midwayjs/redis");const kr=await lr.getAsync(yr);const Fr=kr.get(ir);return createStore(Fr,sr)}}sr.createRedisStore=createRedisStore;function createStore(ir,sr){const lr=(sr===null||sr===void 0?void 0:sr.isCacheable)||(ir=>ir!==undefined&&ir!==null);const keys=sr=>ir.keys(sr);return{async get(sr){const lr=await ir.get(sr);if(lr===undefined||lr===null)return undefined;else{try{return JSON.parse(lr)}catch(ir){return lr}}},async set(yr,kr,Fr){if(!lr(kr))throw new hr.MidwayCommonError(`"${kr}" is not a cacheable value`);const Br=Fr===undefined?sr===null||sr===void 0?void 0:sr.ttl:Fr;if(Br!==undefined&&Br!==0)await ir.set(yr,getVal(kr),"PX",Br);else await ir.set(yr,getVal(kr))},async mset(yr,kr){const Fr=kr===undefined?sr===null||sr===void 0?void 0:sr.ttl:kr;if(Fr!==undefined&&Fr!==0){const sr=ir.multi();for(const[ir,kr]of yr){if(!lr(kr))throw new hr.MidwayCommonError(`"${getVal(kr)}" is not a cacheable value`);sr.set(ir,getVal(kr),"PX",Fr)}await sr.exec()}else await ir.mset(yr.flatMap((([ir,sr])=>{if(!lr(sr))throw new Error(`"${getVal(sr)}" is not a cacheable value`);return[ir,getVal(sr)]})))},mget:(...sr)=>ir.mget(sr).then((ir=>ir.map((ir=>{if(ir===null||ir===undefined){return undefined}else{try{return JSON.parse(ir)}catch(sr){return ir}}})))),async mdel(...sr){await ir.del(sr)},async del(sr){await ir.del(sr)},ttl:async sr=>ir.pttl(sr),keys:(ir="*")=>keys(ir),reset:()=>{throw new hr.MidwayCommonError("flushdb() is too dangerous, if necessary, please use redisServiceFactory.get(client) to get the instance and call it manually.")},isCacheable:lr}}},4074:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Cookie=void 0;const hr=lr(42613);const yr=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;const kr=/^(?:none|lax|strict)$/i;class Cookie{constructor(ir,sr,lr){hr(yr.test(ir),"argument name is invalid");hr(!sr||yr.test(sr),"argument value is invalid");this.name=ir;this.value=sr||"";this.attrs=mergeDefaultAttrs(lr);hr(!this.attrs.path||yr.test(this.attrs.path),"argument option path is invalid");hr(!this.attrs.domain||yr.test(this.attrs.domain),"argument option domain is invalid");hr(!this.attrs.sameSite||this.attrs.sameSite===true||kr.test(this.attrs.sameSite),"argument option sameSite is invalid");if(!sr){this.attrs.expires=new Date(0);this.attrs.maxAge=null}}toString(){return this.name+"="+this.value}toHeader(){let ir=this.toString();const sr=this.attrs;if(sr.path)ir+="; path="+sr.path;const lr=typeof sr.maxAge==="string"?parseInt(sr.maxAge,10):sr.maxAge;if(lr){ir+="; max-age="+Math.round(lr/1e3);sr.expires=new Date(Date.now()+lr)}if(sr.expires)ir+="; expires="+sr.expires.toUTCString();if(sr.domain)ir+="; domain="+sr.domain;if(sr.sameSite)ir+="; samesite="+(sr.sameSite===true?"strict":sr.sameSite.toLowerCase());if(sr.secure)ir+="; secure";if(sr.httpOnly)ir+="; httponly";if(sr.priority)ir+="; priority="+sr.priority;if(sr.partitioned)ir+="; partitioned";return ir}}sr.Cookie=Cookie;const Fr=["path","expires","domain","httpOnly","secure","partitioned","maxAge","overwrite","sameSite","priority"];function mergeDefaultAttrs(ir){const sr={path:"/",httpOnly:true,secure:false,overwrite:false,sameSite:false,partitioned:false};if(!ir)return sr;for(let lr=0;lr<Fr.length;lr++){const hr=Fr[lr];if(hr in ir)sr[hr]=ir[hr]}return sr}},11033:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.urlSafeDecode=sr.urlSafeEncode=sr.Cookies=void 0;const hr=lr(42613);const yr=lr(4074);const kr=lr(5693);const Fr=lr(86054);const Br=Symbol("midwayCookies:keysArray");const Ur=Symbol("midwayCookies:keys");const Wr=new Map;class Cookies{constructor(ir,sr,lr,hr){var yr;this[Br]=sr?[].concat(sr):sr;this._defaultCookieOptions=lr;this._defaultGetCookieOptions=hr;this.ctx=ir;this.secure=(yr=lr===null||lr===void 0?void 0:lr.secure)!==null&&yr!==void 0?yr:this.ctx.secure;this.app=ir.app}get keys(){if(!this[Ur]){const ir=this[Br];hr(Array.isArray(ir),".keys required for encrypt/sign cookies");const sr=Wr.get(ir);if(sr){this[Ur]=sr}else{this[Ur]=new kr.Keygrip(this[Br]);Wr.set(ir,this[Ur])}}return this[Ur]}get(ir,sr){sr=Object.assign({},this._defaultGetCookieOptions||{},sr);const lr=computeSigned(sr);const hr=this.ctx.get("cookie");if(!hr)return;const yr=hr.match(getPattern(ir));if(!yr)return;let kr=yr[1];if(!sr.encrypt&&!lr)return kr;if(lr){const sr=ir+".sig";const lr=this.get(sr,{signed:false});if(!lr)return;const hr=ir+"="+kr;const yr=this.keys.verify(hr,lr);if(yr<0){this.set(sr,null,{path:"/",signed:false});return}if(yr>0){this.set(sr,this.keys.sign(hr),{signed:false})}return kr}kr=urlSafeDecode(kr);const Fr=this.keys.decrypt(kr);if(Fr===null||Fr===void 0?void 0:Fr.value){return Fr.value.toString()}return undefined}set(ir,sr,lr){if(!lr&&typeof sr!=="string"){lr=sr;sr=""}lr=Object.assign({},this._defaultCookieOptions,lr);const hr=computeSigned(lr);sr=sr||"";if(!this.secure&&lr.secure){throw new Error("Cannot send secure cookie over unencrypted connection")}let kr=this.ctx.response.get("set-cookie")||[];if(!Array.isArray(kr))kr=[kr];if(lr.encrypt){sr=sr&&urlSafeEncode(this.keys.encrypt(sr))}if(sr.length>4093){this.app.emit("cookieLimitExceed",{name:ir,value:sr,ctx:this.ctx})}const Fr=this.ctx.get("user-agent");if(lr.sameSite&&typeof lr.sameSite==="string"&&lr.sameSite.toLowerCase()==="none"){if(!this.secure||Fr&&!this.isSameSiteNoneCompatible(Fr)){lr.sameSite=false}}if(lr.partitioned){if(!this.secure||!Fr||Fr&&!this.isPartitionedCompatible(Fr)){lr.partitioned=false}}if(lr.partitioned&&lr.removeUnpartitioned){const sr=lr.overwrite;if(sr){lr.overwrite=false;kr=ignoreCookiesByName(kr,ir)}const Fr=Object.assign({},lr,{partitioned:false});const Br=new yr.Cookie(ir,"",Fr);if(lr.secure===undefined)Br.attrs.secure=this.secure;kr=pushCookie(kr,Br);if(hr){Br.name+=".sig";kr=ignoreCookiesByName(kr,Br.name);kr=pushCookie(kr,Br)}}if(lr.priority){if(!Fr||Fr&&!this.isPriorityCompatible(Fr)){lr.priority=undefined}}const Br=new yr.Cookie(ir,sr,lr);if(lr.secure===undefined)Br.attrs.secure=this.secure;kr=pushCookie(kr,Br);if(hr){Br.value=sr&&this.keys.sign(Br.toString());Br.name+=".sig";kr=pushCookie(kr,Br)}this.ctx.set("set-cookie",kr);return this}isSameSiteNoneCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=80}return(0,Fr.isSameSiteNoneCompatible)(ir)}isPartitionedCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=114}return false}parseChromiumAndMajorVersion(ir){if(!this.uaParseResult){const sr=/Chrom[^ /]+\/(\d+)[.\d]* /.exec(ir);if(!sr)return{chromium:false,majorVersion:undefined};this.uaParseResult={chromium:true,majorVersion:parseInt(sr[1])}}return this.uaParseResult}isPriorityCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=81}return false}}sr.Cookies=Cookies;const zr=new Map;function getPattern(ir){const sr=zr.get(ir);if(sr)return sr;const lr=new RegExp("(?:^|;) *"+ir.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")+"=([^;]*)");zr.set(ir,lr);return lr}function computeSigned(ir){if(ir.encrypt)return false;return ir.signed!==false}function pushCookie(ir,sr){if(sr.attrs.overwrite){ir=ignoreCookiesByName(ir,sr.name)}ir.push(sr.toHeader());return ir}function ignoreCookiesByName(ir,sr){const lr=`${sr}=`;return ir.filter((ir=>!ir.startsWith(lr)))}function urlSafeEncode(ir){return ir.replace(/\+/g,"-").replace(/\//g,"_")}sr.urlSafeEncode=urlSafeEncode;function urlSafeDecode(ir){return ir.replace(/-/g,"+").replace(/_/g,"/")}sr.urlSafeDecode=urlSafeDecode},60990:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(33249),sr);yr(lr(11033),sr)},33249:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},5693:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Keygrip=void 0;const hr=lr(42613);const yr=lr(39023);const kr=lr(76982);const Fr=lr(48978);const Br=(0,yr.debuglog)("midway:cookies");const Ur={"/":"_","+":"-","=":""};class Keygrip{constructor(ir){hr(Array.isArray(ir)&&ir.length,"keys must be provided and should be an array");this.keys=ir;this.hash="sha256"}encrypt(ir,sr){sr=sr||this.keys[0];try{ir=String(ir);const lr=getAlgorithm();const hr=(0,kr.randomBytes)(64);const yr=(0,kr.randomBytes)(16);const Fr=Math.floor(Math.random()*(99999-1e4+1))+1e4;const Br=deriveKeyFromPassword(sr,hr,Math.floor(Fr*.47+1337));const Ur=(0,kr.createCipheriv)(lr,Br,yr);const Wr=Buffer.concat([Ur.update(ir,"utf8"),Ur.final()]);const zr=Ur.getAuthTag();const Jr=Buffer.concat([hr,yr,zr,Buffer.from(Fr.toString()),Wr]).toString("hex");return getEncryptedPrefix()+Jr}catch(ir){Br("crypt error",ir.stack);return undefined}}decrypt(ir,sr){if(!sr){const sr=this.keys;for(let lr=0;lr<sr.length;lr++){const hr=this.decrypt(ir,sr[lr]);if(hr!==false)return{value:hr,index:lr}}return false}try{const lr=getAlgorithm();const hr=ir.split(getEncryptedPrefix());if(hr.length!==2){return void 0}else{ir=hr[1]}const yr=Buffer.from(ir,"hex");const Fr=yr.slice(0,64);const Br=yr.slice(64,80);const Ur=yr.slice(80,96);const Wr=parseInt(yr.slice(96,101).toString("utf-8"),10);const zr=yr.slice(101);const Jr=deriveKeyFromPassword(sr,Fr,Math.floor(Wr*.47+1337));const Hr=(0,kr.createDecipheriv)(lr,Jr,Br);Hr.setAuthTag(Ur);return Hr.update(zr,"binary","utf-8")+Hr.final("utf-8")}catch(ir){Br("crypt error",ir.stack);return false}}sign(ir,sr){sr=sr||this.keys[0];return(0,kr.createHmac)(this.hash,sr).update(ir).digest("base64").replace(/\/|\+|=/g,(ir=>Ur[ir]))}verify(ir,sr){const lr=this.keys;for(let hr=0;hr<lr.length;hr++){if(Fr(Buffer.from(sr),Buffer.from(this.sign(ir,lr[hr])))){Br("data %s match key %s",ir,lr[hr]);return hr}}return-1}}sr.Keygrip=Keygrip;function getAlgorithm(){return"aes-256-gcm"}function getEncryptedPrefix(){return"enc::"}function deriveKeyFromPassword(ir,sr,lr){return(0,kr.pbkdf2Sync)(ir,sr,lr,32,"sha512")}},83872:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BaseFramework=void 0;const kr=lr(6192);const Fr=lr(2222);const Br=lr(49757);const Ur=lr(97983);const Wr=lr(70275);const zr=lr(78842);const Jr=lr(37482);const Hr=lr(34888);const Gr=lr(12738);const Yr=lr(68220);const Qr=lr(39408);const Zr=lr(77306);const cn=lr(39023);const un=lr(75351);const Tn=lr(40581);const jn=cn.debuglog("midway:debug");class BaseFramework{constructor(ir){this.applicationContext=ir;this.defaultContext={};this.middlewareManager=this.createMiddlewareManager();this.filterManager=this.createFilterManager();this.guardManager=this.createGuardManager();this.composeMiddleware=null}async init(){var ir,sr;this.configurationOptions=(ir=this.configure())!==null&&ir!==void 0?ir:{};this.contextLoggerApplyLogger=(sr=this.configurationOptions.contextLoggerApplyLogger)!==null&&sr!==void 0?sr:"appLogger";this.contextLoggerFormat=this.configurationOptions.contextLoggerFormat;this.logger=this.loggerService.getLogger("coreLogger");this.appLogger=this.loggerService.getLogger("appLogger");return this}isEnable(){return true}async initialize(ir){this.bootstrapOptions=ir;await this.beforeContainerInitialize(ir);await this.containerInitialize(ir);await this.afterContainerInitialize(ir);await this.containerDirectoryLoad(ir);await this.afterContainerDirectoryLoad(ir);await this.applicationInitialize(ir);await this.containerReady(ir);await this.afterContainerReady(ir);await this.mockService.runSimulatorAppSetup(this.app)}async containerInitialize(ir){}async containerDirectoryLoad(ir){}async containerReady(ir){if(!this.app.getApplicationContext){this.defineApplicationProperties()}}getApplicationContext(){return this.applicationContext}getConfiguration(ir){return this.configService.getConfiguration(ir)}getCurrentEnvironment(){return this.environmentService.getCurrentEnvironment()}getApplication(){return this.app}createContextLogger(ir,sr){if(sr&&sr!=="appLogger"){const lr=this.getLogger(sr);let hr=ir.getAttr(Fr.REQUEST_CTX_LOGGER_CACHE_KEY);if(!hr){hr=new Map;ir.setAttr(Fr.REQUEST_CTX_LOGGER_CACHE_KEY,hr)}if(hr.has(sr)){return hr.get(sr)}const yr=this.loggerService.createContextLogger(ir,lr);hr.set(sr,yr);return yr}else{const lr=this.getLogger(sr!==null&&sr!==void 0?sr:this.contextLoggerApplyLogger);if(ir["_logger"]){return ir["_logger"]}ir["_logger"]=this.loggerService.createContextLogger(ir,lr,{contextFormat:this.contextLoggerFormat});return ir["_logger"]}}async stop(){await this.mockService.runSimulatorAppTearDown(this.app);await this.beforeStop()}getAppDir(){return this.informationService.getAppDir()}getBaseDir(){return this.informationService.getBaseDir()}defineApplicationProperties(ir={},sr=[]){const lr={getBaseDir:()=>this.getBaseDir(),getAppDir:()=>this.getAppDir(),getEnv:()=>this.getCurrentEnvironment(),getApplicationContext:()=>this.getApplicationContext(),getConfig:ir=>this.getConfiguration(ir),getFrameworkType:()=>{if(this["getFrameworkType"]){return this["getFrameworkType"]()}},getProcessType:()=>kr.MidwayProcessTypeEnum.APPLICATION,getCoreLogger:()=>this.getCoreLogger(),getLogger:ir=>this.getLogger(ir),createLogger:(ir,sr={})=>this.createLogger(ir,sr),getFramework:()=>this,getProjectName:()=>this.getProjectName(),createAnonymousContext:ir=>{const sr=ir||Object.create(this.defaultContext);if(!sr.startTime){sr.startTime=Date.now()}if(!sr.logger){sr.logger=this.createContextLogger(sr)}if(!sr.requestContext){sr.requestContext=new Ur.MidwayRequestContainer(sr,this.getApplicationContext());sr.requestContext.ready()}if(!sr.getLogger){sr.getLogger=ir=>this.createContextLogger(sr,ir)}sr.setAttr=(ir,lr)=>{sr.requestContext.setAttr(ir,lr)};sr.getAttr=ir=>sr.requestContext.getAttr(ir);sr.getApp=()=>this.getApplication();return sr},addConfigObject:ir=>{this.configService.addObject(ir)},setAttr:(ir,sr)=>{this.getApplicationContext().setAttr(ir,sr)},getAttr:ir=>this.getApplicationContext().getAttr(ir),useMiddleware:ir=>this.useMiddleware(ir),getMiddleware:()=>this.getMiddleware(),useFilter:ir=>this.useFilter(ir),useGuard:ir=>this.useGuard(ir),getNamespace:()=>this.getNamespace()};for(const ir of sr){delete lr[ir]}Object.assign(this.app,lr,ir)}async beforeStop(){}async beforeContainerInitialize(ir){}async afterContainerInitialize(ir){}async afterContainerDirectoryLoad(ir){}async afterContainerReady(ir){}async applyMiddleware(ir){var sr;if(!this.composeMiddleware){if(!this.applicationContext.hasObject(Fr.ASYNC_CONTEXT_MANAGER_KEY)){const ir=this.configService.getConfiguration("asyncContextManager.enable")||false;const lr=ir?((sr=this.bootstrapOptions)===null||sr===void 0?void 0:sr.asyncContextManager)||new un.NoopContextManager:new un.NoopContextManager;if(ir){lr.enable()}this.applicationContext.registerObject(Fr.ASYNC_CONTEXT_MANAGER_KEY,lr)}this.middlewareManager.insertFirst((async(ir,sr)=>{const lr=un.ASYNC_ROOT_CONTEXT.setValue(Fr.ASYNC_CONTEXT_KEY,ir);const hr=this.applicationContext.get(Fr.ASYNC_CONTEXT_MANAGER_KEY);return await hr.with(lr,(async()=>{await this.mockService.runSimulatorContextSetup(ir,this.app);this.mockService.applyContextMocks(this.app,ir);let lr=undefined;try{const hr=await sr();lr=await this.filterManager.runResultFilter(hr,ir)}catch(sr){lr=await this.filterManager.runErrorFilter(sr,ir)}finally{await this.mockService.runSimulatorContextTearDown(ir,this.app)}if(lr.error){throw lr.error}return lr.result}))}));jn(`[core]: Compose middleware = [${this.middlewareManager.getNames()}]`);this.composeMiddleware=await this.middlewareService.compose(this.middlewareManager,this.app);await this.filterManager.init(this.applicationContext)}if(ir){ir=Array.isArray(ir)?ir:[ir];return await this.middlewareService.compose([this.composeMiddleware,...ir],this.app)}return this.composeMiddleware}getLogger(ir){var sr;return(sr=this.loggerService.getLogger(ir))!==null&&sr!==void 0?sr:this.appLogger}getCoreLogger(){return this.logger}createLogger(ir,sr={}){return this.loggerService.createLogger(ir,sr)}getProjectName(){return this.informationService.getProjectName()}getFrameworkName(){return this.constructor.name}useMiddleware(ir){this.middlewareManager.insertLast(ir)}getMiddleware(){return this.middlewareManager}useFilter(ir){return this.filterManager.useFilter(ir)}useGuard(ir){return this.guardManager.addGlobalGuard(ir)}async runGuard(ir,sr,lr){return this.guardManager.runGuard(ir,sr,lr)}createMiddlewareManager(){return new Gr.ContextMiddlewareManager}createFilterManager(){return new Qr.FilterManager}createGuardManager(){return new Tn.GuardManager}setNamespace(ir){this.namespace=ir}getNamespace(){return this.namespace}}hr([(0,Br.Inject)(),yr("design:type",Hr.MidwayLoggerService)],BaseFramework.prototype,"loggerService",void 0);hr([(0,Br.Inject)(),yr("design:type",Wr.MidwayEnvironmentService)],BaseFramework.prototype,"environmentService",void 0);hr([(0,Br.Inject)(),yr("design:type",zr.MidwayConfigService)],BaseFramework.prototype,"configService",void 0);hr([(0,Br.Inject)(),yr("design:type",Jr.MidwayInformationService)],BaseFramework.prototype,"informationService",void 0);hr([(0,Br.Inject)(),yr("design:type",Yr.MidwayMiddlewareService)],BaseFramework.prototype,"middlewareService",void 0);hr([(0,Br.Inject)(),yr("design:type",Zr.MidwayMockService)],BaseFramework.prototype,"mockService",void 0);hr([(0,Br.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],BaseFramework.prototype,"init",null);sr.BaseFramework=BaseFramework},43436:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayApplicationManager=void 0;const yr=lr(6192);const kr=lr(49757);let Fr=class MidwayApplicationManager{constructor(){this.globalFrameworkMap=new Map;this.globalFrameworkTypeMap=new WeakMap}addFramework(ir,sr){this.globalFrameworkMap.set(ir,sr);if(sr["getFrameworkType"]){this.globalFrameworkTypeMap.set(sr["getFrameworkType"](),sr)}}getFramework(ir){if(typeof ir==="string"){if(this.globalFrameworkMap.has(ir)){return this.globalFrameworkMap.get(ir)}}else{if(this.globalFrameworkTypeMap.has(ir)){return this.globalFrameworkTypeMap.get(ir)}}}getApplication(ir){if(typeof ir==="string"){if(this.globalFrameworkMap.has(ir)){return this.globalFrameworkMap.get(ir).getApplication()}}else{if(this.globalFrameworkTypeMap.has(ir)){return this.globalFrameworkTypeMap.get(ir).getApplication()}}}getApplications(ir){if(!ir){return Array.from(this.globalFrameworkMap.values()).map((ir=>ir.getApplication())).filter((ir=>!!ir))}else{return ir.map((ir=>this.getApplication(ir))).filter((ir=>!!ir))}}};Fr=hr([(0,kr.Provide)(),(0,kr.Scope)(yr.ScopeEnum.Singleton)],Fr);sr.MidwayApplicationManager=Fr},75351:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.NoopContextManager=sr.ASYNC_ROOT_CONTEXT=void 0;class AsyncBaseContext{constructor(ir){const sr=this;sr._currentContext=ir?new Map(ir):new Map;sr.getValue=ir=>sr._currentContext.get(ir);sr.setValue=(ir,lr)=>{const hr=new AsyncBaseContext(sr._currentContext);hr._currentContext.set(ir,lr);return hr};sr.deleteValue=ir=>{const lr=new AsyncBaseContext(sr._currentContext);lr._currentContext.delete(ir);return lr}}}sr.ASYNC_ROOT_CONTEXT=new AsyncBaseContext;class NoopContextManager{active(){return sr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){return sr.call(lr,...hr)}bind(ir,sr){return sr}enable(){return this}disable(){return this}}sr.NoopContextManager=NoopContextManager},46673:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.DataListener=void 0;const kr=lr(49757);class DataListener{async init(){this.innerData=await this.initData();await this.onData(this.setData.bind(this))}setData(ir){this.innerData=ir}getData(){return this.innerData}async stop(){await this.destroyListener()}async destroyListener(){}}hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],DataListener.prototype,"init",null);hr([(0,kr.Destroy)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],DataListener.prototype,"stop",null);sr.DataListener=DataListener},12849:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.globModels=sr.formatGlobString=sr.DataSourceManager=void 0;const kr=lr(83486);const Fr=lr(86314);const Br=lr(62525);const Ur=lr(16928);const Wr=lr(63289);const zr=lr(2222);const Jr=lr(39023);const Hr=lr(65308);const Gr=lr(49757);const Yr=lr(70275);const Qr=lr(78842);const Zr=lr(67934);const cn=(0,Jr.debuglog)("midway:debug");class DataSourceManager{constructor(){this.dataSource=new Map;this.options={};this.modelMapping=new WeakMap;this.dataSourcePriority={}}async initDataSource(ir,sr){var lr,hr;this.options=ir;if(!this.options.dataSource){throw new Fr.MidwayParameterError("[DataSourceManager] must set options.dataSource.")}if(typeof sr==="string"){sr={baseDir:sr,entitiesConfigKey:"entities"}}const yr=sr;const kr=(hr=(lr=this.configService)===null||lr===void 0?void 0:lr.getConfiguration("core.concurrentDataSourceInitialization"))!==null&&hr!==void 0?hr:false;const processDataSource=async sr=>{var lr;const hr=ir.dataSource[sr];const kr=hr[yr.entitiesConfigKey];if(kr){const ir=new Set;for(const hr of kr){if(typeof hr==="string"){const kr=await globModels(hr,yr.baseDir,(lr=this.environmentService)===null||lr===void 0?void 0:lr.getModuleLoadType());for(const lr of kr){ir.add(lr);this.modelMapping.set(lr,sr)}}else{ir.add(hr);this.modelMapping.set(hr,sr)}}hr[yr.entitiesConfigKey]=Array.from(ir);cn(`[core]: DataManager load ${hr[yr.entitiesConfigKey].length} models from ${sr}.`)}const Fr={cacheInstance:ir.cacheInstance,validateConnection:ir.validateConnection};await this.createInstance(hr,sr,Fr)};const Br=Object.keys(ir.dataSource);if(kr){await Promise.all(Br.map(processDataSource))}else{for(const ir of Br){await processDataSource(ir)}}}getDataSource(ir){return this.dataSource.get(ir)}hasDataSource(ir){return this.dataSource.has(ir)}getDataSourceNames(){return Array.from(this.dataSource.keys())}getAllDataSources(){return this.dataSource}async isConnected(ir){const sr=this.getDataSource(ir);return sr?this.checkConnected(sr):false}async createInstance(ir,sr,lr){const hr=lr&&typeof lr.cacheInstance==="boolean"?lr.cacheInstance:true;const yr=lr&&lr.validateConnection||false;const Br=(0,kr.extend)(true,{},this.options["default"],ir);const Ur=await this.createDataSource(Br,sr);if(hr&&sr&&Ur){this.dataSource.set(sr,Ur)}if(yr){if(!Ur){throw new Fr.MidwayCommonError(`[DataSourceManager] ${sr} initialization failed.`)}const ir=await this.checkConnected(Ur);if(!ir){throw new Fr.MidwayCommonError(`[DataSourceManager] ${sr} is not connected.`)}}return Ur}getDataSourceNameByModel(ir){return this.modelMapping.get(ir)}async stop(){const ir=Array.from(this.dataSource.values());await Promise.all(ir.map((ir=>this.destroyDataSource(ir))));this.dataSource.clear()}getDefaultDataSourceName(){if(this.innerDefaultDataSourceName===undefined){if(this.options["defaultDataSourceName"]){this.innerDefaultDataSourceName=this.options["defaultDataSourceName"]}else if(this.dataSource.size===1){this.innerDefaultDataSourceName=Array.from(this.dataSource.keys())[0]}else{this.innerDefaultDataSourceName=""}}return this.innerDefaultDataSourceName}getDataSourcePriority(ir){return this.priorityManager.getPriority(this.dataSourcePriority[ir])}isHighPriority(ir){return this.priorityManager.isHighPriority(this.dataSourcePriority[ir])}isMediumPriority(ir){return this.priorityManager.isMediumPriority(this.dataSourcePriority[ir])}isLowPriority(ir){return this.priorityManager.isLowPriority(this.dataSourcePriority[ir])}}hr([(0,Gr.Inject)(),yr("design:type",String)],DataSourceManager.prototype,"appDir",void 0);hr([(0,Gr.Inject)(),yr("design:type",Yr.MidwayEnvironmentService)],DataSourceManager.prototype,"environmentService",void 0);hr([(0,Gr.Inject)(),yr("design:type",Qr.MidwayConfigService)],DataSourceManager.prototype,"configService",void 0);hr([(0,Gr.Inject)(),yr("design:type",Zr.MidwayPriorityManager)],DataSourceManager.prototype,"priorityManager",void 0);sr.DataSourceManager=DataSourceManager;function formatGlobString(ir){let sr;if(!/^\*/.test(ir)){ir="/"+ir}const lr=(0,Ur.parse)(ir);if(lr.base&&(/\*/.test(lr.base)||lr.ext)){sr=[ir]}else{sr=[...zr.DEFAULT_PATTERN.map((sr=>(0,Ur.join)(ir,sr)))]}return sr}sr.formatGlobString=formatGlobString;async function globModels(ir,sr,lr){const hr=formatGlobString(ir);const yr=[];const kr=(0,Br.run)(hr,{cwd:sr,ignore:zr.IGNORE_PATTERN});for(const ir of kr){const sr=await(0,Hr.loadModule)(ir,{loadMode:lr});if(Wr.Types.isClass(sr)){yr.push(sr)}else{for(const ir in sr){const lr=sr[ir];if(Wr.Types.isClass(lr)){yr.push(lr)}}}}return yr}sr.globModels=globModels},1845:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.CustomModuleDetector=sr.ESModuleFileDetector=sr.CommonJSFileDetector=sr.AbstractFileDetector=void 0;const hr=lr(63289);const yr=lr(62525);const kr=lr(86314);const Fr=lr(2222);const Br=lr(49757);const Ur=lr(65308);class AbstractFileDetector{constructor(ir){this.options=ir;this.extraDetectorOptions={}}setExtraDetectorOptions(ir){this.extraDetectorOptions=ir}}sr.AbstractFileDetector=AbstractFileDetector;const Wr=["**/**.tsx"].concat(Fr.DEFAULT_PATTERN);const zr=["**/logs/**","**/run/**","**/public/**","**/app/view/**","**/app/views/**","**/app/extend/**","**/node_modules/**","**/**.test.ts","**/**.test.js","**/__test__/**"].concat(Fr.IGNORE_PATTERN);class CommonJSFileDetector extends AbstractFileDetector{constructor(){super(...arguments);this.duplicateModuleCheckSet=new Map}run(ir){if(this.getType()==="commonjs"){return this.loadSync(ir)}else{return this.loadAsync(ir)}}loadSync(ir){var sr;this.options=this.options||{};const lr=[].concat((sr=this.options.loadDir)!==null&&sr!==void 0?sr:ir.get("baseDir"));for(const sr of lr){const lr=(0,yr.run)(Wr.concat(this.options.pattern||[]).concat(this.extraDetectorOptions.pattern||[]),{cwd:sr,ignore:zr.concat(this.options.ignore||[]).concat(this.extraDetectorOptions.ignore||[])});const checkDuplicatedHandler=(ir,sr)=>{if((this.options.conflictCheck||this.extraDetectorOptions.conflictCheck)&&hr.Types.isClass(ir)){const lr=(0,Br.getProviderName)(ir);if(lr){if(this.duplicateModuleCheckSet.has(lr)){throw new kr.MidwayDuplicateClassNameError(lr,sr.srcPath,this.duplicateModuleCheckSet.get(lr))}else{this.duplicateModuleCheckSet.set(lr,sr.srcPath)}}}};for(const sr of lr){const lr=require(sr);ir.bindClass(lr,{namespace:this.options.namespace,srcPath:sr,createFrom:"file",bindHook:checkDuplicatedHandler})}}this.duplicateModuleCheckSet.clear()}async loadAsync(ir){var sr;this.options=this.options||{};const lr=[].concat((sr=this.options.loadDir)!==null&&sr!==void 0?sr:ir.get("baseDir"));for(const sr of lr){const lr=(0,yr.run)(Wr.concat(this.options.pattern||[]).concat(this.extraDetectorOptions.pattern||[]),{cwd:sr,ignore:zr.concat(this.options.ignore||[]).concat(this.extraDetectorOptions.ignore||[])});const checkDuplicatedHandler=(ir,sr)=>{if((this.options.conflictCheck||this.extraDetectorOptions.conflictCheck)&&hr.Types.isClass(ir)){const lr=(0,Br.getProviderName)(ir);if(lr){if(this.duplicateModuleCheckSet.has(lr)){throw new kr.MidwayDuplicateClassNameError(lr,sr.srcPath,this.duplicateModuleCheckSet.get(lr))}else{this.duplicateModuleCheckSet.set(lr,sr.srcPath)}}}};for(const sr of lr){const lr=await(0,Ur.loadModule)(sr,{loadMode:"esm"});ir.bindClass(lr,{namespace:this.options.namespace,srcPath:sr,createFrom:"file",bindHook:checkDuplicatedHandler})}}this.duplicateModuleCheckSet.clear()}getType(){return"commonjs"}}sr.CommonJSFileDetector=CommonJSFileDetector;class ESModuleFileDetector extends CommonJSFileDetector{getType(){return"module"}}sr.ESModuleFileDetector=ESModuleFileDetector;class CustomModuleDetector extends AbstractFileDetector{async run(ir){for(const sr of this.options.modules){ir.bindClass(sr,{namespace:this.options.namespace,createFrom:"module"})}}}sr.CustomModuleDetector=CustomModuleDetector},39408:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FilterManager=void 0;const hr=lr(49757);const yr=lr(65308);class FilterManager{constructor(){this.errFilterList=[];this.successFilterList=[];this.exceptionMap=new WeakMap;this.defaultErrFilter=undefined;this.matchFnList=[];this.protoMatchList=[]}useFilter(ir){if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){if((0,hr.getClassMetadata)(hr.CATCH_KEY,sr)){this.errFilterList.push(sr)}if((0,hr.getClassMetadata)(hr.MATCH_KEY,sr)){this.successFilterList.push(sr)}}}async init(ir){for(const sr of this.errFilterList){const lr=await ir.getAsync(sr);const yr=(0,hr.getClassMetadata)(hr.CATCH_KEY,sr);if(yr&&yr.catchTargets){yr.catchOptions=yr.catchOptions||{};for(const ir of yr.catchTargets){this.exceptionMap.set(ir,{filter:lr,catchOptions:yr.catchOptions});if(yr.catchOptions["matchPrototype"]){this.protoMatchList.push((sr=>{if(sr instanceof ir){return ir}else{return false}}))}}}else{this.defaultErrFilter=lr}}for(const sr of this.successFilterList){const lr=await ir.getAsync(sr);const kr=(0,hr.getClassMetadata)(hr.MATCH_KEY,sr);if(kr&&kr.matchPattern){this.matchFnList.push({matchFn:(0,yr.toPathMatch)(kr.matchPattern),target:lr})}}}async runErrorFilter(ir,sr,lr,hr){let yr,kr;let Fr=false;if(ir&&this.exceptionMap.has(ir.constructor)){Fr=true;const kr=this.exceptionMap.get(ir.constructor);yr=await kr.filter.catch(ir,sr,lr,hr)}if(!Fr&&this.protoMatchList.length){let kr;for(const sr of this.protoMatchList){kr=sr(ir);if(kr){break}}if(kr){Fr=true;const Br=this.exceptionMap.get(kr);yr=await Br.filter.catch(ir,sr,lr,hr)}}if(!Fr&&this.defaultErrFilter){Fr=true;yr=await this.defaultErrFilter.catch(ir,sr,lr,hr)}if(!Fr){kr=ir}return{result:yr,error:kr}}async runResultFilter(ir,sr,lr,hr){let yr=ir;for(const ir of this.matchFnList){if(ir.matchFn(sr,lr)){yr=await ir.target.match(yr,sr,lr,hr)}}return{result:yr,error:undefined}}}sr.FilterManager=FilterManager},40581:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.GuardManager=void 0;const hr=lr(49757);class GuardManager extends Array{addGlobalGuard(ir){if(!Array.isArray(ir)){this.push(ir)}else{this.push(...ir)}}async runGuard(ir,sr,lr){for(const hr of this){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}const yr=(0,hr.getClassMetadata)(hr.GUARD_KEY,sr);if(yr){for(const hr of yr){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}}const kr=(0,hr.getPropertyMetadata)(hr.GUARD_KEY,sr,lr);if(kr){for(const hr of kr){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}}return true}}sr.GuardManager=GuardManager},82535:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DefaultConsoleLoggerFactory=sr.LoggerFactory=void 0;class LoggerFactory{}sr.LoggerFactory=LoggerFactory;class DefaultConsoleLoggerFactory{constructor(){this.instance=new Map}createLogger(ir,sr){this.instance.set(ir,console);return console}getLogger(ir){return this.instance.get(ir)}close(ir){}removeLogger(ir){}getDefaultMidwayLoggerConfig(){return{midwayLogger:{default:{},clients:{coreLogger:{},appLogger:{}}}}}createContextLogger(ir,sr,lr){return sr}getClients(){return this.instance}getClientKeys(){return Array.from(this.instance.keys())}}sr.DefaultConsoleLoggerFactory=DefaultConsoleLoggerFactory},12738:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createMiddleware=sr.ContextMiddlewareManager=void 0;class ContextMiddlewareManager extends Array{insertFirst(ir){if(Array.isArray(ir)){this.unshift(...ir)}else{this.unshift(ir)}}insertLast(ir){if(Array.isArray(ir)){this.push(...ir)}else{this.push(ir)}}insertBefore(ir,sr){if(typeof sr!=="number"){sr=this.findItemIndex(sr)}if(Array.isArray(ir)){this.splice(sr,0,...ir)}else{this.splice(sr,0,ir)}}insertAfter(ir,sr){if(typeof sr!=="number"){sr=this.findItemIndex(sr)}if(Array.isArray(ir)){this.splice(sr+1,0,...ir)}else{this.splice(sr+1,0,ir)}}findAndInsertAfter(ir,sr){ir=this.findItem(ir);sr=this.findItem(sr);if(!ir||!sr||ir===sr){return}if(sr){const lr=this.remove(ir);if(lr){this.insertAfter(lr,sr)}}}findAndInsertBefore(ir,sr){ir=this.findItem(ir);sr=this.findItem(sr);if(!ir||!sr||ir===sr){return}if(sr){const lr=this.remove(ir);if(lr){this.insertBefore(lr,sr)}}}findAndInsertFirst(ir){const sr=this.remove(ir);if(sr){this.insertFirst(sr)}}findAndInsertLast(ir){const sr=this.remove(ir);if(sr){this.insertLast(sr)}}findItemIndex(ir){if(typeof ir==="number"){return ir}else if(typeof ir==="string"){return this.findIndex((sr=>this.getMiddlewareName(sr)===ir))}else{return this.findIndex((sr=>sr===ir))}}findItem(ir){if(typeof ir==="number"){if(ir>=0&&ir<=this.length-1){return this[ir]}}else if(typeof ir==="string"){return this.find((sr=>this.getMiddlewareName(sr)===ir))}else{return ir}}getMiddlewareName(ir){var sr,lr,hr;if(ir["middleware"]){return(sr=ir.name)!==null&&sr!==void 0?sr:this.getMiddlewareName(ir["middleware"])}return(hr=(lr=ir.getName&&ir.getName())!==null&&lr!==void 0?lr:ir._name)!==null&&hr!==void 0?hr:ir.name}remove(ir){if(typeof ir==="number"&&ir!==-1){return this.splice(ir,1)[0]}else{const sr=this.findItemIndex(ir);if(sr!==-1){return this.splice(sr,1)[0]}}}push(...ir){ir.forEach((ir=>{if(typeof ir!=="string"&&!this.getMiddlewareName(ir)){ir._name="anonymous"}}));return super.push(...ir)}unshift(...ir){ir.forEach((ir=>{if(typeof ir!=="string"&&!this.getMiddlewareName(ir)){ir._name="anonymous"}}));return super.unshift(...ir)}getNames(){return this.map((ir=>this.getMiddlewareName(ir)))}}sr.ContextMiddlewareManager=ContextMiddlewareManager;function createMiddleware(ir,sr,lr){return{middleware:ir,options:sr,name:lr}}sr.createMiddleware=createMiddleware},70032:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayInitializerPerformanceManager=sr.MidwayPerformanceManager=void 0;const hr=lr(82987);class MidwayPerformanceManager{constructor(ir){this.group=ir;this.observer=null;this.marks=new Set;this.measures=new Set}static getInstance(ir){if(!this.instances.has(ir)){this.instances.set(ir,new MidwayPerformanceManager(ir))}return this.instances.get(ir)}formatKey(ir,sr){return`${this.group}:${ir}-${sr}`}markStart(ir){const sr=this.formatKey(ir,"start");hr.performance.mark(sr);this.marks.add(sr)}markEnd(ir){const sr=this.formatKey(ir,"start");const lr=this.formatKey(ir,"end");const yr=`${this.group}:${ir}`;hr.performance.mark(lr);this.marks.add(lr);hr.performance.measure(yr,sr,lr);this.measures.add(yr)}observeMeasure(ir){if(this.observer){return}this.observer=new hr.PerformanceObserver((sr=>{const lr=sr.getEntries().filter((ir=>ir.name.startsWith(`${this.group}:`)));if(lr.length>0){ir({getEntries:()=>lr})}}));this.observer.observe({entryTypes:["measure"]});return this.observer}disconnect(){if(this.observer){this.observer.disconnect();this.observer=null}}clean(){this.marks.forEach((ir=>{try{hr.performance.clearMarks(ir)}catch(sr){console.warn(`Failed to clear mark ${ir}: ${sr}`)}}));this.marks.clear();this.measures.forEach((ir=>{try{hr.performance.clearMeasures(ir)}catch(sr){console.warn(`Failed to clear measure ${ir}: ${sr}`)}}));this.measures.clear();this.disconnect()}static cleanAll(){this.instances.forEach((ir=>ir.clean()));this.instances.clear()}static getInitialPerformanceEntries(){const ir=[];hr.performance===null||hr.performance===void 0?void 0:hr.performance.getEntries().forEach((sr=>{if(sr.name.startsWith(this.DEFAULT_GROUP.INITIALIZE)){ir.push(sr.toJSON())}}));return ir}}sr.MidwayPerformanceManager=MidwayPerformanceManager;MidwayPerformanceManager.instances=new Map;MidwayPerformanceManager.DEFAULT_GROUP={INITIALIZE:"MidwayInitialize"};class MidwayInitializerPerformanceManager{static markStart(ir){const sr=MidwayPerformanceManager.getInstance(MidwayPerformanceManager.DEFAULT_GROUP.INITIALIZE);sr.markStart(ir)}static markEnd(ir){const sr=MidwayPerformanceManager.getInstance(MidwayPerformanceManager.DEFAULT_GROUP.INITIALIZE);sr.markEnd(ir)}static frameworkInitializeStart(ir){this.markStart(`${this.MEASURE_KEYS.FRAMEWORK_INITIALIZE}:${ir}`)}static frameworkInitializeEnd(ir){this.markEnd(`${this.MEASURE_KEYS.FRAMEWORK_INITIALIZE}:${ir}`)}static frameworkRunStart(ir){this.markStart(`${this.MEASURE_KEYS.FRAMEWORK_RUN}:${ir}`)}static frameworkRunEnd(ir){this.markEnd(`${this.MEASURE_KEYS.FRAMEWORK_RUN}:${ir}`)}static lifecycleStart(ir,sr){this.markStart(`${this.MEASURE_KEYS.LIFECYCLE_PREPARE}:${ir}:${sr}`)}static lifecycleEnd(ir,sr){this.markEnd(`${this.MEASURE_KEYS.LIFECYCLE_PREPARE}:${ir}:${sr}`)}}sr.MidwayInitializerPerformanceManager=MidwayInitializerPerformanceManager;MidwayInitializerPerformanceManager.MEASURE_KEYS={INITIALIZE:"Initialize",METADATA_PREPARE:"MetadataPrepare",DETECTOR_PREPARE:"DetectorPrepare",DEFINITION_PREPARE:"DefinitionPrepare",CONFIG_LOAD:"ConfigLoad",LOGGER_PREPARE:"LoggerPrepare",FRAMEWORK_PREPARE:"FrameworkPrepare",FRAMEWORK_INITIALIZE:"FrameworkInitialize",FRAMEWORK_RUN:"FrameworkRun",LIFECYCLE_PREPARE:"LifecyclePrepare",PRELOAD_MODULE_PREPARE:"PreloadModulePrepare"}},67934:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPriorityManager=sr.DEFAULT_PRIORITY=void 0;const yr=lr(49757);const kr=lr(6192);sr.DEFAULT_PRIORITY={L1:"High",L2:"Medium",L3:"Low"};let Fr=class MidwayPriorityManager{constructor(){this.priorityList=sr.DEFAULT_PRIORITY;this.defaultPriority=sr.DEFAULT_PRIORITY.L2}getCurrentPriorityList(){return this.priorityList}getDefaultPriority(){return this.defaultPriority}isHighPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L1}isMediumPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L2}isLowPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L3}getPriority(ir){return ir||this.getDefaultPriority()}};Fr=hr([(0,yr.Provide)(),(0,yr.Scope)(kr.ScopeEnum.Singleton)],Fr);sr.MidwayPriorityManager=Fr},64842:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ServiceFactory=void 0;const kr=lr(83486);const Fr=lr(67934);const Br=lr(49757);class ServiceFactory{constructor(){this.clients=new Map;this.options={}}async initClients(ir={}){this.options=ir;if(ir.client){ir.clients=ir.clients||{};ir.clients["default"]=ir.clients["default"]||{};(0,kr.extend)(true,ir.clients["default"],ir.client)}if(ir.clients){for(const sr of Object.keys(ir.clients)){await this.createInstance(ir.clients[sr],sr)}}this.clientPriority=ir.priority||{}}get(ir="default"){return this.clients.get(ir)}has(ir){return this.clients.has(ir)}async createInstance(ir,sr){ir=(0,kr.extend)(true,{},this.options["default"],ir);const lr=await this.createClient(ir,sr);if(lr){if(sr){this.clients.set(sr,lr)}return lr}}async destroyClient(ir,sr){}async stop(){for(const[ir,sr]of this.clients.entries()){await this.destroyClient(sr,ir)}}getDefaultClientName(){return this.options["defaultClientName"]}getClients(){return this.clients}getClientKeys(){return Array.from(this.clients.keys())}getClientPriority(ir){return this.priorityManager.getPriority(this.clientPriority[ir])}isHighPriority(ir){return this.priorityManager.isHighPriority(this.clientPriority[ir])}isMediumPriority(ir){return this.priorityManager.isMediumPriority(this.clientPriority[ir])}isLowPriority(ir){return this.priorityManager.isLowPriority(this.clientPriority[ir])}}hr([(0,Br.Inject)(),yr("design:type",Fr.MidwayPriorityManager)],ServiceFactory.prototype,"priorityManager",void 0);sr.ServiceFactory=ServiceFactory},11330:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TypedResourceManager=void 0;class TypedResourceManager{constructor(ir){this.typedResourceInitializerOptions=ir;this.resourceMap=new Map;this.resourceBindingMap=new Map}async createResource(ir,sr){const lr=await this.typedResourceInitializerOptions.resourceInitialize(sr,ir);this.resourceMap.set(ir,lr);return lr}async init(){for(const ir of Object.keys(this.typedResourceInitializerOptions.initializeValue)){const sr=this.typedResourceInitializerOptions.initializeValue[ir];const lr=this.typedResourceInitializerOptions.initializeClzProvider[ir];const hr=await this.createResource(ir,sr);const yr=await this.typedResourceInitializerOptions.resourceBinding(lr,sr,hr,ir);if(yr){this.resourceBindingMap.set(ir,yr)}}}async startParallel(){const ir=[];for(const[sr,lr]of this.resourceMap.entries()){ir.push(this.typedResourceInitializerOptions.resourceStart(lr,this.typedResourceInitializerOptions.initializeValue[sr],this.resourceBindingMap.get(sr)))}await Promise.all(ir)}async start(){for(const[ir,sr]of this.resourceMap.entries()){await this.typedResourceInitializerOptions.resourceStart(sr,this.typedResourceInitializerOptions.initializeValue[ir],this.resourceBindingMap.get(ir))}}async destroyParallel(){const ir=[];for(const[sr,lr]of this.resourceMap.entries()){ir.push(this.typedResourceInitializerOptions.resourceDestroy(lr,this.typedResourceInitializerOptions.initializeValue[sr]))}await Promise.all(ir)}async destroy(){for(const[ir,sr]of this.resourceMap.entries()){await this.typedResourceInitializerOptions.resourceDestroy(sr,this.typedResourceInitializerOptions.initializeValue[ir])}this.resourceMap.clear();this.resourceBindingMap.clear()}getResource(ir){return this.resourceMap.get(ir)}}sr.TypedResourceManager=TypedResourceManager},11026:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.WebControllerGenerator=void 0;const hr=lr(49757);const yr=lr(39023);const kr=lr(6192);const Fr=lr(86314);const Br=lr(68220);const Ur=yr.debuglog("midway:debug");class WebControllerGenerator{constructor(ir,sr){this.app=ir;this.midwayWebRouterService=sr}generateKoaController(ir){return async(sr,lr)=>{if(ir.controllerClz&&typeof ir.method==="string"){const lr=await this.app.getFramework().runGuard(sr,ir.controllerClz,ir.method);if(!lr){throw new Fr.httpError.ForbiddenError}}const yr=[sr,lr];let kr;if(typeof ir.method!=="string"){kr=await ir.method(sr,lr)}else{const lr=await sr.requestContext.getAsync(ir.id);kr=await lr[ir.method].apply(lr,yr)}if(kr!==undefined){if(kr===null){sr.response._body=null;sr.response._midwayControllerNullBody=true}else{sr.body=kr}}if(Array.isArray(ir.responseMetadata)&&ir.responseMetadata.length){for(const lr of ir.responseMetadata){switch(lr.type){case hr.WEB_RESPONSE_HTTP_CODE:sr.status=lr.code;break;case hr.WEB_RESPONSE_HEADER:for(const ir in(lr===null||lr===void 0?void 0:lr.setHeaders)||{}){sr.set(ir,lr.setHeaders[ir])}break;case hr.WEB_RESPONSE_CONTENT_TYPE:sr.type=lr.contentType;break;case hr.WEB_RESPONSE_REDIRECT:sr.status=lr.code;sr.redirect(lr.url);return}}}}}async loadMidwayController(ir){var sr,lr;const hr=await this.midwayWebRouterService.getRouterTable();const yr=await this.midwayWebRouterService.getRoutePriorityList();const Fr=this.app.getApplicationContext();const Wr=this.app.getCoreLogger();const zr=Fr.get(Br.MidwayMiddlewareService);for(const Br of yr){Fr.bindClass(Br.routerModule);Wr.debug(`Load Controller "${Br.controllerId}", prefix=${Br.prefix}`);Ur(`[core]: Load Controller "${Br.controllerId}", prefix=${Br.prefix}`);const yr=this.createRouter({prefix:Br.prefix,...Br.routerOptions});Br.middleware=(sr=Br.middleware)!==null&&sr!==void 0?sr:[];if(Br.middleware.length){const ir=await zr.compose(Br.middleware,this.app);yr.use(ir)}const Jr=hr.get(Br.prefix);for(const ir of Jr){const sr=[];ir.middleware=(lr=ir.middleware)!==null&&lr!==void 0?lr:[];if(ir.middleware.length){const lr=await zr.compose(ir.middleware,this.app);sr.push(lr)}if(this.app.getFrameworkType()===kr.MidwayFrameworkType.WEB_KOA){if(typeof ir.url==="string"&&/\*$/.test(ir.url)){ir.url=ir.url.replace("*","(.*)")}}const hr=[ir.routerName,ir.url,...sr,this.generateController(ir)];Wr.debug(`Load Router "${ir.requestMethod.toUpperCase()} ${ir.url}"`);Ur(`[core]: Load Router "${ir.requestMethod.toUpperCase()} ${ir.url}"`);yr[ir.requestMethod.toLowerCase()].apply(yr,hr)}ir&&ir(yr)}}}sr.WebControllerGenerator=WebControllerGenerator},42193:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});const hr=lr(65308);sr["default"]=ir=>{const sr=(0,hr.isDevelopmentEnvironment)((0,hr.getCurrentEnvironment)());return{core:{healthCheckTimeout:1e3,concurrentDataSourceInitialization:false},asyncContextManager:{enable:false},midwayLogger:{default:{level:"info"},clients:{coreLogger:{level:sr?"info":"warn"},appLogger:{aliasName:"logger"}}},debug:{recordConfigMergeOrder:sr}}}},2222:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.SINGLETON_CONTAINER_CTX=sr.IGNORE_PATTERN=sr.DEFAULT_PATTERN=sr.ASYNC_CONTEXT_MANAGER_KEY=sr.ASYNC_CONTEXT_KEY=sr.REQUEST_CTX_LOGGER_CACHE_KEY=sr.HTTP_SERVER_KEY=sr.CONTAINER_OBJ_SCOPE=sr.REQUEST_OBJ_CTX_KEY=sr.REQUEST_CTX_KEY=sr.MIDWAY_LOGGER_WRITEABLE_DIR=sr.FUNCTION_INJECT_KEY=sr.KEYS=void 0;sr.KEYS={OBJECTS_ELEMENT:"objects",OBJECT_ELEMENT:"object",IMPORT_ELEMENT:"import",PROPERTY_ELEMENT:"property",LIST_ELEMENT:"list",MAP_ELEMENT:"map",ENTRY_ELEMENT:"entry",VALUE_ELEMENT:"value",PROPS_ELEMENT:"props",PROP_ELEMENT:"prop",SET_ELEMENT:"set",CONSTRUCTOR_ARG_ELEMENT:"constructor-arg",REF_ELEMENT:"ref",JSON_ELEMENT:"json",CONFIGURATION_ELEMENT:"configuration",ID_ATTRIBUTE:"id",PATH_ATTRIBUTE:"path",DIRECT_ATTRIBUTE:"direct",AUTOWIRE_ATTRIBUTE:"autowire",ASYNC_ATTRIBUTE:"async",NAME_ATTRIBUTE:"name",REF_ATTRIBUTE:"ref",KEY_ATTRIBUTE:"key",VALUE_ATTRIBUTE:"value",TYPE_ATTRIBUTE:"type",EXTERNAL_ATTRIBUTE:"external",OBJECT_ATTRIBUTE:"object",RESOURCE_ATTRIBUTE:"resource",SCOPE_ATTRIBUTE:"scope",ASPECT_ELEMENT:"aspect",AROUND_ELEMENT:"around",EXPRESSION_ATTRIBUTE:"expression",EXECUTE_ATTRIBUTE:"execute"};sr.FUNCTION_INJECT_KEY="midway:function_inject_key";sr.MIDWAY_LOGGER_WRITEABLE_DIR="MIDWAY_LOGGER_WRITEABLE_DIR";sr.REQUEST_CTX_KEY="ctx";sr.REQUEST_OBJ_CTX_KEY="_req_ctx";sr.CONTAINER_OBJ_SCOPE="_obj_scope";sr.HTTP_SERVER_KEY="_midway_http_server";sr.REQUEST_CTX_LOGGER_CACHE_KEY="_midway_ctx_logger_cache";sr.ASYNC_CONTEXT_KEY=Symbol("ASYNC_CONTEXT_KEY");sr.ASYNC_CONTEXT_MANAGER_KEY="MIDWAY_ASYNC_CONTEXT_MANAGER_KEY";sr.DEFAULT_PATTERN=["**/**.ts","**/**.js","**/**.mts","**/**.mjs","**/**.cts","**/**.cjs"];sr.IGNORE_PATTERN=["**/**.d.ts","**/**.d.mts","**/**.d.cts"];sr.SINGLETON_CONTAINER_CTX={_MAIN_CTX_:true}},9288:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayContainer=void 0;const hr=lr(49757);const yr=lr(24451);const kr=lr(39023);const Fr=lr(20873);const Br=lr(6192);const Ur=lr(2222);const Wr=lr(47698);const zr=lr(34881);const Jr=lr(80932);const Hr=lr(70275);const Gr=lr(78842);const Yr=lr(24434);const Qr=lr(86314);const Zr=lr(63289);const cn=lr(65308);const un=kr.debuglog("midway:debug");const Tn=kr.debuglog("midway:bind");const jn=9;class ContainerConfiguration{constructor(ir){this.container=ir;this.loadedMap=new WeakMap;this.namespaceList=[];this.configurationOptionsList=[]}load(ir){let sr=hr.MAIN_MODULE_KEY;const lr=this.getConfigurationExport(ir);if(!lr.length)return;for(let ir=0;ir<lr.length;ir++){const kr=lr[ir];if(this.loadedMap.get(kr)){continue}let Fr;if(kr instanceof yr.FunctionalConfiguration){Fr=kr.getConfigurationOptions()}else{Fr=(0,hr.getClassMetadata)(hr.CONFIGURATION_KEY,kr)}this.loadedMap.set(kr,true);if(Fr){if(Fr.namespace!==undefined){sr=Fr.namespace;this.namespaceList.push(sr)}this.configurationOptionsList.push(Fr);un(`[core]: load configuration in namespace="${sr}"`);this.addImports(Fr.imports);this.addImportObjects(Fr.importObjects);this.addImportConfigs(Fr.importConfigs);this.addImportConfigFilter(Fr.importConfigFilter);this.bindConfigurationClass(kr,sr)}}this.container.bindClass(ir,{namespace:sr})}addImportConfigs(ir){if(ir){if(Array.isArray(ir)){this.container.get(Gr.MidwayConfigService).add(ir)}else{this.container.get(Gr.MidwayConfigService).addObject(ir)}}}addImportConfigFilter(ir){if(ir){this.container.get(Gr.MidwayConfigService).addFilter(ir)}}addImports(ir=[]){var sr;for(let lr of ir){if(!lr)continue;if(typeof lr==="string"){lr=require(lr)}if("Configuration"in lr){this.load(lr)}else if("component"in lr){if(lr===null||lr===void 0?void 0:lr.enabledEnvironment){if((sr=lr===null||lr===void 0?void 0:lr.enabledEnvironment)===null||sr===void 0?void 0:sr.includes(this.container.get(Hr.MidwayEnvironmentService).getCurrentEnvironment())){this.load(lr.component)}}else{this.load(lr.component)}}else{this.load(lr)}}}addImportObjects(ir){if(ir){const sr=Object.keys(ir);for(const lr of sr){if(typeof ir[lr]!==undefined){this.container.registerObject(lr,ir[lr])}}}}bindConfigurationClass(ir,sr){if(ir instanceof yr.FunctionalConfiguration){}else{(0,hr.saveProviderId)(undefined,ir);const lr=(0,hr.getProviderUUId)(ir);this.container.bind(lr,ir,{namespace:sr,scope:Br.ScopeEnum.Singleton})}const lr=(0,hr.listModule)(hr.CONFIGURATION_KEY);const kr=lr.find((sr=>sr.target===ir));if(!kr){(0,hr.saveModule)(hr.CONFIGURATION_KEY,{target:ir,namespace:sr})}}getConfigurationExport(ir){const sr=[];if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)||ir instanceof yr.FunctionalConfiguration){sr.push(ir)}else{for(const lr in ir){const hr=ir[lr];if(Zr.Types.isClass(hr)||Zr.Types.isFunction(hr)||hr instanceof yr.FunctionalConfiguration){sr.push(hr)}}}return sr}getNamespaceList(){return this.namespaceList}getConfigurationOptionsList(){return this.configurationOptionsList}}class MidwayContainer{constructor(ir){this._resolverFactory=null;this._registry=null;this._identifierMapping=null;this.moduleMap=null;this.parent=null;this.ctx=Ur.SINGLETON_CONTAINER_CTX;this.attrMap=new Map;this._namespaceSet=null;this.parent=ir;this.init()}init(){this.registerObject(Ur.REQUEST_CTX_KEY,this.ctx)}get objectCreateEventTarget(){if(!this._objectCreateEventTarget){this._objectCreateEventTarget=new Yr}return this._objectCreateEventTarget}get registry(){if(!this._registry){this._registry=new Fr.ObjectDefinitionRegistry}return this._registry}set registry(ir){this._registry=ir}get managedResolverFactory(){if(!this._resolverFactory){this._resolverFactory=new Jr.ManagedResolverFactory(this)}return this._resolverFactory}get identifierMapping(){if(!this._identifierMapping){this._identifierMapping=this.registry.getIdentifierRelation()}return this._identifierMapping}get namespaceSet(){if(!this._namespaceSet){this._namespaceSet=new Set}return this._namespaceSet}load(ir){var sr,lr,hr;if(!Array.isArray(ir)){ir=[ir]}const yr=new ContainerConfiguration(this);for(const sr of ir){if(sr){yr.load(sr)}}for(const ir of yr.getNamespaceList()){this.namespaceSet.add(ir);un(`[core]: load configuration in namespace="${ir}" complete`)}const kr=(sr=yr.getConfigurationOptionsList())!==null&&sr!==void 0?sr:[];const Fr=(lr=kr.find((ir=>!ir.namespace)))!==null&&lr!==void 0?lr:{};this.fileDetector=(hr=Fr.detector)!==null&&hr!==void 0?hr:this.fileDetector;if(this.fileDetector){this.fileDetector.setExtraDetectorOptions({conflictCheck:Fr.conflictCheck,...Fr.detectorOptions})}}loadDefinitions(){if(this.fileDetector){return this.fileDetector.run(this)}}bindClass(ir,sr){if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)){this.bindModule(ir,sr)}else{for(const lr in ir){const hr=ir[lr];if(Zr.Types.isClass(hr)||Zr.Types.isFunction(hr)){this.bindModule(hr,sr)}}}}bind(ir,sr,lr){var yr;if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)){return this.bindModule(ir,sr)}if(this.registry.hasDefinition(ir)){return}if(lr===null||lr===void 0?void 0:lr.bindHook){lr.bindHook(sr,lr)}let kr;if(Zr.Types.isClass(sr)){kr=new Wr.ObjectDefinition;kr.name=(0,hr.getProviderName)(sr)}else{kr=new zr.FunctionDefinition;if(!Zr.Types.isAsyncFunction(sr)){kr.asynchronous=false}kr.name=kr.id}kr.path=sr;kr.id=ir;kr.srcPath=(lr===null||lr===void 0?void 0:lr.srcPath)||null;kr.namespace=(lr===null||lr===void 0?void 0:lr.namespace)||"";kr.scope=(lr===null||lr===void 0?void 0:lr.scope)||Br.ScopeEnum.Request;kr.createFrom=lr===null||lr===void 0?void 0:lr.createFrom;if(kr.srcPath){un(`[core]: bind id "${kr.name} (${kr.srcPath}) ${ir}"`)}else{un(`[core]: bind id "${kr.name}" ${ir}`)}const Fr=(0,hr.getPropertyInject)(sr);for(const ir in Fr){const sr=Fr[ir];Tn(`${" ".repeat(jn)}inject properties => [${JSON.stringify(sr)}]`);const lr=new Jr.ManagedReference;lr.args=sr.args;lr.name=sr.value;lr.injectMode=sr["injectMode"];kr.properties.set(sr["targetKey"],lr)}const Ur=(0,hr.getClassExtendedMetadata)(hr.INJECT_CUSTOM_PROPERTY,sr);for(const ir in Ur){const sr=Ur[ir];kr.handlerProps.push(sr)}const Hr=(yr=(0,hr.getObjectDefinition)(sr))!==null&&yr!==void 0?yr:{};if(Hr.initMethod){Tn(`${" ".repeat(jn)}register initMethod = ${Hr.initMethod}`);kr.initMethod=Hr.initMethod}if(Hr.destroyMethod){Tn(`${" ".repeat(jn)}register destroyMethod = ${Hr.destroyMethod}`);kr.destroyMethod=Hr.destroyMethod}if(Hr.scope){Tn(`${" ".repeat(jn)}register scope = ${Hr.scope}`);kr.scope=Hr.scope}if(Hr.allowDowngrade){Tn(`${" ".repeat(jn)}register allowDowngrade = ${Hr.allowDowngrade}`);kr.allowDowngrade=Hr.allowDowngrade}this.objectCreateEventTarget.emit(Br.ObjectLifeCycleEvent.BEFORE_BIND,sr,{context:this,definition:kr,replaceCallback:ir=>{kr=ir}});if(kr){this.registry.registerDefinition(kr.id,kr)}}bindModule(ir,sr){if(Zr.Types.isClass(ir)){const lr=(0,hr.getProviderUUId)(ir);if(lr){this.identifierMapping.saveClassRelation(ir,sr===null||sr===void 0?void 0:sr.namespace);this.bind(lr,ir,sr)}else{}}else{const lr=ir[Ur.FUNCTION_INJECT_KEY];if(lr&&lr.id){if(!lr.scope){lr.scope=Br.ScopeEnum.Request}const hr=cn.Utils.generateRandomId();this.identifierMapping.saveFunctionRelation(lr.id,hr);this.bind(hr,ir,{scope:lr.scope,namespace:sr.namespace,srcPath:sr.srcPath,createFrom:sr.createFrom})}}}setFileDetector(ir){this.fileDetector=ir}createChild(){return new MidwayContainer(this)}setAttr(ir,sr){this.attrMap.set(ir,sr)}getAttr(ir){return this.attrMap.get(ir)}getIdentifier(ir){return(0,hr.getProviderUUId)(ir)}getManagedResolverFactory(){if(!this._resolverFactory){this._resolverFactory=new Jr.ManagedResolverFactory(this)}return this._resolverFactory}async stop(){await this.getManagedResolverFactory().destroyCache();this.registry.clearAll()}ready(){return this.loadDefinitions()}get(ir,sr,lr){var hr;sr=sr!==null&&sr!==void 0?sr:[];lr=lr!==null&&lr!==void 0?lr:{originName:ir};if(typeof ir!=="string"){lr.originName=ir.name;ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const yr=this.registry.getDefinition(ir);if(!yr&&this.parent){return this.parent.get(ir,sr)}if(!yr){throw new Qr.MidwayDefinitionNotFoundError((hr=lr===null||lr===void 0?void 0:lr.originName)!==null&&hr!==void 0?hr:ir)}return this.getManagedResolverFactory().create({definition:yr,args:sr})}async getAsync(ir,sr,lr){var hr;sr=sr!==null&&sr!==void 0?sr:[];lr=lr!==null&&lr!==void 0?lr:{originName:ir};if(typeof ir!=="string"){lr.originName=ir.name;ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const yr=this.registry.getDefinition(ir);if(!yr&&this.parent){return this.parent.getAsync(ir,sr)}if(!yr){throw new Qr.MidwayDefinitionNotFoundError((hr=lr===null||lr===void 0?void 0:lr.originName)!==null&&hr!==void 0?hr:ir)}return this.getManagedResolverFactory().createAsync({definition:yr,args:sr})}registerObject(ir,sr){this.registry.registerObject(ir,sr)}onBeforeBind(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_BIND,ir)}onBeforeObjectCreated(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_CREATED,ir)}onObjectCreated(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.AFTER_CREATED,ir)}onObjectInit(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.AFTER_INIT,ir)}onBeforeObjectDestroy(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_DESTROY,ir)}saveModule(ir,sr){if(!this.moduleMap.has(ir)){this.moduleMap.set(ir,new Set)}this.moduleMap.get(ir).add(sr)}listModule(ir){return Array.from(this.moduleMap.get(ir)||{})}transformModule(ir){this.moduleMap=new Map(ir)}hasNamespace(ir){return this.namespaceSet.has(ir)}getNamespaceList(){return Array.from(this.namespaceSet)}hasDefinition(ir){return this.registry.hasDefinition(ir)}hasObject(ir){return this.registry.hasObject(ir)}getInstanceScope(ir){if(ir[Ur.CONTAINER_OBJ_SCOPE]){return ir[Ur.CONTAINER_OBJ_SCOPE]}return undefined}}sr.MidwayContainer=MidwayContainer},20873:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectDefinitionRegistry=void 0;const hr=lr(49757);const yr="_id_default_";class LegacyIdentifierRelation extends Map{saveClassRelation(ir,sr){const lr=(0,hr.getProviderUUId)(ir);this.set(lr,lr);if(lr){const yr=(0,hr.getProviderId)(ir);if(yr){this.set(yr,lr)}this.set((0,hr.getProviderName)(ir),lr);if(sr){this.set(sr+":"+(0,hr.getProviderName)(ir),lr)}}}saveFunctionRelation(ir,sr){this.set(sr,sr);this.set(ir,sr)}hasRelation(ir){return this.has(ir)}getRelation(ir){return this.get(ir)}}class ObjectDefinitionRegistry extends Map{constructor(){super(...arguments);this.singletonIds=[];this._identifierRelation=new LegacyIdentifierRelation}get identifierRelation(){if(!this._identifierRelation){this._identifierRelation=new LegacyIdentifierRelation}return this._identifierRelation}set identifierRelation(ir){this._identifierRelation=ir}get identifiers(){const ir=[];for(const sr of this.keys()){if(sr.indexOf(yr)===-1){ir.push(sr)}}return ir}get count(){return this.size}getSingletonDefinitionIds(){return this.singletonIds}getDefinitionByName(ir){const sr=[];for(const lr of this.values()){const hr=lr;if(hr.name===ir){sr.push(hr)}}return sr}registerDefinition(ir,sr){if(sr.isSingletonScope()){this.singletonIds.push(ir)}this.set(ir,sr)}getDefinition(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.get(ir)}removeDefinition(ir){this.delete(ir)}hasDefinition(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.has(ir)}clearAll(){this.singletonIds=[];this.clear()}hasObject(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.has(yr+ir)}registerObject(ir,sr){this.set(yr+ir,sr)}getObject(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.get(yr+ir)}getIdentifierRelation(){return this.identifierRelation}setIdentifierRelation(ir){this.identifierRelation=ir}}sr.ObjectDefinitionRegistry=ObjectDefinitionRegistry},80932:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ManagedResolverFactory=sr.ManagedReference=void 0;const hr=lr(2222);const yr=lr(6192);const kr=lr(39023);const Fr=lr(86314);const Br=kr.debuglog("midway:managedresolver");const Ur=kr.debuglog("midway:debug");class ManagedReference{constructor(){this.type=hr.KEYS.REF_ELEMENT}}sr.ManagedReference=ManagedReference;class RefResolver{constructor(ir){this.factory=ir}get type(){return hr.KEYS.REF_ELEMENT}resolve(ir,sr){var lr;const hr=ir;if(hr.injectMode===yr.InjectModeEnum.Class&&!((lr=this.factory.context.parent)!==null&&lr!==void 0?lr:this.factory.context).hasDefinition(hr.name)){if(sr==="loggerService"){throw new Fr.MidwayInconsistentVersionError}else{throw new Fr.MidwayMissingImportComponentError(sr)}}return this.factory.context.get(hr.name,hr.args,{originName:sr})}async resolveAsync(ir,sr){var lr;const hr=ir;if(hr.injectMode===yr.InjectModeEnum.Class&&!((lr=this.factory.context.parent)!==null&&lr!==void 0?lr:this.factory.context).hasDefinition(hr.name)){if(sr==="loggerService"){throw new Fr.MidwayInconsistentVersionError}else{throw new Fr.MidwayMissingImportComponentError(sr)}}return this.factory.context.getAsync(hr.name,hr.args,{originName:sr})}}class ManagedResolverFactory{constructor(ir){this.resolvers={};this.creating=new Map;this.singletonCache=new Map;this.context=ir;this.resolvers={ref:new RefResolver(this)}}registerResolver(ir){this.resolvers[ir.type]=ir}resolveManaged(ir,sr){const lr=this.resolvers[ir.type];if(!lr||lr.type!==ir.type){throw new Fr.MidwayResolverMissingError(ir.type)}return lr.resolve(ir,sr)}async resolveManagedAsync(ir,sr){const lr=this.resolvers[ir.type];if(!lr||lr.type!==ir.type){throw new Fr.MidwayResolverMissingError(ir.type)}return lr.resolveAsync(ir,sr)}create(ir){const{definition:sr,args:lr}=ir;if(sr.isSingletonScope()&&this.singletonCache.has(sr.id)){return this.singletonCache.get(sr.id)}let kr=this.createProxyReference(sr);if(kr){return kr}this.compareAndSetCreateStatus(sr);if(sr.hasDependsOn()){for(const ir of sr.dependsOn){this.context.get(ir,lr)}}Ur(`[core]: Create id = "${sr.name}" ${sr.id}.`);const Br=sr.creator.load();let Wr=[];if(lr&&Array.isArray(lr)&&lr.length>0){Wr=lr}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_CREATED,Br,{constructorArgs:Wr,definition:sr,context:this.context});kr=sr.creator.doConstruct(Br,Wr,this.context);if(sr.isRequestScope()&&sr.constructor.name==="ObjectDefinition"){Object.defineProperty(kr,hr.REQUEST_OBJ_CTX_KEY,{value:this.context.get(hr.REQUEST_CTX_KEY),writable:false,enumerable:false})}if(sr.properties){const ir=sr.properties.propertyKeys();for(const lr of ir){this.checkSingletonInvokeRequest(sr,lr);try{kr[lr]=this.resolveManaged(sr.properties.get(lr),lr)}catch(ir){if(Fr.MidwayDefinitionNotFoundError.isClosePrototypeOf(ir)){const lr=sr.path.name;ir.updateErrorMsg(lr)}this.removeCreateStatus(sr,true);throw ir}}}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_CREATED,kr,{context:this.context,definition:sr,replaceCallback:ir=>{kr=ir}});sr.creator.doInit(kr);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_INIT,kr,{context:this.context,definition:sr});if(sr.id){if(sr.isSingletonScope()){this.singletonCache.set(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Singleton)}else if(sr.isRequestScope()){this.context.registerObject(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Request)}else{this.setInstanceScope(kr,yr.ScopeEnum.Prototype)}}this.removeCreateStatus(sr,true);return kr}async createAsync(ir){const{definition:sr,args:lr}=ir;if(sr.isSingletonScope()&&this.singletonCache.has(sr.id)){Br(`id = ${sr.id}(${sr.name}) get from singleton cache.`);return this.singletonCache.get(sr.id)}let kr=this.createProxyReference(sr);if(kr){Br(`id = ${sr.id}(${sr.name}) from proxy reference.`);return kr}this.compareAndSetCreateStatus(sr);if(sr.hasDependsOn()){for(const ir of sr.dependsOn){Br("id = %s init depend %s.",sr.id,ir);await this.context.getAsync(ir,lr)}}Ur(`[core]: Create id = "${sr.name}" ${sr.id}.`);const Wr=sr.creator.load();let zr=[];if(lr&&Array.isArray(lr)&&lr.length>0){zr=lr}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_CREATED,Wr,{constructorArgs:zr,context:this.context});kr=await sr.creator.doConstructAsync(Wr,zr,this.context);if(!kr){this.removeCreateStatus(sr,false);throw new Fr.MidwayCommonError(`${sr.id} construct return undefined`)}if(sr.isRequestScope()&&sr.constructor.name==="ObjectDefinition"){Br("id = %s inject ctx",sr.id);Object.defineProperty(kr,hr.REQUEST_OBJ_CTX_KEY,{value:this.context.get(hr.REQUEST_CTX_KEY),writable:false,enumerable:false})}if(sr.properties){const ir=sr.properties.propertyKeys();for(const lr of ir){this.checkSingletonInvokeRequest(sr,lr);try{kr[lr]=await this.resolveManagedAsync(sr.properties.get(lr),lr)}catch(ir){if(Fr.MidwayDefinitionNotFoundError.isClosePrototypeOf(ir)){const lr=sr.path.name;ir.updateErrorMsg(lr)}this.removeCreateStatus(sr,false);throw ir}}}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_CREATED,kr,{context:this.context,definition:sr,replaceCallback:ir=>{kr=ir}});await sr.creator.doInitAsync(kr);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_INIT,kr,{context:this.context,definition:sr});if(sr.id){if(sr.isSingletonScope()){Br(`id = ${sr.id}(${sr.name}) set to singleton cache`);this.singletonCache.set(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Singleton)}else if(sr.isRequestScope()){Br(`id = ${sr.id}(${sr.name}) set to register object`);this.context.registerObject(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Request)}else{this.setInstanceScope(kr,yr.ScopeEnum.Prototype)}}this.removeCreateStatus(sr,true);return kr}async destroyCache(){for(const ir of this.singletonCache.keys()){const sr=this.context.registry.getDefinition(ir);if(sr.creator){const lr=this.singletonCache.get(ir);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_DESTROY,lr,{context:this.context,definition:sr});await sr.creator.doDestroyAsync(lr)}}this.singletonCache.clear();this.creating.clear()}removeCreateStatus(ir,sr){if(this.creating.has(ir.id)){this.creating.set(ir.id,false)}return true}isCreating(ir){return this.creating.has(ir.id)&&this.creating.get(ir.id)}compareAndSetCreateStatus(ir){if(!this.creating.has(ir.id)||!this.creating.get(ir.id)){this.creating.set(ir.id,true)}}createProxyReference(ir){if(this.isCreating(ir)){Br("create proxy for %s.",ir.id);if(!this.depthFirstSearch(ir.id,ir)){Br("id = %s after dfs return null",ir.id);return null}return new Proxy({__is_proxy__:true,__target_id__:ir.id},{get:(sr,lr)=>{let hr;if(ir.isRequestScope()){hr=this.context.registry.getObject(ir.id)}else if(ir.isSingletonScope()){hr=this.singletonCache.get(ir.id)}else{hr=this.context.get(ir.id)}if(hr){if(typeof hr[lr]==="function"){return hr[lr].bind(hr)}return hr[lr]}return undefined}})}return null}depthFirstSearch(ir,sr,lr){var hr;if(sr){Br("dfs for %s == %s start.",ir,sr.id);if(sr.properties){const yr=sr.properties.propertyKeys();if(yr.indexOf(ir)>-1){Br("dfs exist in properties %s == %s.",ir,sr.id);return true}for(const kr of yr){if(!Array.isArray(lr)){lr=[ir]}let yr=kr;const Fr=sr.properties.get(kr);if(Fr&&Fr.name){yr=(hr=this.context.identifierMapping.getRelation(Fr.name))!==null&&hr!==void 0?hr:Fr.name}if(yr===ir){Br("dfs exist in properties key %s == %s.",ir,sr.id);return true}if(lr.indexOf(yr)>-1){Br("dfs depth circular %s == %s, %s, %j.",ir,sr.id,yr,lr);continue}else{lr.push(yr);Br("dfs depth push %s == %s, %j.",ir,yr,lr)}let Ur=this.context.registry.getDefinition(yr);if(!Ur&&this.context.parent){Ur=this.context.parent.registry.getDefinition(yr)}if(this.depthFirstSearch(ir,Ur,lr)){Br("dfs exist in sub tree %s == %s subId = %s.",ir,sr.id,Ur.id);return true}}}Br("dfs for %s == %s end.",ir,sr.id)}return false}getObjectEventTarget(){if(this.context.parent){return this.context.parent.objectCreateEventTarget}return this.context.objectCreateEventTarget}checkSingletonInvokeRequest(ir,sr){if(ir.isSingletonScope()){const lr=ir.properties.get(sr);if(this.context.hasDefinition(lr===null||lr===void 0?void 0:lr.name)){const sr=this.context.registry.getDefinition(lr.name);if(sr.isRequestScope()&&!sr.allowDowngrade){throw new Fr.MidwaySingletonInjectRequestError(ir.path.name,sr.path.name)}}}return true}setInstanceScope(ir,sr){if(typeof ir==="object"){if(sr===yr.ScopeEnum.Request&&ir[hr.REQUEST_OBJ_CTX_KEY]===hr.SINGLETON_CONTAINER_CTX){sr=yr.ScopeEnum.Singleton}Object.defineProperty(ir,hr.CONTAINER_OBJ_SCOPE,{value:sr,writable:false,enumerable:false,configurable:false})}}}sr.ManagedResolverFactory=ManagedResolverFactory},28695:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.providerWrapper=void 0;const hr=lr(2222);function providerWrapper(ir){for(const sr of ir){Object.defineProperty(sr.provider,hr.FUNCTION_INJECT_KEY,{value:sr,writable:false})}}sr.providerWrapper=providerWrapper},97983:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayRequestContainer=void 0;const hr=lr(9288);const yr=lr(49757);const kr=lr(2222);class MidwayRequestContainer extends hr.MidwayContainer{constructor(ir,sr){super(sr);this.applicationContext=sr;this.registry.setIdentifierRelation(this.applicationContext.registry.getIdentifierRelation());this.ctx=ir;this.registerObject(kr.REQUEST_CTX_KEY,ir);this.registerObject("res",{});if(ir.logger){this.registerObject("logger",ir.logger)}}init(){}get(ir,sr){if(typeof ir!=="string"){ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const lr=this.applicationContext.registry.getDefinition(ir);if(lr){if(lr.isRequestScope()||lr.id===yr.PIPELINE_IDENTIFIER){return this.getManagedResolverFactory().create({definition:lr,args:sr})}}if(this.parent){return this.parent.get(ir,sr)}}async getAsync(ir,sr){if(typeof ir!=="string"){ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const lr=this.applicationContext.registry.getDefinition(ir);if(lr){if(lr.isRequestScope()||lr.id===yr.PIPELINE_IDENTIFIER){return this.getManagedResolverFactory().createAsync({definition:lr,args:sr})}}if(this.parent){return this.parent.getAsync(ir,sr)}}async ready(){}getContext(){return this.ctx}}sr.MidwayRequestContainer=MidwayRequestContainer},76271:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Aspect=void 0;const hr=lr(49757);const yr=lr(18025);const kr=lr(6192);function Aspect(ir,sr,lr){return function(Fr){(0,hr.saveModule)(hr.ASPECT_KEY,Fr);const Br=[].concat(ir);for(const ir of Br){(0,hr.attachClassMetadata)(hr.ASPECT_KEY,{aspectTarget:ir,match:sr,priority:lr},Fr)}(0,yr.Scope)(kr.ScopeEnum.Singleton)(Fr);(0,hr.Provide)()(Fr)}}sr.Aspect=Aspect},2940:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Autoload=void 0;const hr=lr(45317);const yr=lr(39990);function Autoload(){return function(ir){(0,hr.savePreloadModule)(ir);(0,yr.Provide)()(ir)}}sr.Autoload=Autoload},73821:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;const hr=lr(49757);function Configuration(ir={}){return sr=>{(0,hr.saveClassMetadata)(hr.CONFIGURATION_KEY,ir,sr)}}sr.Configuration=Configuration},41573:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Match=sr.Catch=void 0;const hr=lr(45317);const yr=lr(75105);const kr=lr(18025);const Fr=lr(39990);const Br=lr(6192);function Catch(ir,sr={}){return function(lr){const Ur=ir?[].concat(ir):undefined;(0,hr.saveClassMetadata)(yr.CATCH_KEY,{catchTargets:Ur,catchOptions:sr},lr);(0,kr.Scope)(Br.ScopeEnum.Singleton)(lr);(0,Fr.Provide)()(lr)}}sr.Catch=Catch;function Match(ir=true){return function(sr){(0,hr.saveClassMetadata)(yr.MATCH_KEY,{matchPattern:ir},sr);(0,kr.Scope)(Br.ScopeEnum.Singleton)(sr);(0,Fr.Provide)()(sr)}}sr.Match=Match},1623:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApplicationContext=sr.Logger=sr.App=sr.Config=sr.Plugin=sr.Framework=void 0;const hr=lr(49757);const yr=lr(6192);function Framework(){return ir=>{(0,hr.saveModule)(hr.FRAMEWORK_KEY,ir);(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Framework=Framework;function Plugin(ir){return(0,hr.createCustomPropertyDecorator)(hr.PLUGIN_KEY,{identifier:ir})}sr.Plugin=Plugin;function Config(ir){return(0,hr.createCustomPropertyDecorator)(hr.CONFIG_KEY,{identifier:ir})}sr.Config=Config;function App(ir){return(0,hr.createCustomPropertyDecorator)(hr.APPLICATION_KEY,{type:ir})}sr.App=App;function Logger(ir){return(0,hr.createCustomPropertyDecorator)(hr.LOGGER_KEY,{identifier:ir})}sr.Logger=Logger;function ApplicationContext(){return(0,hr.createCustomPropertyDecorator)(hr.APPLICATION_CONTEXT_KEY,{})}sr.ApplicationContext=ApplicationContext},41958:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Guard=sr.UseGuard=void 0;const hr=lr(45317);const yr=lr(6192);const kr=lr(75105);const Fr=lr(39990);const Br=lr(18025);function UseGuard(ir){return(sr,lr,yr)=>{if(!Array.isArray(ir)){ir=[ir]}if(lr){(0,hr.savePropertyMetadata)(kr.GUARD_KEY,ir,sr,lr)}else{(0,hr.saveClassMetadata)(kr.GUARD_KEY,ir,sr)}}}sr.UseGuard=UseGuard;function Guard(){return ir=>{(0,Fr.Provide)()(ir);(0,Br.Scope)(yr.ScopeEnum.Singleton)(ir)}}sr.Guard=Guard},92922:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.InjectClient=sr.Inject=void 0;const hr=lr(45317);const yr=lr(75105);function Inject(ir){return function(sr,lr){(0,hr.savePropertyInject)({target:sr,targetKey:lr,identifier:ir})}}sr.Inject=Inject;function InjectClient(ir,sr){return(0,hr.createCustomPropertyDecorator)(yr.FACTORY_SERVICE_CLIENT_KEY,{serviceFactoryClz:ir,clientName:sr})}sr.InjectClient=InjectClient},17511:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Middleware=void 0;const hr=lr(49757);const yr=lr(6192);function Middleware(){return ir=>{(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Middleware=Middleware},56329:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Mock=void 0;const hr=lr(49757);const yr=lr(6192);function Mock(){return ir=>{(0,hr.saveModule)(hr.MOCK_KEY,ir);(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Mock=Mock},18025:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Singleton=sr.Scope=sr.Destroy=sr.Init=void 0;const hr=lr(45317);const yr=lr(39990);const kr=lr(6192);function Init(){return function(ir,sr){(0,hr.saveObjectDefinition)(ir,{initMethod:sr})}}sr.Init=Init;function Destroy(){return function(ir,sr){(0,hr.saveObjectDefinition)(ir,{destroyMethod:sr})}}sr.Destroy=Destroy;function Scope(ir,sr){return function(lr){(0,hr.saveObjectDefinition)(lr,{scope:ir,...sr})}}sr.Scope=Scope;function Singleton(){return function(ir){Scope(kr.ScopeEnum.Singleton)(ir);(0,yr.Provide)()(ir)}}sr.Singleton=Singleton},64331:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Pipe=void 0;const hr=lr(49757);const yr=lr(6192);function Pipe(){return ir=>{(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Pipe=Pipe},52953:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Pipeline=void 0;const hr=lr(45317);const yr=lr(75105);function Pipeline(ir){return(0,hr.createCustomPropertyDecorator)(yr.PIPELINE_IDENTIFIER,{valves:ir})}sr.Pipeline=Pipeline},39990:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Provide=void 0;const hr=lr(45317);function Provide(ir){return function(sr){return(0,hr.saveProviderId)(ir,sr)}}sr.Provide=Provide},75105:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TAGGED_CLS=sr.INJECT_CUSTOM_PARAM=sr.INJECT_CUSTOM_METHOD=sr.INJECT_CUSTOM_PROPERTY=sr.INJECT_TAG=sr.NAMED_TAG=sr.CLASS_KEY_CONSTRUCTOR=sr.APPLICATION_CONTEXT_KEY=sr.APPLICATION_KEY=sr.LOGGER_KEY=sr.PLUGIN_KEY=sr.CONFIG_KEY=sr.MS_HSF_METHOD_KEY=sr.MS_DUBBO_METHOD_KEY=sr.MS_GRPC_METHOD_KEY=sr.MS_PROVIDER_KEY=sr.MS_PRODUCER_KEY=sr.MS_CONSUMER_KEY=sr.RPC_DUBBO_KEY=sr.RPC_GRPC_KEY=sr.HSF_KEY=sr.WS_EVENT_KEY=sr.WS_CONTROLLER_KEY=sr.MODULE_TASK_QUEUE_OPTIONS=sr.MODULE_TASK_QUEUE_KEY=sr.MODULE_TASK_TASK_LOCAL_OPTIONS=sr.MODULE_TASK_TASK_LOCAL_KEY=sr.MODULE_TASK_METADATA=sr.MODULE_TASK_KEY=sr.WEB_RESPONSE_RENDER=sr.WEB_RESPONSE_CONTENT_TYPE=sr.WEB_RESPONSE_HEADER=sr.WEB_RESPONSE_REDIRECT=sr.WEB_RESPONSE_HTTP_CODE=sr.WEB_RESPONSE_KEY=sr.WEB_ROUTER_PARAM_KEY=sr.WEB_ROUTER_KEY=sr.CONTROLLER_KEY=sr.SERVERLESS_FUNC_KEY=sr.FUNC_KEY=sr.FACTORY_SERVICE_CLIENT_KEY=sr.MOCK_KEY=sr.GUARD_KEY=sr.MATCH_KEY=sr.CATCH_KEY=sr.ASPECT_KEY=sr.FRAMEWORK_KEY=sr.CONFIGURATION_KEY=sr.SCHEDULE_KEY=sr.ALL=void 0;sr.PRIVATE_META_DATA_KEY=sr.MAIN_MODULE_KEY=sr.LIFECYCLE_IDENTIFIER_PREFIX=sr.PIPELINE_IDENTIFIER=sr.OBJ_DEF_CLS=sr.TAGGED_FUN=void 0;sr.ALL="common:all_value_key";sr.SCHEDULE_KEY="common:schedule";sr.CONFIGURATION_KEY="common:configuration";sr.FRAMEWORK_KEY="common:framework";sr.ASPECT_KEY="common:aspect";sr.CATCH_KEY="common:catch";sr.MATCH_KEY="common:match";sr.GUARD_KEY="common:guard";sr.MOCK_KEY="common:mock";sr.FACTORY_SERVICE_CLIENT_KEY="common:service_factory:client";sr.FUNC_KEY="faas:func";sr.SERVERLESS_FUNC_KEY="faas:serverless:function";sr.CONTROLLER_KEY="web:controller";sr.WEB_ROUTER_KEY="web:router";sr.WEB_ROUTER_PARAM_KEY="web:router_param";sr.WEB_RESPONSE_KEY="web:response";sr.WEB_RESPONSE_HTTP_CODE="web:response_http_code";sr.WEB_RESPONSE_REDIRECT="web:response_redirect";sr.WEB_RESPONSE_HEADER="web:response_header";sr.WEB_RESPONSE_CONTENT_TYPE="web:response_content_type";sr.WEB_RESPONSE_RENDER="web:response_render";sr.MODULE_TASK_KEY="task:task";sr.MODULE_TASK_METADATA="task:task:options";sr.MODULE_TASK_TASK_LOCAL_KEY="task:task:task_local";sr.MODULE_TASK_TASK_LOCAL_OPTIONS="task:task:task_local:options";sr.MODULE_TASK_QUEUE_KEY="task:task:queue";sr.MODULE_TASK_QUEUE_OPTIONS="task:task:queue:options";sr.WS_CONTROLLER_KEY="ws:controller";sr.WS_EVENT_KEY="ws:event";sr.HSF_KEY="rpc:hsf";sr.RPC_GRPC_KEY="rpc:grpc";sr.RPC_DUBBO_KEY="rpc:dubbo";sr.MS_CONSUMER_KEY="ms:consumer";sr.MS_PRODUCER_KEY="ms:producer";sr.MS_PROVIDER_KEY="ms:provider";sr.MS_GRPC_METHOD_KEY="ms:grpc:method";sr.MS_DUBBO_METHOD_KEY="ms:dubbo:method";sr.MS_HSF_METHOD_KEY="ms:hsf:method";sr.CONFIG_KEY="config";sr.PLUGIN_KEY="plugin";sr.LOGGER_KEY="logger";sr.APPLICATION_KEY="__midway_framework_app__";sr.APPLICATION_CONTEXT_KEY="__midway_application_context__";sr.CLASS_KEY_CONSTRUCTOR="midway:class_key_constructor";sr.NAMED_TAG="named";sr.INJECT_TAG="inject";sr.INJECT_CUSTOM_PROPERTY="inject_custom_property";sr.INJECT_CUSTOM_METHOD="inject_custom_method";sr.INJECT_CUSTOM_PARAM="inject_custom_param";sr.TAGGED_CLS="injection:tagged_class";sr.TAGGED_FUN="injection:tagged_function";sr.OBJ_DEF_CLS="injection:object_definition_class";sr.PIPELINE_IDENTIFIER="__pipeline_identifier__";sr.LIFECYCLE_IDENTIFIER_PREFIX="__lifecycle__";sr.MAIN_MODULE_KEY="__main__";sr.PRIVATE_META_DATA_KEY="__midway_private_meta_data__"},45317:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createCustomParamDecorator=sr.createCustomMethodDecorator=sr.createCustomPropertyDecorator=sr.getMethodReturnTypes=sr.getPropertyType=sr.getMethodParamTypes=sr.BaseType=sr.isProvide=sr.getProviderUUId=sr.getProviderName=sr.getProviderId=sr.saveProviderId=sr.getObjectDefinition=sr.saveObjectDefinition=sr.getPropertyInject=sr.savePropertyInject=sr.transformTypeFromTSDesign=sr.clearAllModule=sr.resetModule=sr.listModule=sr.clearBindContainer=sr.bindContainer=sr.saveModule=sr.listPreloadModule=sr.savePreloadModule=sr.getPropertyMetadata=sr.attachPropertyMetadata=sr.savePropertyMetadata=sr.listPropertyDataFromClass=sr.getPropertyDataFromClass=sr.attachPropertyDataToClass=sr.savePropertyDataToClass=sr.getClassMetadata=sr.getClassExtendedMetadata=sr.attachClassMetadata=sr.saveClassMetadata=sr.DecoratorManager=sr.INJECT_CLASS_KEY_PREFIX=sr.PRELOAD_MODULE_KEY=void 0;lr(37159);const hr=lr(6192);const yr=lr(75105);const kr=lr(63289);const Fr=lr(90406);const Br=lr(65308);const Ur=lr(61327);const Wr=lr(39023).debuglog("midway:core");sr.PRELOAD_MODULE_KEY="INJECTION_PRELOAD_MODULE_KEY";sr.INJECT_CLASS_KEY_PREFIX="INJECTION_CLASS_META_DATA";class DecoratorManager extends Map{constructor(){super(...arguments);this.injectClassKeyPrefix=sr.INJECT_CLASS_KEY_PREFIX;this.injectClassMethodKeyPrefix="INJECTION_CLASS_METHOD_META_DATA";this.injectMethodKeyPrefix="INJECTION_METHOD_META_DATA"}saveModule(ir,sr){if(this.container){return this.container.saveModule(ir,sr)}if(!this.has(ir)){this.set(ir,new Set)}this.get(ir).add(sr)}listModule(ir){if(this.container){return this.container.listModule(ir)}return Array.from(this.get(ir)||{})}resetModule(ir){this.set(ir,new Set)}bindContainer(ir){this.container=ir;this.container.transformModule(this)}static getDecoratorClassKey(ir){return ir.toString()+"_CLS"}static removeDecoratorClassKeySuffix(ir){return ir.toString().replace("_CLS","")}static getDecoratorMethodKey(ir){return ir.toString()+"_METHOD"}static getDecoratorClsExtendedKey(ir){return ir.toString()+"_EXT"}static getDecoratorClsMethodPrefix(ir){return ir.toString()+"_CLS_METHOD"}static getDecoratorClsMethodKey(ir,sr){return DecoratorManager.getDecoratorClsMethodPrefix(ir)+":"+sr.toString()}static getDecoratorMethod(ir,sr){return DecoratorManager.getDecoratorMethodKey(ir)+"_"+sr.toString()}static saveMetadata(ir,sr,lr,hr){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let yr;if(Reflect.hasOwnMetadata(ir,sr)){yr=Reflect.getMetadata(ir,sr)}else{yr=new Map}yr.set(lr,hr);Reflect.defineMetadata(ir,yr,sr)}static attachMetadata(ir,sr,lr,hr,yr,kr="one"){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let Fr;if(Reflect.hasOwnMetadata(ir,sr)){Fr=Reflect.getMetadata(ir,sr)}else{Fr=new Map}if(!Fr.has(lr)){if(yr){Fr.set(lr,{})}else{Fr.set(lr,[])}}if(yr){if(kr==="one"){Fr.get(lr)[yr]=hr}else{if(Fr.get(lr)[yr]){Fr.get(lr)[yr].push(hr)}else{Fr.get(lr)[yr]=[hr]}}}else{Fr.get(lr).push(hr)}Reflect.defineMetadata(ir,Fr,sr)}static getMetadata(ir,sr,lr){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let hr;if(!Reflect.hasOwnMetadata(ir,sr)){hr=new Map;Reflect.defineMetadata(ir,hr,sr)}else{hr=Reflect.getMetadata(ir,sr)}if(!lr){return hr}return hr.get(lr)}saveMetadata(ir,sr,lr,hr){if(hr){const yr=DecoratorManager.getDecoratorMethod(ir,hr);DecoratorManager.saveMetadata(this.injectMethodKeyPrefix,lr,yr,sr)}else{const hr=DecoratorManager.getDecoratorClassKey(ir);DecoratorManager.saveMetadata(this.injectClassKeyPrefix,lr,hr,sr)}}attachMetadata(ir,sr,lr,hr,yr,kr){if(hr){const Fr=DecoratorManager.getDecoratorMethod(ir,hr);DecoratorManager.attachMetadata(this.injectMethodKeyPrefix,lr,Fr,sr,yr,kr)}else{const hr=DecoratorManager.getDecoratorClassKey(ir);DecoratorManager.attachMetadata(this.injectClassKeyPrefix,lr,hr,sr,yr,kr)}}getMetadata(ir,sr,lr){if(lr){const hr=DecoratorManager.getDecoratorMethod(ir,lr);return DecoratorManager.getMetadata(this.injectMethodKeyPrefix,sr,hr)}else{const lr=`${DecoratorManager.getDecoratorClassKey(ir)}`;return DecoratorManager.getMetadata(this.injectClassKeyPrefix,sr,lr)}}savePropertyDataToClass(ir,sr,lr,hr){const yr=DecoratorManager.getDecoratorClsMethodKey(ir,hr);DecoratorManager.saveMetadata(this.injectClassMethodKeyPrefix,lr,yr,sr)}attachPropertyDataToClass(ir,sr,lr,hr,yr){const kr=DecoratorManager.getDecoratorClsMethodKey(ir,hr);DecoratorManager.attachMetadata(this.injectClassMethodKeyPrefix,lr,kr,sr,yr)}getPropertyDataFromClass(ir,sr,lr){const hr=DecoratorManager.getDecoratorClsMethodKey(ir,lr);return DecoratorManager.getMetadata(this.injectClassMethodKeyPrefix,sr,hr)}listPropertyDataFromClass(ir,sr){const lr=DecoratorManager.getMetadata(this.injectClassMethodKeyPrefix,sr);const hr=[];for(const[sr,yr]of lr){if(sr.indexOf(DecoratorManager.getDecoratorClsMethodPrefix(ir))!==-1){hr.push(yr)}}return hr}}sr.DecoratorManager=DecoratorManager;let zr=new DecoratorManager;if(typeof global==="object"){if(global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]){console.warn('DecoratorManager not singleton and please check @midwayjs/core version by "npm ls @midwayjs/core"');const ir=(0,Ur.getModuleRequirePathList)("@midwayjs/core");if(ir.length){console.info("The module may be located in:");ir.forEach(((ir,sr)=>{console.info(`${sr+1}. ${ir}`)}))}zr=global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]}else{global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]=zr}}function saveClassMetadata(ir,sr,lr,hr){if(hr&&typeof sr==="object"){const hr=zr.getMetadata(ir,lr);if(!hr){return zr.saveMetadata(ir,sr,lr)}if(Array.isArray(hr)){return zr.saveMetadata(ir,hr.concat(sr),lr)}else{return zr.saveMetadata(ir,Object.assign(hr,sr),lr)}}else{return zr.saveMetadata(ir,sr,lr)}}sr.saveClassMetadata=saveClassMetadata;function attachClassMetadata(ir,sr,lr,hr,yr){return zr.attachMetadata(ir,sr,lr,undefined,hr,yr)}sr.attachClassMetadata=attachClassMetadata;function getClassExtendedMetadata(ir,sr,lr,hr){if(hr===undefined){hr=true}const yr=DecoratorManager.getDecoratorClsExtendedKey(ir);let kr=zr.getMetadata(yr,sr,lr);if(hr&&kr!==undefined){return kr}const Fr=Reflect.getPrototypeOf(sr);if(Fr&&Fr.constructor!==Object){kr=(0,Br.merge)(getClassExtendedMetadata(ir,Fr,lr,hr),zr.getMetadata(ir,sr,lr))}zr.saveMetadata(yr,kr||null,sr,lr);return kr}sr.getClassExtendedMetadata=getClassExtendedMetadata;function getClassMetadata(ir,sr){return zr.getMetadata(ir,sr)}sr.getClassMetadata=getClassMetadata;function savePropertyDataToClass(ir,sr,lr,hr){return zr.savePropertyDataToClass(ir,sr,lr,hr)}sr.savePropertyDataToClass=savePropertyDataToClass;function attachPropertyDataToClass(ir,sr,lr,hr,yr){return zr.attachPropertyDataToClass(ir,sr,lr,hr,yr)}sr.attachPropertyDataToClass=attachPropertyDataToClass;function getPropertyDataFromClass(ir,sr,lr){return zr.getPropertyDataFromClass(ir,sr,lr)}sr.getPropertyDataFromClass=getPropertyDataFromClass;function listPropertyDataFromClass(ir,sr){return zr.listPropertyDataFromClass(ir,sr)}sr.listPropertyDataFromClass=listPropertyDataFromClass;function savePropertyMetadata(ir,sr,lr,hr){return zr.saveMetadata(ir,sr,lr,hr)}sr.savePropertyMetadata=savePropertyMetadata;function attachPropertyMetadata(ir,sr,lr,hr){return zr.attachMetadata(ir,sr,lr,hr)}sr.attachPropertyMetadata=attachPropertyMetadata;function getPropertyMetadata(ir,sr,lr){return zr.getMetadata(ir,sr,lr)}sr.getPropertyMetadata=getPropertyMetadata;function savePreloadModule(ir){return saveModule(sr.PRELOAD_MODULE_KEY,ir)}sr.savePreloadModule=savePreloadModule;function listPreloadModule(){return listModule(sr.PRELOAD_MODULE_KEY)}sr.listPreloadModule=listPreloadModule;function saveModule(ir,sr){if((0,kr.isClass)(sr)){saveProviderId(undefined,sr)}return zr.saveModule(ir,sr)}sr.saveModule=saveModule;function bindContainer(ir){return zr.bindContainer(ir)}sr.bindContainer=bindContainer;function clearBindContainer(){return zr.container=null}sr.clearBindContainer=clearBindContainer;function listModule(ir,sr){const lr=zr.listModule(ir);if(sr){return lr.filter(sr)}else{return lr}}sr.listModule=listModule;function resetModule(ir){return zr.resetModule(ir)}sr.resetModule=resetModule;function clearAllModule(){Wr("--- clear all module here ---");return zr.clear()}sr.clearAllModule=clearAllModule;function transformTypeFromTSDesign(ir){if((0,kr.isNullOrUndefined)(ir)){return{name:"undefined",isBaseType:true,originDesign:ir}}switch(ir.name){case"String":return{name:"string",isBaseType:true,originDesign:ir};case"Number":return{name:"number",isBaseType:true,originDesign:ir};case"Boolean":return{name:"boolean",isBaseType:true,originDesign:ir};case"Symbol":return{name:"symbol",isBaseType:true,originDesign:ir};case"Object":return{name:"object",isBaseType:true,originDesign:ir};case"Function":return{name:"function",isBaseType:true,originDesign:ir};default:return{name:ir.name,isBaseType:false,originDesign:ir}}}sr.transformTypeFromTSDesign=transformTypeFromTSDesign;function savePropertyInject(ir){let sr=ir.identifier;let lr=hr.InjectModeEnum.Identifier;if(!sr){const yr=getPropertyType(ir.target,ir.targetKey);if(!yr.isBaseType&&(0,kr.isClass)(yr.originDesign)&&isProvide(yr.originDesign)){sr=getProviderUUId(yr.originDesign);lr=hr.InjectModeEnum.Class}if(!sr){sr=ir.targetKey;lr=hr.InjectModeEnum.PropertyName}}attachClassMetadata(yr.INJECT_TAG,{targetKey:ir.targetKey,value:sr,args:ir.args,injectMode:lr},ir.target,ir.targetKey)}sr.savePropertyInject=savePropertyInject;function getPropertyInject(ir,sr){return getClassExtendedMetadata(yr.INJECT_TAG,ir,undefined,sr)}sr.getPropertyInject=getPropertyInject;function saveObjectDefinition(ir,sr={}){saveClassMetadata(yr.OBJ_DEF_CLS,sr,ir,true);return ir}sr.saveObjectDefinition=saveObjectDefinition;function getObjectDefinition(ir){return getClassExtendedMetadata(yr.OBJ_DEF_CLS,ir)}sr.getObjectDefinition=getObjectDefinition;function saveProviderId(ir,sr){if(isProvide(sr)){if(ir){const lr=getClassMetadata(yr.TAGGED_CLS,sr);if(lr.id!==ir){lr.id=ir;saveClassMetadata(yr.TAGGED_CLS,lr,sr);Wr(`update provide: ${sr.name} -> ${lr.uuid}`)}}}else{const lr=(0,Br.generateRandomId)();saveClassMetadata(yr.TAGGED_CLS,{id:ir,originName:sr.name,uuid:lr,name:(0,Fr.camelCase)(sr.name)},sr);Wr(`save provide: ${sr.name} -> ${lr}`)}return sr}sr.saveProviderId=saveProviderId;function getProviderId(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.id){return sr.id}}sr.getProviderId=getProviderId;function getProviderName(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.name){return sr.name}}sr.getProviderName=getProviderName;function getProviderUUId(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.uuid){return sr.uuid}}sr.getProviderUUId=getProviderUUId;function isProvide(ir){return!!getClassMetadata(yr.TAGGED_CLS,ir)}sr.isProvide=isProvide;var Jr;(function(ir){ir["Boolean"]="boolean";ir["Number"]="number";ir["String"]="string"})(Jr=sr.BaseType||(sr.BaseType={}));function getMethodParamTypes(ir,sr){if((0,kr.isClass)(ir)){ir=ir.prototype}return Reflect.getMetadata("design:paramtypes",ir,sr)}sr.getMethodParamTypes=getMethodParamTypes;function getPropertyType(ir,sr){return transformTypeFromTSDesign(Reflect.getMetadata("design:type",ir,sr))}sr.getPropertyType=getPropertyType;function getMethodReturnTypes(ir,sr){if((0,kr.isClass)(ir)){ir=ir.prototype}return Reflect.getMetadata("design:returntype",ir,sr)}sr.getMethodReturnTypes=getMethodReturnTypes;function createCustomPropertyDecorator(ir,sr,lr=true){return function(hr,kr){attachClassMetadata(yr.INJECT_CUSTOM_PROPERTY,{propertyName:kr,key:ir,metadata:sr,impl:lr},hr,kr)}}sr.createCustomPropertyDecorator=createCustomPropertyDecorator;function createCustomMethodDecorator(ir,sr,lr={impl:true}){if(typeof lr==="boolean"){lr={impl:lr}}if(lr.impl===undefined){lr.impl=true}return function(hr,kr,Fr){attachClassMetadata(yr.INJECT_CUSTOM_METHOD,{propertyName:kr,key:ir,metadata:sr,options:lr},hr)}}sr.createCustomMethodDecorator=createCustomMethodDecorator;function createCustomParamDecorator(ir,sr,lr={impl:true}){if(typeof lr==="boolean"){lr={impl:lr}}if(lr.impl===undefined){lr.impl=true}return function(hr,kr,Fr){attachClassMetadata(yr.INJECT_CUSTOM_PARAM,{key:ir,parameterIndex:Fr,propertyName:kr,metadata:sr,options:lr},hr,kr,"multi")}}sr.createCustomParamDecorator=createCustomParamDecorator},69193:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerlessTrigger=sr.ServerlessFunction=void 0;const hr=lr(49757);const yr=lr(6192);function ServerlessFunction(ir){return(sr,lr,yr)=>{(0,hr.savePropertyMetadata)(hr.SERVERLESS_FUNC_KEY,ir,sr,lr)}}sr.ServerlessFunction=ServerlessFunction;function ServerlessTrigger(ir,sr={}){return(lr,kr,Fr)=>{var Br;if(ir===yr.ServerlessTriggerType.HTTP||ir===yr.ServerlessTriggerType.API_GATEWAY){sr["method"]=(Br=sr["method"])!==null&&Br!==void 0?Br:"get"}(0,hr.saveModule)(hr.FUNC_KEY,lr.constructor);sr=sr||{};(0,hr.attachClassMetadata)(hr.FUNC_KEY,{type:ir,methodName:kr,metadata:sr},lr)}}sr.ServerlessTrigger=ServerlessTrigger},49757:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(39990),sr);yr(lr(92922),sr);yr(lr(52953),sr);yr(lr(76271),sr);yr(lr(2940),sr);yr(lr(73821),sr);yr(lr(18025),sr);yr(lr(1623),sr);yr(lr(41573),sr);yr(lr(17511),sr);yr(lr(41958),sr);yr(lr(64331),sr);yr(lr(56329),sr);yr(lr(69193),sr);yr(lr(86690),sr);yr(lr(58843),sr);yr(lr(29619),sr);yr(lr(92233),sr);yr(lr(75105),sr);yr(lr(45317),sr);yr(lr(573),sr);yr(lr(4132),sr);yr(lr(76543),sr);yr(lr(64767),sr);yr(lr(41684),sr);yr(lr(17640),sr);yr(lr(81970),sr);yr(lr(52963),sr);yr(lr(57706),sr);yr(lr(67999),sr);yr(lr(20551),sr)},573:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Consumer=void 0;const hr=lr(49757);const yr=lr(6192);function Consumer(ir,sr={}){return lr=>{(0,hr.saveModule)(hr.MS_CONSUMER_KEY,lr);(0,hr.saveClassMetadata)(hr.MS_CONSUMER_KEY,{type:ir,metadata:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Consumer=Consumer},64767:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.KafkaListener=void 0;const hr=lr(49757);function KafkaListener(ir,sr={}){return(lr,yr)=>{sr.topic=ir;sr.propertyKey=yr;(0,hr.attachPropertyDataToClass)(hr.MS_CONSUMER_KEY,sr,lr,yr)}}sr.KafkaListener=KafkaListener},4132:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DubboMethod=sr.GrpcMethod=sr.GrpcStreamTypeEnum=sr.Provider=void 0;const hr=lr(49757);const yr=lr(6192);function Provider(ir,sr={}){return lr=>{(0,hr.saveModule)(hr.MS_PROVIDER_KEY,lr);(0,hr.saveClassMetadata)(hr.MS_PROVIDER_KEY,{type:ir,metadata:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Provider=Provider;var kr;(function(ir){ir["BASE"]="base";ir["DUPLEX"]="ServerDuplexStream";ir["READABLE"]="ServerReadableStream";ir["WRITEABLE"]="ServerWritableStream"})(kr=sr.GrpcStreamTypeEnum||(sr.GrpcStreamTypeEnum={}));function GrpcMethod(ir={}){return(sr,lr,yr)=>{if(!ir.type){ir.type=kr.BASE}(0,hr.savePropertyMetadata)(hr.MS_GRPC_METHOD_KEY,{methodName:ir.methodName||lr,type:ir.type,onEnd:ir.onEnd},sr,lr);return yr}}sr.GrpcMethod=GrpcMethod;function DubboMethod(ir){return(sr,lr,yr)=>{(0,hr.attachClassMetadata)(hr.MS_DUBBO_METHOD_KEY,{methodName:ir||lr},sr);return yr}}sr.DubboMethod=DubboMethod},76543:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.RabbitMQListener=void 0;const hr=lr(49757);function RabbitMQListener(ir,sr={}){return(lr,yr)=>{sr.queueName=ir;sr.propertyKey=yr;(0,hr.attachPropertyDataToClass)(hr.MS_CONSUMER_KEY,sr,lr,yr)}}sr.RabbitMQListener=RabbitMQListener},41684:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HSF=void 0;const hr=lr(49757);const yr=lr(6192);function HSF(ir={}){return sr=>{(0,hr.saveModule)(hr.HSF_KEY,sr);(0,hr.saveClassMetadata)(hr.HSF_KEY,ir,sr);(0,hr.Scope)(yr.ScopeEnum.Request)(sr);(0,hr.Provide)()(sr)}}sr.HSF=HSF},17640:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Queue=void 0;const hr=lr(49757);const yr=lr(75105);function Queue(ir){return function(sr){(0,hr.saveModule)(yr.MODULE_TASK_QUEUE_KEY,sr);(0,hr.saveClassMetadata)(yr.MODULE_TASK_QUEUE_OPTIONS,{options:ir,name:sr.name},sr);(0,hr.Provide)()(sr)}}sr.Queue=Queue},57706:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Schedule=void 0;const hr=lr(49757);const yr=lr(6192);function Schedule(ir){return function(sr){(0,hr.saveModule)(hr.SCHEDULE_KEY,sr);(0,hr.saveClassMetadata)(hr.SCHEDULE_KEY,ir,sr);(0,hr.Scope)(yr.ScopeEnum.Request)(sr);(0,hr.Provide)()(sr)}}sr.Schedule=Schedule},81970:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Task=void 0;const hr=lr(49757);const yr=lr(75105);function Task(ir){return function(sr,lr,kr){(0,hr.saveModule)(yr.MODULE_TASK_KEY,sr.constructor);(0,hr.attachClassMetadata)(yr.MODULE_TASK_METADATA,{options:ir,propertyKey:lr,value:kr.value,name:sr.constructor.name},sr)}}sr.Task=Task},52963:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TaskLocal=void 0;const hr=lr(49757);const yr=lr(75105);function TaskLocal(ir){return function(sr,lr,kr){(0,hr.saveModule)(yr.MODULE_TASK_TASK_LOCAL_KEY,sr.constructor);(0,hr.attachClassMetadata)(yr.MODULE_TASK_TASK_LOCAL_OPTIONS,{options:ir,propertyKey:lr,value:kr.value},sr)}}sr.TaskLocal=TaskLocal},86690:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Controller=void 0;const hr=lr(49757);const yr=lr(6192);function Controller(ir="/",sr={middleware:[],sensitive:true}){return lr=>{(0,hr.saveModule)(hr.CONTROLLER_KEY,lr);if(ir)(0,hr.saveClassMetadata)(hr.CONTROLLER_KEY,{prefix:ir,routerOptions:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Controller=Controller},58843:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Fields=sr.Queries=sr.RequestIP=sr.RequestPath=sr.Files=sr.File=sr.Headers=sr.Param=sr.Query=sr.Body=sr.Session=sr.createRequestParamDecorator=sr.RouteParamTypes=void 0;const hr=lr(49757);var yr;(function(ir){ir["QUERY"]="query";ir["BODY"]="body";ir["PARAM"]="param";ir["HEADERS"]="headers";ir["SESSION"]="session";ir["FILESTREAM"]="file_stream";ir["FILESSTREAM"]="files_stream";ir["NEXT"]="next";ir["REQUEST_PATH"]="request_path";ir["REQUEST_IP"]="request_ip";ir["QUERIES"]="queries";ir["FIELDS"]="fields";ir["CUSTOM"]="custom"})(yr=sr.RouteParamTypes||(sr.RouteParamTypes={}));const createParamMapping=function(ir){return(sr,lr={})=>{let yr=sr;if(Array.isArray(sr)&&lr.pipes===undefined){lr.pipes=sr;yr=undefined}return(0,hr.createCustomParamDecorator)(hr.WEB_ROUTER_PARAM_KEY,{type:ir,propertyData:yr},lr)}};const createRequestParamDecorator=function(ir,sr){sr=sr||{};if(Array.isArray(sr)){sr={pipes:sr}}return createParamMapping(yr.CUSTOM)(ir,sr)};sr.createRequestParamDecorator=createRequestParamDecorator;const Session=(ir,sr)=>createParamMapping(yr.SESSION)(ir,{pipes:sr});sr.Session=Session;const Body=(ir,sr)=>createParamMapping(yr.BODY)(ir,{pipes:sr});sr.Body=Body;const Query=(ir,sr)=>createParamMapping(yr.QUERY)(ir,{pipes:sr});sr.Query=Query;const Param=(ir,sr)=>createParamMapping(yr.PARAM)(ir,{pipes:sr});sr.Param=Param;const Headers=(ir,sr)=>createParamMapping(yr.HEADERS)(ir,{pipes:sr});sr.Headers=Headers;const File=(ir,sr)=>createParamMapping(yr.FILESTREAM)(ir,{pipes:sr});sr.File=File;const Files=(ir,sr)=>createParamMapping(yr.FILESSTREAM)(ir,{pipes:sr});sr.Files=Files;const RequestPath=ir=>createParamMapping(yr.REQUEST_PATH)(undefined,{pipes:ir});sr.RequestPath=RequestPath;const RequestIP=ir=>createParamMapping(yr.REQUEST_IP)(undefined,{pipes:ir});sr.RequestIP=RequestIP;const Queries=(ir,sr)=>createParamMapping(yr.QUERIES)(ir,{pipes:sr});sr.Queries=Queries;const Fields=(ir,sr)=>createParamMapping(yr.FIELDS)(ir,{pipes:sr});sr.Fields=Fields},29619:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.All=sr.Head=sr.Options=sr.Patch=sr.Put=sr.Del=sr.Get=sr.Post=sr.RequestMapping=sr.RequestMethod=void 0;const hr=lr(49757);sr.RequestMethod={GET:"get",POST:"post",PUT:"put",DELETE:"delete",PATCH:"patch",ALL:"all",OPTIONS:"options",HEAD:"head"};const yr={path:"/",requestMethod:sr.RequestMethod.GET,routerName:null,middleware:[]};const RequestMapping=(ir=yr)=>{const lr=ir.path||"/";const kr=ir.requestMethod||sr.RequestMethod.GET;const Fr=ir.routerName;const Br=ir.middleware;return(sr,yr,Ur)=>{var Wr;(0,hr.attachClassMetadata)(hr.WEB_ROUTER_KEY,{path:lr,requestMethod:kr,routerName:Fr,method:yr,middleware:Br,summary:(ir===null||ir===void 0?void 0:ir.summary)||"",description:(ir===null||ir===void 0?void 0:ir.description)||"",ignoreGlobalPrefix:(Wr=ir===null||ir===void 0?void 0:ir.ignoreGlobalPrefix)!==null&&Wr!==void 0?Wr:false},sr);return Ur}};sr.RequestMapping=RequestMapping;const createMappingDecorator=ir=>(lr,hr={middleware:[]})=>(0,sr.RequestMapping)(Object.assign(hr,{requestMethod:ir,path:lr}));sr.Post=createMappingDecorator(sr.RequestMethod.POST);sr.Get=createMappingDecorator(sr.RequestMethod.GET);sr.Del=createMappingDecorator(sr.RequestMethod.DELETE);sr.Put=createMappingDecorator(sr.RequestMethod.PUT);sr.Patch=createMappingDecorator(sr.RequestMethod.PATCH);sr.Options=createMappingDecorator(sr.RequestMethod.OPTIONS);sr.Head=createMappingDecorator(sr.RequestMethod.HEAD);sr.All=createMappingDecorator(sr.RequestMethod.ALL)},92233:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createRender=sr.ContentType=sr.SetHeader=sr.HttpCode=sr.Redirect=void 0;const hr=lr(49757);function Redirect(ir,sr=302){return(lr,yr,kr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_REDIRECT,url:ir,code:sr},lr,yr);return kr}}sr.Redirect=Redirect;function HttpCode(ir){return(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_HTTP_CODE,code:ir},sr,lr);return yr}}sr.HttpCode=HttpCode;function SetHeader(ir,sr){return(lr,yr,kr)=>{let Fr={};if(sr){Fr[ir]=sr}else{Fr=ir}(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_HEADER,setHeaders:Fr},lr,yr);return kr}}sr.SetHeader=SetHeader;function ContentType(ir){return(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_CONTENT_TYPE,contentType:ir},sr,lr);return yr}}sr.ContentType=ContentType;function createRender(ir){return ir=>(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_RENDER,templateName:ir},sr,lr);return yr}}sr.createRender=createRender},67999:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.WSController=void 0;const hr=lr(49757);const yr=lr(6192);function WSController(ir="/",sr={middleware:[],connectionMiddleware:[]}){return lr=>{(0,hr.saveModule)(hr.WS_CONTROLLER_KEY,lr);(0,hr.saveClassMetadata)(hr.WS_CONTROLLER_KEY,{namespace:ir,routerOptions:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.WSController=WSController},20551:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.OnConnection=sr.OnDisConnection=sr.Emit=sr.OnMessage=sr.WSBroadCast=sr.WSEmit=sr.OnWSMessage=sr.OnWSDisConnection=sr.OnWSConnection=sr.WSEventTypeEnum=void 0;const hr=lr(49757);var yr;(function(ir){ir["ON_CONNECTION"]="ws:onConnection";ir["ON_DISCONNECTION"]="ws:onDisconnection";ir["ON_MESSAGE"]="ws:onMessage";ir["ON_SOCKET_ERROR"]="ws:onSocketError";ir["EMIT"]="ws:Emit";ir["BROADCAST"]="ws:broadcast"})(yr=sr.WSEventTypeEnum||(sr.WSEventTypeEnum={}));function OnWSConnection(ir={}){return(sr,lr,kr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_CONNECTION,propertyName:lr,eventOptions:ir,descriptor:kr},sr.constructor)}}sr.OnWSConnection=OnWSConnection;function OnWSDisConnection(){return(ir,sr,lr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_DISCONNECTION,propertyName:sr,descriptor:lr},ir.constructor)}}sr.OnWSDisConnection=OnWSDisConnection;function OnWSMessage(ir,sr={}){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_MESSAGE,messageEventName:ir,propertyName:kr,eventOptions:sr,descriptor:Fr},lr.constructor)}}sr.OnWSMessage=OnWSMessage;function WSEmit(ir,sr=[]){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.EMIT,propertyName:kr,messageEventName:ir,roomName:[].concat(sr),descriptor:Fr},lr.constructor)}}sr.WSEmit=WSEmit;function WSBroadCast(ir="",sr=[]){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.BROADCAST,propertyName:kr,messageEventName:ir,roomName:[].concat(sr),descriptor:Fr},lr.constructor)}}sr.WSBroadCast=WSBroadCast;sr.OnMessage=OnWSMessage;sr.Emit=WSEmit;sr.OnDisConnection=OnWSDisConnection;sr.OnConnection=OnWSConnection},34881:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FunctionDefinition=void 0;const hr=lr(6192);const yr=lr(59327);class FunctionWrapperCreator extends yr.ObjectCreator{doConstruct(ir,sr,lr){if(!ir){return null}return ir(lr,sr)}async doConstructAsync(ir,sr,lr){if(!ir){return null}return ir(lr,sr)}}class FunctionDefinition{constructor(){this.constructorArgs=[];this.namespace="";this.asynchronous=true;this.handlerProps=[];this.allowDowngrade=false;this.innerAutowire=false;this.innerScope=hr.ScopeEnum.Singleton;this.creator=new FunctionWrapperCreator(this)}getAttr(ir){}hasAttr(ir){return false}hasConstructorArgs(){return false}hasDependsOn(){return false}isAsync(){return this.asynchronous}isDirect(){return false}isExternal(){return false}set scope(ir){this.innerScope=ir}isSingletonScope(){return this.innerScope===hr.ScopeEnum.Singleton}isRequestScope(){return this.innerScope===hr.ScopeEnum.Request}setAttr(ir,sr){}}sr.FunctionDefinition=FunctionDefinition},59327:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectCreator=void 0;const hr=lr(86314);const yr=lr(63289);class ObjectCreator{constructor(ir){this.definition=ir}load(){let ir=null;if(typeof this.definition.path==="string"){if(!this.definition.path){return ir}const sr=this.definition.path;if(this.definition.export){ir=require(sr)[this.definition.export]}else{ir=require(sr)}}else{ir=this.definition.path}return ir}doConstruct(ir,sr){if(!ir){return Object.create(null)}let lr;if(this.definition.constructMethod){lr=ir[this.definition.constructMethod].apply(ir,sr)}else{lr=Reflect.construct(ir,sr)}return lr}async doConstructAsync(ir,sr){if(!ir){return Object.create(null)}let lr;if(this.definition.constructMethod){const hr=ir[this.definition.constructMethod];if(yr.Types.isAsyncFunction(hr)){lr=await hr.apply(ir,sr)}else{lr=hr.apply(ir,sr)}}else{lr=Reflect.construct(ir,sr)}return lr}doInit(ir){const sr=ir;if(this.definition.initMethod&&sr[this.definition.initMethod]){if(yr.Types.isGeneratorFunction(sr[this.definition.initMethod])||yr.Types.isAsyncFunction(sr[this.definition.initMethod])){throw new hr.MidwayUseWrongMethodError("context.get","context.getAsync",this.definition.id)}else{const ir=sr[this.definition.initMethod].call(sr);if(yr.Types.isPromise(ir)){throw new hr.MidwayUseWrongMethodError("context.get","context.getAsync",this.definition.id)}}}}async doInitAsync(ir){const sr=ir;if(this.definition.initMethod&&sr[this.definition.initMethod]){const ir=sr[this.definition.initMethod];if(yr.Types.isAsyncFunction(ir)){await ir.call(sr)}else{if(ir.length===1){await new Promise((lr=>{ir.call(sr,lr)}))}else{ir.call(sr)}}}}doDestroy(ir){if(this.definition.destroyMethod&&ir[this.definition.destroyMethod]){ir[this.definition.destroyMethod].call(ir)}}async doDestroyAsync(ir){if(this.definition.destroyMethod&&ir[this.definition.destroyMethod]){const sr=ir[this.definition.destroyMethod];if(yr.Types.isAsyncFunction(sr)){await sr.call(ir)}else{if(sr.length===1){await new Promise((lr=>{sr.call(ir,lr)}))}else{sr.call(ir)}}}}}sr.ObjectCreator=ObjectCreator},47698:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectDefinition=void 0;const hr=lr(6192);const yr=lr(74701);const kr=lr(59327);class ObjectDefinition{constructor(){this._attrs=new Map;this._asynchronous=false;this.scope=hr.ScopeEnum.Singleton;this.creator=null;this.id=null;this.name=null;this.initMethod=null;this.destroyMethod=null;this.constructMethod=null;this.constructorArgs=[];this.path=null;this.export=null;this.dependsOn=[];this.properties=new yr.ObjectProperties;this.namespace="";this.handlerProps=[];this.allowDowngrade=false;this.creator=new kr.ObjectCreator(this)}set asynchronous(ir){this._asynchronous=ir}isAsync(){return this._asynchronous}isSingletonScope(){return this.scope===hr.ScopeEnum.Singleton}isRequestScope(){return this.scope===hr.ScopeEnum.Request}hasDependsOn(){return this.dependsOn.length>0}hasConstructorArgs(){return this.constructorArgs.length>0}getAttr(ir){return this._attrs.get(ir)}hasAttr(ir){return this._attrs.has(ir)}setAttr(ir,sr){this._attrs.set(ir,sr)}}sr.ObjectDefinition=ObjectDefinition},74701:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectProperties=void 0;class ObjectProperties extends Map{propertyKeys(){return Array.from(this.keys())}getProperty(ir,sr){if(this.has(ir)){return this.get(ir)}return sr}setProperty(ir,sr){return this.set(ir,sr)}}sr.ObjectProperties=ObjectProperties},21769:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayHttpError=sr.MidwayError=sr.registerErrorCode=void 0;const hr=lr(58611);const yr=new Set;function registerErrorCode(ir,sr){if(yr.has(ir)){throw new MidwayError(`Error group ${ir} is duplicated, please check before adding.`)}else{yr.add(ir)}const lr={};for(const hr in sr){lr[hr]=ir.toUpperCase()+"_"+String(sr[hr]).toUpperCase()}return lr}sr.registerErrorCode=registerErrorCode;class MidwayError extends Error{constructor(ir,sr,lr){super(ir);if(!sr||typeof sr==="object"){lr=sr;sr="MIDWAY_10000"}this.name=this.constructor.name;this.code=sr;this.cause=lr===null||lr===void 0?void 0:lr.cause}}sr.MidwayError=MidwayError;class MidwayHttpError extends MidwayError{constructor(ir,sr,lr,yr){super(ir?typeof ir==="string"?ir:ir.message:hr.STATUS_CODES[sr],lr!==null&&lr!==void 0?lr:String(sr),yr);if(ir&&ir["stack"]){this.stack=ir["stack"]}this.status=sr}}sr.MidwayHttpError=MidwayHttpError},37198:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayEmptyValueError=sr.MidwayInvalidConfigPropertyError=sr.MidwayMainFrameworkMissingError=sr.MidwayCodeInvokeTimeoutError=sr.MidwayInvokeForbiddenError=sr.MidwayRetryExceededMaxTimesError=sr.MidwayDuplicateControllerOptionsError=sr.MidwayDuplicateClassNameError=sr.MidwayInconsistentVersionError=sr.MidwayUtilHttpClientTimeoutError=sr.MidwayMissingImportComponentError=sr.MidwaySingletonInjectRequestError=sr.MidwayUseWrongMethodError=sr.MidwayDuplicateRouteError=sr.MidwayResolverMissingError=sr.MidwayInvalidConfigError=sr.MidwayConfigMissingError=sr.MidwayFeatureNotImplementedError=sr.MidwayFeatureNoLongerSupportedError=sr.MidwayDefinitionNotFoundError=sr.MidwayParameterError=sr.MidwayCommonError=sr.FrameworkErrorEnum=void 0;const hr=lr(21769);sr.FrameworkErrorEnum=(0,hr.registerErrorCode)("midway",{UNKNOWN:1e4,COMMON:10001,PARAM_TYPE:10002,DEFINITION_NOT_FOUND:10003,FEATURE_NO_LONGER_SUPPORTED:10004,FEATURE_NOT_IMPLEMENTED:10004,MISSING_CONFIG:10006,MISSING_RESOLVER:10007,DUPLICATE_ROUTER:10008,USE_WRONG_METHOD:10009,SINGLETON_INJECT_REQUEST:10010,MISSING_IMPORTS:10011,UTIL_HTTP_TIMEOUT:10012,INCONSISTENT_VERSION:10013,INVALID_CONFIG:10014,DUPLICATE_CLASS_NAME:10015,DUPLICATE_CONTROLLER_PREFIX_OPTIONS:10016,RETRY_OVER_MAX_TIME:10017,INVOKE_METHOD_FORBIDDEN:10018,CODE_INVOKE_TIMEOUT:10019,MAIN_FRAMEWORK_MISSING:10020,INVALID_CONFIG_PROPERTY:10021,EMPTY_VALUE:10022});class MidwayCommonError extends hr.MidwayError{constructor(ir){super(ir,sr.FrameworkErrorEnum.COMMON)}}sr.MidwayCommonError=MidwayCommonError;class MidwayParameterError extends hr.MidwayError{constructor(ir){super(ir!==null&&ir!==void 0?ir:"Parameter type not match",sr.FrameworkErrorEnum.PARAM_TYPE)}}sr.MidwayParameterError=MidwayParameterError;class MidwayDefinitionNotFoundError extends hr.MidwayError{static isClosePrototypeOf(ir){return ir?ir[MidwayDefinitionNotFoundError.type]===MidwayDefinitionNotFoundError.type:false}constructor(ir){super(`${ir} is not valid in current context`,sr.FrameworkErrorEnum.DEFINITION_NOT_FOUND);this[MidwayDefinitionNotFoundError.type]=MidwayDefinitionNotFoundError.type}updateErrorMsg(ir){const sr=this.message.split(" is not valid in current context")[0];this.message=`${sr} in class ${ir} is not valid in current context`}}sr.MidwayDefinitionNotFoundError=MidwayDefinitionNotFoundError;MidwayDefinitionNotFoundError.type=Symbol.for("#NotFoundError");class MidwayFeatureNoLongerSupportedError extends hr.MidwayError{constructor(ir){super("This feature no longer supported \n"+ir,sr.FrameworkErrorEnum.FEATURE_NO_LONGER_SUPPORTED)}}sr.MidwayFeatureNoLongerSupportedError=MidwayFeatureNoLongerSupportedError;class MidwayFeatureNotImplementedError extends hr.MidwayError{constructor(ir){super("This feature not implemented \n"+ir,sr.FrameworkErrorEnum.FEATURE_NOT_IMPLEMENTED)}}sr.MidwayFeatureNotImplementedError=MidwayFeatureNotImplementedError;class MidwayConfigMissingError extends hr.MidwayError{constructor(ir){super(`Can't found config key "${ir}" in your config, please set it first`,sr.FrameworkErrorEnum.MISSING_CONFIG)}}sr.MidwayConfigMissingError=MidwayConfigMissingError;class MidwayInvalidConfigError extends hr.MidwayError{constructor(ir){super("Invalid config file \n"+ir,sr.FrameworkErrorEnum.INVALID_CONFIG)}}sr.MidwayInvalidConfigError=MidwayInvalidConfigError;class MidwayResolverMissingError extends hr.MidwayError{constructor(ir){super(`Resolver "${ir}" is missing.`,sr.FrameworkErrorEnum.MISSING_RESOLVER)}}sr.MidwayResolverMissingError=MidwayResolverMissingError;class MidwayDuplicateRouteError extends hr.MidwayError{constructor(ir,lr,hr){super(`Duplicate router "${ir}" at "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_ROUTER)}}sr.MidwayDuplicateRouteError=MidwayDuplicateRouteError;class MidwayUseWrongMethodError extends hr.MidwayError{constructor(ir,lr,hr){const yr=hr?`${hr} not valid by ${ir}, Use ${lr} instead!`:`You should not invoked by ${ir}, Use ${lr} instead!`;super(yr,sr.FrameworkErrorEnum.USE_WRONG_METHOD)}}sr.MidwayUseWrongMethodError=MidwayUseWrongMethodError;class MidwaySingletonInjectRequestError extends hr.MidwayError{constructor(ir,lr){const hr=`${ir} with singleton scope can't implicitly inject ${lr} with request scope directly, please add "@Scope(ScopeEnum.Request, { allowDowngrade: true })" in ${lr} or use "ctx.requestContext.getAsync(${lr})".`;super(hr,sr.FrameworkErrorEnum.SINGLETON_INJECT_REQUEST)}}sr.MidwaySingletonInjectRequestError=MidwaySingletonInjectRequestError;class MidwayMissingImportComponentError extends hr.MidwayError{constructor(ir){const lr=`"${ir}" can't inject and maybe forgot add "{imports: [***]}" in @Configuration.`;super(lr,sr.FrameworkErrorEnum.MISSING_IMPORTS)}}sr.MidwayMissingImportComponentError=MidwayMissingImportComponentError;class MidwayUtilHttpClientTimeoutError extends hr.MidwayError{constructor(ir){super(ir,sr.FrameworkErrorEnum.UTIL_HTTP_TIMEOUT)}}sr.MidwayUtilHttpClientTimeoutError=MidwayUtilHttpClientTimeoutError;class MidwayInconsistentVersionError extends hr.MidwayError{constructor(){const ir='We find a latest dependency package installed, please remove the lock file and use "npm update" to upgrade all dependencies first.';super(ir,sr.FrameworkErrorEnum.INCONSISTENT_VERSION)}}sr.MidwayInconsistentVersionError=MidwayInconsistentVersionError;class MidwayDuplicateClassNameError extends hr.MidwayError{constructor(ir,lr,hr){super(`"${ir}" duplicated between "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_CLASS_NAME)}}sr.MidwayDuplicateClassNameError=MidwayDuplicateClassNameError;class MidwayDuplicateControllerOptionsError extends hr.MidwayError{constructor(ir,lr,hr){super(`"Prefix ${ir}" with duplicated controller options between "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_CONTROLLER_PREFIX_OPTIONS)}}sr.MidwayDuplicateControllerOptionsError=MidwayDuplicateControllerOptionsError;class MidwayRetryExceededMaxTimesError extends hr.MidwayError{constructor(ir,lr,hr){super(`Invoke "${ir}" retries exceeded the maximum number of times(${lr}), error: ${hr.message}`,sr.FrameworkErrorEnum.RETRY_OVER_MAX_TIME,{cause:hr})}}sr.MidwayRetryExceededMaxTimesError=MidwayRetryExceededMaxTimesError;class MidwayInvokeForbiddenError extends hr.MidwayError{constructor(ir,lr){super(`Invoke "${lr?lr.name:"unknown"}.${ir}" is forbidden.`,sr.FrameworkErrorEnum.INVOKE_METHOD_FORBIDDEN)}}sr.MidwayInvokeForbiddenError=MidwayInvokeForbiddenError;class MidwayCodeInvokeTimeoutError extends hr.MidwayError{constructor(ir,lr){super(`Invoke "${ir}" running timeout(${lr}ms)`,sr.FrameworkErrorEnum.CODE_INVOKE_TIMEOUT)}}sr.MidwayCodeInvokeTimeoutError=MidwayCodeInvokeTimeoutError;class MidwayMainFrameworkMissingError extends hr.MidwayError{constructor(){super("Main framework missing, please check your configuration.",sr.FrameworkErrorEnum.MAIN_FRAMEWORK_MISSING)}}sr.MidwayMainFrameworkMissingError=MidwayMainFrameworkMissingError;class MidwayInvalidConfigPropertyError extends hr.MidwayError{constructor(ir,lr){super(`Invalid config property "${ir}", ${lr?`only ${lr.join(",")} can be set`:"please check your configuration"}.`,sr.FrameworkErrorEnum.INVALID_CONFIG_PROPERTY)}}sr.MidwayInvalidConfigPropertyError=MidwayInvalidConfigPropertyError;class MidwayEmptyValueError extends hr.MidwayError{constructor(ir){super(ir!==null&&ir!==void 0?ir:"There is an empty value got and it is not allowed.",sr.FrameworkErrorEnum.EMPTY_VALUE)}}sr.MidwayEmptyValueError=MidwayEmptyValueError},9504:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.httpError=sr.GatewayTimeoutError=sr.ServiceUnavailableError=sr.BadGatewayError=sr.NotImplementedError=sr.InternalServerErrorError=sr.TooManyRequestsError=sr.UnprocessableEntityError=sr.UnsupportedMediaTypeError=sr.PayloadTooLargeError=sr.GoneError=sr.ConflictError=sr.RequestTimeoutError=sr.NotAcceptableError=sr.ForbiddenError=sr.NotFoundError=sr.UnauthorizedError=sr.BadRequestError=sr.HttpStatus=void 0;const hr=lr(21769);var yr;(function(ir){ir[ir["CONTINUE"]=100]="CONTINUE";ir[ir["SWITCHING_PROTOCOLS"]=101]="SWITCHING_PROTOCOLS";ir[ir["PROCESSING"]=102]="PROCESSING";ir[ir["EARLYHINTS"]=103]="EARLYHINTS";ir[ir["OK"]=200]="OK";ir[ir["CREATED"]=201]="CREATED";ir[ir["ACCEPTED"]=202]="ACCEPTED";ir[ir["NON_AUTHORITATIVE_INFORMATION"]=203]="NON_AUTHORITATIVE_INFORMATION";ir[ir["NO_CONTENT"]=204]="NO_CONTENT";ir[ir["RESET_CONTENT"]=205]="RESET_CONTENT";ir[ir["PARTIAL_CONTENT"]=206]="PARTIAL_CONTENT";ir[ir["AMBIGUOUS"]=300]="AMBIGUOUS";ir[ir["MOVED_PERMANENTLY"]=301]="MOVED_PERMANENTLY";ir[ir["FOUND"]=302]="FOUND";ir[ir["SEE_OTHER"]=303]="SEE_OTHER";ir[ir["NOT_MODIFIED"]=304]="NOT_MODIFIED";ir[ir["TEMPORARY_REDIRECT"]=307]="TEMPORARY_REDIRECT";ir[ir["PERMANENT_REDIRECT"]=308]="PERMANENT_REDIRECT";ir[ir["BAD_REQUEST"]=400]="BAD_REQUEST";ir[ir["UNAUTHORIZED"]=401]="UNAUTHORIZED";ir[ir["PAYMENT_REQUIRED"]=402]="PAYMENT_REQUIRED";ir[ir["FORBIDDEN"]=403]="FORBIDDEN";ir[ir["NOT_FOUND"]=404]="NOT_FOUND";ir[ir["METHOD_NOT_ALLOWED"]=405]="METHOD_NOT_ALLOWED";ir[ir["NOT_ACCEPTABLE"]=406]="NOT_ACCEPTABLE";ir[ir["PROXY_AUTHENTICATION_REQUIRED"]=407]="PROXY_AUTHENTICATION_REQUIRED";ir[ir["REQUEST_TIMEOUT"]=408]="REQUEST_TIMEOUT";ir[ir["CONFLICT"]=409]="CONFLICT";ir[ir["GONE"]=410]="GONE";ir[ir["LENGTH_REQUIRED"]=411]="LENGTH_REQUIRED";ir[ir["PRECONDITION_FAILED"]=412]="PRECONDITION_FAILED";ir[ir["PAYLOAD_TOO_LARGE"]=413]="PAYLOAD_TOO_LARGE";ir[ir["URI_TOO_LONG"]=414]="URI_TOO_LONG";ir[ir["UNSUPPORTED_MEDIA_TYPE"]=415]="UNSUPPORTED_MEDIA_TYPE";ir[ir["REQUESTED_RANGE_NOT_SATISFIABLE"]=416]="REQUESTED_RANGE_NOT_SATISFIABLE";ir[ir["EXPECTATION_FAILED"]=417]="EXPECTATION_FAILED";ir[ir["I_AM_A_TEAPOT"]=418]="I_AM_A_TEAPOT";ir[ir["MISDIRECTED"]=421]="MISDIRECTED";ir[ir["UNPROCESSABLE_ENTITY"]=422]="UNPROCESSABLE_ENTITY";ir[ir["FAILED_DEPENDENCY"]=424]="FAILED_DEPENDENCY";ir[ir["PRECONDITION_REQUIRED"]=428]="PRECONDITION_REQUIRED";ir[ir["TOO_MANY_REQUESTS"]=429]="TOO_MANY_REQUESTS";ir[ir["INTERNAL_SERVER_ERROR"]=500]="INTERNAL_SERVER_ERROR";ir[ir["NOT_IMPLEMENTED"]=501]="NOT_IMPLEMENTED";ir[ir["BAD_GATEWAY"]=502]="BAD_GATEWAY";ir[ir["SERVICE_UNAVAILABLE"]=503]="SERVICE_UNAVAILABLE";ir[ir["GATEWAY_TIMEOUT"]=504]="GATEWAY_TIMEOUT";ir[ir["HTTP_VERSION_NOT_SUPPORTED"]=505]="HTTP_VERSION_NOT_SUPPORTED"})(yr=sr.HttpStatus||(sr.HttpStatus={}));class BadRequestError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.BAD_REQUEST)}}sr.BadRequestError=BadRequestError;class UnauthorizedError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNAUTHORIZED)}}sr.UnauthorizedError=UnauthorizedError;class NotFoundError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_FOUND)}}sr.NotFoundError=NotFoundError;class ForbiddenError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.FORBIDDEN)}}sr.ForbiddenError=ForbiddenError;class NotAcceptableError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_ACCEPTABLE)}}sr.NotAcceptableError=NotAcceptableError;class RequestTimeoutError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.REQUEST_TIMEOUT)}}sr.RequestTimeoutError=RequestTimeoutError;class ConflictError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.CONFLICT)}}sr.ConflictError=ConflictError;class GoneError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.GONE)}}sr.GoneError=GoneError;class PayloadTooLargeError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.PAYLOAD_TOO_LARGE)}}sr.PayloadTooLargeError=PayloadTooLargeError;class UnsupportedMediaTypeError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNSUPPORTED_MEDIA_TYPE)}}sr.UnsupportedMediaTypeError=UnsupportedMediaTypeError;class UnprocessableEntityError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNPROCESSABLE_ENTITY)}}sr.UnprocessableEntityError=UnprocessableEntityError;class TooManyRequestsError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.TOO_MANY_REQUESTS)}}sr.TooManyRequestsError=TooManyRequestsError;class InternalServerErrorError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.INTERNAL_SERVER_ERROR)}}sr.InternalServerErrorError=InternalServerErrorError;class NotImplementedError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_IMPLEMENTED)}}sr.NotImplementedError=NotImplementedError;class BadGatewayError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.BAD_GATEWAY)}}sr.BadGatewayError=BadGatewayError;class ServiceUnavailableError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.SERVICE_UNAVAILABLE)}}sr.ServiceUnavailableError=ServiceUnavailableError;class GatewayTimeoutError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.GATEWAY_TIMEOUT)}}sr.GatewayTimeoutError=GatewayTimeoutError;sr.httpError={BadRequestError:BadRequestError,UnauthorizedError:UnauthorizedError,NotFoundError:NotFoundError,ForbiddenError:ForbiddenError,NotAcceptableError:NotAcceptableError,RequestTimeoutError:RequestTimeoutError,ConflictError:ConflictError,GoneError:GoneError,PayloadTooLargeError:PayloadTooLargeError,UnsupportedMediaTypeError:UnsupportedMediaTypeError,UnprocessableEntityError:UnprocessableEntityError,TooManyRequestsError:TooManyRequestsError,InternalServerErrorError:InternalServerErrorError,NotImplementedError:NotImplementedError,BadGatewayError:BadGatewayError,ServiceUnavailableError:ServiceUnavailableError,GatewayTimeoutError:GatewayTimeoutError}},86314:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.httpError=sr.HttpStatus=void 0;yr(lr(21769),sr);var kr=lr(9504);Object.defineProperty(sr,"HttpStatus",{enumerable:true,get:function(){return kr.HttpStatus}});Object.defineProperty(sr,"httpError",{enumerable:true,get:function(){return kr.httpError}});yr(lr(37198),sr)},24451:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createConfiguration=sr.FunctionalConfiguration=void 0;class FunctionalConfiguration{constructor(ir){this.options=ir;this.readyHandler=()=>{};this.stopHandler=()=>{};this.configLoadHandler=()=>{};this.serverReadyHandler=()=>{}}onConfigLoad(ir,sr){if(typeof ir==="function"){this.configLoadHandler=ir}else{return this.configLoadHandler(ir,sr)}return this}onReady(ir,sr){if(typeof ir==="function"){this.readyHandler=ir}else{return this.readyHandler(ir,sr)}return this}onServerReady(ir,sr){if(typeof ir==="function"){this.serverReadyHandler=ir}else{return this.serverReadyHandler(ir,sr)}return this}onStop(ir,sr){if(typeof ir==="function"){this.stopHandler=ir}else{return this.stopHandler(ir,sr)}return this}getConfigurationOptions(){return this.options}}sr.FunctionalConfiguration=FunctionalConfiguration;const createConfiguration=ir=>new FunctionalConfiguration(ir);sr.createConfiguration=createConfiguration},46123:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPerformanceManager=sr.TypedResourceManager=sr.HttpServerResponse=sr.ServerResponse=sr.FORMAT=sr.FileUtils=sr.PathFileUtil=sr.Types=sr.retryWith=sr.retryWithAsync=sr.extend=sr.Utils=sr.sleep=sr.isTypeScriptEnvironment=sr.wrapAsync=sr.wrapMiddleware=sr.pathMatching=sr.transformRequestObjectByType=sr.deprecatedOutput=sr.delegateTargetAllPrototypeMethod=sr.delegateTargetProperties=sr.delegateTargetMethod=sr.delegateTargetPrototypeMethod=sr.loadModule=sr.safeRequire=sr.safelyGet=sr.ASYNC_ROOT_CONTEXT=sr.MidwayPriorityManager=sr.DEFAULT_PRIORITY=sr.DataSourceManager=sr.WebRouterCollector=sr.MidwayServerlessFunctionService=sr.MidwayWebRouterService=sr.MidwayHealthService=sr.MidwayMockService=sr.MidwayDecoratorService=sr.MidwayMiddlewareService=sr.MidwayLifeCycleService=sr.MidwayAspectService=sr.MidwayFrameworkService=sr.MidwayLoggerService=sr.MidwayInformationService=sr.MidwayEnvironmentService=sr.MidwayConfigService=sr.FunctionalConfiguration=sr.createConfiguration=sr.BaseFramework=sr.MidwayRequestContainer=void 0;yr(lr(6192),sr);yr(lr(9288),sr);var kr=lr(97983);Object.defineProperty(sr,"MidwayRequestContainer",{enumerable:true,get:function(){return kr.MidwayRequestContainer}});var Fr=lr(83872);Object.defineProperty(sr,"BaseFramework",{enumerable:true,get:function(){return Fr.BaseFramework}});yr(lr(28695),sr);yr(lr(2222),sr);var Br=lr(24451);Object.defineProperty(sr,"createConfiguration",{enumerable:true,get:function(){return Br.createConfiguration}});Object.defineProperty(sr,"FunctionalConfiguration",{enumerable:true,get:function(){return Br.FunctionalConfiguration}});var Ur=lr(78842);Object.defineProperty(sr,"MidwayConfigService",{enumerable:true,get:function(){return Ur.MidwayConfigService}});var Wr=lr(70275);Object.defineProperty(sr,"MidwayEnvironmentService",{enumerable:true,get:function(){return Wr.MidwayEnvironmentService}});var zr=lr(37482);Object.defineProperty(sr,"MidwayInformationService",{enumerable:true,get:function(){return zr.MidwayInformationService}});var Jr=lr(34888);Object.defineProperty(sr,"MidwayLoggerService",{enumerable:true,get:function(){return Jr.MidwayLoggerService}});var Hr=lr(33332);Object.defineProperty(sr,"MidwayFrameworkService",{enumerable:true,get:function(){return Hr.MidwayFrameworkService}});var Gr=lr(70812);Object.defineProperty(sr,"MidwayAspectService",{enumerable:true,get:function(){return Gr.MidwayAspectService}});var Yr=lr(13328);Object.defineProperty(sr,"MidwayLifeCycleService",{enumerable:true,get:function(){return Yr.MidwayLifeCycleService}});var Qr=lr(68220);Object.defineProperty(sr,"MidwayMiddlewareService",{enumerable:true,get:function(){return Qr.MidwayMiddlewareService}});var Zr=lr(96367);Object.defineProperty(sr,"MidwayDecoratorService",{enumerable:true,get:function(){return Zr.MidwayDecoratorService}});var cn=lr(77306);Object.defineProperty(sr,"MidwayMockService",{enumerable:true,get:function(){return cn.MidwayMockService}});var un=lr(658);Object.defineProperty(sr,"MidwayHealthService",{enumerable:true,get:function(){return un.MidwayHealthService}});var Tn=lr(19985);Object.defineProperty(sr,"MidwayWebRouterService",{enumerable:true,get:function(){return Tn.MidwayWebRouterService}});var jn=lr(42592);Object.defineProperty(sr,"MidwayServerlessFunctionService",{enumerable:true,get:function(){return jn.MidwayServerlessFunctionService}});Object.defineProperty(sr,"WebRouterCollector",{enumerable:true,get:function(){return jn.WebRouterCollector}});var ni=lr(12849);Object.defineProperty(sr,"DataSourceManager",{enumerable:true,get:function(){return ni.DataSourceManager}});var si=lr(67934);Object.defineProperty(sr,"DEFAULT_PRIORITY",{enumerable:true,get:function(){return si.DEFAULT_PRIORITY}});Object.defineProperty(sr,"MidwayPriorityManager",{enumerable:true,get:function(){return si.MidwayPriorityManager}});yr(lr(28602),sr);yr(lr(82535),sr);yr(lr(64842),sr);yr(lr(46673),sr);yr(lr(1845),sr);yr(lr(11026),sr);yr(lr(12738),sr);yr(lr(39408),sr);yr(lr(43436),sr);yr(lr(29222),sr);yr(lr(86314),sr);var pi=lr(75351);Object.defineProperty(sr,"ASYNC_ROOT_CONTEXT",{enumerable:true,get:function(){return pi.ASYNC_ROOT_CONTEXT}});yr(lr(49757),sr);yr(lr(45317),sr);yr(lr(75105),sr);var di=lr(65308);Object.defineProperty(sr,"safelyGet",{enumerable:true,get:function(){return di.safelyGet}});Object.defineProperty(sr,"safeRequire",{enumerable:true,get:function(){return di.safeRequire}});Object.defineProperty(sr,"loadModule",{enumerable:true,get:function(){return di.loadModule}});Object.defineProperty(sr,"delegateTargetPrototypeMethod",{enumerable:true,get:function(){return di.delegateTargetPrototypeMethod}});Object.defineProperty(sr,"delegateTargetMethod",{enumerable:true,get:function(){return di.delegateTargetMethod}});Object.defineProperty(sr,"delegateTargetProperties",{enumerable:true,get:function(){return di.delegateTargetProperties}});Object.defineProperty(sr,"delegateTargetAllPrototypeMethod",{enumerable:true,get:function(){return di.delegateTargetAllPrototypeMethod}});Object.defineProperty(sr,"deprecatedOutput",{enumerable:true,get:function(){return di.deprecatedOutput}});Object.defineProperty(sr,"transformRequestObjectByType",{enumerable:true,get:function(){return di.transformRequestObjectByType}});Object.defineProperty(sr,"pathMatching",{enumerable:true,get:function(){return di.pathMatching}});Object.defineProperty(sr,"wrapMiddleware",{enumerable:true,get:function(){return di.wrapMiddleware}});Object.defineProperty(sr,"wrapAsync",{enumerable:true,get:function(){return di.wrapAsync}});Object.defineProperty(sr,"isTypeScriptEnvironment",{enumerable:true,get:function(){return di.isTypeScriptEnvironment}});Object.defineProperty(sr,"sleep",{enumerable:true,get:function(){return di.sleep}});Object.defineProperty(sr,"Utils",{enumerable:true,get:function(){return di.Utils}});var gi=lr(83486);Object.defineProperty(sr,"extend",{enumerable:true,get:function(){return gi.extend}});yr(lr(46422),sr);yr(lr(50539),sr);yr(lr(73861),sr);yr(lr(87653),sr);var yi=lr(25198);Object.defineProperty(sr,"retryWithAsync",{enumerable:true,get:function(){return yi.retryWithAsync}});Object.defineProperty(sr,"retryWith",{enumerable:true,get:function(){return yi.retryWith}});var Ti=lr(63289);Object.defineProperty(sr,"Types",{enumerable:true,get:function(){return Ti.Types}});var Ei=lr(61327);Object.defineProperty(sr,"PathFileUtil",{enumerable:true,get:function(){return Ei.PathFileUtil}});var Ci=lr(7589);Object.defineProperty(sr,"FileUtils",{enumerable:true,get:function(){return Ci.FileUtils}});var Pi=lr(30001);Object.defineProperty(sr,"FORMAT",{enumerable:true,get:function(){return Pi.FORMAT}});var wi=lr(89995);Object.defineProperty(sr,"ServerResponse",{enumerable:true,get:function(){return wi.ServerResponse}});Object.defineProperty(sr,"HttpServerResponse",{enumerable:true,get:function(){return wi.HttpServerResponse}});var Fi=lr(11330);Object.defineProperty(sr,"TypedResourceManager",{enumerable:true,get:function(){return Fi.TypedResourceManager}});var Ri=lr(70032);Object.defineProperty(sr,"MidwayPerformanceManager",{enumerable:true,get:function(){return Ri.MidwayPerformanceManager}})},6192:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayProcessTypeEnum=sr.ObjectLifeCycleEvent=sr.ServerlessTriggerType=sr.MidwayFrameworkType=sr.FrameworkType=sr.MSListenerType=sr.MSProviderType=sr.InjectModeEnum=sr.ScopeEnum=void 0;var lr;(function(ir){ir["Singleton"]="Singleton";ir["Request"]="Request";ir["Prototype"]="Prototype"})(lr=sr.ScopeEnum||(sr.ScopeEnum={}));var hr;(function(ir){ir["Identifier"]="Identifier";ir["Class"]="Class";ir["PropertyName"]="PropertyName"})(hr=sr.InjectModeEnum||(sr.InjectModeEnum={}));var yr;(function(ir){ir["DUBBO"]="dubbo";ir["GRPC"]="gRPC"})(yr=sr.MSProviderType||(sr.MSProviderType={}));var kr;(function(ir){ir["RABBITMQ"]="rabbitmq";ir["MQTT"]="mqtt";ir["KAFKA"]="kafka";ir["REDIS"]="redis"})(kr=sr.MSListenerType||(sr.MSListenerType={}));class FrameworkType{}sr.FrameworkType=FrameworkType;class MidwayFrameworkType extends FrameworkType{constructor(ir){super();this.name=ir}}sr.MidwayFrameworkType=MidwayFrameworkType;MidwayFrameworkType.WEB=new MidwayFrameworkType("@midwayjs/web");MidwayFrameworkType.WEB_KOA=new MidwayFrameworkType("@midwayjs/web-koa");MidwayFrameworkType.WEB_EXPRESS=new MidwayFrameworkType("@midwayjs/express");MidwayFrameworkType.FAAS=new MidwayFrameworkType("@midwayjs/faas");MidwayFrameworkType.MS_GRPC=new MidwayFrameworkType("@midwayjs/grpc");MidwayFrameworkType.MS_RABBITMQ=new MidwayFrameworkType("@midwayjs/rabbitmq");MidwayFrameworkType.MS_KAFKA=new MidwayFrameworkType("@midwayjs/kafka");MidwayFrameworkType.WS_IO=new MidwayFrameworkType("@midwayjs/socketio");MidwayFrameworkType.WS=new MidwayFrameworkType("@midwayjs/ws");MidwayFrameworkType.SERVERLESS_APP=new MidwayFrameworkType("@midwayjs/serverless-app");MidwayFrameworkType.CUSTOM=new MidwayFrameworkType("");MidwayFrameworkType.EMPTY=new MidwayFrameworkType("empty");MidwayFrameworkType.LIGHT=new MidwayFrameworkType("light");MidwayFrameworkType.TASK=new MidwayFrameworkType("@midwayjs/task");var Fr;(function(ir){ir["EVENT"]="event";ir["HTTP"]="http";ir["API_GATEWAY"]="apigw";ir["OS"]="os";ir["CDN"]="cdn";ir["LOG"]="log";ir["TIMER"]="timer";ir["MQ"]="mq";ir["KAFKA"]="kafka";ir["HSF"]="hsf";ir["MTOP"]="mtop";ir["SSR"]="ssr"})(Fr=sr.ServerlessTriggerType||(sr.ServerlessTriggerType={}));var Br;(function(ir){ir["BEFORE_BIND"]="beforeBind";ir["BEFORE_CREATED"]="beforeObjectCreated";ir["AFTER_CREATED"]="afterObjectCreated";ir["AFTER_INIT"]="afterObjectInit";ir["BEFORE_DESTROY"]="beforeObjectDestroy"})(Br=sr.ObjectLifeCycleEvent||(sr.ObjectLifeCycleEvent={}));var Ur;(function(ir){ir["APPLICATION"]="APPLICATION";ir["AGENT"]="AGENT"})(Ur=sr.MidwayProcessTypeEnum||(sr.MidwayProcessTypeEnum={}))},72838:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerResponse=void 0;class ServerResponse{constructor(ir){this.isSuccess=true;this.ctx=ir}json(ir){return Object.getPrototypeOf(this).constructor.JSON_TPL(ir,this.isSuccess,this.ctx)}text(ir){return Object.getPrototypeOf(this).constructor.TEXT_TPL(ir,this.isSuccess,this.ctx)}blob(ir){return Object.getPrototypeOf(this).constructor.BLOB_TPL(ir,this.isSuccess,this.ctx)}success(){this.isSuccess=true;return this}fail(){this.isSuccess=false;return this}}sr.ServerResponse=ServerResponse;ServerResponse.TEXT_TPL=(ir,sr,lr)=>ir;ServerResponse.JSON_TPL=(ir,sr,lr)=>{if(sr){return{success:"true",data:ir}}else{return{success:"false",message:ir||"fail"}}};ServerResponse.BLOB_TPL=(ir,sr,lr)=>ir},91959:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpServerResponse=void 0;const hr=lr(79896);const yr=lr(72838);const kr=lr(82738);const Fr=lr(37407);const Br=lr(16928);class HttpServerResponse extends yr.ServerResponse{constructor(ir){super(ir)}status(ir){this.ctx.res.statusCode=ir;return this}header(ir,sr){this.ctx.res.setHeader(ir,sr);return this}headers(ir){if(this.ctx.res.setHeaders){this.ctx.res.setHeaders(new Map(Object.entries(ir)))}else{for(const sr in ir){this.header(sr,ir[sr])}}return this}json(ir){this.header("Content-Type","application/json");return Object.getPrototypeOf(this).constructor.JSON_TPL(ir,this.isSuccess,this.ctx)}text(ir){this.header("Content-Type","text/plain");return Object.getPrototypeOf(this).constructor.TEXT_TPL(ir,this.isSuccess,this.ctx)}file(ir,sr){this.header("Content-Type",sr||"application/octet-stream");this.header("Content-Disposition",`attachment; filename=${(0,Br.basename)(ir)}`);return Object.getPrototypeOf(this).constructor.FILE_TPL(typeof ir==="string"?(0,hr.createReadStream)(ir):ir,this.isSuccess,this.ctx)}blob(ir,sr){this.header("Content-Type",sr||"application/octet-stream");return Object.getPrototypeOf(this).constructor.BLOB_TPL(ir,this.isSuccess,this.ctx)}html(ir){this.header("Content-Type","text/html");return Object.getPrototypeOf(this).constructor.HTML_TPL(ir,this.isSuccess,this.ctx)}redirect(ir,sr=302){this.status(sr);if(this.ctx.redirect){return this.ctx.redirect(ir)}else if(this.ctx.res.redirect){return this.ctx.res.redirect(ir)}else{this.header("Location",ir)}}sse(ir={}){return new kr.ServerSendEventStream(this.ctx,{tpl:Object.getPrototypeOf(this).constructor.SSE_TPL,...ir})}stream(ir={}){return new Fr.HttpStreamResponse(this.ctx,{tpl:Object.getPrototypeOf(this).constructor.STREAM_TPL,...ir})}}sr.HttpServerResponse=HttpServerResponse;HttpServerResponse.FILE_TPL=(ir,sr,lr)=>ir;HttpServerResponse.SSE_TPL=(ir,sr)=>ir;HttpServerResponse.STREAM_TPL=(ir,sr)=>ir;HttpServerResponse.HTML_TPL=(ir,sr,lr)=>ir},89995:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpServerResponse=sr.ServerResponse=void 0;var hr=lr(72838);Object.defineProperty(sr,"ServerResponse",{enumerable:true,get:function(){return hr.ServerResponse}});var yr=lr(91959);Object.defineProperty(sr,"HttpServerResponse",{enumerable:true,get:function(){return yr.HttpServerResponse}})},82738:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerSendEventStream=void 0;const hr=lr(2203);class ServerSendEventStream extends hr.Transform{constructor(ir,sr={}){super({objectMode:true,...sr});this.isActive=false;this.ctx=ir;this.closeEvent=sr.closeEvent||"close";this.options=sr;this.ctx.req.on("close",this.handleClose.bind(this))}_transform(ir,sr,lr){try{let sr,hr="data: ";const yr=/^\s*:\s*/;const kr=[];if(!this.isActive){this.isActive=true;const ir={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"};for(const sr in ir){this.ctx.res.setHeader(sr,ir[sr])}this.ctx.req.socket.setTimeout(0);this.ctx.req.socket.setNoDelay(true);this.ctx.req.socket.setKeepAlive(true);kr.push(": ok")}const Fr=ir;if(Fr.event)kr.push("event: "+Fr.event);if(Fr.retry)kr.push("retry: "+Fr.retry);if(Fr.id)kr.push("id: "+Fr.id);if(typeof Fr.data==="object"){sr=JSON.stringify(Fr.data);kr.push(hr+sr)}else if(typeof Fr.data==="undefined"){kr.push(hr)}else{Fr.data=String(Fr.data);if(Fr.data.search(yr)!==-1){Fr.data=Fr.data.replace(yr,"");hr=": "}Fr.data=Fr.data.replace(/(\r\n|\r|\n)/g,"\n");sr=Fr.data.split(/\n/);for(let ir=0,lr=sr.length;ir<lr;++ir){const yr=sr[ir];if(ir+1===lr){kr.push(hr+yr)}else{kr.push(hr+yr)}}}this.push(kr.join("\n")+"\n\n");lr()}catch(ir){this.ctx.logger.error(ir);this.sendError(ir);this.end();lr(ir)}}sendError(ir){this.send({event:"error",data:ir.message||"An error occurred"})}sendEnd(ir){ir.event=this.closeEvent;this.send(ir)}send(ir){super.write(this.options.tpl(ir,this.ctx))}handleClose(){this.end()}}sr.ServerSendEventStream=ServerSendEventStream},37407:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpStreamResponse=void 0;const hr=lr(2203);class HttpStreamResponse extends hr.Transform{constructor(ir,sr={}){super({objectMode:true,...sr});this.isActive=false;this.ctx=ir;this.options=sr}_transform(ir,sr,lr){try{if(!this.isActive){this.isActive=true;this.ctx.res.statusCode=200;this.ctx.res.setHeader("Transfer-Encoding","chunked");this.ctx.res.setHeader("Cache-Control","no-cache");this.ctx.req.socket.setTimeout(0)}if(typeof ir==="string"){this.ctx.res.write(ir)}else{this.ctx.res.write(JSON.stringify(ir))}lr()}catch(ir){this.ctx.logger.error(ir);this.end();this.ctx.res.end();lr(ir)}}send(ir){if(!this.writable){return}this.write(this.options.tpl(ir,this.ctx))}sendError(ir){this.ctx.logger.error(ir);this.end();this.ctx.res.end()}_flush(ir){this.ctx.res.end();ir()}}sr.HttpStreamResponse=HttpStreamResponse},70812:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayAspectService=void 0;const kr=lr(65675);const Fr=lr(6192);const Br=lr(49757);const Ur=lr(63289);let Wr=class MidwayAspectService{constructor(ir){this.applicationContext=ir}async loadAspect(){const ir=(0,Br.listModule)(Br.ASPECT_KEY);let sr=[];for(const lr of ir){const ir=(0,Br.getClassMetadata)(Br.ASPECT_KEY,lr);sr=sr.concat(ir.map((ir=>{ir.aspectModule=lr;return ir})))}sr.sort(((ir,sr)=>(sr.priority||0)-(ir.priority||0)));for(const ir of sr){const sr=await this.applicationContext.getAsync(ir.aspectModule);await this.addAspect(sr,ir)}}async addAspect(ir,sr){const lr=sr.aspectTarget;const hr=Object.getOwnPropertyNames(lr.prototype);const yr=sr.match?kr(sr.match):()=>true;for(const sr of hr){if(sr==="constructor"||!yr(sr)){continue}const hr=Object.getOwnPropertyDescriptor(lr.prototype,sr);if(!hr||hr.writable===false){continue}this.interceptPrototypeMethod(lr,sr,ir)}}interceptPrototypeMethod(ir,sr,lr){const hr=ir.prototype[sr];if(Ur.Types.isAsyncFunction(ir.prototype[sr])){ir.prototype[sr]=async function(...ir){var yr,kr,Fr;let Br,Ur;const newProceed=(...ir)=>hr.apply(this,ir);const Wr={methodName:sr,target:this,args:ir,proceed:newProceed,proceedIsAsyncFunction:true};if(typeof lr==="function"){lr=lr()}try{await((yr=lr.before)===null||yr===void 0?void 0:yr.call(lr,Wr));if(lr.around){Ur=await lr.around(Wr)}else{Ur=await hr.call(this,...Wr.args)}Wr.proceed=undefined;const ir=await((kr=lr.afterReturn)===null||kr===void 0?void 0:kr.call(lr,Wr,Ur));Ur=typeof ir==="undefined"?Ur:ir;return Ur}catch(ir){Wr.proceed=undefined;Br=ir;if(lr.afterThrow){await lr.afterThrow(Wr,Br)}else{throw ir}}finally{await((Fr=lr.after)===null||Fr===void 0?void 0:Fr.call(lr,Wr,Ur,Br))}}}else{ir.prototype[sr]=function(...ir){var yr,kr,Fr;let Br,Ur;const newProceed=(...ir)=>hr.apply(this,ir);const Wr={methodName:sr,target:this,args:ir,proceed:newProceed,proceedIsAsyncFunction:false};if(typeof lr==="function"){lr=lr()}try{(yr=lr.before)===null||yr===void 0?void 0:yr.call(lr,Wr);if(lr.around){Ur=lr.around(Wr)}else{Ur=hr.call(this,...Wr.args)}Wr.proceed=undefined;const ir=(kr=lr.afterReturn)===null||kr===void 0?void 0:kr.call(lr,Wr,Ur);Ur=typeof ir==="undefined"?Ur:ir;return Ur}catch(ir){Wr.proceed=undefined;Br=ir;if(lr.afterThrow){lr.afterThrow(Wr,Br)}else{throw ir}}finally{(Fr=lr.after)===null||Fr===void 0?void 0:Fr.call(lr,Wr,Ur,Br)}}}}};Wr=hr([(0,Br.Provide)(),(0,Br.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Wr);sr.MidwayAspectService=Wr},78842:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayConfigService=void 0;const kr=lr(16928);const Fr=lr(6192);const Br=lr(65308);const Ur=lr(79896);const Wr=lr(39023);const zr=lr(70275);const Jr=lr(37482);const Hr=lr(83486);const Gr=lr(86314);const Yr=lr(49757);const Qr=lr(63289);const Zr=Wr.debuglog("midway:debug");let cn=class MidwayConfigService{constructor(){this.envDirMap=new Map;this.aliasMap={prod:"production",unittest:"test"};this.configMergeOrder=[];this.configuration={};this.isReady=false;this.externalObject=[];this.configFilterList=[]}init(){this.appInfo={pkg:this.informationService.getPkg(),name:this.informationService.getProjectName(),baseDir:this.informationService.getBaseDir(),appDir:this.informationService.getAppDir(),HOME:this.informationService.getHome(),root:this.informationService.getRoot(),env:this.environmentService.getCurrentEnvironment()}}add(ir){for(const sr of ir){if(typeof sr==="string"){if(/\.\w+$/.test(sr)){const ir=this.getConfigEnv(sr);const lr=this.getEnvSet(ir);lr.add(sr);if(this.aliasMap[ir]){this.getEnvSet(this.aliasMap[ir]).add(sr)}}else{const ir=(0,Ur.statSync)(sr);if(ir.isDirectory()){const ir=(0,Ur.readdirSync)(sr);this.add(ir.map((ir=>(0,kr.join)(sr,ir))))}}}else{for(const ir in sr){this.getEnvSet(ir).add(sr[ir]);if(this.aliasMap[ir]){this.getEnvSet(this.aliasMap[ir]).add(sr[ir])}}}}}addObject(ir,sr=false){if(this.isReady){ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");return}this.configMergeOrder.push({env:"default",extraPath:"",value:ir});if(sr){this.configuration=(0,Hr.extend)(true,ir,this.configuration)}else{(0,Hr.extend)(true,this.configuration,ir)}}else{this.externalObject.push(ir)}}getEnvSet(ir){if(!this.envDirMap.has(ir)){this.envDirMap.set(ir,new Set)}return this.envDirMap.get(ir)}getConfigEnv(ir){const sr=(0,kr.basename)(ir);const lr=sr.split(".");const hr=lr.pop();if(hr!=="js"&&hr!=="ts"){return hr}return lr.pop()}load(){if(this.isReady)return;const ir=this.getEnvSet("default");const sr=this.getEnvSet(this.environmentService.getCurrentEnvironment());const lr={};const hr=ir.size;for(const[yr,kr]of[...ir,...sr].entries()){let ir=this.loadConfig(kr);if(Qr.Types.isFunction(ir)){ir=ir.apply(null,[this.appInfo,lr])}if(!ir){continue}ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");continue}if(typeof kr==="string"){Zr("[config]: Loaded config %s, %j",kr,ir)}else{Zr("[config]: Loaded config %j",ir)}this.configMergeOrder.push({env:yr<hr?"default":this.environmentService.getCurrentEnvironment(),extraPath:kr,value:ir});(0,Hr.extend)(true,lr,ir)}if(this.externalObject.length){for(let ir of this.externalObject){if(ir){ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");continue}Zr("[config]: Loaded external object %j",ir);(0,Hr.extend)(true,lr,ir);this.configMergeOrder.push({env:"default",extraPath:"",value:ir})}}}this.configuration=lr;this.isReady=true}getConfiguration(ir){if(ir){return(0,Br.safelyGet)(ir,this.configuration)}return this.configuration}getConfigMergeOrder(){return this.configMergeOrder}loadConfig(ir){let sr=typeof ir==="string"?require(ir):ir;if(sr&&sr.__esModule){if(sr&&sr.default){if(Object.keys(sr).length>1){throw new Gr.MidwayInvalidConfigError(`${ir} should not have both a default export and named export`)}sr=sr.default}}return sr}clearAllConfig(){this.configuration={}}clearConfigMergeOrder(){this.configMergeOrder.length=0}addFilter(ir){this.configFilterList.push(ir)}runWithFilter(ir){for(const sr of this.configFilterList){Zr(`[config]: Filter config by filter = "${sr.name||"anonymous filter"}"`);ir=sr(ir);Zr("[config]: Filter config result = %j",ir)}return ir}getAppInfo(){return this.appInfo}};hr([(0,Yr.Inject)(),yr("design:type",zr.MidwayEnvironmentService)],cn.prototype,"environmentService",void 0);hr([(0,Yr.Inject)(),yr("design:type",Jr.MidwayInformationService)],cn.prototype,"informationService",void 0);hr([(0,Yr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],cn.prototype,"init",null);cn=hr([(0,Yr.Provide)(),(0,Yr.Scope)(Fr.ScopeEnum.Singleton)],cn);sr.MidwayConfigService=cn},96367:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayDecoratorService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(70812);const Ur=lr(86314);const Wr=lr(39023);const zr=lr(63289);const Jr=Wr.debuglog("midway:debug");let Hr=class MidwayDecoratorService{constructor(ir){this.applicationContext=ir;this.propertyHandlerMap=new Map;this.methodDecoratorMap=new Map;this.parameterDecoratorMap=new Map;this.parameterDecoratorPipes=new Map}init(){this.applicationContext.onBeforeBind((ir=>{const sr=(0,kr.getClassMetadata)(kr.INJECT_CUSTOM_METHOD,ir);if(sr){for(const lr of sr){const{propertyName:sr,key:hr,metadata:yr,options:kr}=lr;if(!kr||!kr.impl){continue}this.aspectService.interceptPrototypeMethod(ir,sr,(()=>{const lr=this.methodDecoratorMap.get(hr);if(!lr){throw new Ur.MidwayCommonError(`Method Decorator "${hr}" handler not found, please register first.`)}return lr({target:ir,propertyName:sr,metadata:yr})}))}}const lr=(0,kr.getClassMetadata)(kr.INJECT_CUSTOM_PARAM,ir);if(lr){for(const sr of Object.keys(lr)){this.aspectService.interceptPrototypeMethod(ir,sr,(()=>({before:async hr=>{const yr=[...hr.args];for(const Fr of lr[sr]){const{propertyName:sr,key:lr,metadata:Br,parameterIndex:Wr,options:Hr}=Fr;let Gr;if(Hr&&Hr.impl){Gr=this.parameterDecoratorMap.get(lr);if(!Gr){throw new Ur.MidwayCommonError(`Parameter Decorator "${lr}" handler not found, please register first.`)}}else{Gr=async({parameterIndex:ir,originArgs:sr})=>sr[ir]}const Yr=(0,kr.getMethodParamTypes)(ir,sr);let Qr=false;try{yr[Wr]=await Gr({metadata:Br,propertyName:sr,parameterIndex:Wr,target:ir,originArgs:yr,originParamType:Yr[Wr],instance:hr.target})}catch(ir){Qr=true;if((Hr===null||Hr===void 0?void 0:Hr.throwError)===true){throw ir}else{Jr(`[core]: Parameter decorator throw error and use origin args, ${ir.stack}`)}}if(Qr){continue}const Zr=[...this.parameterDecoratorPipes.get(lr)||[],...(Hr===null||Hr===void 0?void 0:Hr.pipes)||[]];for(const ir of Zr){let sr;if("transform"in ir){sr=ir["transform"].bind(ir)}else if((0,zr.isClass)(ir)){const lr=await this.applicationContext.getAsync(ir);sr=lr.transform.bind(lr)}else if(typeof ir==="function"){sr=ir}else{throw new Ur.MidwayParameterError("Pipe must be a function or implement PipeTransform interface")}yr[Wr]=await sr(yr[Wr],{metaType:(0,kr.transformTypeFromTSDesign)(Yr[Wr]),metadata:Br,target:hr.target,methodName:hr.methodName})}}hr.args=yr}})))}}}));this.applicationContext.onObjectCreated(((ir,sr)=>{if(this.propertyHandlerMap.size>0&&Array.isArray(sr.definition.handlerProps)){for(const lr of sr.definition.handlerProps){this.defineGetterPropertyValue(lr,ir,this.getHandler(lr.key))}}}));this.registerPropertyHandler(kr.APPLICATION_CONTEXT_KEY,((ir,sr)=>this.applicationContext))}registerPropertyHandler(ir,sr){Jr(`[core]: Register property decorator key="${ir}"`);this.propertyHandlerMap.set(ir,sr)}registerMethodHandler(ir,sr){Jr(`[core]: Register method decorator key="${ir}"`);this.methodDecoratorMap.set(ir,sr)}registerParameterHandler(ir,sr){Jr(`[core]: Register parameter decorator key="${ir}"`);this.parameterDecoratorMap.set(ir,sr)}registerParameterPipes(ir,sr){if(!this.parameterDecoratorPipes.has(ir)){this.parameterDecoratorPipes.set(ir,[])}this.parameterDecoratorPipes.set(ir,this.parameterDecoratorPipes.get(ir).concat(sr))}defineGetterPropertyValue(ir,sr,lr){if(ir&&lr){if(ir.propertyName){Object.defineProperty(sr,ir.propertyName,{get:()=>{var hr;return lr(ir.propertyName,(hr=ir.metadata)!==null&&hr!==void 0?hr:{},sr)},configurable:true,enumerable:true})}}}getHandler(ir){if(this.propertyHandlerMap.has(ir)){return this.propertyHandlerMap.get(ir)}}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayAspectService)],Hr.prototype,"aspectService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Hr.prototype,"init",null);Hr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Hr);sr.MidwayDecoratorService=Hr},70275:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayEnvironmentService=void 0;const yr=lr(6192);const kr=lr(65308);const Fr=lr(49757);let Br=class MidwayEnvironmentService{constructor(){this.moduleLoadType="commonjs"}getCurrentEnvironment(){if(!this.environment){this.environment=(0,kr.getCurrentEnvironment)()}return this.environment}setCurrentEnvironment(ir){this.environment=ir}isDevelopmentEnvironment(){return(0,kr.isDevelopmentEnvironment)(this.environment)}setModuleLoadType(ir){this.moduleLoadType=ir}getModuleLoadType(){return this.moduleLoadType}isPkgEnvironment(){return typeof process["pkg"]!=="undefined"}};Br=hr([(0,Fr.Provide)(),(0,Fr.Scope)(yr.ScopeEnum.Singleton)],Br);sr.MidwayEnvironmentService=Br},33332:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayFrameworkService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(78842);const Ur=lr(34888);const Wr=lr(83872);const zr=lr(28602);const Jr=lr(96367);const Hr=lr(70812);const Gr=lr(43436);const Yr=lr(39023);const Qr=lr(86314);const Zr=lr(2222);const cn=lr(70032);const un=Yr.debuglog("midway:debug");let Tn=class MidwayFrameworkService{constructor(ir,sr){this.applicationContext=ir;this.globalOptions=sr;this.globalFrameworkList=[]}async init(){var ir,sr;this.decoratorService.registerPropertyHandler(kr.CONFIG_KEY,((ir,sr)=>{var lr;if(sr.identifier===kr.ALL){return this.configService.getConfiguration()}else{return this.configService.getConfiguration((lr=sr.identifier)!==null&&lr!==void 0?lr:ir)}}));this.decoratorService.registerPropertyHandler(kr.LOGGER_KEY,((ir,sr)=>{var lr;return this.loggerService.getLogger((lr=sr.identifier)!==null&&lr!==void 0?lr:ir)}));this.decoratorService.registerPropertyHandler(kr.PIPELINE_IDENTIFIER,((ir,sr,lr)=>{var hr,yr;return new zr.MidwayPipelineService((yr=(hr=lr[Zr.REQUEST_OBJ_CTX_KEY])===null||hr===void 0?void 0:hr.requestContext)!==null&&yr!==void 0?yr:this.applicationContext,sr.valves)}));this.decoratorService.registerPropertyHandler(kr.APPLICATION_KEY,((ir,sr)=>{if(sr.type){const ir=this.applicationManager.getApplication(sr.type);if(!ir){throw new Qr.MidwayCommonError(`Framework ${sr.type} not Found`)}return ir}else{return this.getMainApp()}}));this.decoratorService.registerPropertyHandler(kr.PLUGIN_KEY,((ir,sr)=>{var lr;return this.getMainApp()[(lr=sr.identifier)!==null&&lr!==void 0?lr:ir]}));this.decoratorService.registerPropertyHandler(kr.FACTORY_SERVICE_CLIENT_KEY,((ir,sr)=>{const lr=this.applicationContext.get(sr.serviceFactoryClz);const hr=sr.clientName||lr.getDefaultClientName();if(hr&&lr.has(hr)){return lr.get(hr)}else{if(!hr){throw new Qr.MidwayParameterError(`Please set clientName or options.defaultClientName for ${sr.serviceFactoryClz.name}).`)}else{throw new Qr.MidwayParameterError(`ClientName(${hr} not found in ${sr.serviceFactoryClz.name}).`)}}}));let lr=(0,kr.listModule)(kr.FRAMEWORK_KEY);lr=filterProtoFramework(lr);un(`[core]: Found Framework length = ${lr.length}`);if(lr.length){for(const sr of lr){if(!this.applicationContext.hasDefinition((0,kr.getProviderUUId)(sr))){un(`[core]: Found Framework "${sr.name}" but missing definition, skip initialize.`);continue}const lr=await this.applicationContext.getAsync(sr,[this.applicationContext]);if(lr.isEnable()){cn.MidwayInitializerPerformanceManager.frameworkInitializeStart(lr.getFrameworkName());await lr.initialize({applicationContext:this.applicationContext,namespace:lr.getNamespace(),...this.globalOptions});cn.MidwayInitializerPerformanceManager.frameworkInitializeEnd(lr.getFrameworkName());un(`[core]: Found Framework "${lr.getFrameworkName()}" and initialize.`)}else{un(`[core]: Found Framework "${lr.getFrameworkName()}" and delay initialize.`)}const hr=this.applicationContext.registry.getDefinition((0,kr.getProviderUUId)(sr));lr.setNamespace(hr===null||hr===void 0?void 0:hr.namespace);this.applicationManager.addFramework((ir=hr===null||hr===void 0?void 0:hr.namespace)!==null&&ir!==void 0?ir:lr.getFrameworkName(),lr);this.globalFrameworkList.push(lr)}let hr;const yr=this.applicationContext.getNamespaceList();for(const ir of yr){const sr=this.applicationManager.getApplication(ir);if(sr){hr=ir;break}}global["MIDWAY_MAIN_FRAMEWORK"]=this.mainFramework=(sr=this.applicationManager.getFramework(hr))!==null&&sr!==void 0?sr:this.globalFrameworkList[0];un(`[core]: Current main Framework is "${hr}".`)}await this.aspectService.loadAspect()}getMainApp(){var ir;return(ir=this.mainFramework)===null||ir===void 0?void 0:ir.getApplication()}getMainFramework(){return this.mainFramework}getFramework(ir){return this.applicationManager.getFramework(ir)}async runFramework(){const ir=this.applicationContext.getNamespaceList();this.globalFrameworkList=this.globalFrameworkList.sort(((sr,lr)=>ir.indexOf(sr.getNamespace())-ir.indexOf(lr.getNamespace())));for(const ir of this.globalFrameworkList){if(ir.isEnable()){cn.MidwayInitializerPerformanceManager.frameworkRunStart(ir.getFrameworkName());await ir.run();un(`[core]: Found Framework "${ir.getFrameworkName()}" and run.`);cn.MidwayInitializerPerformanceManager.frameworkRunEnd(ir.getFrameworkName())}}}async stopFramework(){await Promise.all(Array.from(this.globalFrameworkList).map((ir=>ir.stop())))}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayConfigService)],Tn.prototype,"configService",void 0);hr([(0,kr.Inject)(),yr("design:type",Ur.MidwayLoggerService)],Tn.prototype,"loggerService",void 0);hr([(0,kr.Inject)(),yr("design:type",Hr.MidwayAspectService)],Tn.prototype,"aspectService",void 0);hr([(0,kr.Inject)(),yr("design:type",Jr.MidwayDecoratorService)],Tn.prototype,"decoratorService",void 0);hr([(0,kr.Inject)(),yr("design:type",Gr.MidwayApplicationManager)],Tn.prototype,"applicationManager",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Tn.prototype,"init",null);Tn=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object,Object])],Tn);sr.MidwayFrameworkService=Tn;function filterProtoFramework(ir){const sr=[];for(const lr of ir){let ir=Object.getPrototypeOf(lr);while(ir.name&&ir.name!==Wr.BaseFramework.name){sr.push(ir);ir=Object.getPrototypeOf(ir)}}return ir.filter((ir=>!sr.includes(ir)))}},658:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayHealthService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(78842);const Ur=lr(65308);let Wr=class MidwayHealthService{constructor(){this.healthCheckTimeout=1e3;this.healthCheckMethods=[]}async init(ir){const sr=this.configService.getConfiguration("core.healthCheckTimeout")||1e3;this.setCheckTimeout(sr);for(const sr of ir){if(sr.instance&&sr.instance["onHealthCheck"]){this.healthCheckMethods.push({item:sr.instance["onHealthCheck"].bind(sr.instance),meta:{namespace:sr.namespace}})}}}async getStatus(){const ir=await(0,Ur.createPromiseTimeoutInvokeChain)({promiseItems:this.healthCheckMethods.map((ir=>({item:ir.item(this.applicationContext),meta:ir.meta}))),timeout:this.healthCheckTimeout,methodName:"configuration.onHealthCheck",onSuccess:(ir,sr)=>{if(ir["status"]!==undefined){return{namespace:sr.namespace,...ir}}else{return{status:false,namespace:sr.namespace,reason:"configuration.onHealthCheck return value must be object and contain status field"}}},onFail:(ir,sr)=>({status:false,namespace:sr.namespace,reason:ir.message})});const sr=ir.find((ir=>!ir.status));return{status:!sr,namespace:sr===null||sr===void 0?void 0:sr.namespace,reason:sr===null||sr===void 0?void 0:sr.reason,results:ir}}setCheckTimeout(ir){this.healthCheckTimeout=ir}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayConfigService)],Wr.prototype,"configService",void 0);hr([(0,kr.ApplicationContext)(),yr("design:type",Object)],Wr.prototype,"applicationContext",void 0);Wr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton)],Wr);sr.MidwayHealthService=Wr},37482:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayInformationService=void 0;const kr=lr(6192);const Fr=lr(65308);const Br=lr(16928);const Ur=lr(49757);const Wr=lr(79896);let zr=class MidwayInformationService{init(){if(this.baseDir){if(!this.appDir){this.appDir=(0,Br.dirname)(this.baseDir)}const ir=(0,Br.join)(this.appDir,"package.json");if((0,Wr.existsSync)(ir)){const sr=(0,Wr.readFileSync)(ir,{encoding:"utf-8"});this.pkg=JSON.parse(sr)}else{this.pkg={}}}else{this.pkg={}}}getAppDir(){return this.appDir}getBaseDir(){return this.baseDir}getHome(){return(0,Fr.getUserHome)()}getPkg(){return this.pkg}getProjectName(){var ir;return((ir=this.pkg)===null||ir===void 0?void 0:ir["name"])||""}getRoot(){const ir=(0,Fr.isDevelopmentEnvironment)((0,Fr.getCurrentEnvironment)());return ir?this.getAppDir():this.getHome()}};hr([(0,Ur.Inject)(),yr("design:type",String)],zr.prototype,"appDir",void 0);hr([(0,Ur.Inject)(),yr("design:type",String)],zr.prototype,"baseDir",void 0);hr([(0,Ur.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],zr.prototype,"init",null);zr=hr([(0,Ur.Provide)(),(0,Ur.Scope)(kr.ScopeEnum.Singleton)],zr);sr.MidwayInformationService=zr},13328:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayLifeCycleService=void 0;const kr=lr(6192);const Fr=lr(49757);const Br=lr(24451);const Ur=lr(33332);const Wr=lr(78842);const zr=lr(39023);const Jr=lr(77306);const Hr=lr(658);const Gr=lr(70032);const Yr=(0,zr.debuglog)("midway:debug");let Qr=class MidwayLifeCycleService{constructor(ir){this.applicationContext=ir;this.lifecycleInstanceList=[]}async init(){await this.mockService.initSimulation();const ir=(0,Fr.listModule)(Fr.CONFIGURATION_KEY);Yr(`[core]: Found Configuration length = ${ir.length}`);for(const sr of ir){if(sr.target instanceof Br.FunctionalConfiguration){sr.instance=sr.target}else{Yr(`[core]: Lifecycle run ${sr.namespace} init`);sr.instance=await this.applicationContext.getAsync(sr.target)}sr.instance&&this.lifecycleInstanceList.push(sr)}await this.healthService.init(this.lifecycleInstanceList);await Promise.all([this.runObjectLifeCycle(this.lifecycleInstanceList,"onBeforeObjectCreated"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onObjectCreated"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onObjectInit"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onBeforeObjectDestroy")]);await this.runContainerLifeCycle(this.lifecycleInstanceList,"onConfigLoad",(ir=>{if(ir){this.configService.addObject(ir)}}));await this.mockService.runSimulatorSetup();await this.runContainerLifeCycle(this.lifecycleInstanceList,"onReady");await this.frameworkService.runFramework();await this.runContainerLifeCycle(this.lifecycleInstanceList,"onServerReady");if(!this.configService.getConfiguration("debug.recordConfigMergeOrder")){this.configService.clearConfigMergeOrder()}}async stop(){await this.mockService.runSimulatorTearDown();const ir=(0,Fr.listModule)(Fr.CONFIGURATION_KEY)||[];for(const sr of ir.reverse()){let ir;if(sr.target instanceof Br.FunctionalConfiguration){ir=sr.target}else{ir=await this.applicationContext.getAsync(sr.target)}await this.runContainerLifeCycle(ir,"onStop")}await this.frameworkService.stopFramework()}async runContainerLifeCycle(ir,sr,lr){if(Array.isArray(ir)){for(const hr of ir){if(typeof hr.instance[sr]==="function"){Yr(`[core]: Lifecycle run ${hr.instance.constructor.name} ${sr}`);Gr.MidwayInitializerPerformanceManager.lifecycleStart(hr.namespace,sr);const ir=await hr.instance[sr](this.applicationContext,this.frameworkService.getMainApp());if(lr){lr(ir)}Gr.MidwayInitializerPerformanceManager.lifecycleEnd(hr.namespace,sr)}}}else{if(typeof ir[sr]==="function"){const hr=ir.constructor.name;Yr(`[core]: Lifecycle run ${hr} ${sr}`);Gr.MidwayInitializerPerformanceManager.lifecycleStart(hr,sr);const yr=await ir[sr](this.applicationContext,this.frameworkService.getMainApp());if(lr){lr(yr)}Gr.MidwayInitializerPerformanceManager.lifecycleEnd(hr,sr)}}}async runObjectLifeCycle(ir,sr){for(const lr of ir){if(typeof lr.instance[sr]==="function"){Yr(`[core]: Lifecycle run ${lr.instance.constructor.name} ${sr}`);return await this.applicationContext[sr](lr.instance[sr].bind(lr.instance))}}}getLifecycleInstanceList(){return this.lifecycleInstanceList}};hr([(0,Fr.Inject)(),yr("design:type",Ur.MidwayFrameworkService)],Qr.prototype,"frameworkService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Wr.MidwayConfigService)],Qr.prototype,"configService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.MidwayMockService)],Qr.prototype,"mockService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Hr.MidwayHealthService)],Qr.prototype,"healthService",void 0);hr([(0,Fr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Qr.prototype,"init",null);Qr=hr([(0,Fr.Provide)(),(0,Fr.Scope)(kr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Qr);sr.MidwayLifeCycleService=Qr},34888:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayLoggerService=void 0;const kr=lr(49757);const Fr=lr(78842);const Br=lr(64842);const Ur=lr(6192);const Wr=lr(82535);const zr=lr(86314);let Jr=class MidwayLoggerService extends Br.ServiceFactory{constructor(ir,sr={}){super();this.applicationContext=ir;this.globalOptions=sr;this.lazyLoggerConfigMap=new Map;this.aliasLoggerMap=new Map}init(){var ir;const sr=this.configService.getConfiguration("loggerFactory");this.loggerFactory=sr||this.globalOptions["loggerFactory"]||new Wr.DefaultConsoleLoggerFactory;if(!this.loggerFactory.getDefaultMidwayLoggerConfig){throw new zr.MidwayFeatureNoLongerSupportedError("please upgrade your @midwayjs/logger to latest version")}const lr=this.loggerFactory.getDefaultMidwayLoggerConfig(this.configService.getAppInfo());this.configService.addObject(lr,true);this.initClients(this.configService.getConfiguration("midwayLogger"));(ir=this.applicationContext)===null||ir===void 0?void 0:ir.registerObject("logger",this.getLogger("appLogger"))}createClient(ir,sr){if(ir.aliasName){this.aliasLoggerMap.set(ir.aliasName,sr)}if(!ir.lazyLoad){this.loggerFactory.createLogger(sr,ir)}else{delete ir["lazyLoad"];this.lazyLoggerConfigMap.set(sr,ir)}}getName(){return"logger"}createLogger(ir,sr){delete sr["aliasName"];return this.loggerFactory.createLogger(ir,sr)}getLogger(ir){if(this.aliasLoggerMap.has(ir)){ir=this.aliasLoggerMap.get(ir)}const sr=this.loggerFactory.getLogger(ir);if(sr){return sr}if(this.lazyLoggerConfigMap.has(ir)){this.createClient(this.lazyLoggerConfigMap.get(ir),ir);this.lazyLoggerConfigMap.delete(ir)}return this.loggerFactory.getLogger(ir)}getCurrentLoggerFactory(){return this.loggerFactory}createContextLogger(ir,sr,lr){return this.loggerFactory.createContextLogger(ir,sr,lr)}getClients(){return this.clients}getClientKeys(){return Array.from(this.clients.keys())}};hr([(0,kr.Inject)(),yr("design:type",Fr.MidwayConfigService)],Jr.prototype,"configService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Jr.prototype,"init",null);Jr=hr([(0,kr.Provide)(),(0,kr.Scope)(Ur.ScopeEnum.Singleton),yr("design:paramtypes",[Object,Object])],Jr);sr.MidwayLoggerService=Jr},68220:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayMiddlewareService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(86314);const Ur=lr(65308);const Wr=lr(63289);const zr=lr(39023);const Jr=(0,zr.debuglog)("midway:debug");let Hr=class MidwayMiddlewareService{constructor(ir){this.applicationContext=ir}async compose(ir,sr,lr){var hr;if(!Array.isArray(ir)){throw new Br.MidwayParameterError("Middleware stack must be an array")}const yr=[];for(let lr of ir){if(Wr.Types.isClass(lr)||typeof lr==="string"||(lr===null||lr===void 0?void 0:lr["middleware"])){let ir=(hr=lr===null||lr===void 0?void 0:lr["middleware"])!==null&&hr!==void 0?hr:lr;const kr=lr===null||lr===void 0?void 0:lr["options"];let Fr=lr===null||lr===void 0?void 0:lr["name"];if(typeof ir==="string"&&!this.applicationContext.hasDefinition(ir)){throw new Br.MidwayCommonError(`Middleware definition of "${ir}" not found in midway container`)}const Wr=await this.applicationContext.getAsync(ir);if(Wr){Fr=Fr!==null&&Fr!==void 0?Fr:Wr.constructor.name;ir=await Wr.resolve(sr,kr);if(!ir){continue}if(!Wr.match&&!Wr.ignore){if(!ir.name){ir._name=Fr}yr.push(ir)}else{const sr=(0,Ur.pathMatching)({match:Wr.match,ignore:Wr.ignore,thisResolver:Wr});lr=(lr,hr,yr)=>{if(!sr(lr))return hr();return ir(lr,hr,yr)};lr._name=Fr;yr.push(lr)}}else{throw new Br.MidwayCommonError("Middleware must have resolve method!")}}else{yr.push(lr)}}const composeFn=(ir,sr)=>{const hr=(0,Ur.isIncludeProperty)(ir,"body");let kr=-1;return dispatch(0);function dispatch(Fr){if(Fr<=kr)return Promise.reject(new Br.MidwayCommonError("next() called multiple times"));kr=Fr;let Ur=yr[Fr];if(Fr===yr.length)Ur=sr;if(!Ur)return Promise.resolve();const Wr=`${lr?`${lr}.`:""}${kr} ${Ur._name||Ur.name||"anonymous"}`;const zr=Date.now();Jr(`[middleware]: in ${Wr} +0`);try{if(hr){return Promise.resolve(Ur(ir,dispatch.bind(null,Fr+1),{index:kr})).then((sr=>{if(sr!==undefined&&sr!==ir["body"]){ir["body"]=sr}else if(ir["body"]!==undefined){sr=ir["body"]}Jr(`[middleware]: out ${Wr} +${Date.now()-zr} with body`);return sr}))}else{return Promise.resolve(Ur(ir,dispatch.bind(null,Fr+1),{index:kr})).then((ir=>{Jr(`[middleware]: out ${Wr} +${Date.now()-zr}`);return ir}))}}catch(ir){Jr(`[middleware]: out ${Wr} +${Date.now()-zr} with err ${ir.message}`);return Promise.reject(ir)}}};if(lr){composeFn._name=lr}return composeFn}};Hr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Hr);sr.MidwayMiddlewareService=Hr},77306:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr;Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayMockService=void 0;const Fr=lr(6192);const Br=lr(49757);const Ur=lr(63289);let Wr=kr=class MidwayMockService{constructor(ir){this.applicationContext=ir;this.mocks=new Map;this.contextMocks=new Map;this.cache=new Map;this.simulatorList=[]}async init(){if(kr.prepareMocks.length>0){for(const ir of kr.prepareMocks){this.mockProperty(ir.obj,ir.key,ir.value,ir.group)}kr.prepareMocks=[]}}static mockClassProperty(ir,sr,lr,hr="default"){this.mockProperty(ir.prototype,sr,lr,hr)}static mockProperty(ir,sr,lr,hr="default"){this.prepareMocks.push({obj:ir,key:sr,value:lr,group:hr})}mockClassProperty(ir,sr,lr,hr="default"){return this.mockProperty(ir.prototype,sr,lr,hr)}mockProperty(ir,sr,lr,hr="default"){const yr=ir.hasOwnProperty(sr);const kr={obj:ir,key:sr,descriptor:Object.getOwnPropertyDescriptor(ir,sr),hasOwnProperty:yr};if(!this.mocks.has(hr)){this.mocks.set(hr,[])}this.mocks.get(hr).push(kr);if(yr){delete ir[sr]}let Fr=this.cache.get(hr);if(!Fr){Fr=new Map;this.cache.set(hr,Fr)}let Br=Fr.get(ir);if(!Br){Br=new Set;Fr.set(ir,Br)}Br.add(sr);const Ur=this.overridePropertyDescriptor(lr);Object.defineProperty(ir,sr,Ur)}mockContext(ir,sr,lr,hr="default"){if(!this.contextMocks.has(hr)){this.contextMocks.set(hr,[])}this.contextMocks.get(hr).push({app:ir,key:sr,value:lr})}restore(ir="default"){this.restoreGroup(ir)}restoreAll(){const ir=new Set([...this.mocks.keys(),...this.contextMocks.keys(),...this.cache.keys()]);for(const sr of ir){this.restoreGroup(sr)}this.simulatorList=[]}restoreGroup(ir){const sr=this.mocks.get(ir)||[];for(let ir=sr.length-1;ir>=0;ir--){const lr=sr[ir];if(!lr.hasOwnProperty){delete lr.obj[lr.key]}else{Object.defineProperty(lr.obj,lr.key,lr.descriptor)}}this.mocks.delete(ir);this.contextMocks.delete(ir);this.cache.delete(ir);this.simulatorList=this.simulatorList.filter((sr=>sr["group"]!==ir))}isMocked(ir,sr,lr="default"){if((0,Ur.isClass)(ir)){ir=ir.prototype}const hr=this.cache.get(lr);const yr=hr?hr.get(ir):undefined;return yr?yr.has(sr):false}applyContextMocks(ir,sr){for(const[,lr]of this.contextMocks){for(const hr of lr){if(hr.app===ir){const ir=this.overridePropertyDescriptor(hr.value);if(typeof hr.key==="string"){Object.defineProperty(sr,hr.key,ir)}else{hr.key(sr)}}}}}getContextMocksSize(){return Array.from(this.contextMocks.values()).reduce(((ir,sr)=>ir+sr.length),0)}overridePropertyDescriptor(ir){const sr={configurable:true,enumerable:true};if(ir&&(ir.get||ir.set)){sr.get=ir.get;sr.set=ir.set}else{sr.value=ir;sr.writable=true}return sr}async initSimulation(ir="default"){const sr=(0,Br.listModule)(Br.MOCK_KEY);for(const lr of sr){const sr=await this.applicationContext.getAsync(lr);if(await sr.enableCondition()){sr["group"]=ir;this.simulatorList.push(sr)}}}async runSimulatorSetup(){var ir;for(const sr of this.simulatorList){await((ir=sr.setup)===null||ir===void 0?void 0:ir.call(sr))}}async runSimulatorTearDown(){var ir;for(let sr=this.simulatorList.length-1;sr>=0;sr--){const lr=this.simulatorList[sr];await((ir=lr.tearDown)===null||ir===void 0?void 0:ir.call(lr))}}async runSimulatorAppSetup(ir){var sr;for(const lr of this.simulatorList){await((sr=lr.appSetup)===null||sr===void 0?void 0:sr.call(lr,ir))}}async runSimulatorAppTearDown(ir){var sr;for(let lr=this.simulatorList.length-1;lr>=0;lr--){const hr=this.simulatorList[lr];await((sr=hr.appTearDown)===null||sr===void 0?void 0:sr.call(hr,ir))}}async runSimulatorContextSetup(ir,sr){var lr;for(const hr of this.simulatorList){await((lr=hr.contextSetup)===null||lr===void 0?void 0:lr.call(hr,ir,sr))}}async runSimulatorContextTearDown(ir,sr){var lr;for(let hr=this.simulatorList.length-1;hr>=0;hr--){const yr=this.simulatorList[hr];await((lr=yr===null||yr===void 0?void 0:yr.contextTearDown)===null||lr===void 0?void 0:lr.call(yr,ir,sr))}}};Wr.prepareMocks=[];hr([(0,Br.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Wr.prototype,"init",null);hr([(0,Br.Destroy)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Wr.prototype,"restoreAll",null);Wr=kr=hr([(0,Br.Provide)(),(0,Br.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Wr);sr.MidwayMockService=Wr},28602:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPipelineService=sr.PipelineContext=void 0;const hr=lr(49757);class PipelineContext{constructor(ir){this.info={current:null,currentName:null};this.data=new Map;this.args=ir}get(ir){return this.data.get(ir)}set(ir,sr){this.data.set(ir,sr)}keys(){const ir=[];const sr=this.data.keys();for(const lr of sr){ir.push(lr)}return ir}}sr.PipelineContext=PipelineContext;class MidwayPipelineService{constructor(ir,sr){this.applicationContext=ir;this.valves=sr}async parallel(ir){const sr=this.prepareParallelValves(ir);const lr=await Promise.all(sr);return this.packResult(lr,false)}async concat(ir){const sr=this.prepareParallelValves(ir);const lr=await Promise.all(sr);return this.packResult(lr,true)}async series(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);const hr={success:true,result:null};const yr={};const kr={prevValue:null,current:null,currentName:null,prev:null,prevName:null,next:null,nextName:null};let Fr=1;for(const ir of sr){kr.prev=kr.current;kr.prevName=getName(kr.prev);kr.current=ir;kr.currentName=getName(kr.current);if(Fr<sr.length){kr.next=sr[Fr];kr.nextName=getName(kr.next)}else{kr.next=undefined;kr.nextName=undefined}Fr+=1;lr.info=kr;try{const sr=await this.applicationContext.getAsync(ir);const hr=await sr.invoke(lr);let Fr=ir;if(sr.alias){Fr=sr.alias}yr[Fr]=hr;kr.prevValue=hr}catch(sr){hr.success=false;hr.error={valveName:typeof ir==="string"?ir:ir.name,message:sr.message,error:sr};return hr}}hr.result=yr;return hr}async concatSeries(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);const hr={success:true,result:null};const yr=[];const kr={prevValue:null,current:null,currentName:null,prev:null,prevName:null,next:null,nextName:null};let Fr=1;for(const ir of sr){kr.prev=kr.current;kr.prevName=getName(kr.prev);kr.current=ir;kr.currentName=getName(kr.current);if(Fr<sr.length){kr.next=sr[Fr];kr.nextName=getName(kr.next)}else{kr.next=undefined;kr.nextName=undefined}Fr+=1;lr.info=kr;try{const sr=await this.applicationContext.getAsync(ir);const hr=await sr.invoke(lr);yr.push(hr);kr.prevValue=hr}catch(sr){hr.success=false;hr.error={valveName:typeof ir==="string"?ir:ir.name,message:sr.message,error:sr};return hr}}hr.result=yr;return hr}async waterfall(ir){const sr=await this.concatSeries(ir);if(sr.success){const ir=sr.result;sr.result=ir[ir.length-1]}return sr}mergeValves(ir){let sr=[];if(this.valves&&this.valves.length>0){sr=this.valves}let lr=[];if(ir){for(const hr of ir){if(sr.includes(hr)){lr.push(hr)}}}else{lr=sr}return lr}prepareParallelValves(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);return sr.map((async ir=>{const sr={valveName:ir,dataKey:ir,data:null};try{const hr=await this.applicationContext.getAsync(ir);if(hr.alias){sr.dataKey=hr.alias}sr.data=await hr.invoke(lr)}catch(ir){sr.error=ir}return sr}))}packResult(ir,sr=false){const lr={success:true,result:null};let hr;if(sr){hr=[]}else{hr={}}for(const yr of ir){if(yr.error){lr.success=false;lr.error={valveName:typeof yr.valveName==="string"?yr.valveName:yr.valveName.name,message:yr.error.message,error:yr.error};return lr}else{if(sr){hr.push(yr.data)}else{hr[yr.dataKey]=yr.data}}}lr.result=hr;return lr}}sr.MidwayPipelineService=MidwayPipelineService;function getName(ir){if(ir){if(typeof ir==="string"){return ir}else{return(0,hr.getProviderName)(ir)}}return null}},42592:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.WebRouterCollector=sr.MidwayServerlessFunctionService=void 0;const kr=lr(49757);const Fr=lr(19985);const Br=lr(9288);const Ur=lr(1845);const Wr=lr(50539);const zr=lr(6192);let Jr=class MidwayServerlessFunctionService extends Fr.MidwayWebRouterService{constructor(ir={}){super(Object.assign({},ir,{includeFunctionRouter:true}));this.options=ir}async analyze(){this.analyzeController();this.analyzeFunction();this.sortPrefixAndRouter();for(const ir of this.routes.values()){for(const sr of ir){if(sr.requestMethod==="all"){sr.functionTriggerMetadata=sr.functionTriggerMetadata||{};sr.functionTriggerMetadata.method=["get","post","put","delete","head","patch","options"]}}}}analyzeFunction(){const ir=(0,kr.listModule)(kr.FUNC_KEY);for(const sr of ir){this.collectFunctionRoute(sr)}}collectFunctionRoute(ir){var sr,lr,hr,yr,Fr,Br,Ur,Wr,zr,Jr,Hr,Gr,Yr,Qr,Zr,cn,un;const Tn=(0,kr.getClassMetadata)(kr.FUNC_KEY,ir);const jn=(0,kr.getProviderName)(ir);const ni=(0,kr.getProviderUUId)(ir);const si="/";if(!this.routes.has(si)){this.routes.set(si,[]);this.routesPriority.push({prefix:si,priority:-999,middleware:[],routerOptions:{},controllerId:jn,routerModule:ir})}for(const pi of Tn){if((sr=pi["metadata"])===null||sr===void 0?void 0:sr["path"]){const sr=(0,kr.getPropertyDataFromClass)(kr.WEB_ROUTER_PARAM_KEY,ir,pi["methodName"])||[];const Hr=(0,kr.getPropertyMetadata)(kr.WEB_RESPONSE_KEY,ir,pi["methodName"])||[];const Gr={id:ni,prefix:si,routerName:"",url:pi["metadata"]["path"],requestMethod:(hr=(lr=pi["metadata"])===null||lr===void 0?void 0:lr["method"])!==null&&hr!==void 0?hr:"get",method:pi["methodName"],description:"",summary:"",handlerName:`${jn}.${pi["methodName"]}`,funcHandlerName:`${jn}.${pi["methodName"]}`,controllerId:jn,middleware:((yr=pi["metadata"])===null||yr===void 0?void 0:yr["middleware"])||[],controllerMiddleware:[],requestMetadata:sr,responseMetadata:Hr};const Yr=(0,kr.getPropertyMetadata)(kr.SERVERLESS_FUNC_KEY,ir,pi["methodName"])||{};const Qr=(Ur=(Fr=Yr["functionName"])!==null&&Fr!==void 0?Fr:(Br=pi===null||pi===void 0?void 0:pi["metadata"])===null||Br===void 0?void 0:Br["functionName"])!==null&&Ur!==void 0?Ur:createFunctionName(ir,pi["methodName"]);const Zr=(Jr=(Wr=Yr["handlerName"])!==null&&Wr!==void 0?Wr:(zr=pi===null||pi===void 0?void 0:pi["metadata"])===null||zr===void 0?void 0:zr["handlerName"])!==null&&Jr!==void 0?Jr:Gr.funcHandlerName;Gr.functionName=Qr;Gr.funcHandlerName=Zr;Gr.functionTriggerName=pi["type"];Gr.functionTriggerMetadata=pi["metadata"];Gr.functionMetadata={functionName:Qr,...Yr};this.checkDuplicateAndPush(si,Gr)}else{const sr=(0,kr.getPropertyMetadata)(kr.SERVERLESS_FUNC_KEY,ir,pi["methodName"])||{};const lr=(Yr=(Hr=sr["functionName"])!==null&&Hr!==void 0?Hr:(Gr=pi===null||pi===void 0?void 0:pi["metadata"])===null||Gr===void 0?void 0:Gr["functionName"])!==null&&Yr!==void 0?Yr:createFunctionName(ir,pi["methodName"]);const hr=(cn=(Qr=sr["handlerName"])!==null&&Qr!==void 0?Qr:(Zr=pi===null||pi===void 0?void 0:pi["metadata"])===null||Zr===void 0?void 0:Zr["handlerName"])!==null&&cn!==void 0?cn:`${jn}.${pi["methodName"]}`;this.checkDuplicateAndPush(si,{id:ni,prefix:si,routerName:"",url:"",requestMethod:"",method:pi["methodName"],description:"",summary:"",handlerName:`${jn}.${pi["methodName"]}`,funcHandlerName:hr,controllerId:jn,middleware:((un=pi["metadata"])===null||un===void 0?void 0:un["middleware"])||[],controllerMiddleware:[],requestMetadata:[],responseMetadata:[],functionName:lr,functionTriggerName:pi["type"],functionTriggerMetadata:pi["metadata"],functionMetadata:{functionName:lr,...sr}})}}}async getFunctionList(){return this.getFlattenRouterTable({compileUrlPattern:true})}addServerlessFunction(ir,sr,lr={}){var hr,yr;const kr="";if(!this.routes.has(kr)){this.routes.set(kr,[]);this.routesPriority.push({prefix:kr,priority:0,middleware:[],routerOptions:{},controllerId:undefined,routerModule:undefined})}const Fr=(hr=sr.functionName)!==null&&hr!==void 0?hr:lr.functionName;this.checkDuplicateAndPush(kr,{id:null,method:ir,url:sr.metadata["path"]||"",requestMethod:sr.metadata["method"]||"",description:"",summary:"",handlerName:"",funcHandlerName:sr.handlerName||lr.handlerName,controllerId:"",middleware:((yr=sr.metadata)===null||yr===void 0?void 0:yr.middleware)||[],controllerMiddleware:[],requestMetadata:[],responseMetadata:[],functionName:Fr,functionTriggerName:sr.metadata.name,functionTriggerMetadata:sr.metadata,functionMetadata:{functionName:Fr,...lr}})}};Jr=hr([(0,kr.Provide)(),(0,kr.Scope)(zr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Jr);sr.MidwayServerlessFunctionService=Jr;function createFunctionName(ir,sr){return(0,kr.getProviderName)(ir).replace(/[:#]/g,"-")+"-"+sr}class WebRouterCollector{constructor(ir="",sr={}){this.baseDir=ir;this.options=sr}async init(){if(!this.proxy){if(this.baseDir){const ir=new Br.MidwayContainer;(0,kr.bindContainer)(ir);ir.setFileDetector(new Ur.CommonJSFileDetector({loadDir:this.baseDir}));await ir.ready()}if(this.options.includeFunctionRouter){if((0,Wr.getCurrentMainFramework)()){this.proxy=await(0,Wr.getCurrentMainFramework)().getApplicationContext().getAsync(Jr,[this.options])}else{this.proxy=new Jr(this.options)}}else{if((0,Wr.getCurrentMainFramework)()){this.proxy=await(0,Wr.getCurrentMainFramework)().getApplicationContext().getAsync(Fr.MidwayWebRouterService,[this.options])}else{this.proxy=new Fr.MidwayWebRouterService(this.options)}}}}async getRoutePriorityList(){await this.init();return this.proxy.getRoutePriorityList()}async getRouterTable(){await this.init();return this.proxy.getRouterTable()}async getFlattenRouterTable(){await this.init();return this.proxy.getFlattenRouterTable()}}sr.WebRouterCollector=WebRouterCollector},19985:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayWebRouterService=void 0;const kr=lr(49757);const Fr=lr(65308);const Br=lr(86314);const Ur=lr(39023);const Wr=lr(73861);const zr=lr(63289);const Jr=lr(6192);const Hr=Ur.debuglog("midway:debug");let Gr=class MidwayWebRouterService{constructor(ir={}){this.options=ir;this.isReady=false;this.routes=new Map;this.routesPriority=[]}async analyze(){this.analyzeController();this.sortPrefixAndRouter()}analyzeController(){const ir=(0,kr.listModule)(kr.CONTROLLER_KEY);for(const sr of ir){const ir=(0,kr.getClassMetadata)(kr.CONTROLLER_KEY,sr);this.addController(sr,ir,this.options.includeFunctionRouter)}}sortPrefixAndRouter(){this.routesPriority=this.routesPriority.filter((ir=>{const sr=this.routes.get(ir.prefix);if(sr.length>0){return true}else{this.routes.delete(ir.prefix);return false}}));for(const ir of this.routes.keys()){const sr=this.routes.get(ir);this.routes.set(ir,this.sortRouter(sr))}this.routesPriority=this.routesPriority.sort(((ir,sr)=>sr.prefix.length-ir.prefix.length))}addController(ir,sr,lr={},hr=false){var yr;if(lr&&typeof lr==="boolean"){hr=lr;lr=undefined}if(!lr){lr={}}const Ur=(0,kr.getProviderName)(ir);Hr(`[core]: Found Controller ${Ur}.`);const Wr=(0,kr.getProviderUUId)(ir);sr.routerOptions=sr.routerOptions||{};let zr;const Gr=sr.routerOptions.middleware;const Yr=!!((yr=sr.routerOptions)===null||yr===void 0?void 0:yr.ignoreGlobalPrefix);let Qr=(0,Fr.joinURLPath)(this.options.globalPrefix,sr.prefix||"/");const Zr=sr.prefix||"/";if(Yr){Qr=Zr}if(/\*/.test(Qr)){throw new Br.MidwayCommonError(`Router prefix ${Qr} can't set string with *`)}if(!this.routes.has(Qr)){this.routes.set(Qr,[]);this.routesPriority.push({prefix:Qr,priority:Qr==="/"&&zr===undefined?-999:0,middleware:Gr,routerOptions:sr.routerOptions,controllerId:Ur,routerModule:ir})}else{if(Gr&&Gr.length>0){const ir=this.routesPriority.filter((ir=>ir.prefix===Qr))[0];throw new Br.MidwayDuplicateControllerOptionsError(Qr,Ur,ir.controllerId)}}if(!this.routes.has(Zr)){this.routes.set(Zr,[]);this.routesPriority.push({prefix:Zr,priority:Zr==="/"&&zr===undefined?-999:0,middleware:Gr,routerOptions:sr.routerOptions,controllerId:Ur,routerModule:ir})}const cn=(0,kr.getClassMetadata)(kr.WEB_ROUTER_KEY,ir);if(cn&&typeof cn[Symbol.iterator]==="function"){for(const sr of cn){const yr=(0,kr.getPropertyDataFromClass)(kr.WEB_ROUTER_PARAM_KEY,ir,sr.method)||[];const Br=(0,kr.getPropertyMetadata)(kr.WEB_RESPONSE_KEY,ir,sr.method)||[];const zr={id:Wr,prefix:sr.ignoreGlobalPrefix?Zr:Qr,routerName:sr.routerName||"",url:sr.path,requestMethod:sr.requestMethod,method:sr.method,description:sr.description||"",summary:sr.summary||"",handlerName:`${Ur}.${sr.method}`,funcHandlerName:`${Ur}.${sr.method}`,controllerId:Ur,controllerClz:ir,middleware:sr.middleware||[],controllerMiddleware:Gr||[],requestMetadata:yr,responseMetadata:Br};if(hr){zr.functionName=Ur+"-"+sr.method;zr.functionTriggerName=Jr.ServerlessTriggerType.HTTP;zr.functionTriggerMetadata={path:(0,Fr.joinURLPath)(Qr,sr.path.toString()),method:sr.requestMethod};zr.functionMetadata={functionName:zr.functionName}}if(lr.resourceFilter&&!lr.resourceFilter(zr)){continue}this.checkDuplicateAndPush(zr.prefix,zr)}}}addRouter(ir,sr){const lr=sr.prefix||"";sr.requestMethod=(sr.requestMethod||"GET").toUpperCase();if(!this.routes.has(lr)){this.routes.set(lr,[]);this.routesPriority.push({prefix:lr,priority:0,middleware:[],routerOptions:{},controllerId:undefined,routerModule:undefined})}this.checkDuplicateAndPush(lr,Object.assign(sr,{method:ir}));this.sortPrefixAndRouter()}sortRouter(ir){return ir.map((ir=>{const sr=ir.url.toString();const lr=zr.Types.isRegExp(ir.url)?sr.split("\\/"):sr.split("/");let hr=0;for(const ir of lr){if(ir===""||ir.includes(":")||ir.includes("*")){hr+=0}else{hr+=1}}let yr=2;const kr=sr.includes(":")?sr.replace(/:.+$/,""):"";if(kr){yr=1}if(sr.includes("*")){yr=0}return{...ir,_pureRouter:sr.replace(/\**$/,"").replace(/:\w+/,"123"),_level:sr.split("/").length-1,_paramString:kr,_category:yr,_weight:hr}})).sort(((ir,sr)=>{if(ir._category!==sr._category){return sr._category-ir._category}if(ir._weight!==sr._weight){return sr._weight-ir._weight}if(ir._level===sr._level){if(sr._pureRouter===ir._pureRouter){return ir.url.toString().length-sr.url.toString().length}return sr._pureRouter.length-ir._pureRouter.length}return sr._level-ir._level}))}async getRoutePriorityList(){if(!this.isReady){await this.analyze();this.isReady=true}return this.routesPriority}async getRouterTable(){if(!this.isReady){await this.analyze();this.isReady=true}return this.routes}async getFlattenRouterTable(ir={}){if(!this.isReady){await this.analyze();this.isReady=true}let sr=[];for(const ir of this.routesPriority){sr=sr.concat(this.routes.get(ir.prefix))}if(ir.compileUrlPattern){for(const ir of sr){if(ir.fullUrlFlattenString){ir.fullUrlCompiledRegexp=Wr.PathToRegexpUtil.toRegexp(ir.fullUrlFlattenString)}}}return sr}async getMatchedRouterInfo(ir,sr){const lr=await this.getFlattenRouterTable({compileUrlPattern:true});let hr;for(const yr of lr){if(yr.fullUrlCompiledRegexp){const lr=yr["requestMethod"].toUpperCase();if(("ALL"===lr||sr.toUpperCase()===lr)&&yr.fullUrlCompiledRegexp.test(ir)){hr=yr;break}}}return hr}checkDuplicateAndPush(ir,sr){const lr=this.routes.get(ir);const hr=lr.filter((ir=>sr.url&&sr.requestMethod&&ir.url===sr.url&&ir.requestMethod===sr.requestMethod));if(hr&&hr.length){throw new Br.MidwayDuplicateRouteError(`${sr.requestMethod} ${sr.url}`,`${hr[0].handlerName}`,`${sr.handlerName}`)}if(!sr.fullUrlFlattenString&&sr.url&&typeof sr.url==="string"){sr.fullUrl=(0,Fr.joinURLPath)(ir,sr.url);if(/\*$/.test(sr.fullUrl)){sr.fullUrlFlattenString=sr.fullUrl.replace("*","(.*)")}else{sr.fullUrlFlattenString=sr.fullUrl}}lr.push(sr)}};Gr=hr([(0,kr.Provide)(),(0,kr.Scope)(Jr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Gr);sr.MidwayWebRouterService=Gr},29222:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.prepareGlobalApplicationContext=sr.prepareGlobalApplicationContextAsync=sr.destroyGlobalApplicationContext=sr.initializeGlobalApplicationContext=void 0;const hr=lr(46123);const yr=lr(42193);const kr=lr(49757);const Fr=lr(39023);const Br=lr(42592);const Ur=lr(16928);const Wr=lr(658);const zr=lr(70032);const Jr=Fr.debuglog("midway:debug");let Hr=1;function printStepDebugInfo(ir){Jr(`\n\nStep ${Hr++}: ${ir}\n`)}async function initializeGlobalApplicationContext(ir){zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.INITIALIZE);const sr=await prepareGlobalApplicationContextAsync(ir);printStepDebugInfo("Init logger");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LOGGER_PREPARE);const lr=await sr.getAsync(hr.MidwayLoggerService,[sr,ir]);if(lr.getLogger("appLogger")){sr.registerObject("logger",lr.getLogger("appLogger"))}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LOGGER_PREPARE);printStepDebugInfo("Init MidwayMockService");await sr.getAsync(hr.MidwayMockService,[sr]);printStepDebugInfo("Init framework");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.FRAMEWORK_PREPARE);await sr.getAsync(hr.MidwayFrameworkService,[sr,ir]);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.FRAMEWORK_PREPARE);printStepDebugInfo("Init lifecycle");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LIFECYCLE_PREPARE);await sr.getAsync(hr.MidwayLifeCycleService,[sr]);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LIFECYCLE_PREPARE);printStepDebugInfo("Init preload modules");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.PRELOAD_MODULE_PREPARE);const yr=(0,kr.listPreloadModule)();for(const ir of yr){await sr.getAsync(ir)}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.PRELOAD_MODULE_PREPARE);printStepDebugInfo("End of initialize and start");zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.INITIALIZE);return sr}sr.initializeGlobalApplicationContext=initializeGlobalApplicationContext;async function destroyGlobalApplicationContext(ir){const sr=await ir.getAsync(hr.MidwayLoggerService);const lr=sr.getCurrentLoggerFactory();const yr=await ir.getAsync(hr.MidwayLifeCycleService);await yr.stop();await ir.stop();(0,kr.clearBindContainer)();lr.close();zr.MidwayPerformanceManager.cleanAll();global["MIDWAY_APPLICATION_CONTEXT"]=undefined;global["MIDWAY_MAIN_FRAMEWORK"]=undefined}sr.destroyGlobalApplicationContext=destroyGlobalApplicationContext;async function prepareGlobalApplicationContextAsync(ir){var sr,lr,Hr,Gr,Yr;printStepDebugInfo("Ready to create applicationContext");Jr('[core]: start "initializeGlobalApplicationContext"');Jr(`[core]: bootstrap options = ${Fr.inspect(ir)}`);const Qr=(sr=ir.appDir)!==null&&sr!==void 0?sr:"";const Zr=(lr=ir.baseDir)!==null&&lr!==void 0?lr:"";zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);const cn=(Hr=ir.applicationContext)!==null&&Hr!==void 0?Hr:new hr.MidwayContainer;Jr("[core]: delegate module map from decoratorManager");(0,kr.bindContainer)(cn);global["MIDWAY_APPLICATION_CONTEXT"]=cn;cn.registerObject("baseDir",Zr);cn.registerObject("appDir",Qr);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);Jr("[core]: set default file detector");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Ready module detector");if(!ir.moduleLoadType){ir.moduleLoadType="commonjs"}if(ir.moduleDetector!==false){Jr("[core]: set module load type = %s",ir.moduleLoadType);if(!ir.imports){ir.imports=[await(0,hr.loadModule)((0,Ur.join)(Zr,`configuration${(0,hr.isTypeScriptEnvironment)()?".ts":".js"}`),{loadMode:ir.moduleLoadType,safeLoad:true})]}if(ir.moduleDetector===undefined){if(ir.moduleLoadType==="esm"){cn.setFileDetector(new hr.ESModuleFileDetector({loadDir:Zr,ignore:(Gr=ir.ignore)!==null&&Gr!==void 0?Gr:[]}));ir.moduleLoadType="esm"}else{cn.setFileDetector(new hr.CommonJSFileDetector({loadDir:Zr,ignore:(Yr=ir.ignore)!==null&&Yr!==void 0?Yr:[]}))}}}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Binding inner service");cn.bindClass(hr.MidwayEnvironmentService);cn.bindClass(hr.MidwayInformationService);cn.bindClass(hr.MidwayAspectService);cn.bindClass(hr.MidwayDecoratorService);cn.bindClass(hr.MidwayConfigService);cn.bindClass(hr.MidwayLoggerService);cn.bindClass(hr.MidwayApplicationManager);cn.bindClass(hr.MidwayFrameworkService);cn.bindClass(hr.MidwayMiddlewareService);cn.bindClass(hr.MidwayLifeCycleService);cn.bindClass(hr.MidwayMockService);cn.bindClass(hr.MidwayWebRouterService);cn.bindClass(Br.MidwayServerlessFunctionService);cn.bindClass(Wr.MidwayHealthService);cn.bindClass(hr.MidwayPriorityManager);printStepDebugInfo("Binding preload module");if(ir.preloadModules&&ir.preloadModules.length){for(const sr of ir.preloadModules){cn.bindClass(sr)}}printStepDebugInfo("Init MidwayConfigService, MidwayAspectService and MidwayDecoratorService");const un=cn.get(hr.MidwayEnvironmentService);un.setModuleLoadType(ir.moduleLoadType);const Tn=cn.get(hr.MidwayConfigService);Tn.add([{default:yr.default}]);cn.get(hr.MidwayAspectService,[cn]);cn.get(hr.MidwayDecoratorService,[cn]);printStepDebugInfo("Load imports(component) and user code configuration module");cn.load([].concat(ir.imports).concat(ir.configurationModule));printStepDebugInfo("Run applicationContext ready method");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);await cn.ready();zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);if(ir.globalConfig){if(Array.isArray(ir.globalConfig)){Tn.add(ir.globalConfig)}else{Tn.addObject(ir.globalConfig)}}printStepDebugInfo("Load config file");Tn.load();Jr("[core]: Current config = %j",Tn.getConfiguration());zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);cn.get(hr.MidwayMiddlewareService,[cn]);return cn}sr.prepareGlobalApplicationContextAsync=prepareGlobalApplicationContextAsync;function prepareGlobalApplicationContext(ir){var sr,lr,Hr,Gr;printStepDebugInfo("Ready to create applicationContext");Jr('[core]: start "initializeGlobalApplicationContext"');Jr(`[core]: bootstrap options = ${Fr.inspect(ir)}`);const Yr=(sr=ir.appDir)!==null&&sr!==void 0?sr:"";const Qr=(lr=ir.baseDir)!==null&&lr!==void 0?lr:"";zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);const Zr=(Hr=ir.applicationContext)!==null&&Hr!==void 0?Hr:new hr.MidwayContainer;Jr("[core]: delegate module map from decoratorManager");(0,kr.bindContainer)(Zr);global["MIDWAY_APPLICATION_CONTEXT"]=Zr;Zr.registerObject("baseDir",Qr);Zr.registerObject("appDir",Yr);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);printStepDebugInfo("Ready module detector");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);if(!ir.moduleLoadType){ir.moduleLoadType="commonjs"}if(ir.moduleDetector!==false){if(ir.moduleDetector===undefined){Zr.setFileDetector(new hr.CommonJSFileDetector({ignore:(Gr=ir.ignore)!==null&&Gr!==void 0?Gr:[]}))}else if(ir.moduleDetector){Zr.setFileDetector(ir.moduleDetector)}}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Binding inner service");Zr.bindClass(hr.MidwayEnvironmentService);Zr.bindClass(hr.MidwayInformationService);Zr.bindClass(hr.MidwayAspectService);Zr.bindClass(hr.MidwayDecoratorService);Zr.bindClass(hr.MidwayConfigService);Zr.bindClass(hr.MidwayLoggerService);Zr.bindClass(hr.MidwayApplicationManager);Zr.bindClass(hr.MidwayFrameworkService);Zr.bindClass(hr.MidwayMiddlewareService);Zr.bindClass(hr.MidwayLifeCycleService);Zr.bindClass(hr.MidwayMockService);Zr.bindClass(hr.MidwayWebRouterService);Zr.bindClass(Br.MidwayServerlessFunctionService);Zr.bindClass(Wr.MidwayHealthService);Zr.bindClass(hr.MidwayPriorityManager);printStepDebugInfo("Binding preload module");if(ir.preloadModules&&ir.preloadModules.length){for(const sr of ir.preloadModules){Zr.bindClass(sr)}}printStepDebugInfo("Init MidwayConfigService, MidwayAspectService and MidwayDecoratorService");const cn=Zr.get(hr.MidwayEnvironmentService);cn.setModuleLoadType(ir.moduleLoadType);const un=Zr.get(hr.MidwayConfigService);un.add([{default:yr.default}]);Zr.get(hr.MidwayAspectService,[Zr]);Zr.get(hr.MidwayDecoratorService,[Zr]);printStepDebugInfo("Load imports(component) and user code configuration module");if(!ir.imports){ir.imports=[(0,hr.safeRequire)((0,Ur.join)(ir.baseDir,"configuration"))]}Zr.load([].concat(ir.imports).concat(ir.configurationModule));printStepDebugInfo("Run applicationContext ready method");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);Zr.ready();zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);if(ir.globalConfig){if(Array.isArray(ir.globalConfig)){un.add(ir.globalConfig)}else{un.addObject(ir.globalConfig)}}printStepDebugInfo("Load config file");un.load();Jr("[core]: Current config = %j",un.getConfiguration());zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);Zr.get(hr.MidwayMiddlewareService,[Zr]);return Zr}sr.prepareGlobalApplicationContext=prepareGlobalApplicationContext},90406:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.pascalCase=sr.camelCase=void 0;const lr=/[\p{Lu}]/u;const hr=/[\p{Ll}]/u;const yr=/([\p{Alpha}\p{N}_]|$)/u;const kr=/[_.\- ]+/;const Fr=new RegExp("^"+kr.source);const Br=new RegExp(kr.source+yr.source,"gu");const Ur=new RegExp("\\d+"+yr.source,"gu");const preserveCamelCase=(ir,sr,yr)=>{let kr=false;let Fr=false;let Br=false;for(let Ur=0;Ur<ir.length;Ur++){const Wr=ir[Ur];if(kr&&lr.test(Wr)){ir=ir.slice(0,Ur)+"-"+ir.slice(Ur);kr=false;Br=Fr;Fr=true;Ur++}else if(Fr&&Br&&hr.test(Wr)){ir=ir.slice(0,Ur-1)+"-"+ir.slice(Ur-1);Br=Fr;Fr=false;kr=true}else{kr=sr(Wr)===Wr&&yr(Wr)!==Wr;Br=Fr;Fr=yr(Wr)===Wr&&sr(Wr)!==Wr}}return ir};const postProcess=(ir,sr)=>{Br.lastIndex=0;Ur.lastIndex=0;return ir.replace(Br,((ir,lr)=>sr(lr))).replace(Ur,(ir=>sr(ir)))};function camelCaseOrigin(ir,sr){sr={pascalCase:false,...sr};ir=ir.trim();if(ir.length===0){return""}const toLowerCase=ir=>ir.toLowerCase();const toUpperCase=ir=>ir.toUpperCase();if(ir.length===1){if(kr.test(ir)){return""}return sr.pascalCase?toUpperCase(ir):toLowerCase(ir)}const lr=ir!==toLowerCase(ir);if(lr){ir=preserveCamelCase(ir,toLowerCase,toUpperCase)}ir=ir.replace(Fr,"");ir=toLowerCase(ir);if(sr.pascalCase){ir=toUpperCase(ir.charAt(0))+ir.slice(1)}return postProcess(ir,toUpperCase)}function camelCase(ir){return camelCaseOrigin(ir,{pascalCase:false})}sr.camelCase=camelCase;function pascalCase(ir){return camelCaseOrigin(ir,{pascalCase:true})}sr.pascalCase=pascalCase},50539:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getCurrentAsyncContextManager=sr.getCurrentMainApp=sr.getCurrentMainFramework=sr.getCurrentApplicationContext=void 0;const hr=lr(2222);const getCurrentApplicationContext=()=>global["MIDWAY_APPLICATION_CONTEXT"];sr.getCurrentApplicationContext=getCurrentApplicationContext;const getCurrentMainFramework=()=>global["MIDWAY_MAIN_FRAMEWORK"];sr.getCurrentMainFramework=getCurrentMainFramework;const getCurrentMainApp=()=>{const ir=(0,sr.getCurrentMainFramework)();if(ir){return ir.getApplication()}return undefined};sr.getCurrentMainApp=getCurrentMainApp;const getCurrentAsyncContextManager=()=>(0,sr.getCurrentApplicationContext)().get(hr.ASYNC_CONTEXT_MANAGER_KEY);sr.getCurrentAsyncContextManager=getCurrentAsyncContextManager},83486:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.extend=void 0;const hr=lr(63289);function extend(...ir){let sr,lr,yr,kr,Fr;let Br=ir[0];let Ur=1;const Wr=ir.length;let zr=false;if(typeof Br==="boolean"){zr=Br;Br=ir[1]||{};Ur=2}else if(typeof Br!=="object"&&typeof Br!=="function"||Br==null){Br={}}for(;Ur<Wr;++Ur){sr=ir[Ur];if(sr==null)continue;for(lr in sr){if(lr==="__proto__")continue;yr=Br[lr];kr=sr[lr];if(Br===kr)continue;if(zr&&kr&&hr.Types.isPlainObject(kr)){Fr=yr&&hr.Types.isPlainObject(yr)?yr:{};Br[lr]=extend(zr,Fr,kr)}else if(typeof kr!=="undefined"){Br[lr]=kr}}}return Br}sr.extend=extend},2764:(ir,sr)=>{"use strict";
1
+ (()=>{var __webpack_modules__={53196:ir=>{function webpackEmptyAsyncContext(ir){return Promise.resolve().then((()=>{var sr=new Error("Cannot find module '"+ir+"'");sr.code="MODULE_NOT_FOUND";throw sr}))}webpackEmptyAsyncContext.keys=()=>[];webpackEmptyAsyncContext.resolve=webpackEmptyAsyncContext;webpackEmptyAsyncContext.id=53196;ir.exports=webpackEmptyAsyncContext},14071:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});const yr=hr(lr(22078));const kr=lr(23718);const{logLevel:Fr=""}=(0,yr.default)(process.argv.slice(2));sr["default"]={keys:"1755564797722_8890",koa:{globalPrefix:"/api"},midwayLogger:{default:{transports:{console:{level:"all"}}},clients:{appLogger:{level:Fr||"warn"},coreLogger:{level:Fr||"info"}}},cacheManager:{clients:{default:{store:"memory"}}},i18n:{defaultLocale:"zh",localeTable:{en:{default:kr.backendMessages.en},zh:{default:kr.backendMessages.zh},fr:{default:kr.backendMessages.fr},nl:{default:kr.backendMessages.nl},"zh-TW":{default:kr.backendMessages["zh-TW"]}},writeCookie:false}}},91921:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr["default"]={}},12799:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.MainConfiguration=void 0;const Wr=lr(46123);const zr=Fr(lr(47453));const Jr=Fr(lr(99375));const Hr=Fr(lr(65295));const Gr=Fr(lr(2865));const Yr=Fr(lr(49179));const Qr=Fr(lr(62487));const Zr=Fr(lr(96955));const cn=Fr(lr(87735));const un=Fr(lr(16928));const Tn=Fr(lr(79896));const jn=Ur(lr(76982));const ni=lr(79896);const si=lr(24434);const pi=Ur(lr(99819));const di=Ur(lr(77036));const gi=lr(31855);const yi=lr(26815);const Ti=lr(54633);const Ei=lr(59416);const Ci=lr(61142);const Pi=lr(64754);const wi=lr(10778);const Fi=lr(67872);const Ri=lr(15960);const Bi=lr(4145);const ji=Fr(lr(14071));const Wi=Fr(lr(91921));const zi=lr(87518);const Hi=lr(18801);const Ki=Fr(lr(68255));const $i={DEFAULT_PORT:Number(zi.uri.getUrlPort(yi.KEYS.LOCAL_SERVICE_URL_DEV)),MAX_SUB_PORT_RETRIES:20};let ks=class MainConfiguration{constructor(){this.appConfig=null;this.subServer=null}get apiUrl(){const ir=this.app.getEnv();return ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL?yi.KEYS.REMOTE_SERVICE_URL_DEV:yi.KEYS.REMOTE_SERVICE_URL_PROD}getVersion(){const ir=this.app.getEnv();if(ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){const ir=un.join(__dirname,"../../cli/package.json");const sr=JSON.parse((0,ni.readFileSync)(ir,"utf8"));return sr.version}return process.env.COMP_HUB_VERSION||"unknown"}createProxyConfig(ir){const sr=new si.EventEmitter;const lr={...ir,on:{...ir.on,error:ir=>{this.logger.error("Proxy Error:",ir.message);sr.emit("error",ir)},proxyRes:()=>sr.emit("proxyRes"),proxyReq:ir=>{const lr=`${ir.protocol}//${ir.host}${ir.path}`;this.logger.debug("[Proxy] →",lr);sr.emit("proxyReq",ir)},proxyReqWs:(...ir)=>sr.emit("proxyReqWs",...ir)}};const hr=ir.pathRewrite;const yr=Object.keys(hr??{});if(yr.length>0){const[ir]=yr;lr.pathRewrite=sr=>{let lr=sr.replace(yi.KEYS.PROXY_PATH_PREFIX,"");lr=lr.replace(new RegExp(ir),hr[ir]);return lr}}else{lr.pathRewrite=ir=>ir.replace(yi.KEYS.PROXY_PATH_PREFIX,"")}return{proxy:(0,gi.createProxyMiddleware)(lr),opt:lr,event:sr}}createProxyMap(ir){const sr={};for(const[lr,hr]of Object.entries(ir)){sr[lr]=this.createProxyConfig(hr)}return sr}setupProxy(){const ir=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);if(Pi.ProxyController.proxys){for(const ir of Object.values(Pi.ProxyController.proxys)){ir.event.removeAllListeners()}}Pi.ProxyController.proxys={};if(!ir.proxy)return;Pi.ProxyController.proxys=this.createProxyMap(ir.proxy)}async buildConfig(ir){const sr=this.app.getEnv();const lr=ir.cwd||process.cwd();this.logger.info("cwd:",lr);this.logger.info("env:",sr);const hr={port:ir.port||$i.DEFAULT_PORT,allowDebug:ir.allowDebug??false,api:ir.api||this.apiUrl,dir:ir.dir||"",cwd:lr,proxy:ir.proxy};const yr=un.join(lr,hr.dir||"").replace(/[\\/]$/,"");const kr=un.join(lr,yi.KEYS.PREBUILD_MODULE_DIR);const Fr=un.join(lr,"node_modules");await Tn.promises.mkdir(kr,{recursive:true});const Br={prebuildModulePath:kr,cwd:lr,port:hr.port,srcPath:yr,remoteServer:hr.api,version:this.getVersion(),allowDebug:hr.allowDebug,proxy:hr.proxy,projectHash:jn.default.createHash("sha256").update(lr).digest("hex").slice(0,8),ossWebsite:(0,Ri.shouldUseOssMode)(sr)?{main:process.env.WEBSITE_OSS_URL_MAIN||yi.KEYS.WEBSITE_OSS_URL_MAIN,iframe:process.env.WEBSITE_OSS_URL_IFRAME||yi.KEYS.WEBSITE_OSS_URL_IFRAME}:null};wi.remoteInstance.defaults.baseURL=Br.remoteServer;if(sr===yi.KEYS.LOCAL_MIDWAY_ENV_PROD){Br.port=await(0,di.default)({port:di.default.makeRange(Br.port,Br.port+100)})}this.appConfig=Br;const Ur={[yi.KEYS.MODULE_LOAD_PREFIX]:{prefix:yi.KEYS.MODULE_LOAD_PREFIX,dir:kr,maxAge:0},[yi.KEYS.NODE_MODULES_LOAD_PREFIX]:{prefix:yi.KEYS.NODE_MODULES_LOAD_PREFIX,dir:Fr,maxAge:0},[yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL]:{prefix:yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,dir:Br.srcPath,maxAge:0}};Ur.default={prefix:"/public",dir:kr};const Wr={dirs:Ur};if(sr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){await Tn.promises.writeFile(un.join(__dirname,".comphubConfig.json"),JSON.stringify(Br,null,2))}return{koa:{port:Br.port},staticFile:Wr,httpProxy:{strategy:{[yi.KEYS.REMOTE_SERVICE_PREFIX]:{match:new RegExp(`^/${yi.KEYS.REMOTE_SERVICE_PREFIX}/(.*)$`),target:`${Br.remoteServer}/$1`}}}}}async startSubPort(){const ir=this.app.getEnv();const sr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);const{port:lr,remoteServer:hr}=sr;let yr=await(0,di.default)({port:di.default.makeRange(lr,lr+100)});const kr=new pi.default;kr.use((async(ir,yr)=>{if(ir.path.startsWith(yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL)){const{srcPath:lr}=sr;const hr=ir.path[0];const yr=ir.path.replace(yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,"");const kr=await zi.locate.resolveBuildPath(yr,{baseDir:lr});if(kr){const sr=kr.replace(lr,"");const Fr=Hi.textKit.replaceSlashWithSpecifiedSeparator(sr,hr);if(yr!==Fr){const sr=Fr.replace(yr,"");ir.redirect(ir.path+sr);return}}}const kr=[{prefix:`/${yi.KEYS.REMOTE_SERVICE_PREFIX}`,target:hr,rewrite:{[`^/${yi.KEYS.REMOTE_SERVICE_PREFIX}`]:""}},{prefix:`/${yi.KEYS.LOCAL_SERVICE_PREFIX}`,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{[`^/${yi.KEYS.LOCAL_SERVICE_PREFIX}`]:""}},{prefix:yi.KEYS.MODULE_LOAD_PREFIX,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}},{prefix:yi.KEYS.NODE_MODULES_LOAD_PREFIX,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}},{prefix:yi.KEYS.COMP_PREVIEW_PREFIX_LOCAL,target:`${yi.KEYS.IFRAME_HOST}:${lr}`,rewrite:{}}];for(const sr of kr){if(ir.path.startsWith(sr.prefix)){await(0,Fi.createKoaProxy)(ir,sr.target,sr.rewrite);return}}await yr()}));if((0,Ri.shouldUseOssMode)(ir)){const ir=sr.ossWebsite;kr.use((0,Ri.createOssStaticMiddleware)({mainBaseUrl:ir.main,iframeBaseUrl:ir.iframe,htmlMode:"inject",injectHtml:(ir,sr)=>{const lr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);const hr=`<script>window.__GLOBAL_CONFIG__ = ${JSON.stringify({subPort:lr.subPort})};<\/script>`;return sr.replace("\x3c!--GLOBAL_CONFIG--\x3e",hr)},logger:this.logger}))}await new Promise(((lr,hr)=>{let Fr=0;const Br=kr.listen(yr,(()=>{this.subServer=Br;this.app.setAttr(yi.KEYS.COMPHUB_CONFIG_KEY,{...sr,subPort:yr});if(process.send){process.send({type:"subPort",subPort:yr})}if(ir===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){this.logger.info(`子端口 ${yr} 已启动`)}lr()}));Br.on("error",(ir=>{if(ir.code==="EADDRINUSE"&&Fr<$i.MAX_SUB_PORT_RETRIES){Fr++;this.logger.error(`子端口 ${yr} 被占用,正在尝试端口 ${++yr}`);Br.close();Br.listen(yr)}else{hr(ir)}}))}))}async printAccessInfo(ir){const sr=await ir.getAsync(zr.Framework);const lr=sr.getServer();const hr=lr.address();const yr=this.app.getEnv();const kr=this.app.getAttr(yi.KEYS.COMPHUB_CONFIG_KEY);this.logger.info("cwd:",kr.cwd);this.logger.info("env:",yr);this.logger.info("port:",kr.port);if(kr.subPort)this.logger.info("subPort:",kr.subPort);if(hr&&typeof hr!=="string"){const ir=hr.port;this.logger.info("Local Address:",`http://localhost:${ir}`);if(yr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){const sr=zi.network.getLocalIPv4();if(sr)this.logger.info("Network Address:",`http://${sr}:${ir}`);this.logger.info("Swagger UI:",`http://localhost:${ir}/swagger-ui/index.html`)}}}async onConfigLoad(){const ir=await(0,Bi.waitForIpcConfig)();const sr=await this.buildConfig(ir);const lr=this.app.getEnv();if(lr===yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL){await Tn.promises.writeFile(un.join(__dirname,".start.json"),JSON.stringify(sr,null,2))}return sr}async onReady(){this.app.setAttr(yi.KEYS.COMPHUB_CONFIG_KEY,this.appConfig);this.app.useMiddleware([Ci.ReportMiddleware]);const ir=this.app.getEnv();if((0,Ri.shouldUseOssMode)(ir)){const ir=this.appConfig.ossWebsite;this.app.use((0,Ri.createOssStaticMiddleware)({mainBaseUrl:ir.main,iframeBaseUrl:ir.iframe,htmlMode:"passthrough",logger:this.logger}))}this.app.useFilter([Ei.BadRequestErrorFilter,Ti.DefaultErrorFilter]);process.on("disconnect",(()=>{this.logger.info("Master process exited, shutting down...");if(this.subServer){this.subServer.close()}process.exit(0)}))}async onServerReady(ir){this.setupProxy();await this.startSubPort();await this.printAccessInfo(ir)}async onStop(){if(this.subServer){await new Promise((ir=>{this.subServer.close((()=>ir()))}));this.logger.info("子服务已关闭")}}};sr.MainConfiguration=ks;kr([(0,Wr.Logger)("coreLogger"),Br("design:type",Object)],ks.prototype,"logger",void 0);kr([(0,Wr.App)(),Br("design:type",Object)],ks.prototype,"app",void 0);sr.MainConfiguration=ks=kr([(0,Wr.Configuration)({imports:[zr,Jr,Gr,Qr,Zr,cn,Ki,{component:Hr,enabledEnvironment:[yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL]},{component:Yr,enabledEnvironment:[yi.KEYS.LOCAL_MIDWAY_ENV_LOCAL]}],importConfigs:[{default:ji,local:Wi}]})],ks)},83465:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.CompController=void 0;const Fr=lr(46123);const Br=lr(48795);const Ur=lr(63366);const Wr=lr(49179);const zr=lr(8131);const Jr=lr(101);const Hr=lr(19465);const Gr=lr(19385);const Yr=lr(4990);const Qr=(0,Gr.createNoData)(Wr.ApiProperty);let Zr=class CompController{async dir(ir){const sr=await this.compService.getCompDir(ir.compPath);return Gr.resUtil.success(sr)}async file(ir){const{filePath:sr}=ir;const lr=await this.compService.getCompFile(sr);return Gr.resUtil.success({content:lr})}async check(ir){const sr=await this.compService.checkCompConfig(ir.compPath,ir.framework);return Gr.resUtil.success(sr)}async updateVersion(ir){const{compPath:sr,version:lr}=ir;await this.compService.updateCompVersion(sr,lr);return Gr.resUtil.noData()}async generateCompJson(ir){const{compPath:sr}=ir;await this.compService.generateCompJson(sr);return Gr.resUtil.noData()}async dep(ir){const{compPath:sr}=ir;const{dep:lr,framework:hr}=await this.compService.getCompDep(sr);return Gr.resUtil.success({thirdParty:lr,framework:hr})}async checkCompRepeat(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();const sr=await this.compService.checkCompRepeat(ir);return Gr.resUtil.success(sr)}async submit(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();await this.compService.submitComp(ir);return Gr.resUtil.noData()}async update(ir){await Yr.remoteApi.v1Token.tokencontrollerApproachexpire();await this.compService.updateComp(ir);return Gr.resUtil.noData()}async download(ir){const sr=await this.compService.downloadComp(ir);if(sr?.isRepeat){return Gr.resUtil.success({isRepeat:true})}return Gr.resUtil.success({isRepeat:false})}async localCompsByIds(ir){const{compIds:sr}=ir;const lr=await this.compService.getLocalCompsByIds(sr);return Gr.resUtil.success({compInfos:lr})}async packageJson(){const ir=await this.compService.getPackageJsonContent();return Gr.resUtil.success({packageJson:ir})}async compFileHash(ir){const sr=await this.compService.getCompFileHash(ir);return Gr.resUtil.success(sr)}async localComps(ir){const sr=await this.compService.getLocalComps(ir);return Gr.resUtil.success(sr)}async openCompPathInVscode(ir){await this.compService.openCompPathInVscode(ir);return Gr.resUtil.noData()}async openCompPathInExplorer(ir){await this.compService.openCompPathInExplorer(ir);return Gr.resUtil.noData()}async localCompDetailByPathHash(ir){const sr=await this.compService.getLocalCompDetailByPathHash(ir);return Gr.resUtil.success(sr)}async writeFile(ir){await this.compService.writeCompFile(ir);return Gr.resUtil.noData()}async renameDir(ir){await this.compService.renameCompDir(ir);return Gr.resUtil.noData()}};sr.CompController=Zr;hr([(0,Fr.App)(),yr("design:type",Object)],Zr.prototype,"app",void 0);hr([(0,Fr.Inject)(),yr("design:type",Br.CompService)],Zr.prototype,"compService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Ur.ConfigService)],Zr.prototype,"configService",void 0);hr([(0,Wr.ApiOperation)({summary:"获取组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileVO)}),(0,Fr.Post)("/dir"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompDirDTO]),yr("design:returntype",Promise)],Zr.prototype,"dir",null);hr([(0,Wr.ApiOperation)({summary:"获取组件目录内指定文件的内容"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileContentVO)}),(0,Fr.Post)("/file"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompFileDTO]),yr("design:returntype",Promise)],Zr.prototype,"file",null);hr([(0,Wr.ApiOperation)({summary:"检查组件配置是否符合规范"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompCheckVO)}),(0,Fr.Post)("/check"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompCheckDTO]),yr("design:returntype",Promise)],Zr.prototype,"check",null);hr([(0,Wr.ApiOperation)({summary:"更新组件版本号"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/updateVersion"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.UpdateVersionDTO]),yr("design:returntype",Promise)],Zr.prototype,"updateVersion",null);hr([(0,Wr.ApiOperation)({summary:"生成组件指纹文件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/generateCompJson"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.GenerateCompJsonDTO]),yr("design:returntype",Promise)],Zr.prototype,"generateCompJson",null);hr([(0,Wr.ApiOperation)({summary:"获取组件依赖关系"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.ImportScanResultVO)}),(0,Fr.Post)("/dep"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.DepDTO]),yr("design:returntype",Promise)],Zr.prototype,"dep",null);hr([(0,Wr.ApiOperation)({summary:"检查组件是否重复"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompSimilarListVO)}),(0,Fr.Post)("/checkCompRepeat",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CheckCompRepeatDTO]),yr("design:returntype",Promise)],Zr.prototype,"checkCompRepeat",null);hr([(0,Wr.ApiOperation)({summary:"提交组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/submit",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.SubmitCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"submit",null);hr([(0,Wr.ApiOperation)({summary:"更新组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/update",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.UpdateCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"update",null);hr([(0,Wr.ApiOperation)({summary:"下载组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.DownloadCompVO)}),(0,Fr.Post)("/download",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.DownloadCompDTO]),yr("design:returntype",Promise)],Zr.prototype,"download",null);hr([(0,Wr.ApiOperation)({summary:"通过ids在本地查询组件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.LocalCompsByIdsVO)}),(0,Fr.Post)("/localCompsByIds"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompsByIdsDTO]),yr("design:returntype",Promise)],Zr.prototype,"localCompsByIds",null);hr([(0,Wr.ApiOperation)({summary:"获取package.json"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.PackageJsonVO)}),(0,Fr.Post)("/packageJson"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Zr.prototype,"packageJson",null);hr([(0,Wr.ApiOperation)({summary:"获取组件文件hash"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.CompFileHashVO)}),(0,Fr.Post)("/compFileHash"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompFileHashDTO]),yr("design:returntype",Promise)],Zr.prototype,"compFileHash",null);hr([(0,Wr.ApiOperation)({summary:"获取本地组件列表,分页查询"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,(0,Gr.createListWrapper)(Wr.ApiProperty,Jr.LocalCompsVO))}),(0,Fr.Post)("/localComps",{middleware:[Hr.TokenMiddleware]}),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompsDTO]),yr("design:returntype",Promise)],Zr.prototype,"localComps",null);hr([(0,Wr.ApiOperation)({summary:"通过组件路径打开在vscode中打开所在文件夹"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/openCompPathInVscode"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.OpenCompPathInVscodeDTO]),yr("design:returntype",Promise)],Zr.prototype,"openCompPathInVscode",null);hr([(0,Wr.ApiOperation)({summary:"在系统文件管理器中打开并选中组件文件"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/openCompPathInExplorer"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.OpenCompPathInExplorerDTO]),yr("design:returntype",Promise)],Zr.prototype,"openCompPathInExplorer",null);hr([(0,Wr.ApiOperation)({summary:"通过组件完整文件路径hash获取组件信息"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:(0,Gr.createSuccessWrapper)(Wr.ApiProperty,Jr.LocalCompDetailVO)}),(0,Fr.Post)("/localCompDetailByPathHash"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.LocalCompDetailByPathHashDTO]),yr("design:returntype",Promise)],Zr.prototype,"localCompDetailByPathHash",null);hr([(0,Wr.ApiOperation)({summary:"写入文件到组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/writeFile"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.CompWriteFileDTO]),yr("design:returntype",Promise)],Zr.prototype,"writeFile",null);hr([(0,Wr.ApiOperation)({summary:"重命名组件目录"}),(0,Wr.ApiResponse)({status:200,description:"返回结果",type:Qr}),(0,Fr.Post)("/renameDir"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[zr.RenameCompDirDTO]),yr("design:returntype",Promise)],Zr.prototype,"renameDir",null);sr.CompController=Zr=hr([(0,Wr.ApiTags)(["comp"]),(0,Fr.Controller)("/comp")],Zr)},96736:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.ModuleController=void 0;const Fr=lr(46123);const Br=lr(49179);const Ur=lr(85984);const Wr=lr(19428);const zr=lr(71692);const Jr=lr(61275);const Hr=lr(19385);const Gr=(0,Hr.createNoData)(Br.ApiProperty);let Yr=class ModuleController{async preBuild(ir){const{deps:sr}=ir;let lr=null;await this.queueService.enqueue((async()=>{lr=await this.moduleService.preBuild(sr)}));return Hr.resUtil.success(lr)}async buildTemplateCompiler(ir){let sr=null;await this.queueService.enqueue((async()=>{sr=await this.moduleService.buildTemplateCompiler(ir.vueVersion)}));return Hr.resUtil.success(sr)}async preBuildSize(){const ir=await this.moduleService.preBuildSize();return Hr.resUtil.success({size:ir})}async clearPreBuild(){await this.moduleService.clearPreBuild();return Hr.resUtil.noData()}};sr.ModuleController=Yr;hr([(0,Fr.Inject)(),yr("design:type",Ur.ModuleService)],Yr.prototype,"moduleService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.QueueService)],Yr.prototype,"queueService",void 0);hr([(0,Br.ApiOperation)({summary:"模块预构建"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.PreBuildVO)}),(0,Fr.Post)("/preBuild"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[Wr.PreBuildDTO]),yr("design:returntype",Promise)],Yr.prototype,"preBuild",null);hr([(0,Br.ApiOperation)({summary:"构建 vue-template-compiler 浏览器 bundle"}),(0,Br.ApiResponse)({status:200,description:"返回 vue-template-compiler 浏览器 bundle 文件名",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.BuildTemplateCompilerVO)}),(0,Fr.Post)("/buildTemplateCompiler"),kr(0,(0,Fr.Body)()),yr("design:type",Function),yr("design:paramtypes",[Wr.BuildTemplateCompilerDTO]),yr("design:returntype",Promise)],Yr.prototype,"buildTemplateCompiler",null);hr([(0,Br.ApiOperation)({summary:"获取预构建模块文件总大小"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:(0,Hr.createSuccessWrapper)(Br.ApiProperty,zr.PreBuildSizeVO)}),(0,Fr.Post)("/preBuildSize"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Yr.prototype,"preBuildSize",null);hr([(0,Br.ApiOperation)({summary:"清除预构建模块文件"}),(0,Br.ApiResponse)({status:200,description:"返回结果",type:Gr}),(0,Fr.Post)("/clearPreBuild"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Yr.prototype,"clearPreBuild",null);sr.ModuleController=Yr=hr([(0,Br.ApiTags)(["module"]),(0,Fr.Controller)("/module")],Yr)},64754:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr;Object.defineProperty(sr,"__esModule",{value:true});sr.ProxyController=void 0;const Fr=lr(46123);const Br=lr(26815);const Ur=Br.KEYS.PROXY_PATH_PREFIX;let Wr=kr=class ProxyController{async proxy(){const ir=this.ctx.path.replace(Ur,"");let sr=null;for(const[lr,hr]of Object.entries(kr.proxys)){const yr=new RegExp(lr);if(yr.test(ir)||ir.startsWith(lr)){sr=hr;break}}if(!sr){this.ctx.status=404;this.ctx.body={message:"Proxy not found"};return}const{proxy:lr,event:hr}=sr;await new Promise(((ir,sr)=>{lr(this.ctx.req,this.ctx.res);hr.on("error",sr);hr.on("proxyRes",ir)}))}};sr.ProxyController=Wr;hr([(0,Fr.Inject)(),yr("design:type",Object)],Wr.prototype,"ctx",void 0);hr([(0,Fr.All)("/*"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Wr.prototype,"proxy",null);sr.ProxyController=Wr=kr=hr([(0,Fr.Controller)(Ur,{ignoreGlobalPrefix:true})],Wr)},17076:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SpaController=void 0;const kr=lr(46123);const Fr=lr(49179);const Br=lr(63366);const Ur=lr(26815);const Wr="无法连接 OSS 资源服务器,请检查网络后重试";let zr=class SpaController{async index(){this.ctx.redirect(`/${Ur.KEYS.WEBSITE_PATH_MAIN}/`)}async spa(){const ir=this.configService.comphubConfig();const{ossWebsite:sr}=ir;if(!sr){this.ctx.status=404;return}let lr;let hr;try{hr=await fetch(`${sr.main}/${Ur.KEYS.WEBSITE_PATH_MAIN}/index.html`,{signal:AbortSignal.timeout(15e3)})}catch{this.ctx.status=502;this.ctx.body=Wr;return}if(!hr.ok){this.ctx.status=502;this.ctx.body=Wr;return}lr=await hr.text();this.ctx.set("Cache-Control","no-cache");const yr=this.configService.getGlobalConfig();const{projectHash:kr}=yr;if(kr){lr=lr.replace(/<base[^>]*>/gi,"");lr=lr.replace("\x3c!--BASE_HREF--\x3e",`<base href="/${kr}/${Ur.KEYS.WEBSITE_PATH_MAIN}/">`)}const Fr=`<script>window.__GLOBAL_CONFIG__ = ${JSON.stringify(yr)};<\/script>`;lr=lr.replace("\x3c!--GLOBAL_CONFIG--\x3e",Fr);return lr}async getGlobalConfig(){return this.configService.getGlobalConfig()}};sr.SpaController=zr;hr([(0,kr.Inject)(),yr("design:type",Object)],zr.prototype,"ctx",void 0);hr([(0,kr.App)(),yr("design:type",Object)],zr.prototype,"app",void 0);hr([(0,kr.Inject)(),yr("design:type",Br.ConfigService)],zr.prototype,"configService",void 0);hr([(0,kr.Get)("/"),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"index",null);hr([(0,kr.Get)(`/${Ur.KEYS.WEBSITE_PATH_MAIN}/*`),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"spa",null);hr([(0,kr.Get)(Ur.KEYS.GLOBAL_CONFIG_PATH),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"getGlobalConfig",null);sr.SpaController=zr=hr([(0,Fr.ApiExcludeController)(),(0,kr.Controller)("/",{ignoreGlobalPrefix:true})],zr)},44734:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__param||function(ir,sr){return function(lr,hr){sr(lr,hr,ir)}};Object.defineProperty(sr,"__esModule",{value:true});sr.VuefinderController=void 0;const Fr=lr(46123);const Br=lr(5808);const Ur=lr(49179);const Wr=lr(23444);let zr=class VuefinderController{async list(ir){const sr=await this.vuefinderService.list(ir);return sr}};sr.VuefinderController=zr;hr([(0,Fr.App)(),yr("design:type",Object)],zr.prototype,"app",void 0);hr([(0,Fr.Inject)(),yr("design:type",Br.VuefinderService)],zr.prototype,"vuefinderService",void 0);hr([(0,Ur.ApiOperation)({summary:"list"}),(0,Fr.Get)("/list"),kr(0,(0,Fr.Query)()),yr("design:type",Function),yr("design:paramtypes",[Wr.VueFinderIndexDTO]),yr("design:returntype",Promise)],zr.prototype,"list",null);sr.VuefinderController=zr=hr([(0,Ur.ApiTags)(["vuefinder"]),(0,Fr.Controller)("/vuefinder")],zr)},60149:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BasePageDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class BasePageDTO{}sr.BasePageDTO=BasePageDTO;hr([(0,kr.ApiProperty)({example:1,description:"当前页码",required:false}),(0,Fr.Rule)(Fr.RuleType.number().min(1)),yr("design:type",Number)],BasePageDTO.prototype,"page",void 0);hr([(0,kr.ApiProperty)({example:10,description:"每页数量",required:false}),(0,Fr.Rule)(Fr.RuleType.number().min(1).max(50)),yr("design:type",Number)],BasePageDTO.prototype,"pageSize",void 0);hr([(0,Fr.Rule)(Fr.RuleType.string().allow("").max(50).pattern(/\{\s*\$\w+:/i,{invert:true}).trim()),(0,kr.ApiProperty)({example:"小明",description:"关键词",required:false}),yr("design:type",String)],BasePageDTO.prototype,"keyword",void 0)},8131:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.RenameCompDirDTO=sr.CompWriteFileDTO=sr.LocalCompDetailByPathHashDTO=sr.OpenCompPathInExplorerDTO=sr.OpenCompPathInVscodeDTO=sr.LocalCompsDTO=sr.DownloadCompDTO=sr.UpdateCompDTO=sr.SubmitCompDTO=sr.DepItemDTO=sr.CompFileDTO=sr.UpdateVersionDTO=sr.CompFileHashDTO=sr.CheckCompRepeatDTO=sr.LocalCompsByIdsDTO=sr.DepDTO=sr.GenerateCompJsonDTO=sr.CompCheckDTO=sr.CompDirDTO=void 0;const kr=lr(49179);const Fr=lr(99375);const Br=lr(26815);const Ur=lr(60149);class CompPathDTO{}hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompPathDTO.prototype,"compPath",void 0);class CompIdDTO{}hr([(0,kr.ApiProperty)({required:true,description:"组件id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompIdDTO.prototype,"compId",void 0);class CompDirDTO extends CompPathDTO{}sr.CompDirDTO=CompDirDTO;class CompCheckDTO extends CompPathDTO{}sr.CompCheckDTO=CompCheckDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件框架类型",example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompCheckDTO.prototype,"framework",void 0);class GenerateCompJsonDTO extends CompPathDTO{}sr.GenerateCompJsonDTO=GenerateCompJsonDTO;class DepDTO extends CompPathDTO{}sr.DepDTO=DepDTO;class LocalCompsByIdsDTO{}sr.LocalCompsByIdsDTO=LocalCompsByIdsDTO;hr([(0,kr.ApiProperty)({type:[String],required:true,description:"组件id列表",example:["123","456"]}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],LocalCompsByIdsDTO.prototype,"compIds",void 0);class CheckCompRepeatDTO extends CompPathDTO{}sr.CheckCompRepeatDTO=CheckCompRepeatDTO;hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],CheckCompRepeatDTO.prototype,"teamId",void 0);class CompFileHashDTO extends CompPathDTO{}sr.CompFileHashDTO=CompFileHashDTO;class UpdateVersionDTO extends CompPathDTO{}sr.UpdateVersionDTO=UpdateVersionDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件版本号",example:"1.0.0"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],UpdateVersionDTO.prototype,"version",void 0);class CompFileDTO{}sr.CompFileDTO=CompFileDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件路径",example:"/src/components/MyComp/index.vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompFileDTO.prototype,"filePath",void 0);class PreviewItemDTO{}hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址",required:true}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],PreviewItemDTO.prototype,"miniPath",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址(全屏窗口)",required:false}),(0,Fr.Rule)(Fr.RuleType.array().optional().items(Fr.RuleType.string())),yr("design:type",Array)],PreviewItemDTO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({example:"我是一个预览入口",description:"预览入口描述",required:false}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],PreviewItemDTO.prototype,"desc",void 0);class ParentDTO{}hr([(0,kr.ApiProperty)({description:"父库名称",required:true,example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],ParentDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"父库版本",required:true,example:"^2.10.5"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],ParentDTO.prototype,"version",void 0);class DepItemDTO{}sr.DepItemDTO=DepItemDTO;hr([(0,kr.ApiProperty)({description:"库名称",required:true,example:"element-plus"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DepItemDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"库版本(仅第三方库存在)",required:true,example:"^2.10.5"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DepItemDTO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:ParentDTO,description:"父库(仅第三方库存在),在子包导入的时候,需要指定父库,比如 ol/Map.js 就需要指定父库 ol",required:false}),(0,Fr.Rule)(Fr.RuleType.object().optional()),yr("design:type",ParentDTO)],DepItemDTO.prototype,"parent",void 0);class SubmitCompDTO{}sr.SubmitCompDTO=SubmitCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件名称",example:"MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"compPath",void 0);hr([(0,kr.ApiProperty)({type:[DepItemDTO],required:true,description:"组件依赖"}),(0,Fr.Rule)(Fr.RuleType.array().required()),yr("design:type",Array)],SubmitCompDTO.prototype,"dep",void 0);hr([(0,kr.ApiProperty)({type:[PreviewItemDTO],required:true,description:"组件预览数据"}),(0,Fr.Rule)(Fr.RuleType.array().required()),yr("design:type",Array)],SubmitCompDTO.prototype,"previewConfigs",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件描述",example:"这是一个组件"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],SubmitCompDTO.prototype,"desc",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件背景颜色",example:"#f0f0f0"}),(0,Fr.Rule)(Fr.RuleType.string().empty("").default("")),yr("design:type",String)],SubmitCompDTO.prototype,"bgColor",void 0);hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],SubmitCompDTO.prototype,"teamId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件标签",example:["hooks","图表"],type:[String]}),(0,Fr.Rule)(Fr.RuleType.array().items(Fr.RuleType.string())),yr("design:type",Array)],SubmitCompDTO.prototype,"tags",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件框架类型",example:"vue"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],SubmitCompDTO.prototype,"framework",void 0);class UpdateCompDTO extends SubmitCompDTO{}sr.UpdateCompDTO=UpdateCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],UpdateCompDTO.prototype,"compId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"团队id",example:"123"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],UpdateCompDTO.prototype,"teamId",void 0);hr([(0,kr.ApiProperty)({required:false,description:"组件升级描述",example:"升级组件描述"}),(0,Fr.Rule)(Fr.RuleType.string().allow("").max(200)),yr("design:type",String)],UpdateCompDTO.prototype,"upgradeDesc",void 0);class DownloadCompDTO extends CompIdDTO{}sr.DownloadCompDTO=DownloadCompDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件下载路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"savePath",void 0);hr([(0,kr.ApiProperty)({required:false,description:"是否覆盖",example:true}),(0,Fr.Rule)(Fr.RuleType.boolean().default(false)),yr("design:type",Boolean)],DownloadCompDTO.prototype,"isCover",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件名称",example:"MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"compName",void 0);hr([(0,kr.ApiProperty)({required:true,description:"组件版本",example:"1.0.0"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],DownloadCompDTO.prototype,"version",void 0);class LocalCompsDTO extends Ur.BasePageDTO{}sr.LocalCompsDTO=LocalCompsDTO;class OpenCompPathInVscodeDTO{}sr.OpenCompPathInVscodeDTO=OpenCompPathInVscodeDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件夹路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInVscodeDTO.prototype,"folderPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"目标文件相对于组件文件夹的路径",example:""}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInVscodeDTO.prototype,"relativeFilePath",void 0);class OpenCompPathInExplorerDTO{}sr.OpenCompPathInExplorerDTO=OpenCompPathInExplorerDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件文件夹路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInExplorerDTO.prototype,"folderPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"目标文件相对于组件文件夹的路径",example:""}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],OpenCompPathInExplorerDTO.prototype,"relativeFilePath",void 0);class LocalCompDetailByPathHashDTO{}sr.LocalCompDetailByPathHashDTO=LocalCompDetailByPathHashDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件完整文件路径hash",example:"1234567890"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],LocalCompDetailByPathHashDTO.prototype,"fullPathHash",void 0);class CompWriteFileDTO{}sr.CompWriteFileDTO=CompWriteFileDTO;hr([(0,kr.ApiProperty)({required:true,description:"组件路径",example:"/src/components/MyComp"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"compPath",void 0);hr([(0,kr.ApiProperty)({required:true,description:"文件名",example:Br.KEYS.COMP_SCREENSHOT_MINI_FILENAME}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"filename",void 0);hr([(0,kr.ApiProperty)({required:true,description:"文件内容(base64,不含前缀)",example:"iVBORw0KGgo..."}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],CompWriteFileDTO.prototype,"content",void 0);class RenameCompDirDTO extends CompPathDTO{}sr.RenameCompDirDTO=RenameCompDirDTO;hr([(0,kr.ApiProperty)({required:true,description:"新目录名称",example:"NewCompName"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],RenameCompDirDTO.prototype,"newName",void 0)},19428:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BuildTemplateCompilerDTO=sr.PreBuildDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class PreBuildDTO{}sr.PreBuildDTO=PreBuildDTO;hr([(0,kr.ApiProperty)({type:[String],required:true,description:"组件依赖",example:["axios","md5"]}),(0,Fr.Rule)(Fr.RuleType.array().required().items(Fr.RuleType.string())),yr("design:type",Array)],PreBuildDTO.prototype,"deps",void 0);class BuildTemplateCompilerDTO{}sr.BuildTemplateCompilerDTO=BuildTemplateCompilerDTO;hr([(0,kr.ApiProperty)({type:String,required:true,description:"Vue 版本号,如 2.6.14",example:"2.6.14"}),(0,Fr.Rule)(Fr.RuleType.string().required()),yr("design:type",String)],BuildTemplateCompilerDTO.prototype,"vueVersion",void 0)},23444:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.VueFinderIndexDTO=void 0;const kr=lr(49179);const Fr=lr(99375);class VueFinderIndexDTO{}sr.VueFinderIndexDTO=VueFinderIndexDTO;hr([(0,kr.ApiProperty)({required:false,description:"文件路径"}),(0,Fr.Rule)(Fr.RuleType.string()),yr("design:type",String)],VueFinderIndexDTO.prototype,"path",void 0)},59416:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.BadRequestErrorFilter=void 0;const yr=lr(46123);const kr=lr(19385);const Fr=lr(26815);let Br=class BadRequestErrorFilter{async catch(ir,sr){const lr=sr.app.getEnv();if(lr===Fr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("BadRequestErrorFilter==>",ir)}return kr.resUtil.error(ir.message,ir.status)}};sr.BadRequestErrorFilter=Br;sr.BadRequestErrorFilter=Br=hr([(0,yr.Catch)(yr.httpError.BadRequestError)],Br)},54633:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.DefaultErrorFilter=void 0;const yr=lr(46123);const kr=lr(26815);let Fr=class DefaultErrorFilter{async catch(ir,sr){const lr=sr.app.getEnv();try{const sr=JSON.parse(ir.message);return{...sr}}catch(ir){if(lr===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("解析错误信息失败==>",ir.message,"\n")}}finally{if(lr===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL){sr.logger.error("原始错误==>",ir)}}sr.status=ir.status??500;return{code:ir.status??500,message:ir.message??"未知错误"}}};sr.DefaultErrorFilter=Fr;sr.DefaultErrorFilter=Fr=hr([(0,yr.Catch)()],Fr)},15545:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(12799);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.MainConfiguration}});yr(lr(14071),sr);yr(lr(91921),sr);yr(lr(83465),sr);yr(lr(96736),sr);yr(lr(64754),sr);yr(lr(17076),sr);yr(lr(44734),sr);yr(lr(60149),sr);yr(lr(8131),sr);yr(lr(19428),sr);yr(lr(23444),sr);yr(lr(59416),sr);yr(lr(54633),sr);yr(lr(9711),sr);yr(lr(53951),sr);yr(lr(77523),sr);yr(lr(15960),sr);yr(lr(61142),sr);yr(lr(19465),sr);yr(lr(95637),sr);yr(lr(48795),sr);yr(lr(63366),sr);yr(lr(23086),sr);yr(lr(85984),sr);yr(lr(80799),sr);yr(lr(61275),sr);yr(lr(19452),sr);yr(lr(5808),sr);yr(lr(66593),sr);yr(lr(58953),sr);yr(lr(49969),sr);yr(lr(52639),sr);yr(lr(4145),sr);yr(lr(5052),sr);yr(lr(10778),sr);yr(lr(67872),sr);yr(lr(101),sr);yr(lr(71692),sr)},9711:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},53951:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},77523:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},15960:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.OSS_HTML_CACHE_CONTROL=void 0;sr.shouldUseOssMode=shouldUseOssMode;sr.resolveOssUrl=resolveOssUrl;sr.isHtmlRequest=isHtmlRequest;sr.toHtmlFileUrl=toHtmlFileUrl;sr.createOssStaticMiddleware=createOssStaticMiddleware;const hr=lr(2203);const yr=lr(26815);sr.OSS_HTML_CACHE_CONTROL="no-cache";function shouldUseOssMode(ir){return ir!==yr.KEYS.LOCAL_MIDWAY_ENV_LOCAL}function resolveOssUrl(ir,sr,lr){if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_MAIN}/`))return ir+lr;if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_CONTAINER}/`))return sr+lr;if(lr.startsWith(`/${yr.KEYS.WEBSITE_PATH_ITEM}/`))return sr+lr;return null}function isHtmlRequest(ir,sr){if(ir.endsWith("/")||/\.html$/i.test(ir))return true;return/text\/html/i.test(sr)}function toHtmlFileUrl(ir,sr){if(/\.html$/i.test(sr))return ir;const lr=sr.split("/").filter(Boolean)[0]??"";return ir.slice(0,ir.length-sr.length)+`/${lr}/index.html`}function createOssStaticMiddleware(ir){return async(lr,yr)=>{const kr=resolveOssUrl(ir.mainBaseUrl,ir.iframeBaseUrl,lr.path);if(!kr){await yr();return}const Fr=isHtmlRequest(lr.path,lr.headers.accept||"");if(Fr&&ir.htmlMode==="passthrough"){await yr();return}try{const yr=Fr?toHtmlFileUrl(kr,lr.path):kr;const Br=await fetch(yr,{redirect:"follow",signal:AbortSignal.timeout(15e3)});if(Fr){const hr=await Br.text();if(!Br.ok){lr.status=Br.status;lr.body=hr;return}lr.status=Br.status;lr.type="text/html; charset=utf-8";const yr=ir.htmlHeaders??{"Cache-Control":sr.OSS_HTML_CACHE_CONTROL};for(const[ir,sr]of Object.entries(yr))lr.set(ir,sr);lr.body=ir.injectHtml?.(lr.path,hr)??hr;return}lr.status=Br.status;lr.set("content-type",Br.headers.get("content-type")||"application/octet-stream");const Ur=Br.headers.get("cache-control");if(Ur)lr.set("cache-control",Ur);lr.body=Br.body?hr.Readable.fromWeb(Br.body):""}catch(sr){const hr=sr instanceof Error?sr.message:String(sr);ir.logger?.warn("[oss-static] 代理失败:",hr);lr.status=502;lr.body="无法连接 OSS 资源服务器,请检查网络后重试"}}}},61142:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.ReportMiddleware=void 0;const yr=lr(46123);let kr=class ReportMiddleware{resolve(){return async(ir,sr)=>{const lr=Date.now();const hr=await sr();const yr=ir.url;ir.logger.info(`请求 ${ir.method} ${yr} → ${ir.status} (${Date.now()-lr}ms)`);return hr}}static getName(){return"report"}};sr.ReportMiddleware=kr;sr.ReportMiddleware=kr=hr([(0,yr.Middleware)()],kr)},19465:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.TokenMiddleware=void 0;const yr=lr(46123);const kr=lr(10778);let Fr=class TokenMiddleware{resolve(){return async(ir,sr)=>{(0,kr.setHeader)(ir.header);await sr()}}static getName(){return"token"}};sr.TokenMiddleware=Fr;sr.TokenMiddleware=Fr=hr([(0,yr.Middleware)()],Fr)},95637:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.CommandService=void 0;const Fr=lr(46123);const Br=kr(lr(79896));const Ur=lr(63366);const Wr=lr(7455);const zr=kr(lr(16928));const Jr=lr(68255);const Hr=lr(35317);const Gr=kr(lr(70857));let Yr=class CommandService{async revealInVSCode(ir,sr,lr=1,hr=1){const{cwd:yr}=this.configService.comphubConfig();if(!ir||!Br.default.existsSync(ir)||!Br.default.statSync(ir).isDirectory()){throw new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.folderPathNotExist"))}const kr=zr.default.resolve(ir,sr);if(!Br.default.existsSync(kr)||Br.default.statSync(kr).isDirectory()){throw new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.filePathNotExist"))}(0,Wr.launchIDE)({file:yr});(0,Wr.launchIDE)({file:kr,line:lr,column:hr})}revealInExplorer(ir,sr){return new Promise(((lr,hr)=>{if(!ir||!Br.default.existsSync(ir)||!Br.default.statSync(ir).isDirectory()){hr(new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.folderPathNotExist")));return}const yr=zr.default.resolve(ir,sr);if(!Br.default.existsSync(yr)||Br.default.statSync(yr).isDirectory()){hr(new Fr.httpError.BadRequestError(this.i18nService.translate("local.command.errors.filePathNotExist")));return}const kr=Gr.default.platform();if(kr==="win32"){(0,Hr.exec)(`explorer /select,"${yr}"`,(()=>{lr(yr)}))}else{(0,Hr.exec)(`open -R "${yr}"`,(ir=>{if(ir){hr(new Fr.httpError.InternalServerErrorError(this.i18nService.translate("local.command.errors.openExplorerFailed",{args:[ir.message]})));return}lr(yr)}))}}))}};sr.CommandService=Yr;hr([(0,Fr.Inject)(),yr("design:type",Ur.ConfigService)],Yr.prototype,"configService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Object)],Yr.prototype,"ctx",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.MidwayI18nService)],Yr.prototype,"i18nService",void 0);sr.CommandService=Yr=hr([(0,Fr.Provide)()],Yr)},48795:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CompService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(63366);const Hr=lr(23086);const Gr=lr(85984);const Yr=lr(80799);const Qr=Fr(lr(70857));const Zr=Fr(lr(10232));const cn=lr(87518);const un=lr(84464);const Tn=lr(95637);const jn=lr(5052);const ni=lr(52639);const si=lr(26815);const pi=lr(18801);const di=lr(4990);const gi=lr(68255);const yi=5;let Ti=class CompService{getCompFullPath(ir){const{srcPath:sr}=this.configService.comphubConfig();ir=ir.replace(si.KEYS.FILE_MANAGER_DIRNAME,"");const lr=Wr.join(sr,ir);return lr}checkCompEntryIndex(ir,sr){const lr=(0,ni.getFrameworkEntryFiles)(sr);if(!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.frameworkUnknown"))}for(const sr of lr){if(zr.existsSync(Wr.join(ir,sr))){return sr}}throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.entryFileNotExist",{args:[lr.join(" / ")]}))}async checkWebCompDeps(ir,sr){const lr=this.depsService.collectCompSources(ir);const hr=(0,ni.findUnresolvedBareSpecifiers)(lr,sr.map((ir=>ir.name)));if(hr.length){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.webCompDepMissing",{args:[hr.join("、")]}))}}checkCompJson(ir){const sr=this.getCompFullPath(ir);const lr=Wr.join(sr,si.KEYS.COMP_CONFIG_FILENAME);if(!zr.existsSync(lr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.configFileNotExist"))}}checkCompJsonFormat(ir){const sr=Object.keys(ir);const lr=si.ARRAY.COMP_DEFAULT_FIELD.every((ir=>!ir.required||sr.includes(ir.name)));if(!lr)return false;return pi.versionKit.validateVersion(ir.version)}async updateCompJson(ir,sr){const lr=this.getCompFullPath(ir);const hr=Wr.join(lr,si.KEYS.COMP_CONFIG_FILENAME);const yr=await this.getCompFile(hr);const kr=sr(JSON.parse(yr));await zr.promises.writeFile(hr,JSON.stringify(kr,null,4))}async readCompVersion(ir){const sr=Wr.join(ir,si.KEYS.COMP_CONFIG_FILENAME);const lr=await this.getCompFile(sr);const hr=JSON.parse(lr);return hr.version}initCompJson(){return si.ARRAY.COMP_DEFAULT_FIELD.reduce(((ir,sr)=>{const lr={};if(sr.required){lr[sr.name]=sr.default}return{...ir,...lr}}),{})}async runWithConcurrency(ir,sr,lr){if(ir.length===0)return;let hr=0;let yr=false;const worker=async()=>{while(!yr){const sr=hr++;if(sr>=ir.length)return;try{await lr(ir[sr])}catch(ir){yr=true;throw ir}}};await Promise.all(Array.from({length:Math.min(sr,ir.length)},worker))}async uploadCompFolderToOss({compFullPath:ir,version:sr,ossData:lr}){const{files:hr}=await cn.fileTree.generateTree(ir);const yr=hr.map((({absolutePath:sr,size:lr})=>{const hr=sr.replace(ir,"");return{filePath:hr,fileFullPath:sr,size:lr??0}}));yr.sort(((ir,sr)=>sr.size-ir.size));await this.runWithConcurrency(yr,yi,(async({filePath:ir,fileFullPath:hr})=>{const yr=Wr.join(lr.key,sr,ir);const kr={...lr,key:yr.replace(new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g"),"/")};const Fr=zr.createReadStream(hr);await this.ossService.uploadFileToOss(kr,Fr)}))}async uploadPreBuildFilesToOss(ir){const sr=Array.from(new Set(ir));if(sr.length===0)return;const lr=await di.remoteApi.v1Oss.osscontrollerPrebuildputpolicy();const hr=lr.data;const{cwd:yr}=this.configService.comphubConfig();const kr=Wr.join(yr,si.KEYS.PREBUILD_MODULE_DIR);await this.runWithConcurrency(sr,yi,(async ir=>{const sr=Wr.join(kr,ir);if(!zr.existsSync(sr)){this.ctx.logger.warn(`预编译产物文件不存在,跳过上传: ${sr}`);return}const lr=zr.createReadStream(sr);const yr={...hr,key:ir};await this.ossService.uploadFileToOss(yr,lr,true)}))}async getCompHash(ir){const sr=await cn.digest.getFileHashList(ir);const lr=sr.map((ir=>`${ir.relativePath}-${ir.hash}`)).join(";");return cn.digest.getStringHash(lr)}async getCompFeatures(ir){const sr=await cn.digest.getFileHashAndSsdeepList(ir);const lr=sr.map((ir=>{const sr=(0,un.omit)(ir,["relativePath"]);return{...sr,path:ir.relativePath}}));const hr=await cn.digest.getRelativeDirList(ir);const yr=JSON.stringify(hr);const kr=cn.digest.getStringFuzzyHash(yr);const Fr=await this.getCompHash(ir);return{fileHashList:lr,compHash:Fr,dirHash:cn.digest.getStringHash(yr),dirSsdeep:cn.digest.getSsdeepStruct(kr)}}async getCompFileList(ir){const{files:sr}=await cn.fileTree.generateTree(ir,{withStats:true,calculateSize:true});const lr=sr.map((({name:sr,size:lr,absolutePath:hr})=>({name:sr,size:lr??0,path:hr.replace(ir,"").replace(new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g"),"/")})));return lr}checkCompFileSize(ir){if(ir>si.KEYS.COMP_SUBMIT_MAX_TOTAL_SIZE){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitSizeExceeded",{args:[Math.floor(si.KEYS.COMP_SUBMIT_MAX_TOTAL_SIZE/1024/1024).toString()]}))}}checkCompFileNum(ir){if(ir>si.KEYS.COMP_SUBMIT_MAX_FILE_COUNT){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitFileCountExceeded",{args:[si.KEYS.COMP_SUBMIT_MAX_FILE_COUNT.toString()]}))}}checkCompSingleFileSize(ir){const sr=si.KEYS.COMP_SUBMIT_MAX_SINGLE_FILE_SIZE;const lr=Math.floor(sr/1024/1024);for(const hr of ir){if(hr.size>sr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.submitSingleFileSizeExceeded",{args:[hr.path,lr.toString()]}))}}}async findCompJsonPath(ir){const{files:sr}=await cn.fileTree.generateTree(ir,{ignore:["node_modules"]});this.ctx.logger.debug("项目文件数量:",sr.length);const lr=sr.filter((({absolutePath:ir})=>ir.endsWith(si.KEYS.COMP_CONFIG_FILENAME)));return lr}async getAllLocalCompIds(){const{srcPath:ir}=this.configService.comphubConfig();const sr=await this.findCompJsonPath(ir);this.ctx.logger.debug("组件文件数量:",sr.length);const lr=sr.map((async({absolutePath:ir})=>{const sr=await zr.promises.readFile(ir,"utf8");const lr=JSON.parse(sr);const hr=this.checkCompJsonFormat(lr);const yr=Wr.dirname(ir);return{compjson:lr,isCompHub:hr,compPath:yr,pathHash:cn.digest.getStringHash(yr)}}));const hr=await Promise.all(lr);return hr.filter((ir=>ir.isCompHub&&ir.compjson[si.KEYS.COMP_FIELD_COMP_ID]))}async getCompDir(ir){const{srcPath:sr}=this.configService.comphubConfig();const lr=Wr.join(ir.replace(si.KEYS.FILE_MANAGER_DIRNAME,`${sr}${Wr.sep}`));const{tree:hr,files:yr}=await cn.fileTree.generateTree(lr,{sortBy:"type"});const _handleTree=ir=>{const sr={name:ir.name,path:ir.absolutePath,type:ir.type};if(ir.children&&ir.children.length>0){sr.children=ir.children.map((ir=>_handleTree(ir)))}return sr};return{tree:_handleTree(hr),files:yr.map((ir=>ir.absolutePath))}}async getCompFile(ir){const sr=await zr.promises.readFile(ir,"utf-8");return sr}async checkCompConfig(ir,sr){const lr=Wr.basename(ir);const hr=this.getCompFullPath(ir);let yr;try{const ir=this.checkCompEntryIndex(hr,sr);yr=Wr.join(lr,ir)}catch(ir){this.ctx.logger.error("检查组件入口文件失败",ir);return{errorMsg:ir.message}}try{this.checkCompJson(ir)}catch(ir){this.ctx.logger.error("检查组件配置文件comp.json失败",ir);return{entryIndexPath:yr,errorMsg:ir.message}}const kr=Wr.join(lr,si.KEYS.COMP_CONFIG_FILENAME);try{const sr=Wr.join(this.getCompFullPath(ir),si.KEYS.COMP_CONFIG_FILENAME);const lr=await this.getCompFile(sr);const hr=this.checkCompJsonFormat(JSON.parse(lr));if(!hr){return{entryIndexPath:yr,compJsonPath:kr,errorMsg:this.i18nService.translate("local.comp.check.configJsonFormatError")}}}catch(ir){this.ctx.logger.error("读取组件配置文件comp.json失败",ir);return{entryIndexPath:yr,compJsonPath:kr,errorMsg:this.i18nService.translate("local.comp.check.configJsonReadError")}}return{entryIndexPath:yr,compJsonPath:kr,errorMsg:""}}async updateCompVersion(ir,sr){const lr=pi.versionKit.validateVersion(sr);if(!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.invalidVersionFormat"))}const hr=this.getCompFullPath(ir);const yr=Wr.join(hr,si.KEYS.COMP_CONFIG_FILENAME);const kr=await this.getCompFile(yr);const Fr=JSON.parse(kr);Fr.version=sr;const Br=JSON.stringify(Fr,null,2);await zr.promises.writeFile(yr,Br)}async generateCompJson(ir){const sr=this.getCompFullPath(ir);const lr=Wr.basename(sr);const hr=this.initCompJson();hr.name=lr;await zr.promises.writeFile(Wr.join(sr,si.KEYS.COMP_CONFIG_FILENAME),JSON.stringify(hr,null,4))}async getCompDep(ir){const{cwd:sr}=this.configService.comphubConfig();const lr=this.getCompFullPath(ir);const hr=await this.depsService.getModuleEntry(lr,sr);const yr=this.depsService.detectCompFrameworkFor(lr);return{dep:hr,framework:yr}}async getCompFileHash(ir){const{compPath:sr}=ir;const lr=this.getCompFullPath(sr);const hr=await this.getCompFeatures(lr);return{compHash:hr.compHash}}async checkCompRepeat(ir){const{compPath:sr,teamId:lr}=ir;const hr=this.getCompFullPath(sr);const yr=await this.getCompFeatures(hr);const kr=await di.remoteApi.v1Comp.compcontrollerCheckcompexistbyhash(yr,{headers:{"team-id":lr}});return kr.data}async submitComp(ir){let sr="";let lr={};try{const{compPath:hr,dep:yr,previewConfigs:kr,desc:Fr,bgColor:Br,name:Ur,teamId:Wr,tags:zr,framework:Jr}=ir;lr={"team-id":Wr};this.checkCompJson(hr);const Hr=this.getCompFullPath(hr);const Gr=await this.getCompFeatures(Hr);this.checkCompEntryIndex(Hr,Jr);if(Jr===si.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){await this.checkWebCompDeps(Hr,yr)}const Yr=await this.readCompVersion(Hr);const Qr=await this.getCompFileList(Hr);const Zr=Qr.reduce(((ir,sr)=>ir+sr.size),0);this.checkCompFileNum(Qr.length);this.checkCompFileSize(Zr);this.checkCompSingleFileSize(Qr);const{entryNameToFile:cn,chunkFiles:un,templateCompilerFile:Tn,uploadFiles:jn}=await this.getPreBuildInfo(yr);const ni={entryNameToFile:cn,chunkFiles:un,...Tn?{templateCompilerFile:Tn}:{}};const pi={name:Ur,dep:yr,previewConfigs:kr,desc:Fr,version:Yr,size:Zr,files:Qr,bgColor:Br,compFeatures:Gr,tags:zr,preBuildInfo:ni,framework:Jr};const gi=await di.remoteApi.v1Comp.compcontrollerUpload(pi,{headers:lr});const yi=gi.data._id;sr=yi;await this.updateCompJson(hr,(ir=>({...ir,name:Ur,[si.KEYS.COMP_FIELD_COMP_ID]:yi})));const{data:{componentDir:Ti}}=await di.remoteApi.v1Oss.osscontrollerCompossdir();const Ei=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:Ti});const Ci={compFullPath:Hr,version:Yr,ossData:Ei.data};await this.uploadCompFolderToOss(Ci);await this.uploadPreBuildFilesToOss(jn);const{key:Pi}=Ei.data;const wi={compId:yi,objectId:`${Ti}${Pi}`};await di.remoteApi.v1Comp.compcontrollerUpdateobjectid(wi)}catch(ir){if(sr){await di.remoteApi.v1Comp.compcontrollerDeletefailedcomp({compId:sr},{headers:lr})}if(ir instanceof Ur.httpError.BadRequestError){throw new Ur.httpError.BadRequestError(ir)}throw new Error(ir.message)}}async updateComp(ir){const{compId:sr,compPath:lr,dep:hr,previewConfigs:yr,desc:kr,bgColor:Fr,name:Br,upgradeDesc:Ur,teamId:Jr,tags:Hr,framework:Gr}=ir;const Yr=this.getCompFullPath(lr);const Qr=await this.getCompFeatures(Yr);this.checkCompEntryIndex(Yr,Gr);if(Gr===si.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){await this.checkWebCompDeps(Yr,hr)}const Zr=await di.remoteApi.v1Comp.compcontrollerCompdetail({compId:sr});const{objectId:cn,version:un}=Zr.data;const Tn=await this.readCompVersion(Yr);const jn=await this.getCompFileList(Yr);const ni=jn.reduce(((ir,sr)=>ir+sr.size),0);this.checkCompFileNum(jn.length);this.checkCompFileSize(ni);this.checkCompSingleFileSize(jn);const{entryNameToFile:pi,chunkFiles:gi,templateCompilerFile:yi,uploadFiles:Ti}=await this.getPreBuildInfo(hr,Zr.data);const Ei={entryNameToFile:pi,chunkFiles:gi,...yi?{templateCompilerFile:yi}:{}};const Ci={compId:sr,name:Br,dep:hr,previewConfigs:yr,desc:kr,version:Tn,size:ni,files:jn,bgColor:Fr,compFeatures:Qr,upgradeDesc:Ur,tags:Hr,preBuildInfo:Ei,framework:Gr};const Pi=await di.remoteApi.v1Comp.compcontrollerUpdate(Ci,{headers:{"team-id":Jr}});const{isFileChange:wi}=Pi.data;if(!wi&&un===Tn){await this.uploadPreBuildFilesToOss(Ti);const ir=Wr.join(Yr,si.KEYS.COMP_SCREENSHOT_MINI_FILENAME);if(zr.existsSync(ir)){const sr=await di.remoteApi.v1Oss.osscontrollerCompossdir();const lr=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:sr.data.componentDir});const hr=cn.replace(lr.data.dir,"");const yr=Wr.join(hr,Tn,si.KEYS.COMP_SCREENSHOT_MINI_FILENAME).replace(/\\/g,"/");const kr=zr.createReadStream(ir);const Fr={...lr.data,key:yr};await this.ossService.uploadFileToOss(Fr,kr,true)}return}const Fi=await di.remoteApi.v1Oss.osscontrollerCompossdir();const{componentDir:Ri}=Fi.data;const Bi=await di.remoteApi.v1Oss.osscontrollerPutpolicy({type:Ri});const ji=cn.replace(Bi.data.dir,"");const Wi={...Bi.data,key:ji};const zi={compFullPath:Yr,version:Tn,ossData:Wi};await this.uploadCompFolderToOss(zi);await this.uploadPreBuildFilesToOss(Ti);await this.updateCompJson(lr,(ir=>({...ir,name:Br,[si.KEYS.COMP_FIELD_COMP_ID]:sr})))}async getPreBuildInfo(ir,sr){const{reused:lr,localNames:hr}=(0,jn.splitReusableDeps)(ir,sr?.dep??[],sr?.preBuildInfo?.entryNameToFile??{});const yr=hr.length?await this.moduleService.preBuild(hr):{entryNameToFile:{},chunkFiles:[]};const kr=await this.buildTemplateCompilerIfNeeded(ir);return{entryNameToFile:{...yr.entryNameToFile,...lr},chunkFiles:yr.chunkFiles,...kr?{templateCompilerFile:kr}:{},uploadFiles:Array.from(new Set([...Object.values(yr.entryNameToFile),...yr.chunkFiles,...kr?[kr]:[]]))}}async buildTemplateCompilerIfNeeded(ir){const sr=(0,jn.resolveCompilerBuild)(ir);if(sr.action==="skip"){if(sr.reason==="unparsable"){this.ctx.logger.warn(`[getPreBuildInfo] vue 版本号无法解析(${JSON.stringify(sr.raw)}),跳过模板编译器构建,外网将回退到 loader 内置编译器`)}return undefined}const{fileName:lr}=await this.moduleService.buildTemplateCompiler(sr.vueVersion);return lr}async downloadComp(ir){const{compId:sr,savePath:lr,isCover:hr,compName:yr,version:kr}=ir;const{srcPath:Fr}=this.configService.comphubConfig();const Br=si.KEYS.FILE_MANAGER_DIRNAME;const Jr=lr.replace(Br,"").replace(/[/\\]/g,Wr.sep);const Hr=Wr.join(Fr,Jr,yr);if(!hr&&zr.existsSync(Hr)){return{isRepeat:true}}const Gr=Qr.tmpdir();const Yr=Wr.join(Gr,si.KEYS.COMP_TEMP_DIR);this.ctx.logger.debug("组件下载到临时目录",Yr);const un=await di.remoteApi.v1Comp.compcontrollerCompdetail({compId:sr,version:kr});if(!un?.data){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compNotExist"))}const{files:Tn,objectId:jn,name:ni}=un.data;let pi=[];const gi=Wr.join(Yr,jn,kr);if(zr.existsSync(gi)){const{files:ir}=await cn.fileTree.generateTree(gi);pi=ir}await di.remoteApi.v1Comp.compcontrollerUpdatecompdownloadcount({compId:sr,version:kr});if(Tn.length===pi.length){const ir=pi.find((({absolutePath:ir})=>ir.replace(gi,"").startsWith(`${Wr.sep}${si.KEYS.COMP_CONFIG_FILENAME}`)));if(ir){const sr=await zr.promises.readFile(ir.absolutePath,"utf8");const lr=JSON.parse(sr);const{name:hr}=lr;if(ni===hr){await Zr.copy(gi,Hr);this.ctx.logger.debug("组件缓存文件和服务器文件一致,直接使用缓存文件");return}}}const yi=Tn.map((ir=>{const sr=Wr.join(jn,kr,ir.path);return{path:sr.replace(/[/\\]/g,"/")}}));const Ti=await this.ossService.getDownloadSts();await this.ossService.downloadFileToPath(Ti,yi,Yr);const Ei=Wr.join(Yr,jn,kr);await Zr.copy(Ei,Hr)}async getLocalCompsByIds(ir){const{srcPath:sr}=this.configService.comphubConfig();const lr=await this.findCompJsonPath(sr);this.ctx.logger.debug("组件文件数量:",lr.length);const hr=lr.map((async({absolutePath:ir})=>{const sr=await zr.promises.readFile(ir,"utf8");const lr=JSON.parse(sr);return{...lr,path:Wr.dirname(ir)}}));const yr=await Promise.all(hr);const kr=yr.filter((sr=>ir.includes(sr[si.KEYS.COMP_FIELD_COMP_ID])));if(!kr){return[]}const Fr=si.KEYS.FILE_MANAGER_DIRNAME;const Br=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const Ur=kr.map((ir=>{const lr=ir.path.replace(sr,"").replace(Br,"/").slice(1);return{id:ir[si.KEYS.COMP_FIELD_COMP_ID],path:Fr+lr,fullPath:ir.path,fullPathHash:cn.digest.getStringHash(ir.path),basename:Wr.basename(ir.path)}}));return Ur}async getPackageJsonContent(){const ir=this.configService.comphubConfig();const sr=Wr.join(ir.cwd,"package.json");return await cn.fileSys.readJsonFile(sr)}async getLocalComps(ir){const{page:sr=1,pageSize:lr=10}=ir;const{srcPath:hr}=this.configService.comphubConfig();const yr=await this.getAllLocalCompIds();const kr=yr.map((ir=>({id:ir.compjson[si.KEYS.COMP_FIELD_COMP_ID],pathHash:ir.pathHash})));kr.sort(((ir,sr)=>ir.id.localeCompare(sr.id)));const Fr=[...new Set(kr.map((ir=>ir.id)))];const Br=await di.remoteApi.v1Comp.compcontrollerExistcompsbyids({compIds:Fr});const{ids:zr=[]}=Br.data;const Jr=kr.filter((ir=>zr.includes(ir.id)));const Hr=Jr.length;const Gr=Jr.slice((sr-1)*lr,sr*lr);const Yr=new Map(yr.map((ir=>[`${ir.compjson[si.KEYS.COMP_FIELD_COMP_ID]}_${ir.pathHash}`,ir])));const Qr=await di.remoteApi.v1Comp.compcontrollerCompsbyids({compIds:Gr.map((ir=>ir.id))});const{rows:Zr=[]}=Qr.data;const un=new Map(Zr.map((ir=>[ir._id,ir])));const Tn=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const jn=si.KEYS.FILE_MANAGER_DIRNAME;const ni=Gr.map((async({id:ir,pathHash:sr})=>{const lr=Yr.get(`${ir}_${sr}`);const yr=un.get(ir);if(!yr||!lr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compWithIdNotExist",{args:[ir]}))}const kr=lr.compPath.replace(hr,"").replace(Tn,"/").slice(1);return{_id:cn.digest.getStringHash(lr.compPath),name:yr.name,compId:ir,version:lr.compjson.version,path:jn+kr,previewConfigs:yr.previewConfigs,bgColor:yr.bgColor,fullPath:lr.compPath}}));const gi=await Promise.all(ni);return{total:Hr,page:sr,pageSize:lr,rows:gi}}async getLocalCompDetailByPathHash(ir){const{fullPathHash:sr}=ir;const lr=await this.getAllLocalCompIds();const hr=lr.find((ir=>ir.pathHash===sr));if(!hr){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.compWithPathNotExist",{args:[sr]}))}const{srcPath:yr}=this.configService.comphubConfig();const kr=hr.compjson[si.KEYS.COMP_FIELD_COMP_ID];const{version:Fr}=hr.compjson;const Br=await di.remoteApi.v1Comp.compcontrollerCompsbyids({compIds:[kr]});const{rows:zr=[]}=Br.data;const Jr=zr[0];const Hr=new RegExp(pi.textKit.escapeRegExp(Wr.sep),"g");const Gr=si.KEYS.FILE_MANAGER_DIRNAME;const Yr=hr.compPath.replace(yr,"").replace(Hr,"/").slice(1);return{_id:sr,name:Jr.name,compId:kr,version:Fr,path:Gr+Yr,previewConfigs:Jr.previewConfigs,bgColor:Jr.bgColor,fullPath:hr.compPath}}async openCompPathInVscode(ir){const{folderPath:sr,relativeFilePath:lr}=ir;await this.commandService.revealInVSCode(sr,lr)}async openCompPathInExplorer(ir){const{folderPath:sr,relativeFilePath:lr}=ir;await this.commandService.revealInExplorer(sr,lr)}async writeCompFile(ir){const{compPath:sr,filename:lr,content:hr}=ir;const yr=this.getCompFullPath(sr);const kr=Wr.join(yr,lr);zr.writeFileSync(kr,Buffer.from(hr,"base64"))}async renameCompDir(ir){const{compPath:sr,newName:lr}=ir;if(!pi.textKit.validateCompName(lr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.invalidCompName",{args:[lr]}))}const hr=this.getCompFullPath(sr);const yr=Wr.basename(hr);if(yr===lr)return;const kr=Wr.dirname(hr);const Fr=Wr.join(kr,lr);if(zr.existsSync(Fr)){throw new Ur.httpError.BadRequestError(this.i18nService.translate("local.comp.errors.dirAlreadyExists",{args:[lr]}))}await zr.promises.rename(hr,Fr)}};sr.CompService=Ti;kr([(0,Ur.App)(),Br("design:type",Object)],Ti.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Jr.ConfigService)],Ti.prototype,"configService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Yr.OssService)],Ti.prototype,"ossService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Tn.CommandService)],Ti.prototype,"commandService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Hr.DepsService)],Ti.prototype,"depsService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Gr.ModuleService)],Ti.prototype,"moduleService",void 0);kr([(0,Ur.Inject)(),Br("design:type",Object)],Ti.prototype,"ctx",void 0);kr([(0,Ur.Inject)(),Br("design:type",gi.MidwayI18nService)],Ti.prototype,"i18nService",void 0);sr.CompService=Ti=kr([(0,Ur.Provide)()],Ti)},63366:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ConfigService=void 0;const Ur=lr(46123);const Wr=lr(26815);const zr=Fr(lr(16928));let Jr=class ConfigService{comphubConfig(){const ir=this.app.getAttr(Wr.KEYS.COMPHUB_CONFIG_KEY);return ir}getGlobalConfig(){const ir=this.comphubConfig();const{cwd:sr,srcPath:lr,version:hr,allowDebug:yr,subPort:kr,projectHash:Fr}=ir;return{cwd:sr,srcPath:lr,sep:zr.sep,version:hr,allowDebug:yr,subPort:kr,projectHash:Fr}}};sr.ConfigService=Jr;kr([(0,Ur.App)(),Br("design:type",Object)],Jr.prototype,"app",void 0);sr.ConfigService=Jr=kr([(0,Ur.Provide)()],Jr)},23086:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.DepsService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(64713);const Hr=lr(87518);const Gr=lr(18801);const Yr=lr(26815);const Qr=lr(63366);const Zr=lr(52639);const cn=lr(58953);let un=0;let Tn=class DepsService{async getModuleEntry(ir,sr){const lr=await Hr.fileSys.readJsonFile(Wr.join(sr,"package.json"));if(!lr){this.ctx.logger.error("未找到 package.json 文件");return[]}const hr=Hr.resolver.findDependencyVersion(lr,"vue");const yr=Hr.resolver.findDependencyVersion(lr,"react");const kr=await Hr.depGraph.detectImports(ir,{pathAliases:["@"]});const Fr=this.detectCompFrameworkFor(ir);if(Fr!==Yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT){if(hr&&yr){throw new Ur.httpError.BadRequestError("组件同时依赖 vue 和 react,无法确定框架类型")}if(hr){kr.vue={version:hr}}if(yr){kr.react={version:yr};const ir=Hr.resolver.findDependencyVersion(lr,"react-dom");if(ir){const sr=Number(Gr.versionKit.getMajorVersion(yr));if(sr>=18){kr["react-dom/client"]={version:ir}}else{kr["react-dom"]={version:ir}}}}}const Br={};for(const[ir]of Object.entries(kr)){const hr=Hr.resolver.findDependencyVersion(lr,ir);const yr={version:hr};const kr=await Hr.resolver.findOwningPackage(ir,sr);if(kr){yr.version=kr.version;if(!hr){yr.parent={name:kr.name,version:kr.version}}}Br[ir]=yr}return Object.entries(Br).map((([ir,sr])=>({name:ir,version:sr.version,...sr.parent&&{parent:sr.parent}})))}collectCompSources(ir){const sr=new Set(["node_modules",".git","dist",".comp_hub_temp"]);const lr=[".js",".mjs",".ts",".vue",".jsx",".tsx"];const hr=[];const walk=(ir,yr)=>{let kr;try{kr=zr.readdirSync(ir,{withFileTypes:true})}catch{return}for(const Fr of kr){const kr=yr?`${yr}/${Fr.name}`:Fr.name;if(Fr.isDirectory()){if(sr.has(Fr.name))continue;walk(Wr.join(ir,Fr.name),kr)}else if(Fr.isFile()&&lr.some((ir=>Fr.name.endsWith(ir)))){try{hr.push({relativePath:kr,content:zr.readFileSync(Wr.join(ir,Fr.name),"utf-8")})}catch{}}}};walk(ir,"");return hr}detectCompFrameworkFor(ir){return(0,Zr.detectFrameworkFromSources)(this.collectCompSources(ir))}async buildTemplateCompiler(ir,sr,lr){const hr=(await Hr.fileSys.readJsonFile(Wr.join(sr,"node_modules","vue-template-compiler","package.json")))?.version;if(!hr){throw new Error(`未在 node_modules 中找到 vue-template-compiler,请确保项目已安装: npm install vue-template-compiler@${ir}`)}this.ctx.logger.info(`[buildTemplateCompiler] 实装 vue-template-compiler@${hr},组件声明 Vue 版本: ${ir}`);const yr=(await Hr.fileSys.readJsonFile(Wr.join(sr,"node_modules","vue","package.json")))?.version;if(!yr){this.ctx.logger.warn(`[buildTemplateCompiler] 未在 node_modules 中找到 vue,跳过编译器一致性检查(cwd=${sr})`)}else if(!(0,cn.isTemplateCompilerVersionMatched)(yr,hr)){this.ctx.logger.warn(`[buildTemplateCompiler] vue@${yr} 与 vue-template-compiler@${hr} 主次版本不一致:`+`编译产物取自实装的 ${hr},会喂给 ${yr} 的运行时,模板较复杂时可能出现编译异常。`+`如需消除告警: npm install vue-template-compiler@${yr}`)}const kr=`export * from 'vue-template-compiler';`;const Fr=Wr.join(lr,"__compiler_entry__.js");await zr.promises.mkdir(lr,{recursive:true});await zr.promises.writeFile(Fr,kr);const Br=Wr.join(lr,`__compiler_tmp__-${process.pid}-${++un}.js`);try{await(0,Jr.build)({entryPoints:[Fr],bundle:true,format:"iife",globalName:"VueTemplateCompiler",outfile:Br,platform:"browser",target:"es2015",absWorkingDir:sr,nodePaths:[Wr.join(sr,"node_modules")],external:[],sourcemap:false,minify:true})}catch(ir){await zr.promises.unlink(Fr).catch((()=>{}));await zr.promises.unlink(Br).catch((()=>{}));throw new Error(`esbuild 构建 vue-template-compiler 失败: ${ir.message}`)}await zr.promises.unlink(Fr).catch((()=>{}));const Ur=await zr.promises.readFile(Br,"utf-8");const Gr=Hr.digest.getStringHash(Ur).slice(0,8);const Yr=(0,cn.buildTemplateCompilerFileName)(hr,Gr);await zr.promises.rename(Br,Wr.join(lr,Yr));this.ctx.logger.info(`[buildTemplateCompiler] esbuild 构建完成: ${Yr}`);return{fileName:Yr}}async precompileModule(ir,sr,lr){const hr=await Hr.fileSys.readJsonFile(Wr.join(lr,"package.json"));if(!hr){this.ctx.logger.error("未找到 package.json 文件");return{entryNameToFile:{},chunkFiles:[]}}const{entryPoints:yr,entryKeyToDepName:kr,skippedDeps:Fr}=await(0,cn.buildEntryPoints)(sr,hr,lr);const{entryPoints:Br,mergedPackages:Ur}=(0,cn.mergeSubPathEntries)(yr);for(const[,sr]of Object.entries(Ur)){const lr=(0,cn.generateMergedWrapper)(sr.subExportMap);const hr=Wr.join(ir,`${sr.entryKey}.js`);Br[sr.entryKey]=hr;await zr.promises.mkdir(Wr.dirname(hr),{recursive:true});await zr.promises.writeFile(hr,lr)}await zr.promises.mkdir(ir,{recursive:true});const Gr={};const Qr={};for(const[ir,sr]of Object.entries(Br)){const hr=kr[ir]??ir;if(ir.startsWith("__merged__")||Hr.resolver.isModuleInstalled(hr,lr)){Gr[ir]=sr;const yr=await Hr.resolver.findOwningPackage(hr,lr);if(yr?.version)Qr[ir]=yr.version}else{Fr.push(hr)}}const Zr={};const un=Wr.join(ir,Yr.KEYS.META_FILE_NAME);const Tn=await Hr.fileSys.readJsonFile(un);const{filteredEntryPoints:jn,cachedMappings:ni}=(0,cn.filterCachedModules)(Gr,Tn,Qr);for(const[,sr]of Object.entries(Ur)){const lr=sr.entryKey;if(Tn?.[lr]){const hr=Tn[lr].file;for(const lr of sr.wrapperSubPaths){const yr=sr.subExportMap[lr];const kr=(0,cn.getSubWrapperFileName)(yr,hr);const Fr=Wr.join(ir,kr);if(!zr.existsSync(Fr)){await zr.promises.writeFile(Fr,(0,cn.generateSubWrapper)(yr,hr))}ni[lr]=kr}ni[lr]=hr}}Object.assign(Zr,ni);if(Object.keys(jn).length===0){const ir=this.resolveChunkFiles(Zr,Tn);const hr=this.restoreEntryNames(Zr,kr);this.warnMissingDeps(sr,hr,Fr,lr);return{entryNameToFile:hr,chunkFiles:ir}}const si={entryPoints:jn,bundle:true,format:"esm",splitting:true,minify:true,outdir:ir,entryNames:"[name]-[hash]",chunkNames:"chunk-[hash]",outExtension:{".js":".js"},loader:{".woff":"file",".woff2":"file",".ttf":"file",".eot":"file",".otf":"file",".svg":"file",".png":"dataurl",".jpg":"dataurl",".jpeg":"dataurl",".gif":"dataurl"},metafile:true,write:true,target:"esnext",sourcemap:false,external:["vue","react"],absWorkingDir:lr,nodePaths:[Wr.join(lr,"node_modules")]};const pi=await(0,Jr.build)(si);const{optimized:di,entryNameToFile:gi}=(0,cn.analyzeBuildOutputs)(pi,jn,ir,Qr);for(const[,sr]of Object.entries(Ur)){const lr=sr.entryKey;if(!(lr in jn))continue;const hr=gi[lr];if(!hr)continue;for(const lr of sr.wrapperSubPaths){const yr=sr.subExportMap[lr];const kr=(0,cn.getSubWrapperFileName)(yr,hr);const Fr=Wr.join(ir,kr);await zr.promises.writeFile(Fr,(0,cn.generateSubWrapper)(yr,hr));gi[lr]=kr}}const yi={...Tn,...di};await(0,cn.saveBuildMetadata)(un,yi);const Ti={...Zr,...gi};const Ei=this.resolveChunkFiles(Ti,yi);const Ci=this.restoreEntryNames(Ti,kr);this.warnMissingDeps(sr,Ci,Fr,lr);return{entryNameToFile:Ci,chunkFiles:Ei}}warnMissingDeps(ir,sr,lr,hr){const yr=ir.filter((ir=>!(ir in sr)));if(!yr.length)return;const kr=yr.filter((ir=>!lr.includes(ir)));const Fr=kr.length?`;其中 ${kr.join(", ")} 并非因「未安装」被过滤,需查入口构建 / 缓存 / esbuild 产出匹配环节`:";均因「未安装」被过滤";this.ctx.logger.warn(`[precompileModule] 请求了但未产出映射: ${yr.join(", ")}${Fr}(cwd=${hr})`)}restoreEntryNames(ir,sr){for(const[lr,hr]of Object.entries(ir)){const yr=sr[lr];if(yr&&yr!==lr){ir[yr]=hr;delete ir[lr]}}return ir}resolveChunkFiles(ir,sr){const lr=new Set(Object.values(ir));const hr=new Set;for(const[yr]of Object.entries(ir)){const ir=sr?.[yr]?.chunkFiles;if(!ir?.length)continue;for(const sr of ir){if(!lr.has(sr))hr.add(sr)}}return Array.from(hr)}};sr.DepsService=Tn;kr([(0,Ur.App)(),Br("design:type",Object)],Tn.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Object)],Tn.prototype,"ctx",void 0);kr([(0,Ur.Inject)(),Br("design:type",Qr.ConfigService)],Tn.prototype,"configService",void 0);sr.DepsService=Tn=kr([(0,Ur.Provide)()],Tn)},85984:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ModuleService=void 0;const Ur=lr(46123);const Wr=lr(63366);const zr=lr(23086);const Jr=Fr(lr(16928));const Hr=lr(87518);const Gr=Fr(lr(79896));const Yr=lr(26815);let Qr=class ModuleService{async getPreBuildModuleDir(){const{cwd:ir}=this.configService.comphubConfig();const sr=Jr.join(ir,Yr.KEYS.PREBUILD_MODULE_DIR);await Gr.promises.mkdir(sr,{recursive:true});return sr}async preBuild(ir){const sr=await this.getPreBuildModuleDir();const{cwd:lr}=this.configService.comphubConfig();return await this.depsService.precompileModule(sr,ir,lr)}async buildTemplateCompiler(ir){const sr=await this.getPreBuildModuleDir();const{cwd:lr}=this.configService.comphubConfig();return await this.depsService.buildTemplateCompiler(ir,lr,sr)}async preBuildSize(){const ir=await this.getPreBuildModuleDir();return await Hr.fileSys.dirSize(ir)}async clearPreBuild(){const ir=await this.getPreBuildModuleDir();await Gr.promises.rm(ir,{recursive:true,force:true})}};sr.ModuleService=Qr;kr([(0,Ur.Inject)(),Br("design:type",Wr.ConfigService)],Qr.prototype,"configService",void 0);kr([(0,Ur.Inject)(),Br("design:type",zr.DepsService)],Qr.prototype,"depsService",void 0);kr([(0,Ur.App)(),Br("design:type",Object)],Qr.prototype,"app",void 0);sr.ModuleService=Qr=kr([(0,Ur.Provide)()],Qr)},80799:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.OssService=void 0;const Wr=lr(46123);const zr=Ur(lr(54504));const Jr=Ur(lr(12593));const Hr=Ur(lr(18451));const Gr=Fr(lr(16928));const Yr=Fr(lr(79896));const Qr=lr(96955);const Zr=lr(4990);const cn=Ur(lr(23046));const un=lr(45853);const Tn=lr(26815);const jn=lr(68255);const ni=60*1e3;let si=class OssService{createOssClient(ir){const sr={endpoint:Tn.KEYS.OSS_CUSTOM_DOMAIN,authorizationV4:true,cname:true,...ir};return new Hr.default(sr)}getContentTypeWithCharset(ir){const sr=Gr.extname(ir).toLowerCase();const lr={".css":"text/css; charset=utf-8",".js":"application/javascript; charset=utf-8",".mjs":"application/javascript; charset=utf-8",".cjs":"application/javascript; charset=utf-8",".ts":"text/typescript; charset=utf-8",".tsx":"text/typescript; charset=utf-8",".jsx":"text/javascript; charset=utf-8",".json":"application/json; charset=utf-8",".html":"text/html; charset=utf-8",".htm":"text/html; charset=utf-8",".vue":"text/plain; charset=utf-8",".md":"text/markdown; charset=utf-8",".svg":"image/svg+xml; charset=utf-8",".xml":"application/xml; charset=utf-8",".scss":"text/css; charset=utf-8",".sass":"text/css; charset=utf-8",".less":"text/css; charset=utf-8"};return lr[sr]}createOssFormData(ir,sr,lr=false){const hr=new zr.default;const yr=ir.dir+ir.key;hr.append("success_action_status","200");hr.append("policy",ir.policy);hr.append("x-oss-signature",ir.signature);hr.append("x-oss-signature-version",ir.x_oss_signature_version);hr.append("x-oss-credential",ir.x_oss_credential);hr.append("x-oss-date",ir.x_oss_date);hr.append("key",yr);hr.append("x-oss-security-token",ir.security_token);hr.append("x-oss-forbid-overwrite",lr?"false":"true");hr.append("Cache-Control","public, max-age=31536000");const kr={};const Fr=sr.path?.toString();if(Fr){const ir=this.getContentTypeWithCharset(Fr);if(ir){kr.contentType=ir}}hr.append("file",sr,kr);return{host:ir.host,filePath:yr,formData:hr}}async getDownloadSts(){const ir=await this.cache.get(Tn.KEYS.CACHE_KEY_STS_TOKEN);if(ir){return ir}const sr=await Zr.remoteApi.v1Oss.osscontrollerGetsts();const lr=new Date(sr.data.Expiration).getTime()-1*60*1e3;const hr=lr-Date.now();this.ctx.logger.debug("STS过期时间",(0,cn.default)(lr).format("YYYY-MM-DD HH:mm:ss"));this.cache.set(Tn.KEYS.CACHE_KEY_STS_TOKEN,sr.data,hr);return sr.data}async uploadFileToOss(ir,sr,lr=false){const{host:hr,formData:yr}=this.createOssFormData(ir,sr,lr);const kr=await Jr.default.post(hr,yr,{timeout:ni,headers:{...yr.getHeaders()}}).catch((async ir=>{const sr=ir?.response?.data;if(sr){const ir=await(0,un.parseStringPromise)(sr).catch((()=>null));if(ir?.Error){throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[ir.Error.Message]}))}}throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[ir?.message||ir]}))}));if(kr.status!==200){throw new Wr.httpError.BadRequestError(this.i18nService.translate("local.oss.errors.requestFailed",{args:[kr.data]}))}}async downloadFileToPath(ir,sr,lr){const hr=this.createOssClient({region:ir.region,accessKeyId:ir.AccessKeyId,accessKeySecret:ir.AccessKeySecret,stsToken:ir.SecurityToken,bucket:ir.bucket,refreshSTSToken:async()=>{const ir=await this.getDownloadSts();return{accessKeyId:ir.AccessKeyId,accessKeySecret:ir.AccessKeySecret,stsToken:ir.SecurityToken}}});const yr=sr.map((async ir=>{const{path:sr}=ir;const yr=Gr.join(lr,sr);const kr=Gr.dirname(yr);if(!Yr.existsSync(kr)){Yr.mkdirSync(kr,{recursive:true})}return await hr.get(sr,yr)}));return await Promise.all(yr)}};sr.OssService=si;kr([(0,Wr.Inject)(),Br("design:type",Object)],si.prototype,"ctx",void 0);kr([(0,Wr.InjectClient)(Qr.CachingFactory,"default"),Br("design:type",Object)],si.prototype,"cache",void 0);kr([(0,Wr.Inject)(),Br("design:type",jn.MidwayI18nService)],si.prototype,"i18nService",void 0);sr.OssService=si=kr([(0,Wr.Provide)()],si)},61275:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.QueueService=void 0;const yr=lr(46123);let kr=class QueueService{constructor(){this.queue=[];this.isProcessing=false}async processQueue(){if(this.isProcessing||this.queue.length===0){return}this.isProcessing=true;const ir=this.queue.shift();if(ir){await ir()}this.isProcessing=false;this.processQueue()}async enqueue(ir){return new Promise((sr=>{this.queue.push((async()=>{try{await ir()}finally{sr()}}));this.processQueue()}))}};sr.QueueService=kr;sr.QueueService=kr=hr([(0,yr.Provide)(),(0,yr.Scope)(yr.ScopeEnum.Singleton)],kr)},19452:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var Ur=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.TerminalService=void 0;const Wr=lr(46123);const zr=lr(35317);const Jr=lr(63366);const Hr=Fr(lr(1999));const Gr=lr(73024);const Yr=lr(51455);const Qr=lr(87518);const Zr=Ur(lr(44644));let cn=class TerminalService{constructor(){this.subprocess=null;this.cwd="";this.tabIndex=0}getPrompt(){return`${this.cwd}`}smartDecode(ir){if(!ir||ir.length===0)return"";try{new TextDecoder("utf-8",{fatal:true}).decode(ir);return Hr.decode(ir,"utf-8")}catch{return Hr.decode(ir,"gbk")}}async folderExists(ir){try{await(0,Yr.access)(ir,Gr.constants.F_OK|Gr.constants.R_OK);return true}catch{return false}}async shutdown(ir=5e3){const sr=this.subprocess;if(!sr||sr.killed){this.ctx.emit("output",{cwd:this.getPrompt()});return}return new Promise((lr=>{let hr=false;const done=()=>{if(!hr){hr=true;lr(0)}};sr.once("exit",done);(0,Zr.default)(sr.pid,"SIGTERM",(ir=>{if(ir){this.ctx.emit("output",{err:ir.message})}}));const yr=setTimeout((()=>{(0,Zr.default)(sr.pid,"SIGKILL",(ir=>{if(ir){this.ctx.emit("output",{err:ir.message})}done()}))}),ir);sr.once("exit",(()=>clearTimeout(yr)))}))}async execCmd({cwd:ir,oldCwd:sr,command:lr}){if(!await this.folderExists(ir)){this.ctx.emit("output",{err:`${ir} 路径不存在`});this.ctx.emit("output",{cwd:sr});return}this.cwd=ir;if(!lr.trim()){this.ctx.emit("output",{cwd:this.getPrompt()});return}if(lr==="^C"){await this.shutdown();return}this.subprocess=(0,zr.spawn)(lr,{shell:true,cwd:ir,stdio:["pipe","pipe","pipe"],detached:false,env:{...process.env,FORCE_COLOR:"3",NPM_CONFIG_COLOR:"always",COLORTERM:"truecolor",TERM:"xterm-256color"}});this.subprocess.stdout?.on("data",(ir=>{this.ctx.emit("output",{stdout:this.smartDecode(ir)})}));this.subprocess.stderr?.on("data",(ir=>{this.ctx.emit("output",{stderr:this.smartDecode(ir)})}));this.subprocess.on("close",(()=>{this.subprocess=null;this.ctx.emit("output",{cwd:this.getPrompt(),command:lr})}));this.subprocess.on("error",(ir=>{this.ctx.emit("output",{err:ir.message})}))}async cmdTab({cwd:ir,lastWord:sr}){let lr=await Qr.fileSys.readDirFiles(ir);if(sr){lr=lr.filter((ir=>ir.name.startsWith(sr)))}if(lr.length===0){return}this.tabIndex=(this.tabIndex+1)%lr.length;const hr=lr[this.tabIndex];this.ctx.emit("output",{tab:hr.name})}};sr.TerminalService=cn;kr([(0,Wr.Inject)(),Br("design:type",Jr.ConfigService)],cn.prototype,"configService",void 0);kr([(0,Wr.Inject)(),Br("design:type",Object)],cn.prototype,"ctx",void 0);sr.TerminalService=cn=kr([(0,Wr.Provide)()],cn)},5808:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var Fr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();var Br=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.VuefinderService=void 0;const Ur=lr(46123);const Wr=Fr(lr(16928));const zr=Fr(lr(79896));const Jr=lr(63366);const Hr=Fr(lr(93900));const Gr=lr(26815);let Yr=class VuefinderService{async list({path:ir}){const sr=this.configService.comphubConfig();const{srcPath:lr}=sr;const hr=ir?.replace(Gr.KEYS.FILE_MANAGER_DIRNAME,"")||"";let yr=Wr.join(lr,hr);const kr=await zr.promises.access(yr).then((()=>true)).catch((()=>false));if(!kr){yr=lr;ir=Gr.KEYS.FILE_MANAGER_DIRNAME}const Fr=await zr.promises.readdir(yr);const Br=Fr.map((async sr=>{const lr=Wr.join(yr,sr);const hr=await zr.promises.stat(lr);const kr=hr.isDirectory();const Fr=ir===Gr.KEYS.FILE_MANAGER_DIRNAME?`${ir}${sr}`:`${ir}/${sr}`;return{type:kr?"dir":"file",path:Fr,file_size:hr.size,visibility:"public",last_modified:Math.floor(hr.mtimeMs/1e3),basename:sr,extension:kr?"":Wr.extname(sr).slice(1),mime_type:Hr.lookup(sr)||""}}));const Ur=await Promise.all(Br);Ur.sort(((ir,sr)=>{if(ir.type==="dir"&&sr.type==="file"){return-1}else if(ir.type==="file"&&sr.type==="dir"){return 1}else{return 0}}));return{storages:Fr,dirname:ir,files:Ur}}};sr.VuefinderService=Yr;kr([(0,Ur.App)(),Br("design:type",Object)],Yr.prototype,"app",void 0);kr([(0,Ur.Inject)(),Br("design:type",Jr.ConfigService)],Yr.prototype,"configService",void 0);sr.VuefinderService=Yr=kr([(0,Ur.Provide)()],Yr)},66593:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.TerminalSocketController=void 0;const kr=lr(46123);const Fr=lr(19452);let Br=class TerminalSocketController{async onConnection(){this.ctx.logger.debug(`新客户端连接:${this.ctx.id}`)}async onDisConnection(){this.ctx.logger.debug(`客户端断开连接:${this.ctx.id}`);await this.terminalService.shutdown()}async onCommand(ir){this.terminalService.execCmd(ir)}async onTab(ir){this.terminalService.cmdTab(ir)}};sr.TerminalSocketController=Br;hr([(0,kr.Inject)(),yr("design:type",Object)],Br.prototype,"ctx",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.TerminalService)],Br.prototype,"terminalService",void 0);hr([(0,kr.OnWSConnection)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"onConnection",null);hr([(0,kr.OnWSDisConnection)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"onDisConnection",null);hr([(0,kr.OnWSMessage)("command"),yr("design:type",Function),yr("design:paramtypes",[Object]),yr("design:returntype",Promise)],Br.prototype,"onCommand",null);hr([(0,kr.OnWSMessage)("tab"),yr("design:type",Function),yr("design:paramtypes",[Object]),yr("design:returntype",Promise)],Br.prototype,"onTab",null);sr.TerminalSocketController=Br=hr([(0,kr.WSController)("/terminal")],Br)},58953:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__setModuleDefault||(Object.create?function(ir,sr){Object.defineProperty(ir,"default",{enumerable:true,value:sr})}:function(ir,sr){ir["default"]=sr});var kr=this&&this.__importStar||function(){var ownKeys=function(ir){ownKeys=Object.getOwnPropertyNames||function(ir){var sr=[];for(var lr in ir)if(Object.prototype.hasOwnProperty.call(ir,lr))sr[sr.length]=lr;return sr};return ownKeys(ir)};return function(ir){if(ir&&ir.__esModule)return ir;var sr={};if(ir!=null)for(var lr=ownKeys(ir),kr=0;kr<lr.length;kr++)if(lr[kr]!=="default")hr(sr,ir,lr[kr]);yr(sr,ir);return sr}}();Object.defineProperty(sr,"__esModule",{value:true});sr.PRECOMPILE_BUILD_VERSION=void 0;sr.analyzeBuildOutputs=analyzeBuildOutputs;sr.saveBuildMetadata=saveBuildMetadata;sr.filterCachedModules=filterCachedModules;sr.toSafeEntryKey=toSafeEntryKey;sr.buildEntryPoints=buildEntryPoints;sr.mergeSubPathEntries=mergeSubPathEntries;sr.generateMergedWrapper=generateMergedWrapper;sr.generateSubWrapper=generateSubWrapper;sr.getSubWrapperFileName=getSubWrapperFileName;sr.isTemplateCompilerVersionMatched=isTemplateCompilerVersionMatched;sr.buildTemplateCompilerFileName=buildTemplateCompilerFileName;const Fr=kr(lr(16928));const Br=kr(lr(79896));const Ur=lr(87518);const Wr=lr(18801);const zr=lr(26815);sr.PRECOMPILE_BUILD_VERSION=1;function resolveModuleEntry(ir,sr){if(ir!=="vue")return ir;const lr=Wr.versionKit.getMajorVersion(sr);return lr==="3"?zr.KEYS.VUE_ESM_BUNDLER:ir}function extractModuleName(ir){const sr=Fr.extname(ir);const lr=Fr.basename(ir,sr);return lr.replace(/-[A-Za-z0-9_-]{8}$/,"")}function matchEntryKey(ir,sr){return ir.find((ir=>{const lr=ir.split("/");const hr=lr[lr.length-1];return sr===hr}))}function analyzeBuildOutputs(ir,lr,hr,yr={}){const kr={};const Wr={};const zr=Object.keys(lr);const Jr=ir.metafile?.outputs??{};const Hr=new Set(Object.keys(Jr).map((ir=>Fr.basename(ir))));for(const[ir,lr]of Object.entries(Jr)){const Jr=Fr.basename(ir);if(!lr.entryPoint)continue;const Gr=extractModuleName(ir);const Yr=matchEntryKey(zr,Gr);if(!Yr)continue;Wr[Yr]=Jr;const Qr=Fr.join(hr,Jr);const Zr=Br.readFileSync(Qr,"utf-8");const cn=Ur.digest.getStringHash(Zr).slice(0,8);kr[Yr]={src:lr.entryPoint,file:Jr,fileHash:cn,needsInterop:false,version:yr[Yr],buildVersion:sr.PRECOMPILE_BUILD_VERSION,chunkFiles:(lr.imports??[]).map((ir=>Fr.basename(ir.path))).filter((ir=>ir&&Hr.has(ir)&&ir!==Jr))}}return{optimized:kr,entryNameToFile:Wr}}async function saveBuildMetadata(ir,sr){await Br.promises.writeFile(ir,JSON.stringify(sr,null,2))}function isCacheEntryValid(ir,lr){return!!ir.version&&ir.version===lr&&ir.buildVersion===sr.PRECOMPILE_BUILD_VERSION}function filterCachedModules(ir,sr,lr={}){if(!sr){return{filteredEntryPoints:ir,cachedMappings:{}}}const hr={};const yr={};for(const[kr,Fr]of Object.entries(ir)){const ir=sr[kr];if(ir&&isCacheEntryValid(ir,lr[kr])){yr[kr]=ir.file}else{hr[kr]=Fr}}return{filteredEntryPoints:hr,cachedMappings:yr}}function toSafeEntryKey(ir){if(ir.startsWith("@")){const sr=ir.split("/");if(sr.length===2&&!Fr.extname(sr[1])){return`__${sr[0].slice(1)}_${sr[1]}`}}if(ir.includes("/")){return ir.replace(/\//g,"_")}return ir}async function buildEntryPoints(ir,sr,lr){const hr={};const yr={};const kr=[];for(const Fr of ir){const ir=Ur.resolver.findDependencyVersion(sr,Fr);if(!ir){const ir=await Ur.resolver.findOwningPackage(Fr,lr);if(!ir){kr.push(Fr);continue}}const Br=toSafeEntryKey(Fr);hr[Br]=resolveModuleEntry(Fr,ir);yr[Br]=Fr}return{entryPoints:hr,entryKeyToDepName:yr,skippedDeps:kr}}function extractPackageName(ir){if(ir.startsWith("@")){const sr=ir.split("/");return sr.slice(0,2).join("/")}return ir.split("/")[0]}function toSafeIdentifier(ir){return ir.replace(/\.js$/,"").replace(/[./]/g,"_")}function mergeSubPathEntries(ir){const sr={};const lr={};for(const[hr,yr]of Object.entries(ir)){const ir=extractPackageName(hr);if(hr!==ir){const kr=!/\.(js|ts|jsx|tsx|mjs|cjs)$/.test(hr);if(kr){lr[hr]=yr;continue}if(!sr[ir])sr[ir]={};sr[ir][hr]=yr}else{lr[hr]=yr}}const hr={};for(const[ir,yr]of Object.entries(sr)){const sr=Object.keys(yr);if(sr.length<=1){Object.assign(lr,yr);continue}const kr=Ur.digest.getStringHash(sr.slice().sort().join("|")).slice(0,8);const Fr=`__merged__${ir}-${kr}`;const Br={};const Wr=[];for(const ir of Object.keys(yr)){const sr=toSafeIdentifier(ir);Br[ir]=sr;Wr.push(ir)}lr[Fr]=Fr;hr[ir]={entryKey:Fr,subExportMap:Br,wrapperSubPaths:Wr}}return{entryPoints:lr,mergedPackages:hr}}function generateMergedWrapper(ir){const sr=[];const lr=[];const hr=[];const yr=new Set;for(const[kr,Fr]of Object.entries(ir)){if(yr.has(Fr))continue;yr.add(Fr);const ir=`__imp_${Fr}`;sr.push(`import * as ${ir} from '${kr}';`);lr.push(`export const ${Fr} = ${ir}.default || Object.assign({}, ${ir});`);hr.push(`export * from '${kr}';`)}return["// Auto-generated by comp-hub: merged entry for esbuild",...sr,...lr,...hr,""].join("\n")}function generateSubWrapper(ir,sr){return[`// Auto-generated: sub-wrapper for ${ir}`,`export { ${ir} as default } from './${sr}';`,`export * from './${sr}';`,""].join("\n")}function getSubWrapperFileName(ir,sr){const lr=Fr.basename(sr,Fr.extname(sr));return`${ir}-w-${lr}.js`}function isTemplateCompilerVersionMatched(ir,sr){const parse=ir=>{try{return Wr.versionKit.parseVersion(ir)}catch{return null}};const lr=parse(ir);const hr=parse(sr);if(!lr||!hr)return false;return lr.major===hr.major&&lr.minor===hr.minor}function buildTemplateCompilerFileName(ir,sr){return`vue2-template-compiler-${ir.replace(/\./g,"_")}-${sr}.js`}},49969:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getErrorMessage=getErrorMessage;function getErrorMessage(ir){if(ir instanceof Error)return ir.message;if(typeof ir==="string")return ir;return String(ir)}},52639:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.detectFrameworkFromSources=detectFrameworkFromSources;sr.getFrameworkEntryFiles=getFrameworkEntryFiles;sr.findUnresolvedBareSpecifiers=findUnresolvedBareSpecifiers;const hr=lr(48636);const yr=lr(26815);const kr=[/customElements\s*\.\s*define\s*\(/,/extends\s+HTMLElement\b/];function detectFrameworkFromSources(ir){const sr=ir.map((ir=>ir.relativePath.split("/").pop()??""));if(sr.includes(yr.KEYS.COMP_USE_ENTRY_FILE)){return yr.KEYS.COMP_FRAMEWORK_VUE}if(sr.some((ir=>ir==="index.jsx"||ir==="index.tsx"))){return yr.KEYS.COMP_FRAMEWORK_REACT}if(ir.some((ir=>kr.some((sr=>sr.test(ir.content)))))){return yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT}if(sr.includes(yr.KEYS.COMP_USE_ENTRY_FILE_WEB_COMPONENT)){return yr.KEYS.COMP_FRAMEWORK_REACT}return""}const Fr={[yr.KEYS.COMP_FRAMEWORK_VUE]:[yr.KEYS.COMP_USE_ENTRY_FILE],[yr.KEYS.COMP_FRAMEWORK_REACT]:[...yr.KEYS.COMP_USE_ENTRY_FILE_REACT],[yr.KEYS.COMP_FRAMEWORK_WEB_COMPONENT]:[yr.KEYS.COMP_USE_ENTRY_FILE_WEB_COMPONENT]};function getFrameworkEntryFiles(ir){return ir?Fr[ir]:undefined}function findUnresolvedBareSpecifiers(ir,sr){const lr=new Set(sr.map(toTopLevelPackageName));const hr=[];const yr=new Set;for(const sr of ir){let ir;try{ir=collectModuleSpecifiers(sr.content)}catch{continue}for(const sr of ir){if(sr.startsWith(".")||sr.startsWith("/"))continue;const ir=toTopLevelPackageName(sr);if(lr.has(ir)||yr.has(ir))continue;yr.add(ir);hr.push(ir)}}return hr}function toTopLevelPackageName(ir){return ir.startsWith("@")?ir.split("/").slice(0,2).join("/"):ir.split("/")[0]}function collectModuleSpecifiers(ir){const sr=(0,hr.parse)(ir,{sourceType:"module",createImportExpressions:true,plugins:["dynamicImport","jsx","typescript"]});const lr=[];const walk=ir=>{if(!ir||typeof ir!=="object")return;if((ir.type==="ImportDeclaration"||ir.type==="ExportAllDeclaration"||ir.type==="ImportExpression"||ir.type==="ExportNamedDeclaration"&&ir.source)&&typeof ir.source?.value==="string"){lr.push(ir.source.value)}for(const sr of Object.keys(ir)){if(sr==="loc"||sr==="start"||sr==="end")continue;const lr=ir[sr];if(Array.isArray(lr))lr.forEach(walk);else if(lr&&typeof lr==="object"&&typeof lr.type==="string")walk(lr)}};walk(sr.program);return lr}},4145:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.waitForIpcConfig=waitForIpcConfig;const yr=hr(lr(16928));const kr=lr(26815);function parseCwdArg(ir){for(let sr=0;sr<ir.length;sr++){if(ir[sr]==="--cwd"&&sr+1<ir.length){return ir[sr+1]}if(ir[sr].startsWith("--cwd=")){return ir[sr].replace("--cwd=","")}}return undefined}function waitForIpcConfig(){const ir=parseCwdArg(process.argv);if(ir){return Promise.resolve({type:"config",port:0,cwd:yr.default.resolve(ir),allowDebug:process.env.MIDWAY_SERVER_ENV===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL})}if(process.send){return new Promise(((ir,sr)=>{const lr=setTimeout((()=>{sr(new Error("No IPC config received within 10s. MidwayJS must be started by master via fork."))}),1e4);process.once("message",(sr=>{if(sr?.type==="config"){clearTimeout(lr);ir(sr)}}))}))}return Promise.resolve({type:"config",port:0,cwd:process.cwd(),allowDebug:process.env.MIDWAY_SERVER_ENV===kr.KEYS.LOCAL_MIDWAY_ENV_LOCAL})}},5052:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.splitReusableDeps=splitReusableDeps;sr.resolveCompilerBuild=resolveCompilerBuild;const hr=lr(18801);function splitReusableDeps(ir,sr=[],lr={}){const yr=new Map(sr.map((ir=>[ir.name,ir.version])));const kr={};const Fr=[];for(const sr of ir){const ir=lr[sr.name];const Br=yr.get(sr.name);if(ir&&Br&&hr.versionKit.isVersionEqual(sr.version,Br)){kr[sr.name]=ir}else{Fr.push(sr.name)}}return{reused:kr,localNames:Fr}}function resolveCompilerBuild(ir){const sr=ir.find((ir=>ir.name==="vue"))?.version;if(!sr)return{action:"skip",reason:"no-vue"};try{return hr.versionKit.getMajorVersion(sr)==="2"?{action:"build",vueVersion:sr}:{action:"skip",reason:"not-vue2"}}catch{return{action:"skip",reason:"unparsable",raw:sr}}}},10778:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.remoteInstance=sr.setHeader=void 0;const yr=lr(42552);const kr=lr(26815);const Fr=hr(lr(65692));const Br=(0,yr.initInstance)(kr.KEYS.REMOTE_SERVICE_PREFIX,{timeout:1e4,httpsAgent:new Fr.default.Agent({rejectUnauthorized:false})},(ir=>ir.replace(kr.KEYS.REMOTE_SERVICE_PREFIX,"")));sr.remoteInstance=Br;let Ur=null;const setHeader=ir=>{Ur=ir};sr.setHeader=setHeader;Br.interceptors.request.use((ir=>{ir.headers[kr.KEYS.AUTHORIZATION_HEADER_NAME]=Ur[kr.KEYS.AUTHORIZATION_HEADER_NAME];ir.headers[kr.KEYS.ACCEPT_LANGUAGE_HEADER_NAME]=Ur[kr.KEYS.ACCEPT_LANGUAGE_HEADER_NAME.toLowerCase()];ir.headers["cookie"]=Ur.cookie;return ir}),(ir=>Promise.reject(ir)));Br.interceptors.response.use((async ir=>{if(ir.data.code!==0){throw new Error(JSON.stringify(ir.data))}return ir.data}),(ir=>Promise.reject(ir)))},67872:function(ir,sr,lr){"use strict";var hr=this&&this.__importDefault||function(ir){return ir&&ir.__esModule?ir:{default:ir}};Object.defineProperty(sr,"__esModule",{value:true});sr.createKoaProxy=createKoaProxy;const yr=hr(lr(58611));const kr=lr(31855);const Fr=new yr.default.Agent({keepAlive:true,keepAliveMsecs:3e4,maxSockets:50,maxFreeSockets:10});const Br=new Map;function getOrCreateSubProxy(ir,sr){const lr=`${ir}|${JSON.stringify(sr)}`;if(!Br.has(lr)){Br.set(lr,(0,kr.createProxyMiddleware)({target:ir,changeOrigin:true,secure:false,agent:Fr,pathRewrite:sr,on:{error:ir=>{}}}))}return Br.get(lr)}async function createKoaProxy(ir,sr,lr){const hr=getOrCreateSubProxy(sr,lr);return new Promise(((sr,lr)=>{ir.res.on("finish",sr);ir.res.on("close",sr);ir.res.on("error",lr);hr(ir.req,ir.res,(ir=>{if(ir)lr(ir);else sr()}))}))}},101:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.PackageJsonVO=sr.LocalCompDetailVO=sr.LocalCompsVO=sr.CompFileHashVO=sr.CompSimilarListVO=sr.DownloadCompVO=sr.LocalCompsByIdsVO=sr.ImportScanResultVO=sr.CompCheckVO=sr.CompFileContentVO=sr.CompFileVO=sr.CompSimilarListItemVO=sr.FileNode=void 0;const kr=lr(49179);const Fr=lr(26815);class FileNode{}sr.FileNode=FileNode;hr([(0,kr.ApiProperty)({description:"目录/文件名称",example:"index.vue",required:true}),yr("design:type",String)],FileNode.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"目录/文件路径",example:"/src/components/MyComp/index.vue",required:true}),yr("design:type",String)],FileNode.prototype,"path",void 0);hr([(0,kr.ApiProperty)({description:"目录/文件类型",example:"file",required:true,enum:Fr.ENUM.FileType}),yr("design:type",String)],FileNode.prototype,"type",void 0);hr([(0,kr.ApiProperty)({description:"子节点",type:[FileNode]}),yr("design:type",Array)],FileNode.prototype,"children",void 0);class CompSimilarListItemVO{}sr.CompSimilarListItemVO=CompSimilarListItemVO;hr([(0,kr.ApiProperty)({example:"60d21b4667d0d8992e610c85",description:"组件主键ID(自动生成)",required:true}),yr("design:type",String)],CompSimilarListItemVO.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({example:"组件名称",description:"组件名称",required:true}),yr("design:type",String)],CompSimilarListItemVO.prototype,"name",void 0);class CompFileVO{}sr.CompFileVO=CompFileVO;hr([(0,kr.ApiProperty)({type:FileNode,description:"组件文件树",required:true}),yr("design:type",FileNode)],CompFileVO.prototype,"tree",void 0);hr([(0,kr.ApiProperty)({type:[String],description:"组件文件列表",required:true}),yr("design:type",Array)],CompFileVO.prototype,"files",void 0);class CompFileContentVO{}sr.CompFileContentVO=CompFileContentVO;hr([(0,kr.ApiProperty)({description:"组件文件内容",example:"let a=123;",required:true}),yr("design:type",String)],CompFileContentVO.prototype,"content",void 0);class CompCheckVO{}sr.CompCheckVO=CompCheckVO;hr([(0,kr.ApiProperty)({description:"组件入口文件路径",required:false}),yr("design:type",String)],CompCheckVO.prototype,"entryIndexPath",void 0);hr([(0,kr.ApiProperty)({description:"组件配置文件路径",required:false}),yr("design:type",String)],CompCheckVO.prototype,"compJsonPath",void 0);hr([(0,kr.ApiProperty)({description:"异常结果内容",required:true}),yr("design:type",String)],CompCheckVO.prototype,"errorMsg",void 0);class ParentVO{}hr([(0,kr.ApiProperty)({description:"父库名称",required:true,example:"vue"}),yr("design:type",String)],ParentVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"父库版本",required:true,example:"^2.10.5"}),yr("design:type",String)],ParentVO.prototype,"version",void 0);class ImportDetailVO{}hr([(0,kr.ApiProperty)({description:"库名称",required:true,example:"element-plus"}),yr("design:type",String)],ImportDetailVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({description:"库版本(仅第三方库存在)",required:true,example:"^2.10.5"}),yr("design:type",String)],ImportDetailVO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:ParentVO,description:"父库(仅第三方库存在),在子包导入的时候,需要指定父库,比如 ol/Map.js 就需要指定父库 ol",required:false}),yr("design:type",ParentVO)],ImportDetailVO.prototype,"parent",void 0);class ImportScanResultVO{}sr.ImportScanResultVO=ImportScanResultVO;hr([(0,kr.ApiProperty)({type:[ImportDetailVO],required:true,description:"第三方库导入详情"}),yr("design:type",Array)],ImportScanResultVO.prototype,"thirdParty",void 0);hr([(0,kr.ApiProperty)({description:"探测出的组件框架类型(vue / react / webcomponent)",required:true,example:"vue"}),yr("design:type",String)],ImportScanResultVO.prototype,"framework",void 0);class CompInfoVO{}hr([(0,kr.ApiProperty)({example:"60d21b4667d0d8992e610c85",description:"组件主键ID(自动生成)",required:true}),yr("design:type",String)],CompInfoVO.prototype,"id",void 0);hr([(0,kr.ApiProperty)({description:"组件文件路径",example:"local:///MyComp/index.vue",required:true}),yr("design:type",String)],CompInfoVO.prototype,"path",void 0);hr([(0,kr.ApiProperty)({description:"组件文件名称",example:"base-table",required:true}),yr("design:type",String)],CompInfoVO.prototype,"basename",void 0);hr([(0,kr.ApiProperty)({description:"组件文件完整路径",example:"/src/components/MyComp/index.vue",required:true}),yr("design:type",String)],CompInfoVO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({description:"组件文件完整路径哈希值",example:"123",required:true}),yr("design:type",String)],CompInfoVO.prototype,"fullPathHash",void 0);class LocalCompsByIdsVO{}sr.LocalCompsByIdsVO=LocalCompsByIdsVO;hr([(0,kr.ApiProperty)({type:[CompInfoVO],required:true}),yr("design:type",Array)],LocalCompsByIdsVO.prototype,"compInfos",void 0);class DownloadCompVO{}sr.DownloadCompVO=DownloadCompVO;hr([(0,kr.ApiProperty)({description:"组件是否重复",example:true,required:true}),yr("design:type",Boolean)],DownloadCompVO.prototype,"isRepeat",void 0);class CompSimilarListVO{}sr.CompSimilarListVO=CompSimilarListVO;hr([(0,kr.ApiProperty)({type:[CompSimilarListItemVO],description:"相似组件列表",required:true}),yr("design:type",Array)],CompSimilarListVO.prototype,"similarList",void 0);class CompFileHashVO{}sr.CompFileHashVO=CompFileHashVO;hr([(0,kr.ApiProperty)({example:"123",description:"组件哈希值",required:true}),yr("design:type",String)],CompFileHashVO.prototype,"compHash",void 0);class PreviewItem{}hr([(0,kr.ApiProperty)({type:String,example:"656f78a9b0c7e8d2e1f3a4b5",description:"预览配置项主键ID(自动生成)",required:false}),yr("design:type",String)],PreviewItem.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址",required:true}),yr("design:type",Array)],PreviewItem.prototype,"miniPath",void 0);hr([(0,kr.ApiProperty)({type:[String],example:["/index1.vue"],description:"组件预览入口地址(全屏窗口)",required:false}),yr("design:type",Array)],PreviewItem.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({example:"我是一个预览入口",description:"预览入口描述",required:false}),yr("design:type",String)],PreviewItem.prototype,"desc",void 0);class LocalCompsVO{}sr.LocalCompsVO=LocalCompsVO;hr([(0,kr.ApiProperty)({type:String,example:"656f78a9b0c7e8d2e1f3a4b5",description:"内容id,这里用路径哈希值",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"_id",void 0);hr([(0,kr.ApiProperty)({type:String,example:"qin-table",description:"组件名称",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"name",void 0);hr([(0,kr.ApiProperty)({type:String,example:"123456",description:"组件ID",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"compId",void 0);hr([(0,kr.ApiProperty)({type:String,example:"1.0.0",description:"组件版本",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"version",void 0);hr([(0,kr.ApiProperty)({type:[PreviewItem],required:true}),yr("design:type",Array)],LocalCompsVO.prototype,"previewConfigs",void 0);hr([(0,kr.ApiProperty)({type:String,example:"local://components/QinTable",description:"组件文件路径",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"path",void 0);hr([(0,kr.ApiProperty)({type:String,example:"D:/src/components/QinTable/index.vue",description:"组件文件完整路径",required:true}),yr("design:type",String)],LocalCompsVO.prototype,"fullPath",void 0);hr([(0,kr.ApiProperty)({type:String,example:"#f0f0f0",description:"组件背景颜色",required:false}),yr("design:type",String)],LocalCompsVO.prototype,"bgColor",void 0);class LocalCompDetailVO extends LocalCompsVO{}sr.LocalCompDetailVO=LocalCompDetailVO;class PackageJsonVO{}sr.PackageJsonVO=PackageJsonVO;hr([(0,kr.ApiProperty)({type:Object,description:"组件package.json文件内容",required:true}),yr("design:type",Object)],PackageJsonVO.prototype,"packageJson",void 0)},71692:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BuildTemplateCompilerVO=sr.PreBuildSizeVO=sr.PreBuildVO=void 0;const kr=lr(49179);class PreBuildVO{}sr.PreBuildVO=PreBuildVO;hr([(0,kr.ApiProperty)({description:"预构建模块对应文件",required:true,example:{vue:"vue-hash.js"}}),yr("design:type",Object)],PreBuildVO.prototype,"entryNameToFile",void 0);hr([(0,kr.ApiProperty)({description:"esbuild code-splitting 生成的公共 chunk 文件列表,上传 OSS 时需要一并上传",required:false,example:["chunk-26KRECMG.js","chunk-3AE7QCN7.js"]}),yr("design:type",Array)],PreBuildVO.prototype,"chunkFiles",void 0);class PreBuildSizeVO{}sr.PreBuildSizeVO=PreBuildSizeVO;hr([(0,kr.ApiProperty)({description:"预构建模块文件总大小",required:true,example:1024}),yr("design:type",Number)],PreBuildSizeVO.prototype,"size",void 0);class BuildTemplateCompilerVO{}sr.BuildTemplateCompilerVO=BuildTemplateCompilerVO;hr([(0,kr.ApiProperty)({description:"vue-template-compiler 浏览器 bundle 文件名(实装版本-内容 hash),通过 /_module_load_prefix_/ 前缀加载",required:true,example:"vue2-template-compiler-2_7_16-a1b2c3d4.js"}),yr("design:type",String)],BuildTemplateCompilerVO.prototype,"fileName",void 0)},15798:(ir,sr)=>{"use strict";const lr={suspectRx:/"(?:_|\\u005[Ff])(?:_|\\u005[Ff])(?:p|\\u0070)(?:r|\\u0072)(?:o|\\u006[Ff])(?:t|\\u0074)(?:o|\\u006[Ff])(?:_|\\u005[Ff])(?:_|\\u005[Ff])"\s*\:/};sr.parse=function(ir,...hr){const yr=typeof hr[0]==="object"&&hr[0];const kr=hr.length>1||!yr?hr[0]:undefined;const Fr=hr.length>1&&hr[1]||yr||{};const Br=JSON.parse(ir,kr);if(Fr.protoAction==="ignore"){return Br}if(!Br||typeof Br!=="object"){return Br}if(!ir.match(lr.suspectRx)){return Br}sr.scan(Br,Fr);return Br};sr.scan=function(ir,sr={}){let lr=[ir];while(lr.length){const ir=lr;lr=[];for(const hr of ir){if(Object.prototype.hasOwnProperty.call(hr,"__proto__")){if(sr.protoAction!=="remove"){throw new SyntaxError("Object contains forbidden prototype property")}delete hr.__proto__}for(const ir in hr){const sr=hr[ir];if(sr&&typeof sr==="object"){lr.push(hr[ir])}}}}};sr.safeParse=function(ir,lr){try{return sr.parse(ir,lr)}catch(ir){return null}}},35522:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(43700);const kr=lr(66621);const Fr=lr(69322);const Br={};ir.exports=function(ir,sr,lr={}){hr(ir&&typeof ir==="object","Invalid defaults value: must be an object");hr(!sr||sr===true||typeof sr==="object","Invalid source value: must be true, falsy or an object");hr(typeof lr==="object","Invalid options: must be an object");if(!sr){return null}if(lr.shallow){return Br.applyToDefaultsWithShallow(ir,sr,lr)}const Fr=yr(ir);if(sr===true){return Fr}const Ur=lr.nullOverride!==undefined?lr.nullOverride:false;return kr(Fr,sr,{nullOverride:Ur,mergeArrays:false})};Br.applyToDefaultsWithShallow=function(ir,sr,lr){const Ur=lr.shallow;hr(Array.isArray(Ur),"Invalid keys");const Wr=new Map;const zr=sr===true?null:new Set;for(let lr of Ur){lr=Array.isArray(lr)?lr:lr.split(".");const hr=Fr(ir,lr);if(hr&&typeof hr==="object"){Wr.set(hr,zr&&Fr(sr,lr)||hr)}else if(zr){zr.add(lr)}}const Jr=yr(ir,{},Wr);if(!zr){return Jr}for(const ir of zr){Br.reachCopy(Jr,sr,ir)}const Hr=lr.nullOverride!==undefined?lr.nullOverride:false;return kr(Jr,sr,{nullOverride:Hr,mergeArrays:false})};Br.reachCopy=function(ir,sr,lr){for(const ir of lr){if(!(ir in sr)){return}const lr=sr[ir];if(typeof lr!=="object"||lr===null){return}sr=lr}const hr=sr;let yr=ir;for(let ir=0;ir<lr.length-1;++ir){const sr=lr[ir];if(typeof yr[sr]!=="object"){yr[sr]={}}yr=yr[sr]}yr[lr[lr.length-1]]=hr}},99583:(ir,sr,lr)=>{"use strict";const hr=lr(16443);const yr={};ir.exports=function(ir,...sr){if(ir){return}if(sr.length===1&&sr[0]instanceof Error){throw sr[0]}throw new hr(sr)}},43700:(ir,sr,lr)=>{"use strict";const hr=lr(69322);const yr=lr(99704);const kr=lr(87492);const Fr={needsProtoHack:new Set([yr.set,yr.map,yr.weakSet,yr.weakMap])};ir.exports=Fr.clone=function(ir,sr={},lr=null){if(typeof ir!=="object"||ir===null){return ir}let hr=Fr.clone;let Br=lr;if(sr.shallow){if(sr.shallow!==true){return Fr.cloneWithShallow(ir,sr)}hr=ir=>ir}else if(Br){const sr=Br.get(ir);if(sr){return sr}}else{Br=new Map}const Ur=yr.getInternalProto(ir);if(Ur===yr.buffer){return Buffer&&Buffer.from(ir)}if(Ur===yr.date){return new Date(ir.getTime())}if(Ur===yr.regex){return new RegExp(ir)}const Wr=Fr.base(ir,Ur,sr);if(Wr===ir){return ir}if(Br){Br.set(ir,Wr)}if(Ur===yr.set){for(const lr of ir){Wr.add(hr(lr,sr,Br))}}else if(Ur===yr.map){for(const[lr,yr]of ir){Wr.set(lr,hr(yr,sr,Br))}}const zr=kr.keys(ir,sr);for(const lr of zr){if(lr==="__proto__"){continue}if(Ur===yr.array&&lr==="length"){Wr.length=ir.length;continue}const kr=Object.getOwnPropertyDescriptor(ir,lr);if(kr){if(kr.get||kr.set){Object.defineProperty(Wr,lr,kr)}else if(kr.enumerable){Wr[lr]=hr(ir[lr],sr,Br)}else{Object.defineProperty(Wr,lr,{enumerable:false,writable:true,configurable:true,value:hr(ir[lr],sr,Br)})}}else{Object.defineProperty(Wr,lr,{enumerable:true,writable:true,configurable:true,value:hr(ir[lr],sr,Br)})}}return Wr};Fr.cloneWithShallow=function(ir,sr){const lr=sr.shallow;sr=Object.assign({},sr);sr.shallow=false;const yr=new Map;for(const sr of lr){const lr=hr(ir,sr);if(typeof lr==="object"||typeof lr==="function"){yr.set(lr,lr)}}return Fr.clone(ir,sr,yr)};Fr.base=function(ir,sr,lr){if(lr.prototype===false){if(Fr.needsProtoHack.has(sr)){return new sr.constructor}return sr===yr.array?[]:{}}const hr=Object.getPrototypeOf(ir);if(hr&&hr.isImmutable){return ir}if(sr===yr.array){const ir=[];if(hr!==sr){Object.setPrototypeOf(ir,hr)}return ir}if(Fr.needsProtoHack.has(sr)){const ir=new hr.constructor;if(hr!==sr){Object.setPrototypeOf(ir,hr)}return ir}return Object.create(hr)}},35879:(ir,sr,lr)=>{"use strict";const hr=lr(99704);const yr={mismatched:null};ir.exports=function(ir,sr,lr){lr=Object.assign({prototype:true},lr);return!!yr.isDeepEqual(ir,sr,lr,[])};yr.isDeepEqual=function(ir,sr,lr,kr){if(ir===sr){return ir!==0||1/ir===1/sr}const Fr=typeof ir;if(Fr!==typeof sr){return false}if(ir===null||sr===null){return false}if(Fr==="function"){if(!lr.deepFunction||ir.toString()!==sr.toString()){return false}}else if(Fr!=="object"){return ir!==ir&&sr!==sr}const Br=yr.getSharedType(ir,sr,!!lr.prototype);switch(Br){case hr.buffer:return Buffer&&Buffer.prototype.equals.call(ir,sr);case hr.promise:return ir===sr;case hr.regex:return ir.toString()===sr.toString();case yr.mismatched:return false}for(let lr=kr.length-1;lr>=0;--lr){if(kr[lr].isSame(ir,sr)){return true}}kr.push(new yr.SeenEntry(ir,sr));try{return!!yr.isDeepEqualObj(Br,ir,sr,lr,kr)}finally{kr.pop()}};yr.getSharedType=function(ir,sr,lr){if(lr){if(Object.getPrototypeOf(ir)!==Object.getPrototypeOf(sr)){return yr.mismatched}return hr.getInternalProto(ir)}const kr=hr.getInternalProto(ir);if(kr!==hr.getInternalProto(sr)){return yr.mismatched}return kr};yr.valueOf=function(ir){const sr=ir.valueOf;if(sr===undefined){return ir}try{return sr.call(ir)}catch(ir){return ir}};yr.hasOwnEnumerableProperty=function(ir,sr){return Object.prototype.propertyIsEnumerable.call(ir,sr)};yr.isSetSimpleEqual=function(ir,sr){for(const lr of Set.prototype.values.call(ir)){if(!Set.prototype.has.call(sr,lr)){return false}}return true};yr.isDeepEqualObj=function(ir,sr,lr,kr,Fr){const{isDeepEqual:Br,valueOf:Ur,hasOwnEnumerableProperty:Wr}=yr;const{keys:zr,getOwnPropertySymbols:Jr}=Object;if(ir===hr.array){if(kr.part){for(const ir of sr){for(const sr of lr){if(Br(ir,sr,kr,Fr)){return true}}}}else{if(sr.length!==lr.length){return false}for(let ir=0;ir<sr.length;++ir){if(!Br(sr[ir],lr[ir],kr,Fr)){return false}}return true}}else if(ir===hr.set){if(sr.size!==lr.size){return false}if(!yr.isSetSimpleEqual(sr,lr)){const ir=new Set(Set.prototype.values.call(lr));for(const lr of Set.prototype.values.call(sr)){if(ir.delete(lr)){continue}let sr=false;for(const hr of ir){if(Br(lr,hr,kr,Fr)){ir.delete(hr);sr=true;break}}if(!sr){return false}}}}else if(ir===hr.map){if(sr.size!==lr.size){return false}for(const[ir,hr]of Map.prototype.entries.call(sr)){if(hr===undefined&&!Map.prototype.has.call(lr,ir)){return false}if(!Br(hr,Map.prototype.get.call(lr,ir),kr,Fr)){return false}}}else if(ir===hr.error){if(sr.name!==lr.name||sr.message!==lr.message){return false}}const Hr=Ur(sr);const Gr=Ur(lr);if((sr!==Hr||lr!==Gr)&&!Br(Hr,Gr,kr,Fr)){return false}const Yr=zr(sr);if(!kr.part&&Yr.length!==zr(lr).length&&!kr.skip){return false}let Qr=0;for(const ir of Yr){if(kr.skip&&kr.skip.includes(ir)){if(lr[ir]===undefined){++Qr}continue}if(!Wr(lr,ir)){return false}if(!Br(sr[ir],lr[ir],kr,Fr)){return false}}if(!kr.part&&Yr.length-Qr!==zr(lr).length){return false}if(kr.symbols!==false){const ir=Jr(sr);const hr=new Set(Jr(lr));for(const yr of ir){if(!kr.skip||!kr.skip.includes(yr)){if(Wr(sr,yr)){if(!Wr(lr,yr)){return false}if(!Br(sr[yr],lr[yr],kr,Fr)){return false}}else if(Wr(lr,yr)){return false}}hr.delete(yr)}for(const ir of hr){if(Wr(lr,ir)){return false}}}return true};yr.SeenEntry=class{constructor(ir,sr){this.obj=ir;this.ref=sr}isSame(ir,sr){return this.obj===ir&&this.ref===sr}}},16443:(ir,sr,lr)=>{"use strict";const hr=lr(72912);const yr={};ir.exports=class extends Error{constructor(ir){const lr=ir.filter((ir=>ir!=="")).map((ir=>typeof ir==="string"?ir:ir instanceof Error?ir.message:hr(ir)));super(lr.join(" ")||"Unknown error");if(typeof Error.captureStackTrace==="function"){Error.captureStackTrace(this,sr.assert)}}}},57391:ir=>{"use strict";const sr={};ir.exports=function(ir){if(!ir){return""}let lr="";for(let hr=0;hr<ir.length;++hr){const yr=ir.charCodeAt(hr);if(sr.isSafe(yr)){lr+=ir[hr]}else{lr+=sr.escapeHtmlChar(yr)}}return lr};sr.escapeHtmlChar=function(ir){const lr=sr.namedHtml.get(ir);if(lr){return lr}if(ir>=256){return"&#"+ir+";"}const hr=ir.toString(16).padStart(2,"0");return`&#x${hr};`};sr.isSafe=function(ir){return sr.safeCharCodes.has(ir)};sr.namedHtml=new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[34,"&quot;"],[160,"&nbsp;"],[162,"&cent;"],[163,"&pound;"],[164,"&curren;"],[169,"&copy;"],[174,"&reg;"]]);sr.safeCharCodes=function(){const ir=new Set;for(let sr=32;sr<123;++sr){if(sr>=97||sr>=65&&sr<=90||sr>=48&&sr<=57||sr===32||sr===46||sr===44||sr===45||sr===58||sr===95){ir.add(sr)}}return ir}()},43935:ir=>{"use strict";const sr={};ir.exports=function(ir){return ir.replace(/[\^\$\.\*\+\-\?\=\!\:\|\\\/\(\)\[\]\{\}\,]/g,"\\$&")}},85363:ir=>{"use strict";const sr={};ir.exports=function(){}},66621:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(43700);const kr=lr(87492);const Fr={};ir.exports=Fr.merge=function(ir,sr,lr){hr(ir&&typeof ir==="object","Invalid target value: must be an object");hr(sr===null||sr===undefined||typeof sr==="object","Invalid source value: must be null, undefined, or an object");if(!sr){return ir}lr=Object.assign({nullOverride:true,mergeArrays:true},lr);if(Array.isArray(sr)){hr(Array.isArray(ir),"Cannot merge array onto an object");if(!lr.mergeArrays){ir.length=0}for(let hr=0;hr<sr.length;++hr){ir.push(yr(sr[hr],{symbols:lr.symbols}))}return ir}const Br=kr.keys(sr,lr);for(let hr=0;hr<Br.length;++hr){const kr=Br[hr];if(kr==="__proto__"||!Object.prototype.propertyIsEnumerable.call(sr,kr)){continue}const Ur=sr[kr];if(Ur&&typeof Ur==="object"){if(ir[kr]===Ur){continue}if(!ir[kr]||typeof ir[kr]!=="object"||Array.isArray(ir[kr])!==Array.isArray(Ur)||Ur instanceof Date||Buffer&&Buffer.isBuffer(Ur)||Ur instanceof RegExp){ir[kr]=yr(Ur,{symbols:lr.symbols})}else{Fr.merge(ir[kr],Ur,lr)}}else{if(Ur!==null&&Ur!==undefined){ir[kr]=Ur}else if(lr.nullOverride){ir[kr]=Ur}}}return ir}},69322:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr={};ir.exports=function(ir,sr,lr){if(sr===false||sr===null||sr===undefined){return ir}lr=lr||{};if(typeof lr==="string"){lr={separator:lr}}const kr=Array.isArray(sr);hr(!kr||!lr.separator,"Separator option is not valid for array-based chain");const Fr=kr?sr:sr.split(lr.separator||".");let Br=ir;for(let ir=0;ir<Fr.length;++ir){let kr=Fr[ir];const Ur=lr.iterables&&yr.iterables(Br);if(Array.isArray(Br)||Ur==="set"){const ir=Number(kr);if(Number.isInteger(ir)){kr=ir<0?Br.length+ir:ir}}if(!Br||typeof Br==="function"&&lr.functions===false||!Ur&&Br[kr]===undefined){hr(!lr.strict||ir+1===Fr.length,"Missing segment",kr,"in reach path ",sr);hr(typeof Br==="object"||lr.functions===true||typeof Br!=="function","Invalid segment",kr,"in reach path ",sr);Br=lr.default;break}if(!Ur){Br=Br[kr]}else if(Ur==="set"){Br=[...Br][kr]}else{Br=Br.get(kr)}}return Br};yr.iterables=function(ir){if(ir instanceof Set){return"set"}if(ir instanceof Map){return"map"}}},72912:ir=>{"use strict";const sr={};ir.exports=function(...ir){try{return JSON.stringify(...ir)}catch(ir){return"[Cannot display object: "+ir.message+"]"}}},99704:(ir,sr)=>{"use strict";const lr={};sr=ir.exports={array:Array.prototype,buffer:Buffer&&Buffer.prototype,date:Date.prototype,error:Error.prototype,generic:Object.prototype,map:Map.prototype,promise:Promise.prototype,regex:RegExp.prototype,set:Set.prototype,weakMap:WeakMap.prototype,weakSet:WeakSet.prototype};lr.typeMap=new Map([["[object Error]",sr.error],["[object Map]",sr.map],["[object Promise]",sr.promise],["[object Set]",sr.set],["[object WeakMap]",sr.weakMap],["[object WeakSet]",sr.weakSet]]);sr.getInternalProto=function(ir){if(Array.isArray(ir)){return sr.array}if(Buffer&&ir instanceof Buffer){return sr.buffer}if(ir instanceof Date){return sr.date}if(ir instanceof RegExp){return sr.regex}if(ir instanceof Error){return sr.error}const hr=Object.prototype.toString.call(ir);return lr.typeMap.get(hr)||sr.generic}},87492:(ir,sr)=>{"use strict";const lr={};sr.keys=function(ir,sr={}){return sr.symbols!==false?Reflect.ownKeys(ir):Object.getOwnPropertyNames(ir)}},75663:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr={};sr.Sorter=class{constructor(){this._items=[];this.nodes=[]}add(ir,sr){sr=sr||{};const lr=[].concat(sr.before||[]);const yr=[].concat(sr.after||[]);const kr=sr.group||"?";const Fr=sr.sort||0;hr(!lr.includes(kr),`Item cannot come before itself: ${kr}`);hr(!lr.includes("?"),"Item cannot come before unassociated items");hr(!yr.includes(kr),`Item cannot come after itself: ${kr}`);hr(!yr.includes("?"),"Item cannot come after unassociated items");if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){const ir={seq:this._items.length,sort:Fr,before:lr,after:yr,group:kr,node:sr};this._items.push(ir)}if(!sr.manual){const ir=this._sort();hr(ir,"item",kr!=="?"?`added into group ${kr}`:"","created a dependencies error")}return this.nodes}merge(ir){if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){if(sr){for(const ir of sr._items){this._items.push(Object.assign({},ir))}}}this._items.sort(yr.mergeSort);for(let ir=0;ir<this._items.length;++ir){this._items[ir].seq=ir}const sr=this._sort();hr(sr,"merge created a dependencies error");return this.nodes}sort(){const ir=this._sort();hr(ir,"sort created a dependencies error");return this.nodes}_sort(){const ir={};const sr=Object.create(null);const lr=Object.create(null);for(const hr of this._items){const yr=hr.seq;const kr=hr.group;lr[kr]=lr[kr]||[];lr[kr].push(yr);ir[yr]=hr.before;for(const ir of hr.after){sr[ir]=sr[ir]||[];sr[ir].push(yr)}}for(const sr in ir){const hr=[];for(const yr in ir[sr]){const kr=ir[sr][yr];lr[kr]=lr[kr]||[];hr.push(...lr[kr])}ir[sr]=hr}for(const hr in sr){if(lr[hr]){for(const yr of lr[hr]){ir[yr].push(...sr[hr])}}}const hr={};for(const sr in ir){const lr=ir[sr];for(const ir of lr){hr[ir]=hr[ir]||[];hr[ir].push(sr)}}const yr={};const kr=[];for(let ir=0;ir<this._items.length;++ir){let sr=ir;if(hr[ir]){sr=null;for(let ir=0;ir<this._items.length;++ir){if(yr[ir]===true){continue}if(!hr[ir]){hr[ir]=[]}const lr=hr[ir].length;let kr=0;for(let sr=0;sr<lr;++sr){if(yr[hr[ir][sr]]){++kr}}if(kr===lr){sr=ir;break}}}if(sr!==null){yr[sr]=true;kr.push(sr)}}if(kr.length!==this._items.length){return false}const Fr={};for(const ir of this._items){Fr[ir.seq]=ir}this._items=[];this.nodes=[];for(const ir of kr){const sr=Fr[ir];this.nodes.push(sr.node);this._items.push(sr)}return true}};yr.mergeSort=(ir,sr)=>ir.sort===sr.sort?0:ir.sort<sr.sort?-1:1},3563:(ir,sr,lr)=>{const{parse:hr,format:yr}=lr(87016);const{pathToRegexp:kr,compile:Fr,parse:Br}=lr(44985);ir.exports=Layer;function Layer(ir,sr,lr,hr={}){this.opts=hr;this.name=this.opts.name||null;this.methods=[];this.paramNames=[];this.stack=Array.isArray(lr)?lr:[lr];for(const ir of sr){const sr=this.methods.push(ir.toUpperCase());if(this.methods[sr-1]==="GET")this.methods.unshift("HEAD")}for(let lr=0;lr<this.stack.length;lr++){const hr=this.stack[lr];const yr=typeof hr;if(yr!=="function")throw new Error(`${sr.toString()} \`${this.opts.name||ir}\`: \`middleware\` must be a function, not \`${yr}\``)}this.path=ir;this.regexp=kr(ir,this.paramNames,this.opts)}Layer.prototype.match=function(ir){return this.regexp.test(ir)};Layer.prototype.params=function(ir,sr,lr={}){for(let ir=sr.length,hr=0;hr<ir;hr++){if(this.paramNames[hr]){const ir=sr[hr];if(ir&&ir.length>0)lr[this.paramNames[hr].name]=ir?safeDecodeURIComponent(ir):ir}}return lr};Layer.prototype.captures=function(ir){return this.opts.ignoreCaptures?[]:ir.match(this.regexp).slice(1)};Layer.prototype.url=function(ir,sr){let lr=ir;const kr=this.path.replace(/\(\.\*\)/g,"");if(typeof ir!=="object"){lr=Array.prototype.slice.call(arguments);if(typeof lr[lr.length-1]==="object"){sr=lr[lr.length-1];lr=lr.slice(0,-1)}}const Ur=Fr(kr,{encode:encodeURIComponent,...sr});let Wr;const zr=Br(kr);let Jr={};if(Array.isArray(lr)){for(let ir=zr.length,sr=0,hr=0;sr<ir;sr++){if(zr[sr].name)Jr[zr[sr].name]=lr[hr++]}}else if(zr.some((ir=>ir.name))){Jr=ir}else if(!sr){sr=ir}Wr=Ur(Jr);if(sr&&sr.query){Wr=hr(Wr);if(typeof sr.query==="string"){Wr.search=sr.query}else{Wr.search=undefined;Wr.query=sr.query}return yr(Wr)}return Wr};Layer.prototype.param=function(ir,sr){const{stack:lr}=this;const hr=this.paramNames;const middleware=function(lr,hr){return sr.call(this,lr.params[ir],lr,hr)};middleware.param=ir;const yr=hr.map((function(ir){return ir.name}));const kr=yr.indexOf(ir);if(kr>-1){lr.some((function(ir,sr){if(!ir.param||yr.indexOf(ir.param)>kr){lr.splice(sr,0,middleware);return true}}))}return this};Layer.prototype.setPrefix=function(ir){if(this.path){this.path=this.path!=="/"||this.opts.strict===true?`${ir}${this.path}`:ir;this.paramNames=[];this.regexp=kr(this.path,this.paramNames,this.opts)}return this};function safeDecodeURIComponent(ir){try{return decodeURIComponent(ir)}catch{return ir}}},53777:(ir,sr,lr)=>{const hr=lr(77246);const yr=lr(58024);const kr=lr(93);const{pathToRegexp:Fr}=lr(44985);const Br=lr(3563);const Ur=lr(26675)("koa-router");ir.exports=Router;function Router(ir={}){if(!(this instanceof Router))return new Router(ir);this.opts=ir;this.methods=this.opts.methods||["HEAD","OPTIONS","GET","PUT","PATCH","POST","DELETE"];this.exclusive=Boolean(this.opts.exclusive);this.params={};this.stack=[];this.host=this.opts.host}for(const Wr of kr){function setMethodVerb(ir){Router.prototype[ir]=function(sr,lr,hr){if(typeof lr==="string"||lr instanceof RegExp){hr=Array.prototype.slice.call(arguments,2)}else{hr=Array.prototype.slice.call(arguments,1);lr=sr;sr=null}if(typeof lr!=="string"&&!(lr instanceof RegExp)&&(!Array.isArray(lr)||lr.length===0))throw new Error(`You have to provide a path when adding a ${ir} handler`);this.register(lr,[ir],hr,{name:sr});return this}}setMethodVerb(Wr)}Router.prototype.del=Router.prototype["delete"];Router.prototype.use=function(){const ir=this;const sr=Array.prototype.slice.call(arguments);let lr;if(Array.isArray(sr[0])&&typeof sr[0][0]==="string"){const yr=sr[0];for(const kr of yr){ir.use.apply(ir,[kr].concat(sr.slice(1)))}return this}const hr=typeof sr[0]==="string";if(hr)lr=sr.shift();for(const Ur of sr){if(Ur.router){const Wr=Object.assign(Object.create(Router.prototype),Ur.router,{stack:[...Ur.router.stack]});for(let zr=0;zr<Wr.stack.length;zr++){const Jr=Wr.stack[zr];const Hr=Object.assign(Object.create(Br.prototype),Jr);if(lr)Hr.setPrefix(lr);if(ir.opts.prefix)Hr.setPrefix(ir.opts.prefix);ir.stack.push(Hr);Wr.stack[zr]=Hr}if(ir.params){function setRouterParams(sr){const lr=sr;for(const sr of lr){Wr.param(sr,ir.params[sr])}}setRouterParams(Object.keys(ir.params))}}else{const Gr=[];Fr(ir.opts.prefix||"",Gr);const Yr=ir.opts.prefix&&Gr.length;ir.register(lr||"([^/]*)",[],Ur,{end:false,ignoreCaptures:!hr&&!Yr})}}return this};Router.prototype.prefix=function(ir){ir=ir.replace(/\/$/,"");this.opts.prefix=ir;for(let sr=0;sr<this.stack.length;sr++){const lr=this.stack[sr];lr.setPrefix(ir)}return this};Router.prototype.routes=Router.prototype.middleware=function(){const ir=this;const sr=function dispatch(sr,lr){Ur("%s %s",sr.method,sr.path);const yr=ir.matchHost(sr.host);if(!yr){return lr()}const kr=ir.opts.routerPath||sr.newRouterPath||sr.path||sr.routerPath;const Fr=ir.match(kr,sr.method);let Br;if(sr.matched){sr.matched.push.apply(sr.matched,Fr.path)}else{sr.matched=Fr.path}sr.router=ir;if(!Fr.route)return lr();const Wr=Fr.pathAndMethod;const zr=Wr[Wr.length-1];sr._matchedRoute=zr.path;if(zr.name){sr._matchedRouteName=zr.name}Br=(ir.exclusive?[zr]:Wr).reduce((function(ir,sr){ir.push((function(ir,lr){ir.captures=sr.captures(kr,ir.captures);ir.params=ir.request.params=sr.params(kr,ir.captures,ir.params);ir.routerPath=sr.path;ir.routerName=sr.name;ir._matchedRoute=sr.path;if(sr.name){ir._matchedRouteName=sr.name}return lr()}));return ir.concat(sr.stack)}),[]);return hr(Br)(sr,lr)};sr.router=this;return sr};Router.prototype.allowedMethods=function(ir={}){const sr=this.methods;return function allowedMethods(lr,hr){return hr().then((function(){const hr={};if(!lr.status||lr.status===404){for(let ir=0;ir<lr.matched.length;ir++){const sr=lr.matched[ir];for(let ir=0;ir<sr.methods.length;ir++){const lr=sr.methods[ir];hr[lr]=lr}}const kr=Object.keys(hr);if(!~sr.indexOf(lr.method)){if(ir.throw){const sr=typeof ir.notImplemented==="function"?ir.notImplemented():new yr.NotImplemented;throw sr}else{lr.status=501;lr.set("Allow",kr.join(", "))}}else if(kr.length>0){if(lr.method==="OPTIONS"){lr.status=200;lr.body="";lr.set("Allow",kr.join(", "))}else if(!hr[lr.method]){if(ir.throw){const sr=typeof ir.methodNotAllowed==="function"?ir.methodNotAllowed():new yr.MethodNotAllowed;throw sr}else{lr.status=405;lr.set("Allow",kr.join(", "))}}}}}))}};Router.prototype.all=function(ir,sr,lr){if(typeof sr==="string"){lr=Array.prototype.slice.call(arguments,2)}else{lr=Array.prototype.slice.call(arguments,1);sr=ir;ir=null}if(typeof sr!=="string"&&!(sr instanceof RegExp)&&(!Array.isArray(sr)||sr.length===0))throw new Error("You have to provide a path when adding an all handler");this.register(sr,kr,lr,{name:ir});return this};Router.prototype.redirect=function(ir,sr,lr){if(typeof ir==="symbol"||ir[0]!=="/"){ir=this.url(ir);if(ir instanceof Error)throw ir}if(typeof sr==="symbol"||sr[0]!=="/"&&!sr.includes("://")){sr=this.url(sr);if(sr instanceof Error)throw sr}return this.all(ir,(ir=>{ir.redirect(sr);ir.status=lr||301}))};Router.prototype.register=function(ir,sr,lr,hr={}){const yr=this;const{stack:kr}=this;if(Array.isArray(ir)){for(const kr of ir){yr.register.call(yr,kr,sr,lr,hr)}return this}const Fr=new Br(ir,sr,lr,{end:hr.end===false?hr.end:true,name:hr.name,sensitive:hr.sensitive||this.opts.sensitive||false,strict:hr.strict||this.opts.strict||false,prefix:hr.prefix||this.opts.prefix||"",ignoreCaptures:hr.ignoreCaptures});if(this.opts.prefix){Fr.setPrefix(this.opts.prefix)}for(let ir=0;ir<Object.keys(this.params).length;ir++){const sr=Object.keys(this.params)[ir];Fr.param(sr,this.params[sr])}kr.push(Fr);Ur("defined route %s %s",Fr.methods,Fr.path);return Fr};Router.prototype.route=function(ir){const sr=this.stack;for(let lr=sr.length,hr=0;hr<lr;hr++){if(sr[hr].name&&sr[hr].name===ir)return sr[hr]}return false};Router.prototype.url=function(ir,sr){const lr=this.route(ir);if(lr){const ir=Array.prototype.slice.call(arguments,1);return lr.url.apply(lr,ir)}return new Error(`No route found for name: ${String(ir)}`)};Router.prototype.match=function(ir,sr){const lr=this.stack;let hr;const yr={path:[],pathAndMethod:[],route:false};for(let kr=lr.length,Fr=0;Fr<kr;Fr++){hr=lr[Fr];Ur("test %s %s",hr.path,hr.regexp);if(hr.match(ir)){yr.path.push(hr);if(hr.methods.length===0||~hr.methods.indexOf(sr)){yr.pathAndMethod.push(hr);if(hr.methods.length>0)yr.route=true}}}return yr};Router.prototype.matchHost=function(ir){const{host:sr}=this;if(!sr){return true}if(!ir){return false}if(typeof sr==="string"){return ir===sr}if(typeof sr==="object"&&sr instanceof RegExp){return sr.test(ir)}};Router.prototype.param=function(ir,sr){this.params[ir]=sr;for(let lr=0;lr<this.stack.length;lr++){const hr=this.stack[lr];hr.param(ir,sr)}return this};Router.url=function(ir){const sr=Array.prototype.slice.call(arguments,1);return Br.prototype.url.apply({path:ir},sr)}},86979:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AsyncHooksContextManager=void 0;const hr=lr(46123);const yr=lr(90290);class AsyncHooksContextManager{constructor(){this._contexts=new Map;this._stack=[];this._asyncHook=yr.createHook({init:this._init.bind(this),before:this._before.bind(this),after:this._after.bind(this),destroy:this._destroy.bind(this),promiseResolve:this._destroy.bind(this)})}active(){var ir;return(ir=this._stack[this._stack.length-1])!==null&&ir!==void 0?ir:hr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){this._enterContext(ir);try{return sr.call(lr,...hr)}finally{this._exitContext()}}enable(){this._asyncHook.enable();return this}disable(){this._asyncHook.disable();this._contexts.clear();this._stack=[];return this}_init(ir,sr){if(sr==="TIMERWRAP")return;const lr=this._stack[this._stack.length-1];if(lr!==undefined){this._contexts.set(ir,lr)}}_destroy(ir){this._contexts.delete(ir)}_before(ir){const sr=this._contexts.get(ir);if(sr!==undefined){this._enterContext(sr)}}_after(){this._exitContext()}_enterContext(ir){this._stack.push(ir)}_exitContext(){this._stack.pop()}bind(ir,sr){if(typeof sr==="function"){const lr=this;const contextWrapper=function(...hr){return lr.with(ir,(()=>sr.apply(this,hr)))};Object.defineProperty(contextWrapper,"length",{enumerable:false,configurable:true,writable:false,value:sr.length});return contextWrapper}return sr}}sr.AsyncHooksContextManager=AsyncHooksContextManager},63259:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AsyncLocalStorageContextManager=void 0;const hr=lr(46123);const yr=lr(90290);class AsyncLocalStorageContextManager{constructor(){this._asyncLocalStorage=new yr.AsyncLocalStorage}active(){var ir;return(ir=this._asyncLocalStorage.getStore())!==null&&ir!==void 0?ir:hr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){const yr=lr==null?sr:sr.bind(lr);return this._asyncLocalStorage.run(ir,yr,...hr)}enable(){return this}disable(){this._asyncLocalStorage.disable();return this}bind(ir,sr){if(typeof sr==="function"){const lr=this;const contextWrapper=function(...hr){return lr.with(ir,(()=>sr.apply(this,hr)))};Object.defineProperty(contextWrapper,"length",{enumerable:false,configurable:true,writable:false,value:sr.length});return contextWrapper}return sr}}sr.AsyncLocalStorageContextManager=AsyncLocalStorageContextManager},44101:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.createContextManager=sr.isSemverGreaterThanOrEqualTo=void 0;yr(lr(86979),sr);yr(lr(63259),sr);var kr=lr(43349);Object.defineProperty(sr,"isSemverGreaterThanOrEqualTo",{enumerable:true,get:function(){return kr.isSemverGreaterThanOrEqualTo}});Object.defineProperty(sr,"createContextManager",{enumerable:true,get:function(){return kr.createContextManager}})},43349:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createContextManager=sr.isSemverGreaterThanOrEqualTo=void 0;const hr=lr(63259);const yr=lr(86979);const kr=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z-]+(?:\.[\da-z-]+)*))?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?)?)?$/i;function isSemverGreaterThanOrEqualTo(ir,sr){const lr=kr.exec(ir);const hr=kr.exec(sr);if(lr&&hr){if(lr[1]===hr[1]&&lr[2]===hr[2]&&lr[3]===hr[3]&&lr[4]===hr[4]){return true}return gteString(lr[1],hr[1])||lr[1]===hr[1]&&gteString(lr[2],hr[2])||lr[1]===hr[1]&&lr[2]===hr[2]&&gteString(lr[3],hr[3])||lr[1]===hr[1]&&lr[2]===hr[2]&&lr[3]===hr[3]&&gteString(lr[4],hr[4])}return false}sr.isSemverGreaterThanOrEqualTo=isSemverGreaterThanOrEqualTo;function gteString(ir,sr){const lr=parseInt(ir,10);const hr=parseInt(sr,10);return lr>hr}function createContextManager(){const ir=isSemverGreaterThanOrEqualTo(process.version,"14.8.0")?hr.AsyncLocalStorageContextManager:yr.AsyncHooksContextManager;return new ir}sr.createContextManager=createContextManager},26733:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Bootstrap=sr.BootstrapStarter=void 0;const hr=lr(46123);const yr=lr(16928);const kr=lr(51169);const Fr=lr(44101);const Br=lr(5982);const Ur=lr(92364);class BootstrapStarter{constructor(){this.globalOptions={}}configure(ir={}){this.globalOptions=ir;return this}async init(){this.appDir=this.globalOptions.appDir=this.globalOptions.appDir||process.cwd();this.baseDir=this.globalOptions.baseDir=this.getBaseDir();if(process.env["MIDWAY_FORK_MODE"]){if(process.env["MIDWAY_FORK_MODE"]==="cluster"){this.eventBus=new Br.ChildProcessEventBus({isWorker:true})}else if(process.env["MIDWAY_FORK_MODE"]==="thread"){this.eventBus=new Br.ThreadEventBus({isWorker:true})}}if(!this.globalOptions.moduleLoadType){const ir=await(0,hr.loadModule)((0,yr.join)(this.appDir,"package.json"),{safeLoad:true,enableCache:false});this.globalOptions.moduleLoadType=(ir===null||ir===void 0?void 0:ir.type)==="module"?"esm":"commonjs"}this.applicationContext=await(0,hr.initializeGlobalApplicationContext)({asyncContextManager:(0,Fr.createContextManager)(),loggerFactory:kr.loggers,...this.globalOptions});return this.applicationContext}async run(){this.applicationContext=await this.init();if(this.eventBus){await this.eventBus.start();if(process.env["MIDWAY_STICKY_MODE"]==="true"){const ir=this.applicationContext.get(hr.MidwayApplicationManager);const sr=ir.getApplication("socketIO");(0,Ur.setupWorker)(sr)}}const ir=this.applicationContext.get(hr.MidwayFrameworkService);if(!ir.getMainApp()){throw new hr.MidwayMainFrameworkMissingError}}async stop(){if(this.applicationContext){await(0,hr.destroyGlobalApplicationContext)(this.applicationContext)}if(this.eventBus){await this.eventBus.stop()}}getApplicationContext(){return this.applicationContext}getBaseDir(){if(this.globalOptions.baseDir){return this.globalOptions.baseDir}if((0,hr.isTypeScriptEnvironment)()){return(0,yr.join)(this.appDir,"src")}else{return(0,yr.join)(this.appDir,"dist")}}}sr.BootstrapStarter=BootstrapStarter;class Bootstrap{static configure(ir={}){this.configured=true;if(!this.logger&&!ir.logger){this.logger=this.bootstrapLoggerFactory.createLogger("bootstrap",{enableError:false,enableFile:false,enableConsole:true});if(ir.logger===false){if(this.logger["disableConsole"]){this.logger["disableConsole"]()}else{this.logger["level"]="none"}}ir.logger=this.logger}else{this.logger=this.logger||ir.logger}if(ir.appDir&&ir.appDir!==process.cwd()){process.chdir(ir.appDir)}this.getStarter().configure(ir);return this}static getStarter(){if(!this.starter){this.starter=new BootstrapStarter}return this.starter}static async run(){if(!this.configured){this.configure()}process.once("SIGINT",this.onSignal.bind(this,"SIGINT"));process.once("SIGQUIT",this.onSignal.bind(this,"SIGQUIT"));process.once("SIGTERM",this.onSignal.bind(this,"SIGTERM"));process.once("exit",this.onExit.bind(this));this.uncaughtExceptionHandler=this.uncaughtExceptionHandler.bind(this);process.on("uncaughtException",this.uncaughtExceptionHandler);this.unhandledRejectionHandler=this.unhandledRejectionHandler.bind(this);process.on("unhandledRejection",this.unhandledRejectionHandler);return this.getStarter().run().then((()=>{this.logger.info("[midway:bootstrap] current app started");global["MIDWAY_BOOTSTRAP_APP_READY"]=true;return this.getApplicationContext()})).catch((ir=>{this.logger.error(ir);process.exit(1)}))}static async stop(){await this.getStarter().stop();process.removeListener("uncaughtException",this.uncaughtExceptionHandler);process.removeListener("unhandledRejection",this.unhandledRejectionHandler);this.reset();global["MIDWAY_BOOTSTRAP_APP_READY"]=false}static reset(){this.configured=false;this.starter=null;this.bootstrapLoggerFactory.close()}static async onSignal(ir){this.logger.info("[midway:bootstrap] receive signal %s, closing",ir);try{await this.stop();this.logger.info("[midway:bootstrap] close done, exiting with code:0");process.exit(0)}catch(ir){this.logger.error("[midway:bootstrap] close with error: ",ir);process.exit(1)}}static onExit(ir){this.logger.info("[midway:bootstrap] exit with code:%s",ir)}static uncaughtExceptionHandler(ir){if(!(ir instanceof Error)){ir=new Error(String(ir))}if(ir.name==="Error"){ir.name="unhandledExceptionError"}this.logger.error(ir)}static unhandledRejectionHandler(ir){if(!(ir instanceof Error)){const sr=new Error(String(ir));if(ir){if(ir.name)sr.name=ir.name;if(ir.message)sr.message=ir.message;if(ir.stack)sr.stack=ir.stack}ir=sr}if(ir.name==="Error"){ir.name="unhandledRejectionError"}this.logger.error(ir)}static getApplicationContext(){return this.getStarter().getApplicationContext()}}sr.Bootstrap=Bootstrap;Bootstrap.configured=false;Bootstrap.bootstrapLoggerFactory=new kr.MidwayLoggerContainer},84575:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.setupStickyMaster=sr.AbstractForkManager=sr.ClusterManager=sr.BootstrapStarter=sr.Bootstrap=void 0;yr(lr(82516),sr);var kr=lr(26733);Object.defineProperty(sr,"Bootstrap",{enumerable:true,get:function(){return kr.Bootstrap}});Object.defineProperty(sr,"BootstrapStarter",{enumerable:true,get:function(){return kr.BootstrapStarter}});var Fr=lr(93772);Object.defineProperty(sr,"ClusterManager",{enumerable:true,get:function(){return Fr.ClusterManager}});var Br=lr(84338);Object.defineProperty(sr,"AbstractForkManager",{enumerable:true,get:function(){return Br.AbstractForkManager}});var Ur=lr(92364);Object.defineProperty(sr,"setupStickyMaster",{enumerable:true,get:function(){return Ur.setupStickyMaster}})},82516:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},84338:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AbstractForkManager=void 0;const hr=lr(70857);const yr=lr(39023);const kr=lr(53599);const Fr=lr(24434);const Br=lr(39023);const Ur=(0,Br.debuglog)("midway:bootstrap");class AbstractForkManager{constructor(ir){this.options=ir;this.reforks=[];this.disconnectCount=0;this.unexpectedCount=0;this.disconnects={};this.hub=new Fr.EventEmitter;this.workers=new Map;this.isClosing=false;ir.count=ir.count||hr.cpus().length-1;ir.refork=ir.refork!==false;ir.limit=ir.limit||60;ir.duration=ir.duration||6e4;ir.logger=ir.logger||console;ir.workerInitTimeout=ir.workerInitTimeout||3e4;this.eventBus=this.createEventBus({initTimeout:ir.workerInitTimeout})}async start(){Ur("Start manager with options: %j",this.options);this.bindWorkerDisconnect((ir=>{Ur(" - worker(%s): trigger event = disconnect",this.getWorkerId(ir));const sr=this.options.logger[ir["disableRefork"]?"info":"error"];this.disconnectCount++;const lr=this.isWorkerDead(ir);if(lr){Ur(" - worker(%s): worker is dead",this.getWorkerId(ir));this.options.logger.info("[%s] [bootstrap:master:%s] don't fork, because worker:%s exit event emit before disconnect",(0,kr.logDate)(),process.pid,this.getWorkerId(ir));return}if(ir["disableRefork"]){Ur(" - worker(%s): worker is disableRefork(maybe terminated by master)",this.getWorkerId(ir));sr("[%s] [bootstrap:master:%s] don't fork, because worker:%s will be kill soon",(0,kr.logDate)(),process.pid,this.getWorkerId(ir));return}this.disconnects[this.getWorkerId(ir)]=(0,kr.logDate)();this.tryToRefork(ir)}));this.bindWorkerExit(((ir,sr,lr)=>{Ur(" - worker(%s): trigger event = exit",this.getWorkerId(ir));this.workers.delete(this.getWorkerId(ir));if(ir["disableRefork"]){return}const hr=!!this.disconnects[this.getWorkerId(ir)];Ur(" - worker(%s): isExpected=%s",this.getWorkerId(ir),hr);if(hr){delete this.disconnects[this.getWorkerId(ir)];return}Ur(" - worker(%s): isWorkerDead=%s",this.getWorkerId(ir),this.isWorkerDead(ir));if(this.isWorkerDead(ir)){return}Ur(" - worker(%s): unexpectedCount will add");this.unexpectedCount++;this.tryToRefork(ir);this.onUnexpected(ir,sr,lr)}));this.bindClose();this.hub.on("reachReforkLimit",this.onReachReforkLimit.bind(this));setImmediate((()=>{if(process.listeners("uncaughtException").length===0){process.on("uncaughtException",this.onerror.bind(this))}}));for(let ir=0;ir<this.options.count;ir++){const ir=this.createWorker();Ur(" - worker(%s) created",this.getWorkerId(ir));this.eventBus.addWorker(ir);this.workers.set(this.getWorkerId(ir),ir)}await this.eventBus.start()}tryToRefork(ir){if(this.allowRefork()){Ur(" - worker(%s): allow refork and will fork new",this.getWorkerId(ir));const sr=this.createWorker(ir);this.workers.set(this.getWorkerId(sr),sr);this.options.logger.info("[%s] [bootstrap:master:%s] new worker:%s fork (state: %s)",(0,kr.logDate)(),process.pid,this.getWorkerId(sr),sr["state"]);this.eventBus.addWorker(sr)}else{Ur(" - worker(%s): forbidden refork and will stop",this.getWorkerId(ir));this.options.logger.info("[%s] [bootstrap:master:%s] don't fork new work (refork: %s)",(0,kr.logDate)(),process.pid,this.options.refork)}}allowRefork(){if(!this.options.refork||this.isClosing){return false}const ir=this.reforks.push(Date.now());if(ir>this.options.limit){this.reforks.shift()}const sr=this.reforks[this.reforks.length-1]-this.reforks[0];const lr=this.reforks.length<this.options.limit||sr>this.options.duration;if(!lr){this.hub.emit("reachReforkLimit")}return lr}onerror(ir){if(!ir){return}this.options.logger.error("[%s] [bootstrap:master:%s] master uncaughtException: %s",(0,kr.logDate)(),process.pid,ir.stack);this.options.logger.error(ir);this.options.logger.error("(total %d disconnect, %d unexpected exit)",this.disconnectCount,this.unexpectedCount)}onUnexpected(ir,sr,lr){const hr=ir.hasOwnProperty("exitedAfterDisconnect")?"exitedAfterDisconnect":"suicide";const Fr=new Error(yr.format("worker:%s died unexpected (code: %s, signal: %s, %s: %s, state: %s)",this.getWorkerId(ir),sr,lr,hr,ir[hr],ir["state"]));Fr.name="WorkerDiedUnexpectedError";this.options.logger.error("[%s] [bootstrap:master:%s] (total %d disconnect, %d unexpected exit) %s",(0,kr.logDate)(),process.pid,this.disconnectCount,this.unexpectedCount,Fr.stack)}onReachReforkLimit(){this.options.logger.error("[%s] [bootstrap:master:%s] worker died too fast (total %d disconnect, %d unexpected exit)",(0,kr.logDate)(),process.pid,this.disconnectCount,this.unexpectedCount)}async killWorker(ir,sr){await this.closeWorker(ir);await Promise.race([(0,Fr.once)(ir,"exit"),(0,kr.sleep)(sr)]);if(ir.killed)return;(ir.process||ir).kill("SIGKILL")}async stop(ir=2e3){Ur("run close");this.isClosing=true;await this.eventBus.stop();for(const sr of this.workers.values()){sr["disableRefork"]=true;await this.killWorker(sr,ir)}if(this.exitListener){await this.exitListener()}}hasWorker(ir){return this.workers.has(ir)}getWorker(ir){return this.workers.get(ir)}getWorkerIds(){return Array.from(this.workers.keys())}onStop(ir){this.exitListener=ir}bindClose(){process.once("SIGINT",this.onSignal.bind(this,"SIGINT"));process.once("SIGQUIT",this.onSignal.bind(this,"SIGQUIT"));process.once("SIGTERM",this.onSignal.bind(this,"SIGTERM"));process.once("exit",this.onMasterExit.bind(this))}async onSignal(ir){if(!this.isClosing){this.options.logger.info("[bootstrap:master] receive signal %s, closing",ir);try{await this.stop();this.options.logger.info("[bootstrap:master] close done, exiting with code:0");process.exit(0)}catch(ir){this.options.logger.error("[midway:master] close with error: ",ir);process.exit(1)}}}onMasterExit(ir){this.options.logger.info("[bootstrap:master] exit with code:%s",ir)}}sr.AbstractForkManager=AbstractForkManager},93772:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ClusterManager=void 0;const hr=lr(5982);const yr=lr(84338);const kr=lr(29907);const Fr=lr(39023);const Br=lr(46123);const Ur=(0,Fr.debuglog)("midway:bootstrap");class ClusterManager extends yr.AbstractForkManager{constructor(ir={}){super(ir);this.options=ir;ir.args=ir.args||[];ir.execArgv=ir.execArgv||[];if((0,Br.isTypeScriptEnvironment)()){ir.execArgv.push(...["--require","ts-node/register"])}}createWorker(){if(kr["setupPrimary"]){kr["setupPrimary"](this.options)}else if(kr["setupMaster"]){kr["setupMaster"](this.options)}return kr.fork({MIDWAY_FORK_MODE:"cluster",MIDWAY_STICKY_MODE:this.options.sticky?"true":"false",...this.options.env})}bindWorkerDisconnect(ir){Ur("Bind cluster.disconnect event");kr.on("disconnect",ir)}bindWorkerExit(ir){Ur("Bind cluster.exit event");kr.on("exit",ir)}getWorkerId(ir){return String(ir.process.pid)}isWorkerDead(ir){return ir.isDead()}closeWorker(ir){ir.kill("SIGTERM")}createEventBus(ir){return new hr.ChildProcessEventBus(ir)}isPrimary(){return!kr.isWorker}}sr.ClusterManager=ClusterManager},92364:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.setupWorker=sr.setupStickyMaster=void 0;const hr=lr(29907);const yr=lr(76982);const randomId=()=>(0,yr.randomBytes)(8).toString("hex");function setupStickyMaster(ir,sr={}){const lr={loadBalancingMethod:"least-connection",...sr};const yr=new Map;const kr=/sid=([\w-]{20})/;let Fr=0;const computeWorkerId=ir=>{const sr=kr.exec(ir);if(sr){const ir=sr[1];const lr=yr.get(ir);if(lr&&hr.workers[lr]){return lr}}switch(lr.loadBalancingMethod){case"random":{const ir=Object.keys(hr.workers);return ir[Math.floor(Math.random()*ir.length)]}case"round-robin":{const ir=Object.keys(hr.workers);Fr++;if(Fr>=ir.length){Fr=0}return ir[Fr]}case"least-connection":let ir;for(const sr in hr.workers){const lr=hr.workers[sr];if(ir===undefined){ir=lr}else{const sr=lr["clientsCount"]||0;const hr=ir["clientsCount"]||0;if(sr<hr){ir=lr}}}return ir.id}};ir.on("connection",(ir=>{let sr,lr;const sendCallback=sr=>{if(sr){ir.destroy()}};ir.on("data",(yr=>{let kr="utf-8";let Fr=yr.toString(kr);if(sr&&lr){hr.workers[sr].send({type:"sticky:http-chunk",data:Fr,encoding:kr,connectionId:lr},sendCallback);return}sr=computeWorkerId(Fr);const Br=!(Fr.startsWith("GET")||Fr.substring(0,Fr.indexOf("\r\n\r\n")).includes("pgrade: websocket"));if(Fr.startsWith("POST")&&Fr.includes("multipart/form-data")){kr="base64";Fr=yr.toString("base64")}ir.pause();if(Br){lr=randomId()}hr.workers[sr].send({type:"sticky:connection",data:Fr,encoding:kr,connectionId:lr},ir,{keepOpen:Br},sendCallback)}))}));ir.on("request",(ir=>{ir.on("data",(()=>{}))}));hr.on("message",((ir,{type:sr,data:hr})=>{switch(sr){case"sticky:connection":yr.set(hr,ir.id);if(lr.loadBalancingMethod==="least-connection"){ir["clientsCount"]=(ir["clientsCount"]||0)+1}break;case"sticky:disconnection":yr.delete(hr);if(lr.loadBalancingMethod==="least-connection"){ir["clientsCount"]--}break}}))}sr.setupStickyMaster=setupStickyMaster;function setupWorker(ir){const sr=new Map;process.on("message",(({type:lr,data:hr,encoding:yr,connectionId:kr},Fr)=>{switch(lr){case"sticky:connection":if(!Fr){return}ir.httpServer.emit("connection",Fr);Fr.emit("data",Buffer.from(hr,yr));Fr.resume();if(kr){sr.set(kr,Fr);Fr.on("close",(()=>{sr.delete(kr)}))}break;case"sticky:http-chunk":{const ir=sr.get(kr);if(ir){ir.emit("data",Buffer.from(hr,yr))}}}}));const ignoreError=()=>{};ir.engine.on("connection",(ir=>{process.send({type:"sticky:connection",data:ir.id},ignoreError);ir.once("close",(()=>{process.send({type:"sticky:disconnection",data:ir.id},ignoreError)}))}))}sr.setupWorker=setupWorker},53599:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.sleep=sr.logDate=void 0;function logDate(){const ir=new Date;let sr=ir.getDate();if(sr<10){sr="0"+sr}let lr=ir.getMonth()+1;if(lr<10){lr="0"+lr}let hr=ir.getHours();if(hr<10){hr="0"+hr}let yr=ir.getMinutes();if(yr<10){yr="0"+yr}let kr=ir.getSeconds();if(kr<10){kr="0"+kr}let Fr=ir.getMilliseconds();if(Fr<10){Fr="00"+Fr}else if(Fr<100){Fr="0"+Fr}return ir.getFullYear()+"-"+lr+"-"+sr+" "+hr+":"+yr+":"+kr+"."+Fr}sr.logDate=logDate;async function sleep(ir){return new Promise((sr=>{setTimeout(sr,ir)}))}sr.sleep=sleep},64080:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.multiCaching=sr.createCache=sr.caching=void 0;const hr=lr(48851);const yr=lr(87932);async function caching(ir,sr){if(ir==="memory"){const ir=(0,yr.memoryStore)(sr);return createCache(ir,sr)}if(typeof ir==="function"){const lr=await ir(sr);return createCache(lr,sr)}return createCache(ir,sr)}sr.caching=caching;function createCache(ir,sr){return{wrap:async(lr,yr,kr)=>(0,hr.coalesceAsync)(lr,(async()=>{const Fr=await ir.get(lr);if(Fr===undefined){const sr=await yr();const hr=typeof kr==="function"?kr(sr):kr;await ir.set(lr,sr,hr);return sr}else if(sr===null||sr===void 0?void 0:sr.refreshThreshold){const Br=typeof kr==="function"?kr(Fr):kr;const Ur=await ir.ttl(lr);if(Ur!==-1&&Ur<sr.refreshThreshold){(0,hr.coalesceAsync)(`+++${lr}`,yr).then((sr=>ir.set(lr,sr,Br)))}}return Fr})),store:ir,del:sr=>ir.del(sr),get:sr=>ir.get(sr),set:(sr,lr,hr)=>ir.set(sr,lr,hr),reset:()=>ir.reset(),methodWrap:async(lr,yr,kr,Fr)=>(0,hr.coalesceAsync)(lr,(async()=>{const Br=await ir.get(lr);if(Br===undefined){const sr=await yr(...kr);const hr=typeof Fr==="function"?Fr(sr):Fr;await ir.set(lr,sr,hr);return sr}else if(sr===null||sr===void 0?void 0:sr.refreshThreshold){const Ur=typeof Fr==="function"?Fr(Br):Fr;const Wr=await ir.ttl(lr);if(Wr!==-1&&Wr<sr.refreshThreshold){(0,hr.coalesceAsync)(`+++${lr}`,(()=>yr(...kr))).then((sr=>ir.set(lr,sr,Ur)))}}return Br}))}}sr.createCache=createCache;function multiCaching(ir){const get=async sr=>{for(const lr of ir){try{const ir=await lr.get(sr);if(ir!==undefined)return ir}catch(ir){}}};const set=async(sr,lr,hr)=>{await Promise.all(ir.map((ir=>ir.set(sr,lr,hr))))};return{get:get,set:set,del:async sr=>{await Promise.all(ir.map((ir=>ir.del(sr))))},async wrap(sr,lr,hr){let yr;let kr=0;for(;kr<ir.length;kr++){try{yr=await ir[kr].get(sr);if(yr!==undefined)break}catch(ir){}}if(yr===undefined){const ir=await lr();const yr=typeof hr==="function"?hr(ir):hr;await set(sr,ir,yr);return ir}else{const Fr=typeof hr==="function"?hr(yr):hr;Promise.all(ir.slice(0,kr).map((ir=>ir.set(sr,yr,Fr)))).then();ir[kr].wrap(sr,lr,hr).then()}return yr},reset:async()=>{await Promise.all(ir.map((ir=>ir.reset())))},mget:async(...sr)=>{const lr=new Array(sr.length).fill(undefined);for(const hr of ir){if(lr.every((ir=>ir!==undefined)))break;try{const ir=await hr.store.mget(...sr);ir.forEach(((ir,sr)=>{if(lr[sr]===undefined&&ir!==undefined)lr[sr]=ir}))}catch(ir){}}return lr},mset:async(sr,lr)=>{await Promise.all(ir.map((ir=>ir.store.mset(sr,lr))))},mdel:async(...sr)=>{await Promise.all(ir.map((ir=>ir.store.mdel(...sr))))},methodWrap:async(sr,lr,hr,yr)=>{let kr;let Fr=0;for(;Fr<ir.length;Fr++){try{kr=await ir[Fr].get(sr);if(kr!==undefined)break}catch(ir){}}if(kr===undefined){const ir=await lr(...hr);const kr=typeof yr==="function"?yr(ir):yr;await set(sr,ir,kr);return ir}else{const Br=typeof yr==="function"?yr(kr):yr;Promise.all(ir.slice(0,Fr).map((ir=>ir.set(sr,kr,Br)))).then();ir[Fr].methodWrap(sr,lr,hr,yr).then()}return kr}}}sr.multiCaching=multiCaching},8869:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(64080),sr);yr(lr(87932),sr);yr(lr(91724),sr)},48851:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.coalesceAsync=void 0;const lr=new Map;async function coalesceAsync(ir,sr){if(!hasKey(ir)){addKey(ir);try{const lr=await Promise.resolve(sr());coalesce({key:ir,result:lr});return lr}catch(sr){coalesce({key:ir,error:sr});throw sr}}return enqueue(ir)}sr.coalesceAsync=coalesceAsync;function hasKey(ir){return lr.has(ir)}function addKey(ir){lr.set(ir,[])}function removeKey(ir){lr.delete(ir)}function addCallbackToKey(ir,sr){const hr=getCallbacksByKey(ir);hr.push(sr);lr.set(ir,hr)}function getCallbacksByKey(ir){var sr;return(sr=lr.get(ir))!==null&&sr!==void 0?sr:[]}function enqueue(ir){return new Promise(((sr,lr)=>{const hr={resolve:sr,reject:lr};addCallbackToKey(ir,hr)}))}function dequeue(ir){const sr=getCallbacksByKey(ir);removeKey(ir);return sr}function coalesce(ir){const{key:sr,error:lr,result:hr}=ir;dequeue(sr).forEach((ir=>{if(lr){ir.reject(lr)}else{ir.resolve(hr)}}))}},87932:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.memoryStore=void 0;const hr=lr(57223);const yr=lr(19944);function clone(ir){if(typeof ir==="object"&&ir!==null){return yr(ir)}return ir}function memoryStore(ir){var sr;const lr=(ir===null||ir===void 0?void 0:ir.shouldCloneBeforeSet)!==false;const yr=(sr=ir===null||ir===void 0?void 0:ir.isCacheable)!==null&&sr!==void 0?sr:ir=>ir!==undefined;const kr={ttlAutopurge:true,...ir,max:(ir===null||ir===void 0?void 0:ir.max)||500,ttl:(ir===null||ir===void 0?void 0:ir.ttl)!==undefined?ir.ttl:0};const Fr=new hr(kr);return{async del(ir){Fr.delete(ir)},get:async ir=>Fr.get(ir),keys:async()=>[...Fr.keys()],mget:async(...ir)=>ir.map((ir=>Fr.get(ir))),async mset(ir,sr){const hr={ttl:sr!==undefined?sr:kr.ttl};for(const[sr,kr]of ir){if(!yr(kr))throw new Error(`no cacheable value ${JSON.stringify(kr)}`);if(lr)Fr.set(sr,clone(kr),hr);else Fr.set(sr,kr,hr)}},async mdel(...ir){for(const sr of ir)Fr.delete(sr)},async reset(){Fr.clear()},ttl:async ir=>Fr.getRemainingTTL(ir),async set(ir,sr,hr){if(!yr(sr))throw new Error(`no cacheable value ${JSON.stringify(sr)}`);if(lr)sr=clone(sr);const Br=hr!==undefined?hr:kr.ttl;Fr.set(ir,sr,{ttl:Br})},get calculatedSize(){return Fr.calculatedSize},get size(){return Fr.size},dump:()=>Fr.dump(),load:(...ir)=>Fr.load(...ir)}}sr.memoryStore=memoryStore},91724:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},68805:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CacheConfiguration=sr.getClassMethodDefaultCacheKey=void 0;const kr=lr(46123);const Fr=lr(42696);const Br=lr(91761);function getClassMethodDefaultCacheKey(ir,sr){return ir.name+"-"+(0,kr.getProviderUUId)(ir)+"-"+sr}sr.getClassMethodDefaultCacheKey=getClassMethodDefaultCacheKey;let Ur=class CacheConfiguration{async onReady(ir){this.cacheService=await ir.getAsync(Br.CachingFactory);this.decoratorService.registerMethodHandler(Fr.CACHE_DECORATOR_KEY,(({target:ir,propertyName:sr,metadata:lr})=>{if(!lr.cacheKey){lr.cacheKey=getClassMethodDefaultCacheKey(ir,sr)}return{around:async ir=>{let sr=lr.cacheKey;const hr=this.cacheService.get(lr.cacheInstanceName);if(typeof sr==="function"){sr=await sr({methodArgs:ir.args,ctx:ir.target[kr.REQUEST_OBJ_CTX_KEY],target:ir.target})}if(typeof sr==="string"){return hr.methodWrap(sr,ir.proceed,ir.args,lr.ttl)}else{return ir.proceed(...ir.args)}}}}))}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayDecoratorService)],Ur.prototype,"decoratorService",void 0);Ur=hr([(0,kr.Configuration)({namespace:"cacheManager",importConfigs:[{default:{cacheManager:{}}}]})],Ur);sr.CacheConfiguration=Ur},42696:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Caching=sr.CACHE_DECORATOR_KEY=void 0;const hr=lr(46123);sr.CACHE_DECORATOR_KEY="cache-manager:caching";function Caching(ir,lr,yr){if(typeof lr==="number"){yr=lr;lr=undefined}return(0,hr.createCustomMethodDecorator)(sr.CACHE_DECORATOR_KEY,{cacheInstanceName:ir,cacheKey:lr,ttl:yr})}sr.Caching=Caching},91761:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CachingFactory=void 0;const kr=lr(46123);const Fr=lr(8869);let Br=class CachingFactory extends kr.ServiceFactory{async init(){await this.initClients(this.cacheManagerConfig)}async createClient(ir,sr){if(Array.isArray(ir.store)){const lr=[];for(const hr of ir.store){if(typeof hr==="string"){if(!this.has(hr)){throw new kr.MidwayCommonError(`cache instance "${hr}" not found in "${sr}", please check your configuration.`)}lr.push(this.get(hr))}else if(typeof hr==="function"){lr.push(await hr())}else if(hr["wrap"]){lr.push(hr["wrap"])}else if(typeof hr==="object"){if(typeof hr.store==="function"){hr.store=await hr.store(hr["options"]||{},this.applicationContext)}if(!hr.store){throw new kr.MidwayCommonError(`cache instance "${sr}" store is undefined, please check your configuration.`)}lr.push(await(0,Fr.caching)(hr.store,hr["options"]))}else{throw new kr.MidwayCommonError("invalid cache config")}}return await(0,Fr.multiCaching)(lr)}else{if(typeof ir.store==="function"){ir.store=await ir.store(ir["options"]||{},this.applicationContext)}if(!ir.store){throw new kr.MidwayCommonError(`cache instance "${sr}" store is undefined, please check your configuration.`)}return await(0,Fr.caching)(ir.store,ir["options"])}}getName(){return"cache-manager"}getCaching(ir){return this.get(ir)}getMultiCaching(ir){return this.get(ir)}};hr([(0,kr.Config)("cacheManager"),yr("design:type",Object)],Br.prototype,"cacheManagerConfig",void 0);hr([(0,kr.ApplicationContext)(),yr("design:type",Object)],Br.prototype,"applicationContext",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"init",null);Br=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Br);sr.CachingFactory=Br},96955:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.CacheManager=sr.getClassMethodDefaultCacheKey=sr.Configuration=void 0;var kr=lr(68805);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.CacheConfiguration}});Object.defineProperty(sr,"getClassMethodDefaultCacheKey",{enumerable:true,get:function(){return kr.getClassMethodDefaultCacheKey}});yr(lr(43488),sr);yr(lr(91761),sr);yr(lr(42696),sr);sr.CacheManager=lr(8869);yr(lr(93730),sr)},43488:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},93730:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createRedisStore=void 0;const hr=lr(46123);const getVal=ir=>JSON.stringify(ir)||'"undefined"';function createRedisStore(ir){return async(sr,lr)=>{const{RedisServiceFactory:yr}=(0,hr.safeRequire)("@midwayjs/redis");const kr=await lr.getAsync(yr);const Fr=kr.get(ir);return createStore(Fr,sr)}}sr.createRedisStore=createRedisStore;function createStore(ir,sr){const lr=(sr===null||sr===void 0?void 0:sr.isCacheable)||(ir=>ir!==undefined&&ir!==null);const keys=sr=>ir.keys(sr);return{async get(sr){const lr=await ir.get(sr);if(lr===undefined||lr===null)return undefined;else{try{return JSON.parse(lr)}catch(ir){return lr}}},async set(yr,kr,Fr){if(!lr(kr))throw new hr.MidwayCommonError(`"${kr}" is not a cacheable value`);const Br=Fr===undefined?sr===null||sr===void 0?void 0:sr.ttl:Fr;if(Br!==undefined&&Br!==0)await ir.set(yr,getVal(kr),"PX",Br);else await ir.set(yr,getVal(kr))},async mset(yr,kr){const Fr=kr===undefined?sr===null||sr===void 0?void 0:sr.ttl:kr;if(Fr!==undefined&&Fr!==0){const sr=ir.multi();for(const[ir,kr]of yr){if(!lr(kr))throw new hr.MidwayCommonError(`"${getVal(kr)}" is not a cacheable value`);sr.set(ir,getVal(kr),"PX",Fr)}await sr.exec()}else await ir.mset(yr.flatMap((([ir,sr])=>{if(!lr(sr))throw new Error(`"${getVal(sr)}" is not a cacheable value`);return[ir,getVal(sr)]})))},mget:(...sr)=>ir.mget(sr).then((ir=>ir.map((ir=>{if(ir===null||ir===undefined){return undefined}else{try{return JSON.parse(ir)}catch(sr){return ir}}})))),async mdel(...sr){await ir.del(sr)},async del(sr){await ir.del(sr)},ttl:async sr=>ir.pttl(sr),keys:(ir="*")=>keys(ir),reset:()=>{throw new hr.MidwayCommonError("flushdb() is too dangerous, if necessary, please use redisServiceFactory.get(client) to get the instance and call it manually.")},isCacheable:lr}}},4074:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Cookie=void 0;const hr=lr(42613);const yr=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;const kr=/^(?:none|lax|strict)$/i;class Cookie{constructor(ir,sr,lr){hr(yr.test(ir),"argument name is invalid");hr(!sr||yr.test(sr),"argument value is invalid");this.name=ir;this.value=sr||"";this.attrs=mergeDefaultAttrs(lr);hr(!this.attrs.path||yr.test(this.attrs.path),"argument option path is invalid");hr(!this.attrs.domain||yr.test(this.attrs.domain),"argument option domain is invalid");hr(!this.attrs.sameSite||this.attrs.sameSite===true||kr.test(this.attrs.sameSite),"argument option sameSite is invalid");if(!sr){this.attrs.expires=new Date(0);this.attrs.maxAge=null}}toString(){return this.name+"="+this.value}toHeader(){let ir=this.toString();const sr=this.attrs;if(sr.path)ir+="; path="+sr.path;const lr=typeof sr.maxAge==="string"?parseInt(sr.maxAge,10):sr.maxAge;if(lr){ir+="; max-age="+Math.round(lr/1e3);sr.expires=new Date(Date.now()+lr)}if(sr.expires)ir+="; expires="+sr.expires.toUTCString();if(sr.domain)ir+="; domain="+sr.domain;if(sr.sameSite)ir+="; samesite="+(sr.sameSite===true?"strict":sr.sameSite.toLowerCase());if(sr.secure)ir+="; secure";if(sr.httpOnly)ir+="; httponly";if(sr.priority)ir+="; priority="+sr.priority;if(sr.partitioned)ir+="; partitioned";return ir}}sr.Cookie=Cookie;const Fr=["path","expires","domain","httpOnly","secure","partitioned","maxAge","overwrite","sameSite","priority"];function mergeDefaultAttrs(ir){const sr={path:"/",httpOnly:true,secure:false,overwrite:false,sameSite:false,partitioned:false};if(!ir)return sr;for(let lr=0;lr<Fr.length;lr++){const hr=Fr[lr];if(hr in ir)sr[hr]=ir[hr]}return sr}},11033:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.urlSafeDecode=sr.urlSafeEncode=sr.Cookies=void 0;const hr=lr(42613);const yr=lr(4074);const kr=lr(5693);const Fr=lr(86054);const Br=Symbol("midwayCookies:keysArray");const Ur=Symbol("midwayCookies:keys");const Wr=new Map;class Cookies{constructor(ir,sr,lr,hr){var yr;this[Br]=sr?[].concat(sr):sr;this._defaultCookieOptions=lr;this._defaultGetCookieOptions=hr;this.ctx=ir;this.secure=(yr=lr===null||lr===void 0?void 0:lr.secure)!==null&&yr!==void 0?yr:this.ctx.secure;this.app=ir.app}get keys(){if(!this[Ur]){const ir=this[Br];hr(Array.isArray(ir),".keys required for encrypt/sign cookies");const sr=Wr.get(ir);if(sr){this[Ur]=sr}else{this[Ur]=new kr.Keygrip(this[Br]);Wr.set(ir,this[Ur])}}return this[Ur]}get(ir,sr){sr=Object.assign({},this._defaultGetCookieOptions||{},sr);const lr=computeSigned(sr);const hr=this.ctx.get("cookie");if(!hr)return;const yr=hr.match(getPattern(ir));if(!yr)return;let kr=yr[1];if(!sr.encrypt&&!lr)return kr;if(lr){const sr=ir+".sig";const lr=this.get(sr,{signed:false});if(!lr)return;const hr=ir+"="+kr;const yr=this.keys.verify(hr,lr);if(yr<0){this.set(sr,null,{path:"/",signed:false});return}if(yr>0){this.set(sr,this.keys.sign(hr),{signed:false})}return kr}kr=urlSafeDecode(kr);const Fr=this.keys.decrypt(kr);if(Fr===null||Fr===void 0?void 0:Fr.value){return Fr.value.toString()}return undefined}set(ir,sr,lr){if(!lr&&typeof sr!=="string"){lr=sr;sr=""}lr=Object.assign({},this._defaultCookieOptions,lr);const hr=computeSigned(lr);sr=sr||"";if(!this.secure&&lr.secure){throw new Error("Cannot send secure cookie over unencrypted connection")}let kr=this.ctx.response.get("set-cookie")||[];if(!Array.isArray(kr))kr=[kr];if(lr.encrypt){sr=sr&&urlSafeEncode(this.keys.encrypt(sr))}if(sr.length>4093){this.app.emit("cookieLimitExceed",{name:ir,value:sr,ctx:this.ctx})}const Fr=this.ctx.get("user-agent");if(lr.sameSite&&typeof lr.sameSite==="string"&&lr.sameSite.toLowerCase()==="none"){if(!this.secure||Fr&&!this.isSameSiteNoneCompatible(Fr)){lr.sameSite=false}}if(lr.partitioned){if(!this.secure||!Fr||Fr&&!this.isPartitionedCompatible(Fr)){lr.partitioned=false}}if(lr.partitioned&&lr.removeUnpartitioned){const sr=lr.overwrite;if(sr){lr.overwrite=false;kr=ignoreCookiesByName(kr,ir)}const Fr=Object.assign({},lr,{partitioned:false});const Br=new yr.Cookie(ir,"",Fr);if(lr.secure===undefined)Br.attrs.secure=this.secure;kr=pushCookie(kr,Br);if(hr){Br.name+=".sig";kr=ignoreCookiesByName(kr,Br.name);kr=pushCookie(kr,Br)}}if(lr.priority){if(!Fr||Fr&&!this.isPriorityCompatible(Fr)){lr.priority=undefined}}const Br=new yr.Cookie(ir,sr,lr);if(lr.secure===undefined)Br.attrs.secure=this.secure;kr=pushCookie(kr,Br);if(hr){Br.value=sr&&this.keys.sign(Br.toString());Br.name+=".sig";kr=pushCookie(kr,Br)}this.ctx.set("set-cookie",kr);return this}isSameSiteNoneCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=80}return(0,Fr.isSameSiteNoneCompatible)(ir)}isPartitionedCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=114}return false}parseChromiumAndMajorVersion(ir){if(!this.uaParseResult){const sr=/Chrom[^ /]+\/(\d+)[.\d]* /.exec(ir);if(!sr)return{chromium:false,majorVersion:undefined};this.uaParseResult={chromium:true,majorVersion:parseInt(sr[1])}}return this.uaParseResult}isPriorityCompatible(ir){const sr=this.parseChromiumAndMajorVersion(ir);if(sr.chromium&&sr.majorVersion){return sr.majorVersion>=81}return false}}sr.Cookies=Cookies;const zr=new Map;function getPattern(ir){const sr=zr.get(ir);if(sr)return sr;const lr=new RegExp("(?:^|;) *"+ir.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")+"=([^;]*)");zr.set(ir,lr);return lr}function computeSigned(ir){if(ir.encrypt)return false;return ir.signed!==false}function pushCookie(ir,sr){if(sr.attrs.overwrite){ir=ignoreCookiesByName(ir,sr.name)}ir.push(sr.toHeader());return ir}function ignoreCookiesByName(ir,sr){const lr=`${sr}=`;return ir.filter((ir=>!ir.startsWith(lr)))}function urlSafeEncode(ir){return ir.replace(/\+/g,"-").replace(/\//g,"_")}sr.urlSafeEncode=urlSafeEncode;function urlSafeDecode(ir){return ir.replace(/-/g,"+").replace(/_/g,"/")}sr.urlSafeDecode=urlSafeDecode},60990:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(33249),sr);yr(lr(11033),sr)},33249:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},5693:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Keygrip=void 0;const hr=lr(42613);const yr=lr(39023);const kr=lr(76982);const Fr=lr(48978);const Br=(0,yr.debuglog)("midway:cookies");const Ur={"/":"_","+":"-","=":""};class Keygrip{constructor(ir){hr(Array.isArray(ir)&&ir.length,"keys must be provided and should be an array");this.keys=ir;this.hash="sha256"}encrypt(ir,sr){sr=sr||this.keys[0];try{ir=String(ir);const lr=getAlgorithm();const hr=(0,kr.randomBytes)(64);const yr=(0,kr.randomBytes)(16);const Fr=Math.floor(Math.random()*(99999-1e4+1))+1e4;const Br=deriveKeyFromPassword(sr,hr,Math.floor(Fr*.47+1337));const Ur=(0,kr.createCipheriv)(lr,Br,yr);const Wr=Buffer.concat([Ur.update(ir,"utf8"),Ur.final()]);const zr=Ur.getAuthTag();const Jr=Buffer.concat([hr,yr,zr,Buffer.from(Fr.toString()),Wr]).toString("hex");return getEncryptedPrefix()+Jr}catch(ir){Br("crypt error",ir.stack);return undefined}}decrypt(ir,sr){if(!sr){const sr=this.keys;for(let lr=0;lr<sr.length;lr++){const hr=this.decrypt(ir,sr[lr]);if(hr!==false)return{value:hr,index:lr}}return false}try{const lr=getAlgorithm();const hr=ir.split(getEncryptedPrefix());if(hr.length!==2){return void 0}else{ir=hr[1]}const yr=Buffer.from(ir,"hex");const Fr=yr.slice(0,64);const Br=yr.slice(64,80);const Ur=yr.slice(80,96);const Wr=parseInt(yr.slice(96,101).toString("utf-8"),10);const zr=yr.slice(101);const Jr=deriveKeyFromPassword(sr,Fr,Math.floor(Wr*.47+1337));const Hr=(0,kr.createDecipheriv)(lr,Jr,Br);Hr.setAuthTag(Ur);return Hr.update(zr,"binary","utf-8")+Hr.final("utf-8")}catch(ir){Br("crypt error",ir.stack);return false}}sign(ir,sr){sr=sr||this.keys[0];return(0,kr.createHmac)(this.hash,sr).update(ir).digest("base64").replace(/\/|\+|=/g,(ir=>Ur[ir]))}verify(ir,sr){const lr=this.keys;for(let hr=0;hr<lr.length;hr++){if(Fr(Buffer.from(sr),Buffer.from(this.sign(ir,lr[hr])))){Br("data %s match key %s",ir,lr[hr]);return hr}}return-1}}sr.Keygrip=Keygrip;function getAlgorithm(){return"aes-256-gcm"}function getEncryptedPrefix(){return"enc::"}function deriveKeyFromPassword(ir,sr,lr){return(0,kr.pbkdf2Sync)(ir,sr,lr,32,"sha512")}},83872:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BaseFramework=void 0;const kr=lr(6192);const Fr=lr(2222);const Br=lr(49757);const Ur=lr(97983);const Wr=lr(70275);const zr=lr(78842);const Jr=lr(37482);const Hr=lr(34888);const Gr=lr(12738);const Yr=lr(68220);const Qr=lr(39408);const Zr=lr(77306);const cn=lr(39023);const un=lr(75351);const Tn=lr(40581);const jn=cn.debuglog("midway:debug");class BaseFramework{constructor(ir){this.applicationContext=ir;this.defaultContext={};this.middlewareManager=this.createMiddlewareManager();this.filterManager=this.createFilterManager();this.guardManager=this.createGuardManager();this.composeMiddleware=null}async init(){var ir,sr;this.configurationOptions=(ir=this.configure())!==null&&ir!==void 0?ir:{};this.contextLoggerApplyLogger=(sr=this.configurationOptions.contextLoggerApplyLogger)!==null&&sr!==void 0?sr:"appLogger";this.contextLoggerFormat=this.configurationOptions.contextLoggerFormat;this.logger=this.loggerService.getLogger("coreLogger");this.appLogger=this.loggerService.getLogger("appLogger");return this}isEnable(){return true}async initialize(ir){this.bootstrapOptions=ir;await this.beforeContainerInitialize(ir);await this.containerInitialize(ir);await this.afterContainerInitialize(ir);await this.containerDirectoryLoad(ir);await this.afterContainerDirectoryLoad(ir);await this.applicationInitialize(ir);await this.containerReady(ir);await this.afterContainerReady(ir);await this.mockService.runSimulatorAppSetup(this.app)}async containerInitialize(ir){}async containerDirectoryLoad(ir){}async containerReady(ir){if(!this.app.getApplicationContext){this.defineApplicationProperties()}}getApplicationContext(){return this.applicationContext}getConfiguration(ir){return this.configService.getConfiguration(ir)}getCurrentEnvironment(){return this.environmentService.getCurrentEnvironment()}getApplication(){return this.app}createContextLogger(ir,sr){if(sr&&sr!=="appLogger"){const lr=this.getLogger(sr);let hr=ir.getAttr(Fr.REQUEST_CTX_LOGGER_CACHE_KEY);if(!hr){hr=new Map;ir.setAttr(Fr.REQUEST_CTX_LOGGER_CACHE_KEY,hr)}if(hr.has(sr)){return hr.get(sr)}const yr=this.loggerService.createContextLogger(ir,lr);hr.set(sr,yr);return yr}else{const lr=this.getLogger(sr!==null&&sr!==void 0?sr:this.contextLoggerApplyLogger);if(ir["_logger"]){return ir["_logger"]}ir["_logger"]=this.loggerService.createContextLogger(ir,lr,{contextFormat:this.contextLoggerFormat});return ir["_logger"]}}async stop(){await this.mockService.runSimulatorAppTearDown(this.app);await this.beforeStop()}getAppDir(){return this.informationService.getAppDir()}getBaseDir(){return this.informationService.getBaseDir()}defineApplicationProperties(ir={},sr=[]){const lr={getBaseDir:()=>this.getBaseDir(),getAppDir:()=>this.getAppDir(),getEnv:()=>this.getCurrentEnvironment(),getApplicationContext:()=>this.getApplicationContext(),getConfig:ir=>this.getConfiguration(ir),getFrameworkType:()=>{if(this["getFrameworkType"]){return this["getFrameworkType"]()}},getProcessType:()=>kr.MidwayProcessTypeEnum.APPLICATION,getCoreLogger:()=>this.getCoreLogger(),getLogger:ir=>this.getLogger(ir),createLogger:(ir,sr={})=>this.createLogger(ir,sr),getFramework:()=>this,getProjectName:()=>this.getProjectName(),createAnonymousContext:ir=>{const sr=ir||Object.create(this.defaultContext);if(!sr.startTime){sr.startTime=Date.now()}if(!sr.logger){sr.logger=this.createContextLogger(sr)}if(!sr.requestContext){sr.requestContext=new Ur.MidwayRequestContainer(sr,this.getApplicationContext());sr.requestContext.ready()}if(!sr.getLogger){sr.getLogger=ir=>this.createContextLogger(sr,ir)}sr.setAttr=(ir,lr)=>{sr.requestContext.setAttr(ir,lr)};sr.getAttr=ir=>sr.requestContext.getAttr(ir);sr.getApp=()=>this.getApplication();return sr},addConfigObject:ir=>{this.configService.addObject(ir)},setAttr:(ir,sr)=>{this.getApplicationContext().setAttr(ir,sr)},getAttr:ir=>this.getApplicationContext().getAttr(ir),useMiddleware:ir=>this.useMiddleware(ir),getMiddleware:()=>this.getMiddleware(),useFilter:ir=>this.useFilter(ir),useGuard:ir=>this.useGuard(ir),getNamespace:()=>this.getNamespace()};for(const ir of sr){delete lr[ir]}Object.assign(this.app,lr,ir)}async beforeStop(){}async beforeContainerInitialize(ir){}async afterContainerInitialize(ir){}async afterContainerDirectoryLoad(ir){}async afterContainerReady(ir){}async applyMiddleware(ir){var sr;if(!this.composeMiddleware){if(!this.applicationContext.hasObject(Fr.ASYNC_CONTEXT_MANAGER_KEY)){const ir=this.configService.getConfiguration("asyncContextManager.enable")||false;const lr=ir?((sr=this.bootstrapOptions)===null||sr===void 0?void 0:sr.asyncContextManager)||new un.NoopContextManager:new un.NoopContextManager;if(ir){lr.enable()}this.applicationContext.registerObject(Fr.ASYNC_CONTEXT_MANAGER_KEY,lr)}this.middlewareManager.insertFirst((async(ir,sr)=>{const lr=un.ASYNC_ROOT_CONTEXT.setValue(Fr.ASYNC_CONTEXT_KEY,ir);const hr=this.applicationContext.get(Fr.ASYNC_CONTEXT_MANAGER_KEY);return await hr.with(lr,(async()=>{await this.mockService.runSimulatorContextSetup(ir,this.app);this.mockService.applyContextMocks(this.app,ir);let lr=undefined;try{const hr=await sr();lr=await this.filterManager.runResultFilter(hr,ir)}catch(sr){lr=await this.filterManager.runErrorFilter(sr,ir)}finally{await this.mockService.runSimulatorContextTearDown(ir,this.app)}if(lr.error){throw lr.error}return lr.result}))}));jn(`[core]: Compose middleware = [${this.middlewareManager.getNames()}]`);this.composeMiddleware=await this.middlewareService.compose(this.middlewareManager,this.app);await this.filterManager.init(this.applicationContext)}if(ir){ir=Array.isArray(ir)?ir:[ir];return await this.middlewareService.compose([this.composeMiddleware,...ir],this.app)}return this.composeMiddleware}getLogger(ir){var sr;return(sr=this.loggerService.getLogger(ir))!==null&&sr!==void 0?sr:this.appLogger}getCoreLogger(){return this.logger}createLogger(ir,sr={}){return this.loggerService.createLogger(ir,sr)}getProjectName(){return this.informationService.getProjectName()}getFrameworkName(){return this.constructor.name}useMiddleware(ir){this.middlewareManager.insertLast(ir)}getMiddleware(){return this.middlewareManager}useFilter(ir){return this.filterManager.useFilter(ir)}useGuard(ir){return this.guardManager.addGlobalGuard(ir)}async runGuard(ir,sr,lr){return this.guardManager.runGuard(ir,sr,lr)}createMiddlewareManager(){return new Gr.ContextMiddlewareManager}createFilterManager(){return new Qr.FilterManager}createGuardManager(){return new Tn.GuardManager}setNamespace(ir){this.namespace=ir}getNamespace(){return this.namespace}}hr([(0,Br.Inject)(),yr("design:type",Hr.MidwayLoggerService)],BaseFramework.prototype,"loggerService",void 0);hr([(0,Br.Inject)(),yr("design:type",Wr.MidwayEnvironmentService)],BaseFramework.prototype,"environmentService",void 0);hr([(0,Br.Inject)(),yr("design:type",zr.MidwayConfigService)],BaseFramework.prototype,"configService",void 0);hr([(0,Br.Inject)(),yr("design:type",Jr.MidwayInformationService)],BaseFramework.prototype,"informationService",void 0);hr([(0,Br.Inject)(),yr("design:type",Yr.MidwayMiddlewareService)],BaseFramework.prototype,"middlewareService",void 0);hr([(0,Br.Inject)(),yr("design:type",Zr.MidwayMockService)],BaseFramework.prototype,"mockService",void 0);hr([(0,Br.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],BaseFramework.prototype,"init",null);sr.BaseFramework=BaseFramework},43436:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayApplicationManager=void 0;const yr=lr(6192);const kr=lr(49757);let Fr=class MidwayApplicationManager{constructor(){this.globalFrameworkMap=new Map;this.globalFrameworkTypeMap=new WeakMap}addFramework(ir,sr){this.globalFrameworkMap.set(ir,sr);if(sr["getFrameworkType"]){this.globalFrameworkTypeMap.set(sr["getFrameworkType"](),sr)}}getFramework(ir){if(typeof ir==="string"){if(this.globalFrameworkMap.has(ir)){return this.globalFrameworkMap.get(ir)}}else{if(this.globalFrameworkTypeMap.has(ir)){return this.globalFrameworkTypeMap.get(ir)}}}getApplication(ir){if(typeof ir==="string"){if(this.globalFrameworkMap.has(ir)){return this.globalFrameworkMap.get(ir).getApplication()}}else{if(this.globalFrameworkTypeMap.has(ir)){return this.globalFrameworkTypeMap.get(ir).getApplication()}}}getApplications(ir){if(!ir){return Array.from(this.globalFrameworkMap.values()).map((ir=>ir.getApplication())).filter((ir=>!!ir))}else{return ir.map((ir=>this.getApplication(ir))).filter((ir=>!!ir))}}};Fr=hr([(0,kr.Provide)(),(0,kr.Scope)(yr.ScopeEnum.Singleton)],Fr);sr.MidwayApplicationManager=Fr},75351:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.NoopContextManager=sr.ASYNC_ROOT_CONTEXT=void 0;class AsyncBaseContext{constructor(ir){const sr=this;sr._currentContext=ir?new Map(ir):new Map;sr.getValue=ir=>sr._currentContext.get(ir);sr.setValue=(ir,lr)=>{const hr=new AsyncBaseContext(sr._currentContext);hr._currentContext.set(ir,lr);return hr};sr.deleteValue=ir=>{const lr=new AsyncBaseContext(sr._currentContext);lr._currentContext.delete(ir);return lr}}}sr.ASYNC_ROOT_CONTEXT=new AsyncBaseContext;class NoopContextManager{active(){return sr.ASYNC_ROOT_CONTEXT}with(ir,sr,lr,...hr){return sr.call(lr,...hr)}bind(ir,sr){return sr}enable(){return this}disable(){return this}}sr.NoopContextManager=NoopContextManager},46673:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.DataListener=void 0;const kr=lr(49757);class DataListener{async init(){this.innerData=await this.initData();await this.onData(this.setData.bind(this))}setData(ir){this.innerData=ir}getData(){return this.innerData}async stop(){await this.destroyListener()}async destroyListener(){}}hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],DataListener.prototype,"init",null);hr([(0,kr.Destroy)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],DataListener.prototype,"stop",null);sr.DataListener=DataListener},12849:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.globModels=sr.formatGlobString=sr.DataSourceManager=void 0;const kr=lr(83486);const Fr=lr(86314);const Br=lr(62525);const Ur=lr(16928);const Wr=lr(63289);const zr=lr(2222);const Jr=lr(39023);const Hr=lr(65308);const Gr=lr(49757);const Yr=lr(70275);const Qr=lr(78842);const Zr=lr(67934);const cn=(0,Jr.debuglog)("midway:debug");class DataSourceManager{constructor(){this.dataSource=new Map;this.options={};this.modelMapping=new WeakMap;this.dataSourcePriority={}}async initDataSource(ir,sr){var lr,hr;this.options=ir;if(!this.options.dataSource){throw new Fr.MidwayParameterError("[DataSourceManager] must set options.dataSource.")}if(typeof sr==="string"){sr={baseDir:sr,entitiesConfigKey:"entities"}}const yr=sr;const kr=(hr=(lr=this.configService)===null||lr===void 0?void 0:lr.getConfiguration("core.concurrentDataSourceInitialization"))!==null&&hr!==void 0?hr:false;const processDataSource=async sr=>{var lr;const hr=ir.dataSource[sr];const kr=hr[yr.entitiesConfigKey];if(kr){const ir=new Set;for(const hr of kr){if(typeof hr==="string"){const kr=await globModels(hr,yr.baseDir,(lr=this.environmentService)===null||lr===void 0?void 0:lr.getModuleLoadType());for(const lr of kr){ir.add(lr);this.modelMapping.set(lr,sr)}}else{ir.add(hr);this.modelMapping.set(hr,sr)}}hr[yr.entitiesConfigKey]=Array.from(ir);cn(`[core]: DataManager load ${hr[yr.entitiesConfigKey].length} models from ${sr}.`)}const Fr={cacheInstance:ir.cacheInstance,validateConnection:ir.validateConnection};await this.createInstance(hr,sr,Fr)};const Br=Object.keys(ir.dataSource);if(kr){await Promise.all(Br.map(processDataSource))}else{for(const ir of Br){await processDataSource(ir)}}}getDataSource(ir){return this.dataSource.get(ir)}hasDataSource(ir){return this.dataSource.has(ir)}getDataSourceNames(){return Array.from(this.dataSource.keys())}getAllDataSources(){return this.dataSource}async isConnected(ir){const sr=this.getDataSource(ir);return sr?this.checkConnected(sr):false}async createInstance(ir,sr,lr){const hr=lr&&typeof lr.cacheInstance==="boolean"?lr.cacheInstance:true;const yr=lr&&lr.validateConnection||false;const Br=(0,kr.extend)(true,{},this.options["default"],ir);const Ur=await this.createDataSource(Br,sr);if(hr&&sr&&Ur){this.dataSource.set(sr,Ur)}if(yr){if(!Ur){throw new Fr.MidwayCommonError(`[DataSourceManager] ${sr} initialization failed.`)}const ir=await this.checkConnected(Ur);if(!ir){throw new Fr.MidwayCommonError(`[DataSourceManager] ${sr} is not connected.`)}}return Ur}getDataSourceNameByModel(ir){return this.modelMapping.get(ir)}async stop(){const ir=Array.from(this.dataSource.values());await Promise.all(ir.map((ir=>this.destroyDataSource(ir))));this.dataSource.clear()}getDefaultDataSourceName(){if(this.innerDefaultDataSourceName===undefined){if(this.options["defaultDataSourceName"]){this.innerDefaultDataSourceName=this.options["defaultDataSourceName"]}else if(this.dataSource.size===1){this.innerDefaultDataSourceName=Array.from(this.dataSource.keys())[0]}else{this.innerDefaultDataSourceName=""}}return this.innerDefaultDataSourceName}getDataSourcePriority(ir){return this.priorityManager.getPriority(this.dataSourcePriority[ir])}isHighPriority(ir){return this.priorityManager.isHighPriority(this.dataSourcePriority[ir])}isMediumPriority(ir){return this.priorityManager.isMediumPriority(this.dataSourcePriority[ir])}isLowPriority(ir){return this.priorityManager.isLowPriority(this.dataSourcePriority[ir])}}hr([(0,Gr.Inject)(),yr("design:type",String)],DataSourceManager.prototype,"appDir",void 0);hr([(0,Gr.Inject)(),yr("design:type",Yr.MidwayEnvironmentService)],DataSourceManager.prototype,"environmentService",void 0);hr([(0,Gr.Inject)(),yr("design:type",Qr.MidwayConfigService)],DataSourceManager.prototype,"configService",void 0);hr([(0,Gr.Inject)(),yr("design:type",Zr.MidwayPriorityManager)],DataSourceManager.prototype,"priorityManager",void 0);sr.DataSourceManager=DataSourceManager;function formatGlobString(ir){let sr;if(!/^\*/.test(ir)){ir="/"+ir}const lr=(0,Ur.parse)(ir);if(lr.base&&(/\*/.test(lr.base)||lr.ext)){sr=[ir]}else{sr=[...zr.DEFAULT_PATTERN.map((sr=>(0,Ur.join)(ir,sr)))]}return sr}sr.formatGlobString=formatGlobString;async function globModels(ir,sr,lr){const hr=formatGlobString(ir);const yr=[];const kr=(0,Br.run)(hr,{cwd:sr,ignore:zr.IGNORE_PATTERN});for(const ir of kr){const sr=await(0,Hr.loadModule)(ir,{loadMode:lr});if(Wr.Types.isClass(sr)){yr.push(sr)}else{for(const ir in sr){const lr=sr[ir];if(Wr.Types.isClass(lr)){yr.push(lr)}}}}return yr}sr.globModels=globModels},1845:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.CustomModuleDetector=sr.ESModuleFileDetector=sr.CommonJSFileDetector=sr.AbstractFileDetector=void 0;const hr=lr(63289);const yr=lr(62525);const kr=lr(86314);const Fr=lr(2222);const Br=lr(49757);const Ur=lr(65308);class AbstractFileDetector{constructor(ir){this.options=ir;this.extraDetectorOptions={}}setExtraDetectorOptions(ir){this.extraDetectorOptions=ir}}sr.AbstractFileDetector=AbstractFileDetector;const Wr=["**/**.tsx"].concat(Fr.DEFAULT_PATTERN);const zr=["**/logs/**","**/run/**","**/public/**","**/app/view/**","**/app/views/**","**/app/extend/**","**/node_modules/**","**/**.test.ts","**/**.test.js","**/__test__/**"].concat(Fr.IGNORE_PATTERN);class CommonJSFileDetector extends AbstractFileDetector{constructor(){super(...arguments);this.duplicateModuleCheckSet=new Map}run(ir){if(this.getType()==="commonjs"){return this.loadSync(ir)}else{return this.loadAsync(ir)}}loadSync(ir){var sr;this.options=this.options||{};const lr=[].concat((sr=this.options.loadDir)!==null&&sr!==void 0?sr:ir.get("baseDir"));for(const sr of lr){const lr=(0,yr.run)(Wr.concat(this.options.pattern||[]).concat(this.extraDetectorOptions.pattern||[]),{cwd:sr,ignore:zr.concat(this.options.ignore||[]).concat(this.extraDetectorOptions.ignore||[])});const checkDuplicatedHandler=(ir,sr)=>{if((this.options.conflictCheck||this.extraDetectorOptions.conflictCheck)&&hr.Types.isClass(ir)){const lr=(0,Br.getProviderName)(ir);if(lr){if(this.duplicateModuleCheckSet.has(lr)){throw new kr.MidwayDuplicateClassNameError(lr,sr.srcPath,this.duplicateModuleCheckSet.get(lr))}else{this.duplicateModuleCheckSet.set(lr,sr.srcPath)}}}};for(const sr of lr){const lr=require(sr);ir.bindClass(lr,{namespace:this.options.namespace,srcPath:sr,createFrom:"file",bindHook:checkDuplicatedHandler})}}this.duplicateModuleCheckSet.clear()}async loadAsync(ir){var sr;this.options=this.options||{};const lr=[].concat((sr=this.options.loadDir)!==null&&sr!==void 0?sr:ir.get("baseDir"));for(const sr of lr){const lr=(0,yr.run)(Wr.concat(this.options.pattern||[]).concat(this.extraDetectorOptions.pattern||[]),{cwd:sr,ignore:zr.concat(this.options.ignore||[]).concat(this.extraDetectorOptions.ignore||[])});const checkDuplicatedHandler=(ir,sr)=>{if((this.options.conflictCheck||this.extraDetectorOptions.conflictCheck)&&hr.Types.isClass(ir)){const lr=(0,Br.getProviderName)(ir);if(lr){if(this.duplicateModuleCheckSet.has(lr)){throw new kr.MidwayDuplicateClassNameError(lr,sr.srcPath,this.duplicateModuleCheckSet.get(lr))}else{this.duplicateModuleCheckSet.set(lr,sr.srcPath)}}}};for(const sr of lr){const lr=await(0,Ur.loadModule)(sr,{loadMode:"esm"});ir.bindClass(lr,{namespace:this.options.namespace,srcPath:sr,createFrom:"file",bindHook:checkDuplicatedHandler})}}this.duplicateModuleCheckSet.clear()}getType(){return"commonjs"}}sr.CommonJSFileDetector=CommonJSFileDetector;class ESModuleFileDetector extends CommonJSFileDetector{getType(){return"module"}}sr.ESModuleFileDetector=ESModuleFileDetector;class CustomModuleDetector extends AbstractFileDetector{async run(ir){for(const sr of this.options.modules){ir.bindClass(sr,{namespace:this.options.namespace,createFrom:"module"})}}}sr.CustomModuleDetector=CustomModuleDetector},39408:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FilterManager=void 0;const hr=lr(49757);const yr=lr(65308);class FilterManager{constructor(){this.errFilterList=[];this.successFilterList=[];this.exceptionMap=new WeakMap;this.defaultErrFilter=undefined;this.matchFnList=[];this.protoMatchList=[]}useFilter(ir){if(!Array.isArray(ir)){ir=[ir]}for(const sr of ir){if((0,hr.getClassMetadata)(hr.CATCH_KEY,sr)){this.errFilterList.push(sr)}if((0,hr.getClassMetadata)(hr.MATCH_KEY,sr)){this.successFilterList.push(sr)}}}async init(ir){for(const sr of this.errFilterList){const lr=await ir.getAsync(sr);const yr=(0,hr.getClassMetadata)(hr.CATCH_KEY,sr);if(yr&&yr.catchTargets){yr.catchOptions=yr.catchOptions||{};for(const ir of yr.catchTargets){this.exceptionMap.set(ir,{filter:lr,catchOptions:yr.catchOptions});if(yr.catchOptions["matchPrototype"]){this.protoMatchList.push((sr=>{if(sr instanceof ir){return ir}else{return false}}))}}}else{this.defaultErrFilter=lr}}for(const sr of this.successFilterList){const lr=await ir.getAsync(sr);const kr=(0,hr.getClassMetadata)(hr.MATCH_KEY,sr);if(kr&&kr.matchPattern){this.matchFnList.push({matchFn:(0,yr.toPathMatch)(kr.matchPattern),target:lr})}}}async runErrorFilter(ir,sr,lr,hr){let yr,kr;let Fr=false;if(ir&&this.exceptionMap.has(ir.constructor)){Fr=true;const kr=this.exceptionMap.get(ir.constructor);yr=await kr.filter.catch(ir,sr,lr,hr)}if(!Fr&&this.protoMatchList.length){let kr;for(const sr of this.protoMatchList){kr=sr(ir);if(kr){break}}if(kr){Fr=true;const Br=this.exceptionMap.get(kr);yr=await Br.filter.catch(ir,sr,lr,hr)}}if(!Fr&&this.defaultErrFilter){Fr=true;yr=await this.defaultErrFilter.catch(ir,sr,lr,hr)}if(!Fr){kr=ir}return{result:yr,error:kr}}async runResultFilter(ir,sr,lr,hr){let yr=ir;for(const ir of this.matchFnList){if(ir.matchFn(sr,lr)){yr=await ir.target.match(yr,sr,lr,hr)}}return{result:yr,error:undefined}}}sr.FilterManager=FilterManager},40581:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.GuardManager=void 0;const hr=lr(49757);class GuardManager extends Array{addGlobalGuard(ir){if(!Array.isArray(ir)){this.push(ir)}else{this.push(...ir)}}async runGuard(ir,sr,lr){for(const hr of this){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}const yr=(0,hr.getClassMetadata)(hr.GUARD_KEY,sr);if(yr){for(const hr of yr){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}}const kr=(0,hr.getPropertyMetadata)(hr.GUARD_KEY,sr,lr);if(kr){for(const hr of kr){const yr=await ir.requestContext.getAsync(hr);const kr=await yr.canActivate(ir,sr,lr);if(!kr){return false}}}return true}}sr.GuardManager=GuardManager},82535:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DefaultConsoleLoggerFactory=sr.LoggerFactory=void 0;class LoggerFactory{}sr.LoggerFactory=LoggerFactory;class DefaultConsoleLoggerFactory{constructor(){this.instance=new Map}createLogger(ir,sr){this.instance.set(ir,console);return console}getLogger(ir){return this.instance.get(ir)}close(ir){}removeLogger(ir){}getDefaultMidwayLoggerConfig(){return{midwayLogger:{default:{},clients:{coreLogger:{},appLogger:{}}}}}createContextLogger(ir,sr,lr){return sr}getClients(){return this.instance}getClientKeys(){return Array.from(this.instance.keys())}}sr.DefaultConsoleLoggerFactory=DefaultConsoleLoggerFactory},12738:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createMiddleware=sr.ContextMiddlewareManager=void 0;class ContextMiddlewareManager extends Array{insertFirst(ir){if(Array.isArray(ir)){this.unshift(...ir)}else{this.unshift(ir)}}insertLast(ir){if(Array.isArray(ir)){this.push(...ir)}else{this.push(ir)}}insertBefore(ir,sr){if(typeof sr!=="number"){sr=this.findItemIndex(sr)}if(Array.isArray(ir)){this.splice(sr,0,...ir)}else{this.splice(sr,0,ir)}}insertAfter(ir,sr){if(typeof sr!=="number"){sr=this.findItemIndex(sr)}if(Array.isArray(ir)){this.splice(sr+1,0,...ir)}else{this.splice(sr+1,0,ir)}}findAndInsertAfter(ir,sr){ir=this.findItem(ir);sr=this.findItem(sr);if(!ir||!sr||ir===sr){return}if(sr){const lr=this.remove(ir);if(lr){this.insertAfter(lr,sr)}}}findAndInsertBefore(ir,sr){ir=this.findItem(ir);sr=this.findItem(sr);if(!ir||!sr||ir===sr){return}if(sr){const lr=this.remove(ir);if(lr){this.insertBefore(lr,sr)}}}findAndInsertFirst(ir){const sr=this.remove(ir);if(sr){this.insertFirst(sr)}}findAndInsertLast(ir){const sr=this.remove(ir);if(sr){this.insertLast(sr)}}findItemIndex(ir){if(typeof ir==="number"){return ir}else if(typeof ir==="string"){return this.findIndex((sr=>this.getMiddlewareName(sr)===ir))}else{return this.findIndex((sr=>sr===ir))}}findItem(ir){if(typeof ir==="number"){if(ir>=0&&ir<=this.length-1){return this[ir]}}else if(typeof ir==="string"){return this.find((sr=>this.getMiddlewareName(sr)===ir))}else{return ir}}getMiddlewareName(ir){var sr,lr,hr;if(ir["middleware"]){return(sr=ir.name)!==null&&sr!==void 0?sr:this.getMiddlewareName(ir["middleware"])}return(hr=(lr=ir.getName&&ir.getName())!==null&&lr!==void 0?lr:ir._name)!==null&&hr!==void 0?hr:ir.name}remove(ir){if(typeof ir==="number"&&ir!==-1){return this.splice(ir,1)[0]}else{const sr=this.findItemIndex(ir);if(sr!==-1){return this.splice(sr,1)[0]}}}push(...ir){ir.forEach((ir=>{if(typeof ir!=="string"&&!this.getMiddlewareName(ir)){ir._name="anonymous"}}));return super.push(...ir)}unshift(...ir){ir.forEach((ir=>{if(typeof ir!=="string"&&!this.getMiddlewareName(ir)){ir._name="anonymous"}}));return super.unshift(...ir)}getNames(){return this.map((ir=>this.getMiddlewareName(ir)))}}sr.ContextMiddlewareManager=ContextMiddlewareManager;function createMiddleware(ir,sr,lr){return{middleware:ir,options:sr,name:lr}}sr.createMiddleware=createMiddleware},70032:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayInitializerPerformanceManager=sr.MidwayPerformanceManager=void 0;const hr=lr(82987);class MidwayPerformanceManager{constructor(ir){this.group=ir;this.observer=null;this.marks=new Set;this.measures=new Set}static getInstance(ir){if(!this.instances.has(ir)){this.instances.set(ir,new MidwayPerformanceManager(ir))}return this.instances.get(ir)}formatKey(ir,sr){return`${this.group}:${ir}-${sr}`}markStart(ir){const sr=this.formatKey(ir,"start");hr.performance.mark(sr);this.marks.add(sr)}markEnd(ir){const sr=this.formatKey(ir,"start");const lr=this.formatKey(ir,"end");const yr=`${this.group}:${ir}`;hr.performance.mark(lr);this.marks.add(lr);hr.performance.measure(yr,sr,lr);this.measures.add(yr)}observeMeasure(ir){if(this.observer){return}this.observer=new hr.PerformanceObserver((sr=>{const lr=sr.getEntries().filter((ir=>ir.name.startsWith(`${this.group}:`)));if(lr.length>0){ir({getEntries:()=>lr})}}));this.observer.observe({entryTypes:["measure"]});return this.observer}disconnect(){if(this.observer){this.observer.disconnect();this.observer=null}}clean(){this.marks.forEach((ir=>{try{hr.performance.clearMarks(ir)}catch(sr){console.warn(`Failed to clear mark ${ir}: ${sr}`)}}));this.marks.clear();this.measures.forEach((ir=>{try{hr.performance.clearMeasures(ir)}catch(sr){console.warn(`Failed to clear measure ${ir}: ${sr}`)}}));this.measures.clear();this.disconnect()}static cleanAll(){this.instances.forEach((ir=>ir.clean()));this.instances.clear()}static getInitialPerformanceEntries(){const ir=[];hr.performance===null||hr.performance===void 0?void 0:hr.performance.getEntries().forEach((sr=>{if(sr.name.startsWith(this.DEFAULT_GROUP.INITIALIZE)){ir.push(sr.toJSON())}}));return ir}}sr.MidwayPerformanceManager=MidwayPerformanceManager;MidwayPerformanceManager.instances=new Map;MidwayPerformanceManager.DEFAULT_GROUP={INITIALIZE:"MidwayInitialize"};class MidwayInitializerPerformanceManager{static markStart(ir){const sr=MidwayPerformanceManager.getInstance(MidwayPerformanceManager.DEFAULT_GROUP.INITIALIZE);sr.markStart(ir)}static markEnd(ir){const sr=MidwayPerformanceManager.getInstance(MidwayPerformanceManager.DEFAULT_GROUP.INITIALIZE);sr.markEnd(ir)}static frameworkInitializeStart(ir){this.markStart(`${this.MEASURE_KEYS.FRAMEWORK_INITIALIZE}:${ir}`)}static frameworkInitializeEnd(ir){this.markEnd(`${this.MEASURE_KEYS.FRAMEWORK_INITIALIZE}:${ir}`)}static frameworkRunStart(ir){this.markStart(`${this.MEASURE_KEYS.FRAMEWORK_RUN}:${ir}`)}static frameworkRunEnd(ir){this.markEnd(`${this.MEASURE_KEYS.FRAMEWORK_RUN}:${ir}`)}static lifecycleStart(ir,sr){this.markStart(`${this.MEASURE_KEYS.LIFECYCLE_PREPARE}:${ir}:${sr}`)}static lifecycleEnd(ir,sr){this.markEnd(`${this.MEASURE_KEYS.LIFECYCLE_PREPARE}:${ir}:${sr}`)}}sr.MidwayInitializerPerformanceManager=MidwayInitializerPerformanceManager;MidwayInitializerPerformanceManager.MEASURE_KEYS={INITIALIZE:"Initialize",METADATA_PREPARE:"MetadataPrepare",DETECTOR_PREPARE:"DetectorPrepare",DEFINITION_PREPARE:"DefinitionPrepare",CONFIG_LOAD:"ConfigLoad",LOGGER_PREPARE:"LoggerPrepare",FRAMEWORK_PREPARE:"FrameworkPrepare",FRAMEWORK_INITIALIZE:"FrameworkInitialize",FRAMEWORK_RUN:"FrameworkRun",LIFECYCLE_PREPARE:"LifecyclePrepare",PRELOAD_MODULE_PREPARE:"PreloadModulePrepare"}},67934:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPriorityManager=sr.DEFAULT_PRIORITY=void 0;const yr=lr(49757);const kr=lr(6192);sr.DEFAULT_PRIORITY={L1:"High",L2:"Medium",L3:"Low"};let Fr=class MidwayPriorityManager{constructor(){this.priorityList=sr.DEFAULT_PRIORITY;this.defaultPriority=sr.DEFAULT_PRIORITY.L2}getCurrentPriorityList(){return this.priorityList}getDefaultPriority(){return this.defaultPriority}isHighPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L1}isMediumPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L2}isLowPriority(ir=sr.DEFAULT_PRIORITY.L2){return ir===sr.DEFAULT_PRIORITY.L3}getPriority(ir){return ir||this.getDefaultPriority()}};Fr=hr([(0,yr.Provide)(),(0,yr.Scope)(kr.ScopeEnum.Singleton)],Fr);sr.MidwayPriorityManager=Fr},64842:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ServiceFactory=void 0;const kr=lr(83486);const Fr=lr(67934);const Br=lr(49757);class ServiceFactory{constructor(){this.clients=new Map;this.options={}}async initClients(ir={}){this.options=ir;if(ir.client){ir.clients=ir.clients||{};ir.clients["default"]=ir.clients["default"]||{};(0,kr.extend)(true,ir.clients["default"],ir.client)}if(ir.clients){for(const sr of Object.keys(ir.clients)){await this.createInstance(ir.clients[sr],sr)}}this.clientPriority=ir.priority||{}}get(ir="default"){return this.clients.get(ir)}has(ir){return this.clients.has(ir)}async createInstance(ir,sr){ir=(0,kr.extend)(true,{},this.options["default"],ir);const lr=await this.createClient(ir,sr);if(lr){if(sr){this.clients.set(sr,lr)}return lr}}async destroyClient(ir,sr){}async stop(){for(const[ir,sr]of this.clients.entries()){await this.destroyClient(sr,ir)}}getDefaultClientName(){return this.options["defaultClientName"]}getClients(){return this.clients}getClientKeys(){return Array.from(this.clients.keys())}getClientPriority(ir){return this.priorityManager.getPriority(this.clientPriority[ir])}isHighPriority(ir){return this.priorityManager.isHighPriority(this.clientPriority[ir])}isMediumPriority(ir){return this.priorityManager.isMediumPriority(this.clientPriority[ir])}isLowPriority(ir){return this.priorityManager.isLowPriority(this.clientPriority[ir])}}hr([(0,Br.Inject)(),yr("design:type",Fr.MidwayPriorityManager)],ServiceFactory.prototype,"priorityManager",void 0);sr.ServiceFactory=ServiceFactory},11330:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TypedResourceManager=void 0;class TypedResourceManager{constructor(ir){this.typedResourceInitializerOptions=ir;this.resourceMap=new Map;this.resourceBindingMap=new Map}async createResource(ir,sr){const lr=await this.typedResourceInitializerOptions.resourceInitialize(sr,ir);this.resourceMap.set(ir,lr);return lr}async init(){for(const ir of Object.keys(this.typedResourceInitializerOptions.initializeValue)){const sr=this.typedResourceInitializerOptions.initializeValue[ir];const lr=this.typedResourceInitializerOptions.initializeClzProvider[ir];const hr=await this.createResource(ir,sr);const yr=await this.typedResourceInitializerOptions.resourceBinding(lr,sr,hr,ir);if(yr){this.resourceBindingMap.set(ir,yr)}}}async startParallel(){const ir=[];for(const[sr,lr]of this.resourceMap.entries()){ir.push(this.typedResourceInitializerOptions.resourceStart(lr,this.typedResourceInitializerOptions.initializeValue[sr],this.resourceBindingMap.get(sr)))}await Promise.all(ir)}async start(){for(const[ir,sr]of this.resourceMap.entries()){await this.typedResourceInitializerOptions.resourceStart(sr,this.typedResourceInitializerOptions.initializeValue[ir],this.resourceBindingMap.get(ir))}}async destroyParallel(){const ir=[];for(const[sr,lr]of this.resourceMap.entries()){ir.push(this.typedResourceInitializerOptions.resourceDestroy(lr,this.typedResourceInitializerOptions.initializeValue[sr]))}await Promise.all(ir)}async destroy(){for(const[ir,sr]of this.resourceMap.entries()){await this.typedResourceInitializerOptions.resourceDestroy(sr,this.typedResourceInitializerOptions.initializeValue[ir])}this.resourceMap.clear();this.resourceBindingMap.clear()}getResource(ir){return this.resourceMap.get(ir)}}sr.TypedResourceManager=TypedResourceManager},11026:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.WebControllerGenerator=void 0;const hr=lr(49757);const yr=lr(39023);const kr=lr(6192);const Fr=lr(86314);const Br=lr(68220);const Ur=yr.debuglog("midway:debug");class WebControllerGenerator{constructor(ir,sr){this.app=ir;this.midwayWebRouterService=sr}generateKoaController(ir){return async(sr,lr)=>{if(ir.controllerClz&&typeof ir.method==="string"){const lr=await this.app.getFramework().runGuard(sr,ir.controllerClz,ir.method);if(!lr){throw new Fr.httpError.ForbiddenError}}const yr=[sr,lr];let kr;if(typeof ir.method!=="string"){kr=await ir.method(sr,lr)}else{const lr=await sr.requestContext.getAsync(ir.id);kr=await lr[ir.method].apply(lr,yr)}if(kr!==undefined){if(kr===null){sr.response._body=null;sr.response._midwayControllerNullBody=true}else{sr.body=kr}}if(Array.isArray(ir.responseMetadata)&&ir.responseMetadata.length){for(const lr of ir.responseMetadata){switch(lr.type){case hr.WEB_RESPONSE_HTTP_CODE:sr.status=lr.code;break;case hr.WEB_RESPONSE_HEADER:for(const ir in(lr===null||lr===void 0?void 0:lr.setHeaders)||{}){sr.set(ir,lr.setHeaders[ir])}break;case hr.WEB_RESPONSE_CONTENT_TYPE:sr.type=lr.contentType;break;case hr.WEB_RESPONSE_REDIRECT:sr.status=lr.code;sr.redirect(lr.url);return}}}}}async loadMidwayController(ir){var sr,lr;const hr=await this.midwayWebRouterService.getRouterTable();const yr=await this.midwayWebRouterService.getRoutePriorityList();const Fr=this.app.getApplicationContext();const Wr=this.app.getCoreLogger();const zr=Fr.get(Br.MidwayMiddlewareService);for(const Br of yr){Fr.bindClass(Br.routerModule);Wr.debug(`Load Controller "${Br.controllerId}", prefix=${Br.prefix}`);Ur(`[core]: Load Controller "${Br.controllerId}", prefix=${Br.prefix}`);const yr=this.createRouter({prefix:Br.prefix,...Br.routerOptions});Br.middleware=(sr=Br.middleware)!==null&&sr!==void 0?sr:[];if(Br.middleware.length){const ir=await zr.compose(Br.middleware,this.app);yr.use(ir)}const Jr=hr.get(Br.prefix);for(const ir of Jr){const sr=[];ir.middleware=(lr=ir.middleware)!==null&&lr!==void 0?lr:[];if(ir.middleware.length){const lr=await zr.compose(ir.middleware,this.app);sr.push(lr)}if(this.app.getFrameworkType()===kr.MidwayFrameworkType.WEB_KOA){if(typeof ir.url==="string"&&/\*$/.test(ir.url)){ir.url=ir.url.replace("*","(.*)")}}const hr=[ir.routerName,ir.url,...sr,this.generateController(ir)];Wr.debug(`Load Router "${ir.requestMethod.toUpperCase()} ${ir.url}"`);Ur(`[core]: Load Router "${ir.requestMethod.toUpperCase()} ${ir.url}"`);yr[ir.requestMethod.toLowerCase()].apply(yr,hr)}ir&&ir(yr)}}}sr.WebControllerGenerator=WebControllerGenerator},42193:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});const hr=lr(65308);sr["default"]=ir=>{const sr=(0,hr.isDevelopmentEnvironment)((0,hr.getCurrentEnvironment)());return{core:{healthCheckTimeout:1e3,concurrentDataSourceInitialization:false},asyncContextManager:{enable:false},midwayLogger:{default:{level:"info"},clients:{coreLogger:{level:sr?"info":"warn"},appLogger:{aliasName:"logger"}}},debug:{recordConfigMergeOrder:sr}}}},2222:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.SINGLETON_CONTAINER_CTX=sr.IGNORE_PATTERN=sr.DEFAULT_PATTERN=sr.ASYNC_CONTEXT_MANAGER_KEY=sr.ASYNC_CONTEXT_KEY=sr.REQUEST_CTX_LOGGER_CACHE_KEY=sr.HTTP_SERVER_KEY=sr.CONTAINER_OBJ_SCOPE=sr.REQUEST_OBJ_CTX_KEY=sr.REQUEST_CTX_KEY=sr.MIDWAY_LOGGER_WRITEABLE_DIR=sr.FUNCTION_INJECT_KEY=sr.KEYS=void 0;sr.KEYS={OBJECTS_ELEMENT:"objects",OBJECT_ELEMENT:"object",IMPORT_ELEMENT:"import",PROPERTY_ELEMENT:"property",LIST_ELEMENT:"list",MAP_ELEMENT:"map",ENTRY_ELEMENT:"entry",VALUE_ELEMENT:"value",PROPS_ELEMENT:"props",PROP_ELEMENT:"prop",SET_ELEMENT:"set",CONSTRUCTOR_ARG_ELEMENT:"constructor-arg",REF_ELEMENT:"ref",JSON_ELEMENT:"json",CONFIGURATION_ELEMENT:"configuration",ID_ATTRIBUTE:"id",PATH_ATTRIBUTE:"path",DIRECT_ATTRIBUTE:"direct",AUTOWIRE_ATTRIBUTE:"autowire",ASYNC_ATTRIBUTE:"async",NAME_ATTRIBUTE:"name",REF_ATTRIBUTE:"ref",KEY_ATTRIBUTE:"key",VALUE_ATTRIBUTE:"value",TYPE_ATTRIBUTE:"type",EXTERNAL_ATTRIBUTE:"external",OBJECT_ATTRIBUTE:"object",RESOURCE_ATTRIBUTE:"resource",SCOPE_ATTRIBUTE:"scope",ASPECT_ELEMENT:"aspect",AROUND_ELEMENT:"around",EXPRESSION_ATTRIBUTE:"expression",EXECUTE_ATTRIBUTE:"execute"};sr.FUNCTION_INJECT_KEY="midway:function_inject_key";sr.MIDWAY_LOGGER_WRITEABLE_DIR="MIDWAY_LOGGER_WRITEABLE_DIR";sr.REQUEST_CTX_KEY="ctx";sr.REQUEST_OBJ_CTX_KEY="_req_ctx";sr.CONTAINER_OBJ_SCOPE="_obj_scope";sr.HTTP_SERVER_KEY="_midway_http_server";sr.REQUEST_CTX_LOGGER_CACHE_KEY="_midway_ctx_logger_cache";sr.ASYNC_CONTEXT_KEY=Symbol("ASYNC_CONTEXT_KEY");sr.ASYNC_CONTEXT_MANAGER_KEY="MIDWAY_ASYNC_CONTEXT_MANAGER_KEY";sr.DEFAULT_PATTERN=["**/**.ts","**/**.js","**/**.mts","**/**.mjs","**/**.cts","**/**.cjs"];sr.IGNORE_PATTERN=["**/**.d.ts","**/**.d.mts","**/**.d.cts"];sr.SINGLETON_CONTAINER_CTX={_MAIN_CTX_:true}},9288:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayContainer=void 0;const hr=lr(49757);const yr=lr(24451);const kr=lr(39023);const Fr=lr(20873);const Br=lr(6192);const Ur=lr(2222);const Wr=lr(47698);const zr=lr(34881);const Jr=lr(80932);const Hr=lr(70275);const Gr=lr(78842);const Yr=lr(24434);const Qr=lr(86314);const Zr=lr(63289);const cn=lr(65308);const un=kr.debuglog("midway:debug");const Tn=kr.debuglog("midway:bind");const jn=9;class ContainerConfiguration{constructor(ir){this.container=ir;this.loadedMap=new WeakMap;this.namespaceList=[];this.configurationOptionsList=[]}load(ir){let sr=hr.MAIN_MODULE_KEY;const lr=this.getConfigurationExport(ir);if(!lr.length)return;for(let ir=0;ir<lr.length;ir++){const kr=lr[ir];if(this.loadedMap.get(kr)){continue}let Fr;if(kr instanceof yr.FunctionalConfiguration){Fr=kr.getConfigurationOptions()}else{Fr=(0,hr.getClassMetadata)(hr.CONFIGURATION_KEY,kr)}this.loadedMap.set(kr,true);if(Fr){if(Fr.namespace!==undefined){sr=Fr.namespace;this.namespaceList.push(sr)}this.configurationOptionsList.push(Fr);un(`[core]: load configuration in namespace="${sr}"`);this.addImports(Fr.imports);this.addImportObjects(Fr.importObjects);this.addImportConfigs(Fr.importConfigs);this.addImportConfigFilter(Fr.importConfigFilter);this.bindConfigurationClass(kr,sr)}}this.container.bindClass(ir,{namespace:sr})}addImportConfigs(ir){if(ir){if(Array.isArray(ir)){this.container.get(Gr.MidwayConfigService).add(ir)}else{this.container.get(Gr.MidwayConfigService).addObject(ir)}}}addImportConfigFilter(ir){if(ir){this.container.get(Gr.MidwayConfigService).addFilter(ir)}}addImports(ir=[]){var sr;for(let lr of ir){if(!lr)continue;if(typeof lr==="string"){lr=require(lr)}if("Configuration"in lr){this.load(lr)}else if("component"in lr){if(lr===null||lr===void 0?void 0:lr.enabledEnvironment){if((sr=lr===null||lr===void 0?void 0:lr.enabledEnvironment)===null||sr===void 0?void 0:sr.includes(this.container.get(Hr.MidwayEnvironmentService).getCurrentEnvironment())){this.load(lr.component)}}else{this.load(lr.component)}}else{this.load(lr)}}}addImportObjects(ir){if(ir){const sr=Object.keys(ir);for(const lr of sr){if(typeof ir[lr]!==undefined){this.container.registerObject(lr,ir[lr])}}}}bindConfigurationClass(ir,sr){if(ir instanceof yr.FunctionalConfiguration){}else{(0,hr.saveProviderId)(undefined,ir);const lr=(0,hr.getProviderUUId)(ir);this.container.bind(lr,ir,{namespace:sr,scope:Br.ScopeEnum.Singleton})}const lr=(0,hr.listModule)(hr.CONFIGURATION_KEY);const kr=lr.find((sr=>sr.target===ir));if(!kr){(0,hr.saveModule)(hr.CONFIGURATION_KEY,{target:ir,namespace:sr})}}getConfigurationExport(ir){const sr=[];if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)||ir instanceof yr.FunctionalConfiguration){sr.push(ir)}else{for(const lr in ir){const hr=ir[lr];if(Zr.Types.isClass(hr)||Zr.Types.isFunction(hr)||hr instanceof yr.FunctionalConfiguration){sr.push(hr)}}}return sr}getNamespaceList(){return this.namespaceList}getConfigurationOptionsList(){return this.configurationOptionsList}}class MidwayContainer{constructor(ir){this._resolverFactory=null;this._registry=null;this._identifierMapping=null;this.moduleMap=null;this.parent=null;this.ctx=Ur.SINGLETON_CONTAINER_CTX;this.attrMap=new Map;this._namespaceSet=null;this.parent=ir;this.init()}init(){this.registerObject(Ur.REQUEST_CTX_KEY,this.ctx)}get objectCreateEventTarget(){if(!this._objectCreateEventTarget){this._objectCreateEventTarget=new Yr}return this._objectCreateEventTarget}get registry(){if(!this._registry){this._registry=new Fr.ObjectDefinitionRegistry}return this._registry}set registry(ir){this._registry=ir}get managedResolverFactory(){if(!this._resolverFactory){this._resolverFactory=new Jr.ManagedResolverFactory(this)}return this._resolverFactory}get identifierMapping(){if(!this._identifierMapping){this._identifierMapping=this.registry.getIdentifierRelation()}return this._identifierMapping}get namespaceSet(){if(!this._namespaceSet){this._namespaceSet=new Set}return this._namespaceSet}load(ir){var sr,lr,hr;if(!Array.isArray(ir)){ir=[ir]}const yr=new ContainerConfiguration(this);for(const sr of ir){if(sr){yr.load(sr)}}for(const ir of yr.getNamespaceList()){this.namespaceSet.add(ir);un(`[core]: load configuration in namespace="${ir}" complete`)}const kr=(sr=yr.getConfigurationOptionsList())!==null&&sr!==void 0?sr:[];const Fr=(lr=kr.find((ir=>!ir.namespace)))!==null&&lr!==void 0?lr:{};this.fileDetector=(hr=Fr.detector)!==null&&hr!==void 0?hr:this.fileDetector;if(this.fileDetector){this.fileDetector.setExtraDetectorOptions({conflictCheck:Fr.conflictCheck,...Fr.detectorOptions})}}loadDefinitions(){if(this.fileDetector){return this.fileDetector.run(this)}}bindClass(ir,sr){if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)){this.bindModule(ir,sr)}else{for(const lr in ir){const hr=ir[lr];if(Zr.Types.isClass(hr)||Zr.Types.isFunction(hr)){this.bindModule(hr,sr)}}}}bind(ir,sr,lr){var yr;if(Zr.Types.isClass(ir)||Zr.Types.isFunction(ir)){return this.bindModule(ir,sr)}if(this.registry.hasDefinition(ir)){return}if(lr===null||lr===void 0?void 0:lr.bindHook){lr.bindHook(sr,lr)}let kr;if(Zr.Types.isClass(sr)){kr=new Wr.ObjectDefinition;kr.name=(0,hr.getProviderName)(sr)}else{kr=new zr.FunctionDefinition;if(!Zr.Types.isAsyncFunction(sr)){kr.asynchronous=false}kr.name=kr.id}kr.path=sr;kr.id=ir;kr.srcPath=(lr===null||lr===void 0?void 0:lr.srcPath)||null;kr.namespace=(lr===null||lr===void 0?void 0:lr.namespace)||"";kr.scope=(lr===null||lr===void 0?void 0:lr.scope)||Br.ScopeEnum.Request;kr.createFrom=lr===null||lr===void 0?void 0:lr.createFrom;if(kr.srcPath){un(`[core]: bind id "${kr.name} (${kr.srcPath}) ${ir}"`)}else{un(`[core]: bind id "${kr.name}" ${ir}`)}const Fr=(0,hr.getPropertyInject)(sr);for(const ir in Fr){const sr=Fr[ir];Tn(`${" ".repeat(jn)}inject properties => [${JSON.stringify(sr)}]`);const lr=new Jr.ManagedReference;lr.args=sr.args;lr.name=sr.value;lr.injectMode=sr["injectMode"];kr.properties.set(sr["targetKey"],lr)}const Ur=(0,hr.getClassExtendedMetadata)(hr.INJECT_CUSTOM_PROPERTY,sr);for(const ir in Ur){const sr=Ur[ir];kr.handlerProps.push(sr)}const Hr=(yr=(0,hr.getObjectDefinition)(sr))!==null&&yr!==void 0?yr:{};if(Hr.initMethod){Tn(`${" ".repeat(jn)}register initMethod = ${Hr.initMethod}`);kr.initMethod=Hr.initMethod}if(Hr.destroyMethod){Tn(`${" ".repeat(jn)}register destroyMethod = ${Hr.destroyMethod}`);kr.destroyMethod=Hr.destroyMethod}if(Hr.scope){Tn(`${" ".repeat(jn)}register scope = ${Hr.scope}`);kr.scope=Hr.scope}if(Hr.allowDowngrade){Tn(`${" ".repeat(jn)}register allowDowngrade = ${Hr.allowDowngrade}`);kr.allowDowngrade=Hr.allowDowngrade}this.objectCreateEventTarget.emit(Br.ObjectLifeCycleEvent.BEFORE_BIND,sr,{context:this,definition:kr,replaceCallback:ir=>{kr=ir}});if(kr){this.registry.registerDefinition(kr.id,kr)}}bindModule(ir,sr){if(Zr.Types.isClass(ir)){const lr=(0,hr.getProviderUUId)(ir);if(lr){this.identifierMapping.saveClassRelation(ir,sr===null||sr===void 0?void 0:sr.namespace);this.bind(lr,ir,sr)}else{}}else{const lr=ir[Ur.FUNCTION_INJECT_KEY];if(lr&&lr.id){if(!lr.scope){lr.scope=Br.ScopeEnum.Request}const hr=cn.Utils.generateRandomId();this.identifierMapping.saveFunctionRelation(lr.id,hr);this.bind(hr,ir,{scope:lr.scope,namespace:sr.namespace,srcPath:sr.srcPath,createFrom:sr.createFrom})}}}setFileDetector(ir){this.fileDetector=ir}createChild(){return new MidwayContainer(this)}setAttr(ir,sr){this.attrMap.set(ir,sr)}getAttr(ir){return this.attrMap.get(ir)}getIdentifier(ir){return(0,hr.getProviderUUId)(ir)}getManagedResolverFactory(){if(!this._resolverFactory){this._resolverFactory=new Jr.ManagedResolverFactory(this)}return this._resolverFactory}async stop(){await this.getManagedResolverFactory().destroyCache();this.registry.clearAll()}ready(){return this.loadDefinitions()}get(ir,sr,lr){var hr;sr=sr!==null&&sr!==void 0?sr:[];lr=lr!==null&&lr!==void 0?lr:{originName:ir};if(typeof ir!=="string"){lr.originName=ir.name;ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const yr=this.registry.getDefinition(ir);if(!yr&&this.parent){return this.parent.get(ir,sr)}if(!yr){throw new Qr.MidwayDefinitionNotFoundError((hr=lr===null||lr===void 0?void 0:lr.originName)!==null&&hr!==void 0?hr:ir)}return this.getManagedResolverFactory().create({definition:yr,args:sr})}async getAsync(ir,sr,lr){var hr;sr=sr!==null&&sr!==void 0?sr:[];lr=lr!==null&&lr!==void 0?lr:{originName:ir};if(typeof ir!=="string"){lr.originName=ir.name;ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const yr=this.registry.getDefinition(ir);if(!yr&&this.parent){return this.parent.getAsync(ir,sr)}if(!yr){throw new Qr.MidwayDefinitionNotFoundError((hr=lr===null||lr===void 0?void 0:lr.originName)!==null&&hr!==void 0?hr:ir)}return this.getManagedResolverFactory().createAsync({definition:yr,args:sr})}registerObject(ir,sr){this.registry.registerObject(ir,sr)}onBeforeBind(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_BIND,ir)}onBeforeObjectCreated(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_CREATED,ir)}onObjectCreated(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.AFTER_CREATED,ir)}onObjectInit(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.AFTER_INIT,ir)}onBeforeObjectDestroy(ir){this.objectCreateEventTarget.on(Br.ObjectLifeCycleEvent.BEFORE_DESTROY,ir)}saveModule(ir,sr){if(!this.moduleMap.has(ir)){this.moduleMap.set(ir,new Set)}this.moduleMap.get(ir).add(sr)}listModule(ir){return Array.from(this.moduleMap.get(ir)||{})}transformModule(ir){this.moduleMap=new Map(ir)}hasNamespace(ir){return this.namespaceSet.has(ir)}getNamespaceList(){return Array.from(this.namespaceSet)}hasDefinition(ir){return this.registry.hasDefinition(ir)}hasObject(ir){return this.registry.hasObject(ir)}getInstanceScope(ir){if(ir[Ur.CONTAINER_OBJ_SCOPE]){return ir[Ur.CONTAINER_OBJ_SCOPE]}return undefined}}sr.MidwayContainer=MidwayContainer},20873:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectDefinitionRegistry=void 0;const hr=lr(49757);const yr="_id_default_";class LegacyIdentifierRelation extends Map{saveClassRelation(ir,sr){const lr=(0,hr.getProviderUUId)(ir);this.set(lr,lr);if(lr){const yr=(0,hr.getProviderId)(ir);if(yr){this.set(yr,lr)}this.set((0,hr.getProviderName)(ir),lr);if(sr){this.set(sr+":"+(0,hr.getProviderName)(ir),lr)}}}saveFunctionRelation(ir,sr){this.set(sr,sr);this.set(ir,sr)}hasRelation(ir){return this.has(ir)}getRelation(ir){return this.get(ir)}}class ObjectDefinitionRegistry extends Map{constructor(){super(...arguments);this.singletonIds=[];this._identifierRelation=new LegacyIdentifierRelation}get identifierRelation(){if(!this._identifierRelation){this._identifierRelation=new LegacyIdentifierRelation}return this._identifierRelation}set identifierRelation(ir){this._identifierRelation=ir}get identifiers(){const ir=[];for(const sr of this.keys()){if(sr.indexOf(yr)===-1){ir.push(sr)}}return ir}get count(){return this.size}getSingletonDefinitionIds(){return this.singletonIds}getDefinitionByName(ir){const sr=[];for(const lr of this.values()){const hr=lr;if(hr.name===ir){sr.push(hr)}}return sr}registerDefinition(ir,sr){if(sr.isSingletonScope()){this.singletonIds.push(ir)}this.set(ir,sr)}getDefinition(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.get(ir)}removeDefinition(ir){this.delete(ir)}hasDefinition(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.has(ir)}clearAll(){this.singletonIds=[];this.clear()}hasObject(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.has(yr+ir)}registerObject(ir,sr){this.set(yr+ir,sr)}getObject(ir){var sr;ir=(sr=this.identifierRelation.getRelation(ir))!==null&&sr!==void 0?sr:ir;return this.get(yr+ir)}getIdentifierRelation(){return this.identifierRelation}setIdentifierRelation(ir){this.identifierRelation=ir}}sr.ObjectDefinitionRegistry=ObjectDefinitionRegistry},80932:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ManagedResolverFactory=sr.ManagedReference=void 0;const hr=lr(2222);const yr=lr(6192);const kr=lr(39023);const Fr=lr(86314);const Br=kr.debuglog("midway:managedresolver");const Ur=kr.debuglog("midway:debug");class ManagedReference{constructor(){this.type=hr.KEYS.REF_ELEMENT}}sr.ManagedReference=ManagedReference;class RefResolver{constructor(ir){this.factory=ir}get type(){return hr.KEYS.REF_ELEMENT}resolve(ir,sr){var lr;const hr=ir;if(hr.injectMode===yr.InjectModeEnum.Class&&!((lr=this.factory.context.parent)!==null&&lr!==void 0?lr:this.factory.context).hasDefinition(hr.name)){if(sr==="loggerService"){throw new Fr.MidwayInconsistentVersionError}else{throw new Fr.MidwayMissingImportComponentError(sr)}}return this.factory.context.get(hr.name,hr.args,{originName:sr})}async resolveAsync(ir,sr){var lr;const hr=ir;if(hr.injectMode===yr.InjectModeEnum.Class&&!((lr=this.factory.context.parent)!==null&&lr!==void 0?lr:this.factory.context).hasDefinition(hr.name)){if(sr==="loggerService"){throw new Fr.MidwayInconsistentVersionError}else{throw new Fr.MidwayMissingImportComponentError(sr)}}return this.factory.context.getAsync(hr.name,hr.args,{originName:sr})}}class ManagedResolverFactory{constructor(ir){this.resolvers={};this.creating=new Map;this.singletonCache=new Map;this.context=ir;this.resolvers={ref:new RefResolver(this)}}registerResolver(ir){this.resolvers[ir.type]=ir}resolveManaged(ir,sr){const lr=this.resolvers[ir.type];if(!lr||lr.type!==ir.type){throw new Fr.MidwayResolverMissingError(ir.type)}return lr.resolve(ir,sr)}async resolveManagedAsync(ir,sr){const lr=this.resolvers[ir.type];if(!lr||lr.type!==ir.type){throw new Fr.MidwayResolverMissingError(ir.type)}return lr.resolveAsync(ir,sr)}create(ir){const{definition:sr,args:lr}=ir;if(sr.isSingletonScope()&&this.singletonCache.has(sr.id)){return this.singletonCache.get(sr.id)}let kr=this.createProxyReference(sr);if(kr){return kr}this.compareAndSetCreateStatus(sr);if(sr.hasDependsOn()){for(const ir of sr.dependsOn){this.context.get(ir,lr)}}Ur(`[core]: Create id = "${sr.name}" ${sr.id}.`);const Br=sr.creator.load();let Wr=[];if(lr&&Array.isArray(lr)&&lr.length>0){Wr=lr}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_CREATED,Br,{constructorArgs:Wr,definition:sr,context:this.context});kr=sr.creator.doConstruct(Br,Wr,this.context);if(sr.isRequestScope()&&sr.constructor.name==="ObjectDefinition"){Object.defineProperty(kr,hr.REQUEST_OBJ_CTX_KEY,{value:this.context.get(hr.REQUEST_CTX_KEY),writable:false,enumerable:false})}if(sr.properties){const ir=sr.properties.propertyKeys();for(const lr of ir){this.checkSingletonInvokeRequest(sr,lr);try{kr[lr]=this.resolveManaged(sr.properties.get(lr),lr)}catch(ir){if(Fr.MidwayDefinitionNotFoundError.isClosePrototypeOf(ir)){const lr=sr.path.name;ir.updateErrorMsg(lr)}this.removeCreateStatus(sr,true);throw ir}}}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_CREATED,kr,{context:this.context,definition:sr,replaceCallback:ir=>{kr=ir}});sr.creator.doInit(kr);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_INIT,kr,{context:this.context,definition:sr});if(sr.id){if(sr.isSingletonScope()){this.singletonCache.set(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Singleton)}else if(sr.isRequestScope()){this.context.registerObject(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Request)}else{this.setInstanceScope(kr,yr.ScopeEnum.Prototype)}}this.removeCreateStatus(sr,true);return kr}async createAsync(ir){const{definition:sr,args:lr}=ir;if(sr.isSingletonScope()&&this.singletonCache.has(sr.id)){Br(`id = ${sr.id}(${sr.name}) get from singleton cache.`);return this.singletonCache.get(sr.id)}let kr=this.createProxyReference(sr);if(kr){Br(`id = ${sr.id}(${sr.name}) from proxy reference.`);return kr}this.compareAndSetCreateStatus(sr);if(sr.hasDependsOn()){for(const ir of sr.dependsOn){Br("id = %s init depend %s.",sr.id,ir);await this.context.getAsync(ir,lr)}}Ur(`[core]: Create id = "${sr.name}" ${sr.id}.`);const Wr=sr.creator.load();let zr=[];if(lr&&Array.isArray(lr)&&lr.length>0){zr=lr}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_CREATED,Wr,{constructorArgs:zr,context:this.context});kr=await sr.creator.doConstructAsync(Wr,zr,this.context);if(!kr){this.removeCreateStatus(sr,false);throw new Fr.MidwayCommonError(`${sr.id} construct return undefined`)}if(sr.isRequestScope()&&sr.constructor.name==="ObjectDefinition"){Br("id = %s inject ctx",sr.id);Object.defineProperty(kr,hr.REQUEST_OBJ_CTX_KEY,{value:this.context.get(hr.REQUEST_CTX_KEY),writable:false,enumerable:false})}if(sr.properties){const ir=sr.properties.propertyKeys();for(const lr of ir){this.checkSingletonInvokeRequest(sr,lr);try{kr[lr]=await this.resolveManagedAsync(sr.properties.get(lr),lr)}catch(ir){if(Fr.MidwayDefinitionNotFoundError.isClosePrototypeOf(ir)){const lr=sr.path.name;ir.updateErrorMsg(lr)}this.removeCreateStatus(sr,false);throw ir}}}this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_CREATED,kr,{context:this.context,definition:sr,replaceCallback:ir=>{kr=ir}});await sr.creator.doInitAsync(kr);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.AFTER_INIT,kr,{context:this.context,definition:sr});if(sr.id){if(sr.isSingletonScope()){Br(`id = ${sr.id}(${sr.name}) set to singleton cache`);this.singletonCache.set(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Singleton)}else if(sr.isRequestScope()){Br(`id = ${sr.id}(${sr.name}) set to register object`);this.context.registerObject(sr.id,kr);this.setInstanceScope(kr,yr.ScopeEnum.Request)}else{this.setInstanceScope(kr,yr.ScopeEnum.Prototype)}}this.removeCreateStatus(sr,true);return kr}async destroyCache(){for(const ir of this.singletonCache.keys()){const sr=this.context.registry.getDefinition(ir);if(sr.creator){const lr=this.singletonCache.get(ir);this.getObjectEventTarget().emit(yr.ObjectLifeCycleEvent.BEFORE_DESTROY,lr,{context:this.context,definition:sr});await sr.creator.doDestroyAsync(lr)}}this.singletonCache.clear();this.creating.clear()}removeCreateStatus(ir,sr){if(this.creating.has(ir.id)){this.creating.set(ir.id,false)}return true}isCreating(ir){return this.creating.has(ir.id)&&this.creating.get(ir.id)}compareAndSetCreateStatus(ir){if(!this.creating.has(ir.id)||!this.creating.get(ir.id)){this.creating.set(ir.id,true)}}createProxyReference(ir){if(this.isCreating(ir)){Br("create proxy for %s.",ir.id);if(!this.depthFirstSearch(ir.id,ir)){Br("id = %s after dfs return null",ir.id);return null}return new Proxy({__is_proxy__:true,__target_id__:ir.id},{get:(sr,lr)=>{let hr;if(ir.isRequestScope()){hr=this.context.registry.getObject(ir.id)}else if(ir.isSingletonScope()){hr=this.singletonCache.get(ir.id)}else{hr=this.context.get(ir.id)}if(hr){if(typeof hr[lr]==="function"){return hr[lr].bind(hr)}return hr[lr]}return undefined}})}return null}depthFirstSearch(ir,sr,lr){var hr;if(sr){Br("dfs for %s == %s start.",ir,sr.id);if(sr.properties){const yr=sr.properties.propertyKeys();if(yr.indexOf(ir)>-1){Br("dfs exist in properties %s == %s.",ir,sr.id);return true}for(const kr of yr){if(!Array.isArray(lr)){lr=[ir]}let yr=kr;const Fr=sr.properties.get(kr);if(Fr&&Fr.name){yr=(hr=this.context.identifierMapping.getRelation(Fr.name))!==null&&hr!==void 0?hr:Fr.name}if(yr===ir){Br("dfs exist in properties key %s == %s.",ir,sr.id);return true}if(lr.indexOf(yr)>-1){Br("dfs depth circular %s == %s, %s, %j.",ir,sr.id,yr,lr);continue}else{lr.push(yr);Br("dfs depth push %s == %s, %j.",ir,yr,lr)}let Ur=this.context.registry.getDefinition(yr);if(!Ur&&this.context.parent){Ur=this.context.parent.registry.getDefinition(yr)}if(this.depthFirstSearch(ir,Ur,lr)){Br("dfs exist in sub tree %s == %s subId = %s.",ir,sr.id,Ur.id);return true}}}Br("dfs for %s == %s end.",ir,sr.id)}return false}getObjectEventTarget(){if(this.context.parent){return this.context.parent.objectCreateEventTarget}return this.context.objectCreateEventTarget}checkSingletonInvokeRequest(ir,sr){if(ir.isSingletonScope()){const lr=ir.properties.get(sr);if(this.context.hasDefinition(lr===null||lr===void 0?void 0:lr.name)){const sr=this.context.registry.getDefinition(lr.name);if(sr.isRequestScope()&&!sr.allowDowngrade){throw new Fr.MidwaySingletonInjectRequestError(ir.path.name,sr.path.name)}}}return true}setInstanceScope(ir,sr){if(typeof ir==="object"){if(sr===yr.ScopeEnum.Request&&ir[hr.REQUEST_OBJ_CTX_KEY]===hr.SINGLETON_CONTAINER_CTX){sr=yr.ScopeEnum.Singleton}Object.defineProperty(ir,hr.CONTAINER_OBJ_SCOPE,{value:sr,writable:false,enumerable:false,configurable:false})}}}sr.ManagedResolverFactory=ManagedResolverFactory},28695:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.providerWrapper=void 0;const hr=lr(2222);function providerWrapper(ir){for(const sr of ir){Object.defineProperty(sr.provider,hr.FUNCTION_INJECT_KEY,{value:sr,writable:false})}}sr.providerWrapper=providerWrapper},97983:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayRequestContainer=void 0;const hr=lr(9288);const yr=lr(49757);const kr=lr(2222);class MidwayRequestContainer extends hr.MidwayContainer{constructor(ir,sr){super(sr);this.applicationContext=sr;this.registry.setIdentifierRelation(this.applicationContext.registry.getIdentifierRelation());this.ctx=ir;this.registerObject(kr.REQUEST_CTX_KEY,ir);this.registerObject("res",{});if(ir.logger){this.registerObject("logger",ir.logger)}}init(){}get(ir,sr){if(typeof ir!=="string"){ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const lr=this.applicationContext.registry.getDefinition(ir);if(lr){if(lr.isRequestScope()||lr.id===yr.PIPELINE_IDENTIFIER){return this.getManagedResolverFactory().create({definition:lr,args:sr})}}if(this.parent){return this.parent.get(ir,sr)}}async getAsync(ir,sr){if(typeof ir!=="string"){ir=this.getIdentifier(ir)}if(this.registry.hasObject(ir)){return this.registry.getObject(ir)}const lr=this.applicationContext.registry.getDefinition(ir);if(lr){if(lr.isRequestScope()||lr.id===yr.PIPELINE_IDENTIFIER){return this.getManagedResolverFactory().createAsync({definition:lr,args:sr})}}if(this.parent){return this.parent.getAsync(ir,sr)}}async ready(){}getContext(){return this.ctx}}sr.MidwayRequestContainer=MidwayRequestContainer},76271:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Aspect=void 0;const hr=lr(49757);const yr=lr(18025);const kr=lr(6192);function Aspect(ir,sr,lr){return function(Fr){(0,hr.saveModule)(hr.ASPECT_KEY,Fr);const Br=[].concat(ir);for(const ir of Br){(0,hr.attachClassMetadata)(hr.ASPECT_KEY,{aspectTarget:ir,match:sr,priority:lr},Fr)}(0,yr.Scope)(kr.ScopeEnum.Singleton)(Fr);(0,hr.Provide)()(Fr)}}sr.Aspect=Aspect},2940:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Autoload=void 0;const hr=lr(45317);const yr=lr(39990);function Autoload(){return function(ir){(0,hr.savePreloadModule)(ir);(0,yr.Provide)()(ir)}}sr.Autoload=Autoload},73821:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;const hr=lr(49757);function Configuration(ir={}){return sr=>{(0,hr.saveClassMetadata)(hr.CONFIGURATION_KEY,ir,sr)}}sr.Configuration=Configuration},41573:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Match=sr.Catch=void 0;const hr=lr(45317);const yr=lr(75105);const kr=lr(18025);const Fr=lr(39990);const Br=lr(6192);function Catch(ir,sr={}){return function(lr){const Ur=ir?[].concat(ir):undefined;(0,hr.saveClassMetadata)(yr.CATCH_KEY,{catchTargets:Ur,catchOptions:sr},lr);(0,kr.Scope)(Br.ScopeEnum.Singleton)(lr);(0,Fr.Provide)()(lr)}}sr.Catch=Catch;function Match(ir=true){return function(sr){(0,hr.saveClassMetadata)(yr.MATCH_KEY,{matchPattern:ir},sr);(0,kr.Scope)(Br.ScopeEnum.Singleton)(sr);(0,Fr.Provide)()(sr)}}sr.Match=Match},1623:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApplicationContext=sr.Logger=sr.App=sr.Config=sr.Plugin=sr.Framework=void 0;const hr=lr(49757);const yr=lr(6192);function Framework(){return ir=>{(0,hr.saveModule)(hr.FRAMEWORK_KEY,ir);(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Framework=Framework;function Plugin(ir){return(0,hr.createCustomPropertyDecorator)(hr.PLUGIN_KEY,{identifier:ir})}sr.Plugin=Plugin;function Config(ir){return(0,hr.createCustomPropertyDecorator)(hr.CONFIG_KEY,{identifier:ir})}sr.Config=Config;function App(ir){return(0,hr.createCustomPropertyDecorator)(hr.APPLICATION_KEY,{type:ir})}sr.App=App;function Logger(ir){return(0,hr.createCustomPropertyDecorator)(hr.LOGGER_KEY,{identifier:ir})}sr.Logger=Logger;function ApplicationContext(){return(0,hr.createCustomPropertyDecorator)(hr.APPLICATION_CONTEXT_KEY,{})}sr.ApplicationContext=ApplicationContext},41958:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Guard=sr.UseGuard=void 0;const hr=lr(45317);const yr=lr(6192);const kr=lr(75105);const Fr=lr(39990);const Br=lr(18025);function UseGuard(ir){return(sr,lr,yr)=>{if(!Array.isArray(ir)){ir=[ir]}if(lr){(0,hr.savePropertyMetadata)(kr.GUARD_KEY,ir,sr,lr)}else{(0,hr.saveClassMetadata)(kr.GUARD_KEY,ir,sr)}}}sr.UseGuard=UseGuard;function Guard(){return ir=>{(0,Fr.Provide)()(ir);(0,Br.Scope)(yr.ScopeEnum.Singleton)(ir)}}sr.Guard=Guard},92922:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.InjectClient=sr.Inject=void 0;const hr=lr(45317);const yr=lr(75105);function Inject(ir){return function(sr,lr){(0,hr.savePropertyInject)({target:sr,targetKey:lr,identifier:ir})}}sr.Inject=Inject;function InjectClient(ir,sr){return(0,hr.createCustomPropertyDecorator)(yr.FACTORY_SERVICE_CLIENT_KEY,{serviceFactoryClz:ir,clientName:sr})}sr.InjectClient=InjectClient},17511:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Middleware=void 0;const hr=lr(49757);const yr=lr(6192);function Middleware(){return ir=>{(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Middleware=Middleware},56329:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Mock=void 0;const hr=lr(49757);const yr=lr(6192);function Mock(){return ir=>{(0,hr.saveModule)(hr.MOCK_KEY,ir);(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Mock=Mock},18025:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Singleton=sr.Scope=sr.Destroy=sr.Init=void 0;const hr=lr(45317);const yr=lr(39990);const kr=lr(6192);function Init(){return function(ir,sr){(0,hr.saveObjectDefinition)(ir,{initMethod:sr})}}sr.Init=Init;function Destroy(){return function(ir,sr){(0,hr.saveObjectDefinition)(ir,{destroyMethod:sr})}}sr.Destroy=Destroy;function Scope(ir,sr){return function(lr){(0,hr.saveObjectDefinition)(lr,{scope:ir,...sr})}}sr.Scope=Scope;function Singleton(){return function(ir){Scope(kr.ScopeEnum.Singleton)(ir);(0,yr.Provide)()(ir)}}sr.Singleton=Singleton},64331:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Pipe=void 0;const hr=lr(49757);const yr=lr(6192);function Pipe(){return ir=>{(0,hr.Scope)(yr.ScopeEnum.Singleton)(ir);(0,hr.Provide)()(ir)}}sr.Pipe=Pipe},52953:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Pipeline=void 0;const hr=lr(45317);const yr=lr(75105);function Pipeline(ir){return(0,hr.createCustomPropertyDecorator)(yr.PIPELINE_IDENTIFIER,{valves:ir})}sr.Pipeline=Pipeline},39990:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Provide=void 0;const hr=lr(45317);function Provide(ir){return function(sr){return(0,hr.saveProviderId)(ir,sr)}}sr.Provide=Provide},75105:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TAGGED_CLS=sr.INJECT_CUSTOM_PARAM=sr.INJECT_CUSTOM_METHOD=sr.INJECT_CUSTOM_PROPERTY=sr.INJECT_TAG=sr.NAMED_TAG=sr.CLASS_KEY_CONSTRUCTOR=sr.APPLICATION_CONTEXT_KEY=sr.APPLICATION_KEY=sr.LOGGER_KEY=sr.PLUGIN_KEY=sr.CONFIG_KEY=sr.MS_HSF_METHOD_KEY=sr.MS_DUBBO_METHOD_KEY=sr.MS_GRPC_METHOD_KEY=sr.MS_PROVIDER_KEY=sr.MS_PRODUCER_KEY=sr.MS_CONSUMER_KEY=sr.RPC_DUBBO_KEY=sr.RPC_GRPC_KEY=sr.HSF_KEY=sr.WS_EVENT_KEY=sr.WS_CONTROLLER_KEY=sr.MODULE_TASK_QUEUE_OPTIONS=sr.MODULE_TASK_QUEUE_KEY=sr.MODULE_TASK_TASK_LOCAL_OPTIONS=sr.MODULE_TASK_TASK_LOCAL_KEY=sr.MODULE_TASK_METADATA=sr.MODULE_TASK_KEY=sr.WEB_RESPONSE_RENDER=sr.WEB_RESPONSE_CONTENT_TYPE=sr.WEB_RESPONSE_HEADER=sr.WEB_RESPONSE_REDIRECT=sr.WEB_RESPONSE_HTTP_CODE=sr.WEB_RESPONSE_KEY=sr.WEB_ROUTER_PARAM_KEY=sr.WEB_ROUTER_KEY=sr.CONTROLLER_KEY=sr.SERVERLESS_FUNC_KEY=sr.FUNC_KEY=sr.FACTORY_SERVICE_CLIENT_KEY=sr.MOCK_KEY=sr.GUARD_KEY=sr.MATCH_KEY=sr.CATCH_KEY=sr.ASPECT_KEY=sr.FRAMEWORK_KEY=sr.CONFIGURATION_KEY=sr.SCHEDULE_KEY=sr.ALL=void 0;sr.PRIVATE_META_DATA_KEY=sr.MAIN_MODULE_KEY=sr.LIFECYCLE_IDENTIFIER_PREFIX=sr.PIPELINE_IDENTIFIER=sr.OBJ_DEF_CLS=sr.TAGGED_FUN=void 0;sr.ALL="common:all_value_key";sr.SCHEDULE_KEY="common:schedule";sr.CONFIGURATION_KEY="common:configuration";sr.FRAMEWORK_KEY="common:framework";sr.ASPECT_KEY="common:aspect";sr.CATCH_KEY="common:catch";sr.MATCH_KEY="common:match";sr.GUARD_KEY="common:guard";sr.MOCK_KEY="common:mock";sr.FACTORY_SERVICE_CLIENT_KEY="common:service_factory:client";sr.FUNC_KEY="faas:func";sr.SERVERLESS_FUNC_KEY="faas:serverless:function";sr.CONTROLLER_KEY="web:controller";sr.WEB_ROUTER_KEY="web:router";sr.WEB_ROUTER_PARAM_KEY="web:router_param";sr.WEB_RESPONSE_KEY="web:response";sr.WEB_RESPONSE_HTTP_CODE="web:response_http_code";sr.WEB_RESPONSE_REDIRECT="web:response_redirect";sr.WEB_RESPONSE_HEADER="web:response_header";sr.WEB_RESPONSE_CONTENT_TYPE="web:response_content_type";sr.WEB_RESPONSE_RENDER="web:response_render";sr.MODULE_TASK_KEY="task:task";sr.MODULE_TASK_METADATA="task:task:options";sr.MODULE_TASK_TASK_LOCAL_KEY="task:task:task_local";sr.MODULE_TASK_TASK_LOCAL_OPTIONS="task:task:task_local:options";sr.MODULE_TASK_QUEUE_KEY="task:task:queue";sr.MODULE_TASK_QUEUE_OPTIONS="task:task:queue:options";sr.WS_CONTROLLER_KEY="ws:controller";sr.WS_EVENT_KEY="ws:event";sr.HSF_KEY="rpc:hsf";sr.RPC_GRPC_KEY="rpc:grpc";sr.RPC_DUBBO_KEY="rpc:dubbo";sr.MS_CONSUMER_KEY="ms:consumer";sr.MS_PRODUCER_KEY="ms:producer";sr.MS_PROVIDER_KEY="ms:provider";sr.MS_GRPC_METHOD_KEY="ms:grpc:method";sr.MS_DUBBO_METHOD_KEY="ms:dubbo:method";sr.MS_HSF_METHOD_KEY="ms:hsf:method";sr.CONFIG_KEY="config";sr.PLUGIN_KEY="plugin";sr.LOGGER_KEY="logger";sr.APPLICATION_KEY="__midway_framework_app__";sr.APPLICATION_CONTEXT_KEY="__midway_application_context__";sr.CLASS_KEY_CONSTRUCTOR="midway:class_key_constructor";sr.NAMED_TAG="named";sr.INJECT_TAG="inject";sr.INJECT_CUSTOM_PROPERTY="inject_custom_property";sr.INJECT_CUSTOM_METHOD="inject_custom_method";sr.INJECT_CUSTOM_PARAM="inject_custom_param";sr.TAGGED_CLS="injection:tagged_class";sr.TAGGED_FUN="injection:tagged_function";sr.OBJ_DEF_CLS="injection:object_definition_class";sr.PIPELINE_IDENTIFIER="__pipeline_identifier__";sr.LIFECYCLE_IDENTIFIER_PREFIX="__lifecycle__";sr.MAIN_MODULE_KEY="__main__";sr.PRIVATE_META_DATA_KEY="__midway_private_meta_data__"},45317:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createCustomParamDecorator=sr.createCustomMethodDecorator=sr.createCustomPropertyDecorator=sr.getMethodReturnTypes=sr.getPropertyType=sr.getMethodParamTypes=sr.BaseType=sr.isProvide=sr.getProviderUUId=sr.getProviderName=sr.getProviderId=sr.saveProviderId=sr.getObjectDefinition=sr.saveObjectDefinition=sr.getPropertyInject=sr.savePropertyInject=sr.transformTypeFromTSDesign=sr.clearAllModule=sr.resetModule=sr.listModule=sr.clearBindContainer=sr.bindContainer=sr.saveModule=sr.listPreloadModule=sr.savePreloadModule=sr.getPropertyMetadata=sr.attachPropertyMetadata=sr.savePropertyMetadata=sr.listPropertyDataFromClass=sr.getPropertyDataFromClass=sr.attachPropertyDataToClass=sr.savePropertyDataToClass=sr.getClassMetadata=sr.getClassExtendedMetadata=sr.attachClassMetadata=sr.saveClassMetadata=sr.DecoratorManager=sr.INJECT_CLASS_KEY_PREFIX=sr.PRELOAD_MODULE_KEY=void 0;lr(37159);const hr=lr(6192);const yr=lr(75105);const kr=lr(63289);const Fr=lr(90406);const Br=lr(65308);const Ur=lr(61327);const Wr=lr(39023).debuglog("midway:core");sr.PRELOAD_MODULE_KEY="INJECTION_PRELOAD_MODULE_KEY";sr.INJECT_CLASS_KEY_PREFIX="INJECTION_CLASS_META_DATA";class DecoratorManager extends Map{constructor(){super(...arguments);this.injectClassKeyPrefix=sr.INJECT_CLASS_KEY_PREFIX;this.injectClassMethodKeyPrefix="INJECTION_CLASS_METHOD_META_DATA";this.injectMethodKeyPrefix="INJECTION_METHOD_META_DATA"}saveModule(ir,sr){if(this.container){return this.container.saveModule(ir,sr)}if(!this.has(ir)){this.set(ir,new Set)}this.get(ir).add(sr)}listModule(ir){if(this.container){return this.container.listModule(ir)}return Array.from(this.get(ir)||{})}resetModule(ir){this.set(ir,new Set)}bindContainer(ir){this.container=ir;this.container.transformModule(this)}static getDecoratorClassKey(ir){return ir.toString()+"_CLS"}static removeDecoratorClassKeySuffix(ir){return ir.toString().replace("_CLS","")}static getDecoratorMethodKey(ir){return ir.toString()+"_METHOD"}static getDecoratorClsExtendedKey(ir){return ir.toString()+"_EXT"}static getDecoratorClsMethodPrefix(ir){return ir.toString()+"_CLS_METHOD"}static getDecoratorClsMethodKey(ir,sr){return DecoratorManager.getDecoratorClsMethodPrefix(ir)+":"+sr.toString()}static getDecoratorMethod(ir,sr){return DecoratorManager.getDecoratorMethodKey(ir)+"_"+sr.toString()}static saveMetadata(ir,sr,lr,hr){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let yr;if(Reflect.hasOwnMetadata(ir,sr)){yr=Reflect.getMetadata(ir,sr)}else{yr=new Map}yr.set(lr,hr);Reflect.defineMetadata(ir,yr,sr)}static attachMetadata(ir,sr,lr,hr,yr,kr="one"){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let Fr;if(Reflect.hasOwnMetadata(ir,sr)){Fr=Reflect.getMetadata(ir,sr)}else{Fr=new Map}if(!Fr.has(lr)){if(yr){Fr.set(lr,{})}else{Fr.set(lr,[])}}if(yr){if(kr==="one"){Fr.get(lr)[yr]=hr}else{if(Fr.get(lr)[yr]){Fr.get(lr)[yr].push(hr)}else{Fr.get(lr)[yr]=[hr]}}}else{Fr.get(lr).push(hr)}Reflect.defineMetadata(ir,Fr,sr)}static getMetadata(ir,sr,lr){if(typeof sr==="object"&&sr.constructor){sr=sr.constructor}let hr;if(!Reflect.hasOwnMetadata(ir,sr)){hr=new Map;Reflect.defineMetadata(ir,hr,sr)}else{hr=Reflect.getMetadata(ir,sr)}if(!lr){return hr}return hr.get(lr)}saveMetadata(ir,sr,lr,hr){if(hr){const yr=DecoratorManager.getDecoratorMethod(ir,hr);DecoratorManager.saveMetadata(this.injectMethodKeyPrefix,lr,yr,sr)}else{const hr=DecoratorManager.getDecoratorClassKey(ir);DecoratorManager.saveMetadata(this.injectClassKeyPrefix,lr,hr,sr)}}attachMetadata(ir,sr,lr,hr,yr,kr){if(hr){const Fr=DecoratorManager.getDecoratorMethod(ir,hr);DecoratorManager.attachMetadata(this.injectMethodKeyPrefix,lr,Fr,sr,yr,kr)}else{const hr=DecoratorManager.getDecoratorClassKey(ir);DecoratorManager.attachMetadata(this.injectClassKeyPrefix,lr,hr,sr,yr,kr)}}getMetadata(ir,sr,lr){if(lr){const hr=DecoratorManager.getDecoratorMethod(ir,lr);return DecoratorManager.getMetadata(this.injectMethodKeyPrefix,sr,hr)}else{const lr=`${DecoratorManager.getDecoratorClassKey(ir)}`;return DecoratorManager.getMetadata(this.injectClassKeyPrefix,sr,lr)}}savePropertyDataToClass(ir,sr,lr,hr){const yr=DecoratorManager.getDecoratorClsMethodKey(ir,hr);DecoratorManager.saveMetadata(this.injectClassMethodKeyPrefix,lr,yr,sr)}attachPropertyDataToClass(ir,sr,lr,hr,yr){const kr=DecoratorManager.getDecoratorClsMethodKey(ir,hr);DecoratorManager.attachMetadata(this.injectClassMethodKeyPrefix,lr,kr,sr,yr)}getPropertyDataFromClass(ir,sr,lr){const hr=DecoratorManager.getDecoratorClsMethodKey(ir,lr);return DecoratorManager.getMetadata(this.injectClassMethodKeyPrefix,sr,hr)}listPropertyDataFromClass(ir,sr){const lr=DecoratorManager.getMetadata(this.injectClassMethodKeyPrefix,sr);const hr=[];for(const[sr,yr]of lr){if(sr.indexOf(DecoratorManager.getDecoratorClsMethodPrefix(ir))!==-1){hr.push(yr)}}return hr}}sr.DecoratorManager=DecoratorManager;let zr=new DecoratorManager;if(typeof global==="object"){if(global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]){console.warn('DecoratorManager not singleton and please check @midwayjs/core version by "npm ls @midwayjs/core"');const ir=(0,Ur.getModuleRequirePathList)("@midwayjs/core");if(ir.length){console.info("The module may be located in:");ir.forEach(((ir,sr)=>{console.info(`${sr+1}. ${ir}`)}))}zr=global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]}else{global["MIDWAY_GLOBAL_DECORATOR_MANAGER"]=zr}}function saveClassMetadata(ir,sr,lr,hr){if(hr&&typeof sr==="object"){const hr=zr.getMetadata(ir,lr);if(!hr){return zr.saveMetadata(ir,sr,lr)}if(Array.isArray(hr)){return zr.saveMetadata(ir,hr.concat(sr),lr)}else{return zr.saveMetadata(ir,Object.assign(hr,sr),lr)}}else{return zr.saveMetadata(ir,sr,lr)}}sr.saveClassMetadata=saveClassMetadata;function attachClassMetadata(ir,sr,lr,hr,yr){return zr.attachMetadata(ir,sr,lr,undefined,hr,yr)}sr.attachClassMetadata=attachClassMetadata;function getClassExtendedMetadata(ir,sr,lr,hr){if(hr===undefined){hr=true}const yr=DecoratorManager.getDecoratorClsExtendedKey(ir);let kr=zr.getMetadata(yr,sr,lr);if(hr&&kr!==undefined){return kr}const Fr=Reflect.getPrototypeOf(sr);if(Fr&&Fr.constructor!==Object){kr=(0,Br.merge)(getClassExtendedMetadata(ir,Fr,lr,hr),zr.getMetadata(ir,sr,lr))}zr.saveMetadata(yr,kr||null,sr,lr);return kr}sr.getClassExtendedMetadata=getClassExtendedMetadata;function getClassMetadata(ir,sr){return zr.getMetadata(ir,sr)}sr.getClassMetadata=getClassMetadata;function savePropertyDataToClass(ir,sr,lr,hr){return zr.savePropertyDataToClass(ir,sr,lr,hr)}sr.savePropertyDataToClass=savePropertyDataToClass;function attachPropertyDataToClass(ir,sr,lr,hr,yr){return zr.attachPropertyDataToClass(ir,sr,lr,hr,yr)}sr.attachPropertyDataToClass=attachPropertyDataToClass;function getPropertyDataFromClass(ir,sr,lr){return zr.getPropertyDataFromClass(ir,sr,lr)}sr.getPropertyDataFromClass=getPropertyDataFromClass;function listPropertyDataFromClass(ir,sr){return zr.listPropertyDataFromClass(ir,sr)}sr.listPropertyDataFromClass=listPropertyDataFromClass;function savePropertyMetadata(ir,sr,lr,hr){return zr.saveMetadata(ir,sr,lr,hr)}sr.savePropertyMetadata=savePropertyMetadata;function attachPropertyMetadata(ir,sr,lr,hr){return zr.attachMetadata(ir,sr,lr,hr)}sr.attachPropertyMetadata=attachPropertyMetadata;function getPropertyMetadata(ir,sr,lr){return zr.getMetadata(ir,sr,lr)}sr.getPropertyMetadata=getPropertyMetadata;function savePreloadModule(ir){return saveModule(sr.PRELOAD_MODULE_KEY,ir)}sr.savePreloadModule=savePreloadModule;function listPreloadModule(){return listModule(sr.PRELOAD_MODULE_KEY)}sr.listPreloadModule=listPreloadModule;function saveModule(ir,sr){if((0,kr.isClass)(sr)){saveProviderId(undefined,sr)}return zr.saveModule(ir,sr)}sr.saveModule=saveModule;function bindContainer(ir){return zr.bindContainer(ir)}sr.bindContainer=bindContainer;function clearBindContainer(){return zr.container=null}sr.clearBindContainer=clearBindContainer;function listModule(ir,sr){const lr=zr.listModule(ir);if(sr){return lr.filter(sr)}else{return lr}}sr.listModule=listModule;function resetModule(ir){return zr.resetModule(ir)}sr.resetModule=resetModule;function clearAllModule(){Wr("--- clear all module here ---");return zr.clear()}sr.clearAllModule=clearAllModule;function transformTypeFromTSDesign(ir){if((0,kr.isNullOrUndefined)(ir)){return{name:"undefined",isBaseType:true,originDesign:ir}}switch(ir.name){case"String":return{name:"string",isBaseType:true,originDesign:ir};case"Number":return{name:"number",isBaseType:true,originDesign:ir};case"Boolean":return{name:"boolean",isBaseType:true,originDesign:ir};case"Symbol":return{name:"symbol",isBaseType:true,originDesign:ir};case"Object":return{name:"object",isBaseType:true,originDesign:ir};case"Function":return{name:"function",isBaseType:true,originDesign:ir};default:return{name:ir.name,isBaseType:false,originDesign:ir}}}sr.transformTypeFromTSDesign=transformTypeFromTSDesign;function savePropertyInject(ir){let sr=ir.identifier;let lr=hr.InjectModeEnum.Identifier;if(!sr){const yr=getPropertyType(ir.target,ir.targetKey);if(!yr.isBaseType&&(0,kr.isClass)(yr.originDesign)&&isProvide(yr.originDesign)){sr=getProviderUUId(yr.originDesign);lr=hr.InjectModeEnum.Class}if(!sr){sr=ir.targetKey;lr=hr.InjectModeEnum.PropertyName}}attachClassMetadata(yr.INJECT_TAG,{targetKey:ir.targetKey,value:sr,args:ir.args,injectMode:lr},ir.target,ir.targetKey)}sr.savePropertyInject=savePropertyInject;function getPropertyInject(ir,sr){return getClassExtendedMetadata(yr.INJECT_TAG,ir,undefined,sr)}sr.getPropertyInject=getPropertyInject;function saveObjectDefinition(ir,sr={}){saveClassMetadata(yr.OBJ_DEF_CLS,sr,ir,true);return ir}sr.saveObjectDefinition=saveObjectDefinition;function getObjectDefinition(ir){return getClassExtendedMetadata(yr.OBJ_DEF_CLS,ir)}sr.getObjectDefinition=getObjectDefinition;function saveProviderId(ir,sr){if(isProvide(sr)){if(ir){const lr=getClassMetadata(yr.TAGGED_CLS,sr);if(lr.id!==ir){lr.id=ir;saveClassMetadata(yr.TAGGED_CLS,lr,sr);Wr(`update provide: ${sr.name} -> ${lr.uuid}`)}}}else{const lr=(0,Br.generateRandomId)();saveClassMetadata(yr.TAGGED_CLS,{id:ir,originName:sr.name,uuid:lr,name:(0,Fr.camelCase)(sr.name)},sr);Wr(`save provide: ${sr.name} -> ${lr}`)}return sr}sr.saveProviderId=saveProviderId;function getProviderId(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.id){return sr.id}}sr.getProviderId=getProviderId;function getProviderName(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.name){return sr.name}}sr.getProviderName=getProviderName;function getProviderUUId(ir){const sr=getClassMetadata(yr.TAGGED_CLS,ir);if(sr&&sr.uuid){return sr.uuid}}sr.getProviderUUId=getProviderUUId;function isProvide(ir){return!!getClassMetadata(yr.TAGGED_CLS,ir)}sr.isProvide=isProvide;var Jr;(function(ir){ir["Boolean"]="boolean";ir["Number"]="number";ir["String"]="string"})(Jr=sr.BaseType||(sr.BaseType={}));function getMethodParamTypes(ir,sr){if((0,kr.isClass)(ir)){ir=ir.prototype}return Reflect.getMetadata("design:paramtypes",ir,sr)}sr.getMethodParamTypes=getMethodParamTypes;function getPropertyType(ir,sr){return transformTypeFromTSDesign(Reflect.getMetadata("design:type",ir,sr))}sr.getPropertyType=getPropertyType;function getMethodReturnTypes(ir,sr){if((0,kr.isClass)(ir)){ir=ir.prototype}return Reflect.getMetadata("design:returntype",ir,sr)}sr.getMethodReturnTypes=getMethodReturnTypes;function createCustomPropertyDecorator(ir,sr,lr=true){return function(hr,kr){attachClassMetadata(yr.INJECT_CUSTOM_PROPERTY,{propertyName:kr,key:ir,metadata:sr,impl:lr},hr,kr)}}sr.createCustomPropertyDecorator=createCustomPropertyDecorator;function createCustomMethodDecorator(ir,sr,lr={impl:true}){if(typeof lr==="boolean"){lr={impl:lr}}if(lr.impl===undefined){lr.impl=true}return function(hr,kr,Fr){attachClassMetadata(yr.INJECT_CUSTOM_METHOD,{propertyName:kr,key:ir,metadata:sr,options:lr},hr)}}sr.createCustomMethodDecorator=createCustomMethodDecorator;function createCustomParamDecorator(ir,sr,lr={impl:true}){if(typeof lr==="boolean"){lr={impl:lr}}if(lr.impl===undefined){lr.impl=true}return function(hr,kr,Fr){attachClassMetadata(yr.INJECT_CUSTOM_PARAM,{key:ir,parameterIndex:Fr,propertyName:kr,metadata:sr,options:lr},hr,kr,"multi")}}sr.createCustomParamDecorator=createCustomParamDecorator},69193:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerlessTrigger=sr.ServerlessFunction=void 0;const hr=lr(49757);const yr=lr(6192);function ServerlessFunction(ir){return(sr,lr,yr)=>{(0,hr.savePropertyMetadata)(hr.SERVERLESS_FUNC_KEY,ir,sr,lr)}}sr.ServerlessFunction=ServerlessFunction;function ServerlessTrigger(ir,sr={}){return(lr,kr,Fr)=>{var Br;if(ir===yr.ServerlessTriggerType.HTTP||ir===yr.ServerlessTriggerType.API_GATEWAY){sr["method"]=(Br=sr["method"])!==null&&Br!==void 0?Br:"get"}(0,hr.saveModule)(hr.FUNC_KEY,lr.constructor);sr=sr||{};(0,hr.attachClassMetadata)(hr.FUNC_KEY,{type:ir,methodName:kr,metadata:sr},lr)}}sr.ServerlessTrigger=ServerlessTrigger},49757:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(39990),sr);yr(lr(92922),sr);yr(lr(52953),sr);yr(lr(76271),sr);yr(lr(2940),sr);yr(lr(73821),sr);yr(lr(18025),sr);yr(lr(1623),sr);yr(lr(41573),sr);yr(lr(17511),sr);yr(lr(41958),sr);yr(lr(64331),sr);yr(lr(56329),sr);yr(lr(69193),sr);yr(lr(86690),sr);yr(lr(58843),sr);yr(lr(29619),sr);yr(lr(92233),sr);yr(lr(75105),sr);yr(lr(45317),sr);yr(lr(573),sr);yr(lr(4132),sr);yr(lr(76543),sr);yr(lr(64767),sr);yr(lr(41684),sr);yr(lr(17640),sr);yr(lr(81970),sr);yr(lr(52963),sr);yr(lr(57706),sr);yr(lr(67999),sr);yr(lr(20551),sr)},573:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Consumer=void 0;const hr=lr(49757);const yr=lr(6192);function Consumer(ir,sr={}){return lr=>{(0,hr.saveModule)(hr.MS_CONSUMER_KEY,lr);(0,hr.saveClassMetadata)(hr.MS_CONSUMER_KEY,{type:ir,metadata:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Consumer=Consumer},64767:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.KafkaListener=void 0;const hr=lr(49757);function KafkaListener(ir,sr={}){return(lr,yr)=>{sr.topic=ir;sr.propertyKey=yr;(0,hr.attachPropertyDataToClass)(hr.MS_CONSUMER_KEY,sr,lr,yr)}}sr.KafkaListener=KafkaListener},4132:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DubboMethod=sr.GrpcMethod=sr.GrpcStreamTypeEnum=sr.Provider=void 0;const hr=lr(49757);const yr=lr(6192);function Provider(ir,sr={}){return lr=>{(0,hr.saveModule)(hr.MS_PROVIDER_KEY,lr);(0,hr.saveClassMetadata)(hr.MS_PROVIDER_KEY,{type:ir,metadata:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Provider=Provider;var kr;(function(ir){ir["BASE"]="base";ir["DUPLEX"]="ServerDuplexStream";ir["READABLE"]="ServerReadableStream";ir["WRITEABLE"]="ServerWritableStream"})(kr=sr.GrpcStreamTypeEnum||(sr.GrpcStreamTypeEnum={}));function GrpcMethod(ir={}){return(sr,lr,yr)=>{if(!ir.type){ir.type=kr.BASE}(0,hr.savePropertyMetadata)(hr.MS_GRPC_METHOD_KEY,{methodName:ir.methodName||lr,type:ir.type,onEnd:ir.onEnd},sr,lr);return yr}}sr.GrpcMethod=GrpcMethod;function DubboMethod(ir){return(sr,lr,yr)=>{(0,hr.attachClassMetadata)(hr.MS_DUBBO_METHOD_KEY,{methodName:ir||lr},sr);return yr}}sr.DubboMethod=DubboMethod},76543:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.RabbitMQListener=void 0;const hr=lr(49757);function RabbitMQListener(ir,sr={}){return(lr,yr)=>{sr.queueName=ir;sr.propertyKey=yr;(0,hr.attachPropertyDataToClass)(hr.MS_CONSUMER_KEY,sr,lr,yr)}}sr.RabbitMQListener=RabbitMQListener},41684:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HSF=void 0;const hr=lr(49757);const yr=lr(6192);function HSF(ir={}){return sr=>{(0,hr.saveModule)(hr.HSF_KEY,sr);(0,hr.saveClassMetadata)(hr.HSF_KEY,ir,sr);(0,hr.Scope)(yr.ScopeEnum.Request)(sr);(0,hr.Provide)()(sr)}}sr.HSF=HSF},17640:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Queue=void 0;const hr=lr(49757);const yr=lr(75105);function Queue(ir){return function(sr){(0,hr.saveModule)(yr.MODULE_TASK_QUEUE_KEY,sr);(0,hr.saveClassMetadata)(yr.MODULE_TASK_QUEUE_OPTIONS,{options:ir,name:sr.name},sr);(0,hr.Provide)()(sr)}}sr.Queue=Queue},57706:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Schedule=void 0;const hr=lr(49757);const yr=lr(6192);function Schedule(ir){return function(sr){(0,hr.saveModule)(hr.SCHEDULE_KEY,sr);(0,hr.saveClassMetadata)(hr.SCHEDULE_KEY,ir,sr);(0,hr.Scope)(yr.ScopeEnum.Request)(sr);(0,hr.Provide)()(sr)}}sr.Schedule=Schedule},81970:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Task=void 0;const hr=lr(49757);const yr=lr(75105);function Task(ir){return function(sr,lr,kr){(0,hr.saveModule)(yr.MODULE_TASK_KEY,sr.constructor);(0,hr.attachClassMetadata)(yr.MODULE_TASK_METADATA,{options:ir,propertyKey:lr,value:kr.value,name:sr.constructor.name},sr)}}sr.Task=Task},52963:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.TaskLocal=void 0;const hr=lr(49757);const yr=lr(75105);function TaskLocal(ir){return function(sr,lr,kr){(0,hr.saveModule)(yr.MODULE_TASK_TASK_LOCAL_KEY,sr.constructor);(0,hr.attachClassMetadata)(yr.MODULE_TASK_TASK_LOCAL_OPTIONS,{options:ir,propertyKey:lr,value:kr.value},sr)}}sr.TaskLocal=TaskLocal},86690:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Controller=void 0;const hr=lr(49757);const yr=lr(6192);function Controller(ir="/",sr={middleware:[],sensitive:true}){return lr=>{(0,hr.saveModule)(hr.CONTROLLER_KEY,lr);if(ir)(0,hr.saveClassMetadata)(hr.CONTROLLER_KEY,{prefix:ir,routerOptions:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.Controller=Controller},58843:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Fields=sr.Queries=sr.RequestIP=sr.RequestPath=sr.Files=sr.File=sr.Headers=sr.Param=sr.Query=sr.Body=sr.Session=sr.createRequestParamDecorator=sr.RouteParamTypes=void 0;const hr=lr(49757);var yr;(function(ir){ir["QUERY"]="query";ir["BODY"]="body";ir["PARAM"]="param";ir["HEADERS"]="headers";ir["SESSION"]="session";ir["FILESTREAM"]="file_stream";ir["FILESSTREAM"]="files_stream";ir["NEXT"]="next";ir["REQUEST_PATH"]="request_path";ir["REQUEST_IP"]="request_ip";ir["QUERIES"]="queries";ir["FIELDS"]="fields";ir["CUSTOM"]="custom"})(yr=sr.RouteParamTypes||(sr.RouteParamTypes={}));const createParamMapping=function(ir){return(sr,lr={})=>{let yr=sr;if(Array.isArray(sr)&&lr.pipes===undefined){lr.pipes=sr;yr=undefined}return(0,hr.createCustomParamDecorator)(hr.WEB_ROUTER_PARAM_KEY,{type:ir,propertyData:yr},lr)}};const createRequestParamDecorator=function(ir,sr){sr=sr||{};if(Array.isArray(sr)){sr={pipes:sr}}return createParamMapping(yr.CUSTOM)(ir,sr)};sr.createRequestParamDecorator=createRequestParamDecorator;const Session=(ir,sr)=>createParamMapping(yr.SESSION)(ir,{pipes:sr});sr.Session=Session;const Body=(ir,sr)=>createParamMapping(yr.BODY)(ir,{pipes:sr});sr.Body=Body;const Query=(ir,sr)=>createParamMapping(yr.QUERY)(ir,{pipes:sr});sr.Query=Query;const Param=(ir,sr)=>createParamMapping(yr.PARAM)(ir,{pipes:sr});sr.Param=Param;const Headers=(ir,sr)=>createParamMapping(yr.HEADERS)(ir,{pipes:sr});sr.Headers=Headers;const File=(ir,sr)=>createParamMapping(yr.FILESTREAM)(ir,{pipes:sr});sr.File=File;const Files=(ir,sr)=>createParamMapping(yr.FILESSTREAM)(ir,{pipes:sr});sr.Files=Files;const RequestPath=ir=>createParamMapping(yr.REQUEST_PATH)(undefined,{pipes:ir});sr.RequestPath=RequestPath;const RequestIP=ir=>createParamMapping(yr.REQUEST_IP)(undefined,{pipes:ir});sr.RequestIP=RequestIP;const Queries=(ir,sr)=>createParamMapping(yr.QUERIES)(ir,{pipes:sr});sr.Queries=Queries;const Fields=(ir,sr)=>createParamMapping(yr.FIELDS)(ir,{pipes:sr});sr.Fields=Fields},29619:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.All=sr.Head=sr.Options=sr.Patch=sr.Put=sr.Del=sr.Get=sr.Post=sr.RequestMapping=sr.RequestMethod=void 0;const hr=lr(49757);sr.RequestMethod={GET:"get",POST:"post",PUT:"put",DELETE:"delete",PATCH:"patch",ALL:"all",OPTIONS:"options",HEAD:"head"};const yr={path:"/",requestMethod:sr.RequestMethod.GET,routerName:null,middleware:[]};const RequestMapping=(ir=yr)=>{const lr=ir.path||"/";const kr=ir.requestMethod||sr.RequestMethod.GET;const Fr=ir.routerName;const Br=ir.middleware;return(sr,yr,Ur)=>{var Wr;(0,hr.attachClassMetadata)(hr.WEB_ROUTER_KEY,{path:lr,requestMethod:kr,routerName:Fr,method:yr,middleware:Br,summary:(ir===null||ir===void 0?void 0:ir.summary)||"",description:(ir===null||ir===void 0?void 0:ir.description)||"",ignoreGlobalPrefix:(Wr=ir===null||ir===void 0?void 0:ir.ignoreGlobalPrefix)!==null&&Wr!==void 0?Wr:false},sr);return Ur}};sr.RequestMapping=RequestMapping;const createMappingDecorator=ir=>(lr,hr={middleware:[]})=>(0,sr.RequestMapping)(Object.assign(hr,{requestMethod:ir,path:lr}));sr.Post=createMappingDecorator(sr.RequestMethod.POST);sr.Get=createMappingDecorator(sr.RequestMethod.GET);sr.Del=createMappingDecorator(sr.RequestMethod.DELETE);sr.Put=createMappingDecorator(sr.RequestMethod.PUT);sr.Patch=createMappingDecorator(sr.RequestMethod.PATCH);sr.Options=createMappingDecorator(sr.RequestMethod.OPTIONS);sr.Head=createMappingDecorator(sr.RequestMethod.HEAD);sr.All=createMappingDecorator(sr.RequestMethod.ALL)},92233:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createRender=sr.ContentType=sr.SetHeader=sr.HttpCode=sr.Redirect=void 0;const hr=lr(49757);function Redirect(ir,sr=302){return(lr,yr,kr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_REDIRECT,url:ir,code:sr},lr,yr);return kr}}sr.Redirect=Redirect;function HttpCode(ir){return(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_HTTP_CODE,code:ir},sr,lr);return yr}}sr.HttpCode=HttpCode;function SetHeader(ir,sr){return(lr,yr,kr)=>{let Fr={};if(sr){Fr[ir]=sr}else{Fr=ir}(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_HEADER,setHeaders:Fr},lr,yr);return kr}}sr.SetHeader=SetHeader;function ContentType(ir){return(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_CONTENT_TYPE,contentType:ir},sr,lr);return yr}}sr.ContentType=ContentType;function createRender(ir){return ir=>(sr,lr,yr)=>{(0,hr.attachPropertyMetadata)(hr.WEB_RESPONSE_KEY,{type:hr.WEB_RESPONSE_RENDER,templateName:ir},sr,lr);return yr}}sr.createRender=createRender},67999:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.WSController=void 0;const hr=lr(49757);const yr=lr(6192);function WSController(ir="/",sr={middleware:[],connectionMiddleware:[]}){return lr=>{(0,hr.saveModule)(hr.WS_CONTROLLER_KEY,lr);(0,hr.saveClassMetadata)(hr.WS_CONTROLLER_KEY,{namespace:ir,routerOptions:sr},lr);(0,hr.Scope)(yr.ScopeEnum.Request)(lr);(0,hr.Provide)()(lr)}}sr.WSController=WSController},20551:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.OnConnection=sr.OnDisConnection=sr.Emit=sr.OnMessage=sr.WSBroadCast=sr.WSEmit=sr.OnWSMessage=sr.OnWSDisConnection=sr.OnWSConnection=sr.WSEventTypeEnum=void 0;const hr=lr(49757);var yr;(function(ir){ir["ON_CONNECTION"]="ws:onConnection";ir["ON_DISCONNECTION"]="ws:onDisconnection";ir["ON_MESSAGE"]="ws:onMessage";ir["ON_SOCKET_ERROR"]="ws:onSocketError";ir["EMIT"]="ws:Emit";ir["BROADCAST"]="ws:broadcast"})(yr=sr.WSEventTypeEnum||(sr.WSEventTypeEnum={}));function OnWSConnection(ir={}){return(sr,lr,kr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_CONNECTION,propertyName:lr,eventOptions:ir,descriptor:kr},sr.constructor)}}sr.OnWSConnection=OnWSConnection;function OnWSDisConnection(){return(ir,sr,lr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_DISCONNECTION,propertyName:sr,descriptor:lr},ir.constructor)}}sr.OnWSDisConnection=OnWSDisConnection;function OnWSMessage(ir,sr={}){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.ON_MESSAGE,messageEventName:ir,propertyName:kr,eventOptions:sr,descriptor:Fr},lr.constructor)}}sr.OnWSMessage=OnWSMessage;function WSEmit(ir,sr=[]){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.EMIT,propertyName:kr,messageEventName:ir,roomName:[].concat(sr),descriptor:Fr},lr.constructor)}}sr.WSEmit=WSEmit;function WSBroadCast(ir="",sr=[]){return(lr,kr,Fr)=>{(0,hr.attachClassMetadata)(hr.WS_EVENT_KEY,{eventType:yr.BROADCAST,propertyName:kr,messageEventName:ir,roomName:[].concat(sr),descriptor:Fr},lr.constructor)}}sr.WSBroadCast=WSBroadCast;sr.OnMessage=OnWSMessage;sr.Emit=WSEmit;sr.OnDisConnection=OnWSDisConnection;sr.OnConnection=OnWSConnection},34881:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FunctionDefinition=void 0;const hr=lr(6192);const yr=lr(59327);class FunctionWrapperCreator extends yr.ObjectCreator{doConstruct(ir,sr,lr){if(!ir){return null}return ir(lr,sr)}async doConstructAsync(ir,sr,lr){if(!ir){return null}return ir(lr,sr)}}class FunctionDefinition{constructor(){this.constructorArgs=[];this.namespace="";this.asynchronous=true;this.handlerProps=[];this.allowDowngrade=false;this.innerAutowire=false;this.innerScope=hr.ScopeEnum.Singleton;this.creator=new FunctionWrapperCreator(this)}getAttr(ir){}hasAttr(ir){return false}hasConstructorArgs(){return false}hasDependsOn(){return false}isAsync(){return this.asynchronous}isDirect(){return false}isExternal(){return false}set scope(ir){this.innerScope=ir}isSingletonScope(){return this.innerScope===hr.ScopeEnum.Singleton}isRequestScope(){return this.innerScope===hr.ScopeEnum.Request}setAttr(ir,sr){}}sr.FunctionDefinition=FunctionDefinition},59327:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectCreator=void 0;const hr=lr(86314);const yr=lr(63289);class ObjectCreator{constructor(ir){this.definition=ir}load(){let ir=null;if(typeof this.definition.path==="string"){if(!this.definition.path){return ir}const sr=this.definition.path;if(this.definition.export){ir=require(sr)[this.definition.export]}else{ir=require(sr)}}else{ir=this.definition.path}return ir}doConstruct(ir,sr){if(!ir){return Object.create(null)}let lr;if(this.definition.constructMethod){lr=ir[this.definition.constructMethod].apply(ir,sr)}else{lr=Reflect.construct(ir,sr)}return lr}async doConstructAsync(ir,sr){if(!ir){return Object.create(null)}let lr;if(this.definition.constructMethod){const hr=ir[this.definition.constructMethod];if(yr.Types.isAsyncFunction(hr)){lr=await hr.apply(ir,sr)}else{lr=hr.apply(ir,sr)}}else{lr=Reflect.construct(ir,sr)}return lr}doInit(ir){const sr=ir;if(this.definition.initMethod&&sr[this.definition.initMethod]){if(yr.Types.isGeneratorFunction(sr[this.definition.initMethod])||yr.Types.isAsyncFunction(sr[this.definition.initMethod])){throw new hr.MidwayUseWrongMethodError("context.get","context.getAsync",this.definition.id)}else{const ir=sr[this.definition.initMethod].call(sr);if(yr.Types.isPromise(ir)){throw new hr.MidwayUseWrongMethodError("context.get","context.getAsync",this.definition.id)}}}}async doInitAsync(ir){const sr=ir;if(this.definition.initMethod&&sr[this.definition.initMethod]){const ir=sr[this.definition.initMethod];if(yr.Types.isAsyncFunction(ir)){await ir.call(sr)}else{if(ir.length===1){await new Promise((lr=>{ir.call(sr,lr)}))}else{ir.call(sr)}}}}doDestroy(ir){if(this.definition.destroyMethod&&ir[this.definition.destroyMethod]){ir[this.definition.destroyMethod].call(ir)}}async doDestroyAsync(ir){if(this.definition.destroyMethod&&ir[this.definition.destroyMethod]){const sr=ir[this.definition.destroyMethod];if(yr.Types.isAsyncFunction(sr)){await sr.call(ir)}else{if(sr.length===1){await new Promise((lr=>{sr.call(ir,lr)}))}else{sr.call(ir)}}}}}sr.ObjectCreator=ObjectCreator},47698:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectDefinition=void 0;const hr=lr(6192);const yr=lr(74701);const kr=lr(59327);class ObjectDefinition{constructor(){this._attrs=new Map;this._asynchronous=false;this.scope=hr.ScopeEnum.Singleton;this.creator=null;this.id=null;this.name=null;this.initMethod=null;this.destroyMethod=null;this.constructMethod=null;this.constructorArgs=[];this.path=null;this.export=null;this.dependsOn=[];this.properties=new yr.ObjectProperties;this.namespace="";this.handlerProps=[];this.allowDowngrade=false;this.creator=new kr.ObjectCreator(this)}set asynchronous(ir){this._asynchronous=ir}isAsync(){return this._asynchronous}isSingletonScope(){return this.scope===hr.ScopeEnum.Singleton}isRequestScope(){return this.scope===hr.ScopeEnum.Request}hasDependsOn(){return this.dependsOn.length>0}hasConstructorArgs(){return this.constructorArgs.length>0}getAttr(ir){return this._attrs.get(ir)}hasAttr(ir){return this._attrs.has(ir)}setAttr(ir,sr){this._attrs.set(ir,sr)}}sr.ObjectDefinition=ObjectDefinition},74701:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ObjectProperties=void 0;class ObjectProperties extends Map{propertyKeys(){return Array.from(this.keys())}getProperty(ir,sr){if(this.has(ir)){return this.get(ir)}return sr}setProperty(ir,sr){return this.set(ir,sr)}}sr.ObjectProperties=ObjectProperties},21769:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayHttpError=sr.MidwayError=sr.registerErrorCode=void 0;const hr=lr(58611);const yr=new Set;function registerErrorCode(ir,sr){if(yr.has(ir)){throw new MidwayError(`Error group ${ir} is duplicated, please check before adding.`)}else{yr.add(ir)}const lr={};for(const hr in sr){lr[hr]=ir.toUpperCase()+"_"+String(sr[hr]).toUpperCase()}return lr}sr.registerErrorCode=registerErrorCode;class MidwayError extends Error{constructor(ir,sr,lr){super(ir);if(!sr||typeof sr==="object"){lr=sr;sr="MIDWAY_10000"}this.name=this.constructor.name;this.code=sr;this.cause=lr===null||lr===void 0?void 0:lr.cause}}sr.MidwayError=MidwayError;class MidwayHttpError extends MidwayError{constructor(ir,sr,lr,yr){super(ir?typeof ir==="string"?ir:ir.message:hr.STATUS_CODES[sr],lr!==null&&lr!==void 0?lr:String(sr),yr);if(ir&&ir["stack"]){this.stack=ir["stack"]}this.status=sr}}sr.MidwayHttpError=MidwayHttpError},37198:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayEmptyValueError=sr.MidwayInvalidConfigPropertyError=sr.MidwayMainFrameworkMissingError=sr.MidwayCodeInvokeTimeoutError=sr.MidwayInvokeForbiddenError=sr.MidwayRetryExceededMaxTimesError=sr.MidwayDuplicateControllerOptionsError=sr.MidwayDuplicateClassNameError=sr.MidwayInconsistentVersionError=sr.MidwayUtilHttpClientTimeoutError=sr.MidwayMissingImportComponentError=sr.MidwaySingletonInjectRequestError=sr.MidwayUseWrongMethodError=sr.MidwayDuplicateRouteError=sr.MidwayResolverMissingError=sr.MidwayInvalidConfigError=sr.MidwayConfigMissingError=sr.MidwayFeatureNotImplementedError=sr.MidwayFeatureNoLongerSupportedError=sr.MidwayDefinitionNotFoundError=sr.MidwayParameterError=sr.MidwayCommonError=sr.FrameworkErrorEnum=void 0;const hr=lr(21769);sr.FrameworkErrorEnum=(0,hr.registerErrorCode)("midway",{UNKNOWN:1e4,COMMON:10001,PARAM_TYPE:10002,DEFINITION_NOT_FOUND:10003,FEATURE_NO_LONGER_SUPPORTED:10004,FEATURE_NOT_IMPLEMENTED:10004,MISSING_CONFIG:10006,MISSING_RESOLVER:10007,DUPLICATE_ROUTER:10008,USE_WRONG_METHOD:10009,SINGLETON_INJECT_REQUEST:10010,MISSING_IMPORTS:10011,UTIL_HTTP_TIMEOUT:10012,INCONSISTENT_VERSION:10013,INVALID_CONFIG:10014,DUPLICATE_CLASS_NAME:10015,DUPLICATE_CONTROLLER_PREFIX_OPTIONS:10016,RETRY_OVER_MAX_TIME:10017,INVOKE_METHOD_FORBIDDEN:10018,CODE_INVOKE_TIMEOUT:10019,MAIN_FRAMEWORK_MISSING:10020,INVALID_CONFIG_PROPERTY:10021,EMPTY_VALUE:10022});class MidwayCommonError extends hr.MidwayError{constructor(ir){super(ir,sr.FrameworkErrorEnum.COMMON)}}sr.MidwayCommonError=MidwayCommonError;class MidwayParameterError extends hr.MidwayError{constructor(ir){super(ir!==null&&ir!==void 0?ir:"Parameter type not match",sr.FrameworkErrorEnum.PARAM_TYPE)}}sr.MidwayParameterError=MidwayParameterError;class MidwayDefinitionNotFoundError extends hr.MidwayError{static isClosePrototypeOf(ir){return ir?ir[MidwayDefinitionNotFoundError.type]===MidwayDefinitionNotFoundError.type:false}constructor(ir){super(`${ir} is not valid in current context`,sr.FrameworkErrorEnum.DEFINITION_NOT_FOUND);this[MidwayDefinitionNotFoundError.type]=MidwayDefinitionNotFoundError.type}updateErrorMsg(ir){const sr=this.message.split(" is not valid in current context")[0];this.message=`${sr} in class ${ir} is not valid in current context`}}sr.MidwayDefinitionNotFoundError=MidwayDefinitionNotFoundError;MidwayDefinitionNotFoundError.type=Symbol.for("#NotFoundError");class MidwayFeatureNoLongerSupportedError extends hr.MidwayError{constructor(ir){super("This feature no longer supported \n"+ir,sr.FrameworkErrorEnum.FEATURE_NO_LONGER_SUPPORTED)}}sr.MidwayFeatureNoLongerSupportedError=MidwayFeatureNoLongerSupportedError;class MidwayFeatureNotImplementedError extends hr.MidwayError{constructor(ir){super("This feature not implemented \n"+ir,sr.FrameworkErrorEnum.FEATURE_NOT_IMPLEMENTED)}}sr.MidwayFeatureNotImplementedError=MidwayFeatureNotImplementedError;class MidwayConfigMissingError extends hr.MidwayError{constructor(ir){super(`Can't found config key "${ir}" in your config, please set it first`,sr.FrameworkErrorEnum.MISSING_CONFIG)}}sr.MidwayConfigMissingError=MidwayConfigMissingError;class MidwayInvalidConfigError extends hr.MidwayError{constructor(ir){super("Invalid config file \n"+ir,sr.FrameworkErrorEnum.INVALID_CONFIG)}}sr.MidwayInvalidConfigError=MidwayInvalidConfigError;class MidwayResolverMissingError extends hr.MidwayError{constructor(ir){super(`Resolver "${ir}" is missing.`,sr.FrameworkErrorEnum.MISSING_RESOLVER)}}sr.MidwayResolverMissingError=MidwayResolverMissingError;class MidwayDuplicateRouteError extends hr.MidwayError{constructor(ir,lr,hr){super(`Duplicate router "${ir}" at "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_ROUTER)}}sr.MidwayDuplicateRouteError=MidwayDuplicateRouteError;class MidwayUseWrongMethodError extends hr.MidwayError{constructor(ir,lr,hr){const yr=hr?`${hr} not valid by ${ir}, Use ${lr} instead!`:`You should not invoked by ${ir}, Use ${lr} instead!`;super(yr,sr.FrameworkErrorEnum.USE_WRONG_METHOD)}}sr.MidwayUseWrongMethodError=MidwayUseWrongMethodError;class MidwaySingletonInjectRequestError extends hr.MidwayError{constructor(ir,lr){const hr=`${ir} with singleton scope can't implicitly inject ${lr} with request scope directly, please add "@Scope(ScopeEnum.Request, { allowDowngrade: true })" in ${lr} or use "ctx.requestContext.getAsync(${lr})".`;super(hr,sr.FrameworkErrorEnum.SINGLETON_INJECT_REQUEST)}}sr.MidwaySingletonInjectRequestError=MidwaySingletonInjectRequestError;class MidwayMissingImportComponentError extends hr.MidwayError{constructor(ir){const lr=`"${ir}" can't inject and maybe forgot add "{imports: [***]}" in @Configuration.`;super(lr,sr.FrameworkErrorEnum.MISSING_IMPORTS)}}sr.MidwayMissingImportComponentError=MidwayMissingImportComponentError;class MidwayUtilHttpClientTimeoutError extends hr.MidwayError{constructor(ir){super(ir,sr.FrameworkErrorEnum.UTIL_HTTP_TIMEOUT)}}sr.MidwayUtilHttpClientTimeoutError=MidwayUtilHttpClientTimeoutError;class MidwayInconsistentVersionError extends hr.MidwayError{constructor(){const ir='We find a latest dependency package installed, please remove the lock file and use "npm update" to upgrade all dependencies first.';super(ir,sr.FrameworkErrorEnum.INCONSISTENT_VERSION)}}sr.MidwayInconsistentVersionError=MidwayInconsistentVersionError;class MidwayDuplicateClassNameError extends hr.MidwayError{constructor(ir,lr,hr){super(`"${ir}" duplicated between "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_CLASS_NAME)}}sr.MidwayDuplicateClassNameError=MidwayDuplicateClassNameError;class MidwayDuplicateControllerOptionsError extends hr.MidwayError{constructor(ir,lr,hr){super(`"Prefix ${ir}" with duplicated controller options between "${lr}" and "${hr}"`,sr.FrameworkErrorEnum.DUPLICATE_CONTROLLER_PREFIX_OPTIONS)}}sr.MidwayDuplicateControllerOptionsError=MidwayDuplicateControllerOptionsError;class MidwayRetryExceededMaxTimesError extends hr.MidwayError{constructor(ir,lr,hr){super(`Invoke "${ir}" retries exceeded the maximum number of times(${lr}), error: ${hr.message}`,sr.FrameworkErrorEnum.RETRY_OVER_MAX_TIME,{cause:hr})}}sr.MidwayRetryExceededMaxTimesError=MidwayRetryExceededMaxTimesError;class MidwayInvokeForbiddenError extends hr.MidwayError{constructor(ir,lr){super(`Invoke "${lr?lr.name:"unknown"}.${ir}" is forbidden.`,sr.FrameworkErrorEnum.INVOKE_METHOD_FORBIDDEN)}}sr.MidwayInvokeForbiddenError=MidwayInvokeForbiddenError;class MidwayCodeInvokeTimeoutError extends hr.MidwayError{constructor(ir,lr){super(`Invoke "${ir}" running timeout(${lr}ms)`,sr.FrameworkErrorEnum.CODE_INVOKE_TIMEOUT)}}sr.MidwayCodeInvokeTimeoutError=MidwayCodeInvokeTimeoutError;class MidwayMainFrameworkMissingError extends hr.MidwayError{constructor(){super("Main framework missing, please check your configuration.",sr.FrameworkErrorEnum.MAIN_FRAMEWORK_MISSING)}}sr.MidwayMainFrameworkMissingError=MidwayMainFrameworkMissingError;class MidwayInvalidConfigPropertyError extends hr.MidwayError{constructor(ir,lr){super(`Invalid config property "${ir}", ${lr?`only ${lr.join(",")} can be set`:"please check your configuration"}.`,sr.FrameworkErrorEnum.INVALID_CONFIG_PROPERTY)}}sr.MidwayInvalidConfigPropertyError=MidwayInvalidConfigPropertyError;class MidwayEmptyValueError extends hr.MidwayError{constructor(ir){super(ir!==null&&ir!==void 0?ir:"There is an empty value got and it is not allowed.",sr.FrameworkErrorEnum.EMPTY_VALUE)}}sr.MidwayEmptyValueError=MidwayEmptyValueError},9504:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.httpError=sr.GatewayTimeoutError=sr.ServiceUnavailableError=sr.BadGatewayError=sr.NotImplementedError=sr.InternalServerErrorError=sr.TooManyRequestsError=sr.UnprocessableEntityError=sr.UnsupportedMediaTypeError=sr.PayloadTooLargeError=sr.GoneError=sr.ConflictError=sr.RequestTimeoutError=sr.NotAcceptableError=sr.ForbiddenError=sr.NotFoundError=sr.UnauthorizedError=sr.BadRequestError=sr.HttpStatus=void 0;const hr=lr(21769);var yr;(function(ir){ir[ir["CONTINUE"]=100]="CONTINUE";ir[ir["SWITCHING_PROTOCOLS"]=101]="SWITCHING_PROTOCOLS";ir[ir["PROCESSING"]=102]="PROCESSING";ir[ir["EARLYHINTS"]=103]="EARLYHINTS";ir[ir["OK"]=200]="OK";ir[ir["CREATED"]=201]="CREATED";ir[ir["ACCEPTED"]=202]="ACCEPTED";ir[ir["NON_AUTHORITATIVE_INFORMATION"]=203]="NON_AUTHORITATIVE_INFORMATION";ir[ir["NO_CONTENT"]=204]="NO_CONTENT";ir[ir["RESET_CONTENT"]=205]="RESET_CONTENT";ir[ir["PARTIAL_CONTENT"]=206]="PARTIAL_CONTENT";ir[ir["AMBIGUOUS"]=300]="AMBIGUOUS";ir[ir["MOVED_PERMANENTLY"]=301]="MOVED_PERMANENTLY";ir[ir["FOUND"]=302]="FOUND";ir[ir["SEE_OTHER"]=303]="SEE_OTHER";ir[ir["NOT_MODIFIED"]=304]="NOT_MODIFIED";ir[ir["TEMPORARY_REDIRECT"]=307]="TEMPORARY_REDIRECT";ir[ir["PERMANENT_REDIRECT"]=308]="PERMANENT_REDIRECT";ir[ir["BAD_REQUEST"]=400]="BAD_REQUEST";ir[ir["UNAUTHORIZED"]=401]="UNAUTHORIZED";ir[ir["PAYMENT_REQUIRED"]=402]="PAYMENT_REQUIRED";ir[ir["FORBIDDEN"]=403]="FORBIDDEN";ir[ir["NOT_FOUND"]=404]="NOT_FOUND";ir[ir["METHOD_NOT_ALLOWED"]=405]="METHOD_NOT_ALLOWED";ir[ir["NOT_ACCEPTABLE"]=406]="NOT_ACCEPTABLE";ir[ir["PROXY_AUTHENTICATION_REQUIRED"]=407]="PROXY_AUTHENTICATION_REQUIRED";ir[ir["REQUEST_TIMEOUT"]=408]="REQUEST_TIMEOUT";ir[ir["CONFLICT"]=409]="CONFLICT";ir[ir["GONE"]=410]="GONE";ir[ir["LENGTH_REQUIRED"]=411]="LENGTH_REQUIRED";ir[ir["PRECONDITION_FAILED"]=412]="PRECONDITION_FAILED";ir[ir["PAYLOAD_TOO_LARGE"]=413]="PAYLOAD_TOO_LARGE";ir[ir["URI_TOO_LONG"]=414]="URI_TOO_LONG";ir[ir["UNSUPPORTED_MEDIA_TYPE"]=415]="UNSUPPORTED_MEDIA_TYPE";ir[ir["REQUESTED_RANGE_NOT_SATISFIABLE"]=416]="REQUESTED_RANGE_NOT_SATISFIABLE";ir[ir["EXPECTATION_FAILED"]=417]="EXPECTATION_FAILED";ir[ir["I_AM_A_TEAPOT"]=418]="I_AM_A_TEAPOT";ir[ir["MISDIRECTED"]=421]="MISDIRECTED";ir[ir["UNPROCESSABLE_ENTITY"]=422]="UNPROCESSABLE_ENTITY";ir[ir["FAILED_DEPENDENCY"]=424]="FAILED_DEPENDENCY";ir[ir["PRECONDITION_REQUIRED"]=428]="PRECONDITION_REQUIRED";ir[ir["TOO_MANY_REQUESTS"]=429]="TOO_MANY_REQUESTS";ir[ir["INTERNAL_SERVER_ERROR"]=500]="INTERNAL_SERVER_ERROR";ir[ir["NOT_IMPLEMENTED"]=501]="NOT_IMPLEMENTED";ir[ir["BAD_GATEWAY"]=502]="BAD_GATEWAY";ir[ir["SERVICE_UNAVAILABLE"]=503]="SERVICE_UNAVAILABLE";ir[ir["GATEWAY_TIMEOUT"]=504]="GATEWAY_TIMEOUT";ir[ir["HTTP_VERSION_NOT_SUPPORTED"]=505]="HTTP_VERSION_NOT_SUPPORTED"})(yr=sr.HttpStatus||(sr.HttpStatus={}));class BadRequestError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.BAD_REQUEST)}}sr.BadRequestError=BadRequestError;class UnauthorizedError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNAUTHORIZED)}}sr.UnauthorizedError=UnauthorizedError;class NotFoundError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_FOUND)}}sr.NotFoundError=NotFoundError;class ForbiddenError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.FORBIDDEN)}}sr.ForbiddenError=ForbiddenError;class NotAcceptableError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_ACCEPTABLE)}}sr.NotAcceptableError=NotAcceptableError;class RequestTimeoutError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.REQUEST_TIMEOUT)}}sr.RequestTimeoutError=RequestTimeoutError;class ConflictError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.CONFLICT)}}sr.ConflictError=ConflictError;class GoneError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.GONE)}}sr.GoneError=GoneError;class PayloadTooLargeError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.PAYLOAD_TOO_LARGE)}}sr.PayloadTooLargeError=PayloadTooLargeError;class UnsupportedMediaTypeError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNSUPPORTED_MEDIA_TYPE)}}sr.UnsupportedMediaTypeError=UnsupportedMediaTypeError;class UnprocessableEntityError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.UNPROCESSABLE_ENTITY)}}sr.UnprocessableEntityError=UnprocessableEntityError;class TooManyRequestsError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.TOO_MANY_REQUESTS)}}sr.TooManyRequestsError=TooManyRequestsError;class InternalServerErrorError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.INTERNAL_SERVER_ERROR)}}sr.InternalServerErrorError=InternalServerErrorError;class NotImplementedError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.NOT_IMPLEMENTED)}}sr.NotImplementedError=NotImplementedError;class BadGatewayError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.BAD_GATEWAY)}}sr.BadGatewayError=BadGatewayError;class ServiceUnavailableError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.SERVICE_UNAVAILABLE)}}sr.ServiceUnavailableError=ServiceUnavailableError;class GatewayTimeoutError extends hr.MidwayHttpError{constructor(ir){super(ir,yr.GATEWAY_TIMEOUT)}}sr.GatewayTimeoutError=GatewayTimeoutError;sr.httpError={BadRequestError:BadRequestError,UnauthorizedError:UnauthorizedError,NotFoundError:NotFoundError,ForbiddenError:ForbiddenError,NotAcceptableError:NotAcceptableError,RequestTimeoutError:RequestTimeoutError,ConflictError:ConflictError,GoneError:GoneError,PayloadTooLargeError:PayloadTooLargeError,UnsupportedMediaTypeError:UnsupportedMediaTypeError,UnprocessableEntityError:UnprocessableEntityError,TooManyRequestsError:TooManyRequestsError,InternalServerErrorError:InternalServerErrorError,NotImplementedError:NotImplementedError,BadGatewayError:BadGatewayError,ServiceUnavailableError:ServiceUnavailableError,GatewayTimeoutError:GatewayTimeoutError}},86314:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.httpError=sr.HttpStatus=void 0;yr(lr(21769),sr);var kr=lr(9504);Object.defineProperty(sr,"HttpStatus",{enumerable:true,get:function(){return kr.HttpStatus}});Object.defineProperty(sr,"httpError",{enumerable:true,get:function(){return kr.httpError}});yr(lr(37198),sr)},24451:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createConfiguration=sr.FunctionalConfiguration=void 0;class FunctionalConfiguration{constructor(ir){this.options=ir;this.readyHandler=()=>{};this.stopHandler=()=>{};this.configLoadHandler=()=>{};this.serverReadyHandler=()=>{}}onConfigLoad(ir,sr){if(typeof ir==="function"){this.configLoadHandler=ir}else{return this.configLoadHandler(ir,sr)}return this}onReady(ir,sr){if(typeof ir==="function"){this.readyHandler=ir}else{return this.readyHandler(ir,sr)}return this}onServerReady(ir,sr){if(typeof ir==="function"){this.serverReadyHandler=ir}else{return this.serverReadyHandler(ir,sr)}return this}onStop(ir,sr){if(typeof ir==="function"){this.stopHandler=ir}else{return this.stopHandler(ir,sr)}return this}getConfigurationOptions(){return this.options}}sr.FunctionalConfiguration=FunctionalConfiguration;const createConfiguration=ir=>new FunctionalConfiguration(ir);sr.createConfiguration=createConfiguration},46123:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPerformanceManager=sr.TypedResourceManager=sr.HttpServerResponse=sr.ServerResponse=sr.FORMAT=sr.FileUtils=sr.PathFileUtil=sr.Types=sr.retryWith=sr.retryWithAsync=sr.extend=sr.Utils=sr.sleep=sr.isTypeScriptEnvironment=sr.wrapAsync=sr.wrapMiddleware=sr.pathMatching=sr.transformRequestObjectByType=sr.deprecatedOutput=sr.delegateTargetAllPrototypeMethod=sr.delegateTargetProperties=sr.delegateTargetMethod=sr.delegateTargetPrototypeMethod=sr.loadModule=sr.safeRequire=sr.safelyGet=sr.ASYNC_ROOT_CONTEXT=sr.MidwayPriorityManager=sr.DEFAULT_PRIORITY=sr.DataSourceManager=sr.WebRouterCollector=sr.MidwayServerlessFunctionService=sr.MidwayWebRouterService=sr.MidwayHealthService=sr.MidwayMockService=sr.MidwayDecoratorService=sr.MidwayMiddlewareService=sr.MidwayLifeCycleService=sr.MidwayAspectService=sr.MidwayFrameworkService=sr.MidwayLoggerService=sr.MidwayInformationService=sr.MidwayEnvironmentService=sr.MidwayConfigService=sr.FunctionalConfiguration=sr.createConfiguration=sr.BaseFramework=sr.MidwayRequestContainer=void 0;yr(lr(6192),sr);yr(lr(9288),sr);var kr=lr(97983);Object.defineProperty(sr,"MidwayRequestContainer",{enumerable:true,get:function(){return kr.MidwayRequestContainer}});var Fr=lr(83872);Object.defineProperty(sr,"BaseFramework",{enumerable:true,get:function(){return Fr.BaseFramework}});yr(lr(28695),sr);yr(lr(2222),sr);var Br=lr(24451);Object.defineProperty(sr,"createConfiguration",{enumerable:true,get:function(){return Br.createConfiguration}});Object.defineProperty(sr,"FunctionalConfiguration",{enumerable:true,get:function(){return Br.FunctionalConfiguration}});var Ur=lr(78842);Object.defineProperty(sr,"MidwayConfigService",{enumerable:true,get:function(){return Ur.MidwayConfigService}});var Wr=lr(70275);Object.defineProperty(sr,"MidwayEnvironmentService",{enumerable:true,get:function(){return Wr.MidwayEnvironmentService}});var zr=lr(37482);Object.defineProperty(sr,"MidwayInformationService",{enumerable:true,get:function(){return zr.MidwayInformationService}});var Jr=lr(34888);Object.defineProperty(sr,"MidwayLoggerService",{enumerable:true,get:function(){return Jr.MidwayLoggerService}});var Hr=lr(33332);Object.defineProperty(sr,"MidwayFrameworkService",{enumerable:true,get:function(){return Hr.MidwayFrameworkService}});var Gr=lr(70812);Object.defineProperty(sr,"MidwayAspectService",{enumerable:true,get:function(){return Gr.MidwayAspectService}});var Yr=lr(13328);Object.defineProperty(sr,"MidwayLifeCycleService",{enumerable:true,get:function(){return Yr.MidwayLifeCycleService}});var Qr=lr(68220);Object.defineProperty(sr,"MidwayMiddlewareService",{enumerable:true,get:function(){return Qr.MidwayMiddlewareService}});var Zr=lr(96367);Object.defineProperty(sr,"MidwayDecoratorService",{enumerable:true,get:function(){return Zr.MidwayDecoratorService}});var cn=lr(77306);Object.defineProperty(sr,"MidwayMockService",{enumerable:true,get:function(){return cn.MidwayMockService}});var un=lr(658);Object.defineProperty(sr,"MidwayHealthService",{enumerable:true,get:function(){return un.MidwayHealthService}});var Tn=lr(19985);Object.defineProperty(sr,"MidwayWebRouterService",{enumerable:true,get:function(){return Tn.MidwayWebRouterService}});var jn=lr(42592);Object.defineProperty(sr,"MidwayServerlessFunctionService",{enumerable:true,get:function(){return jn.MidwayServerlessFunctionService}});Object.defineProperty(sr,"WebRouterCollector",{enumerable:true,get:function(){return jn.WebRouterCollector}});var ni=lr(12849);Object.defineProperty(sr,"DataSourceManager",{enumerable:true,get:function(){return ni.DataSourceManager}});var si=lr(67934);Object.defineProperty(sr,"DEFAULT_PRIORITY",{enumerable:true,get:function(){return si.DEFAULT_PRIORITY}});Object.defineProperty(sr,"MidwayPriorityManager",{enumerable:true,get:function(){return si.MidwayPriorityManager}});yr(lr(28602),sr);yr(lr(82535),sr);yr(lr(64842),sr);yr(lr(46673),sr);yr(lr(1845),sr);yr(lr(11026),sr);yr(lr(12738),sr);yr(lr(39408),sr);yr(lr(43436),sr);yr(lr(29222),sr);yr(lr(86314),sr);var pi=lr(75351);Object.defineProperty(sr,"ASYNC_ROOT_CONTEXT",{enumerable:true,get:function(){return pi.ASYNC_ROOT_CONTEXT}});yr(lr(49757),sr);yr(lr(45317),sr);yr(lr(75105),sr);var di=lr(65308);Object.defineProperty(sr,"safelyGet",{enumerable:true,get:function(){return di.safelyGet}});Object.defineProperty(sr,"safeRequire",{enumerable:true,get:function(){return di.safeRequire}});Object.defineProperty(sr,"loadModule",{enumerable:true,get:function(){return di.loadModule}});Object.defineProperty(sr,"delegateTargetPrototypeMethod",{enumerable:true,get:function(){return di.delegateTargetPrototypeMethod}});Object.defineProperty(sr,"delegateTargetMethod",{enumerable:true,get:function(){return di.delegateTargetMethod}});Object.defineProperty(sr,"delegateTargetProperties",{enumerable:true,get:function(){return di.delegateTargetProperties}});Object.defineProperty(sr,"delegateTargetAllPrototypeMethod",{enumerable:true,get:function(){return di.delegateTargetAllPrototypeMethod}});Object.defineProperty(sr,"deprecatedOutput",{enumerable:true,get:function(){return di.deprecatedOutput}});Object.defineProperty(sr,"transformRequestObjectByType",{enumerable:true,get:function(){return di.transformRequestObjectByType}});Object.defineProperty(sr,"pathMatching",{enumerable:true,get:function(){return di.pathMatching}});Object.defineProperty(sr,"wrapMiddleware",{enumerable:true,get:function(){return di.wrapMiddleware}});Object.defineProperty(sr,"wrapAsync",{enumerable:true,get:function(){return di.wrapAsync}});Object.defineProperty(sr,"isTypeScriptEnvironment",{enumerable:true,get:function(){return di.isTypeScriptEnvironment}});Object.defineProperty(sr,"sleep",{enumerable:true,get:function(){return di.sleep}});Object.defineProperty(sr,"Utils",{enumerable:true,get:function(){return di.Utils}});var gi=lr(83486);Object.defineProperty(sr,"extend",{enumerable:true,get:function(){return gi.extend}});yr(lr(46422),sr);yr(lr(50539),sr);yr(lr(73861),sr);yr(lr(87653),sr);var yi=lr(25198);Object.defineProperty(sr,"retryWithAsync",{enumerable:true,get:function(){return yi.retryWithAsync}});Object.defineProperty(sr,"retryWith",{enumerable:true,get:function(){return yi.retryWith}});var Ti=lr(63289);Object.defineProperty(sr,"Types",{enumerable:true,get:function(){return Ti.Types}});var Ei=lr(61327);Object.defineProperty(sr,"PathFileUtil",{enumerable:true,get:function(){return Ei.PathFileUtil}});var Ci=lr(7589);Object.defineProperty(sr,"FileUtils",{enumerable:true,get:function(){return Ci.FileUtils}});var Pi=lr(30001);Object.defineProperty(sr,"FORMAT",{enumerable:true,get:function(){return Pi.FORMAT}});var wi=lr(89995);Object.defineProperty(sr,"ServerResponse",{enumerable:true,get:function(){return wi.ServerResponse}});Object.defineProperty(sr,"HttpServerResponse",{enumerable:true,get:function(){return wi.HttpServerResponse}});var Fi=lr(11330);Object.defineProperty(sr,"TypedResourceManager",{enumerable:true,get:function(){return Fi.TypedResourceManager}});var Ri=lr(70032);Object.defineProperty(sr,"MidwayPerformanceManager",{enumerable:true,get:function(){return Ri.MidwayPerformanceManager}})},6192:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayProcessTypeEnum=sr.ObjectLifeCycleEvent=sr.ServerlessTriggerType=sr.MidwayFrameworkType=sr.FrameworkType=sr.MSListenerType=sr.MSProviderType=sr.InjectModeEnum=sr.ScopeEnum=void 0;var lr;(function(ir){ir["Singleton"]="Singleton";ir["Request"]="Request";ir["Prototype"]="Prototype"})(lr=sr.ScopeEnum||(sr.ScopeEnum={}));var hr;(function(ir){ir["Identifier"]="Identifier";ir["Class"]="Class";ir["PropertyName"]="PropertyName"})(hr=sr.InjectModeEnum||(sr.InjectModeEnum={}));var yr;(function(ir){ir["DUBBO"]="dubbo";ir["GRPC"]="gRPC"})(yr=sr.MSProviderType||(sr.MSProviderType={}));var kr;(function(ir){ir["RABBITMQ"]="rabbitmq";ir["MQTT"]="mqtt";ir["KAFKA"]="kafka";ir["REDIS"]="redis"})(kr=sr.MSListenerType||(sr.MSListenerType={}));class FrameworkType{}sr.FrameworkType=FrameworkType;class MidwayFrameworkType extends FrameworkType{constructor(ir){super();this.name=ir}}sr.MidwayFrameworkType=MidwayFrameworkType;MidwayFrameworkType.WEB=new MidwayFrameworkType("@midwayjs/web");MidwayFrameworkType.WEB_KOA=new MidwayFrameworkType("@midwayjs/web-koa");MidwayFrameworkType.WEB_EXPRESS=new MidwayFrameworkType("@midwayjs/express");MidwayFrameworkType.FAAS=new MidwayFrameworkType("@midwayjs/faas");MidwayFrameworkType.MS_GRPC=new MidwayFrameworkType("@midwayjs/grpc");MidwayFrameworkType.MS_RABBITMQ=new MidwayFrameworkType("@midwayjs/rabbitmq");MidwayFrameworkType.MS_KAFKA=new MidwayFrameworkType("@midwayjs/kafka");MidwayFrameworkType.WS_IO=new MidwayFrameworkType("@midwayjs/socketio");MidwayFrameworkType.WS=new MidwayFrameworkType("@midwayjs/ws");MidwayFrameworkType.SERVERLESS_APP=new MidwayFrameworkType("@midwayjs/serverless-app");MidwayFrameworkType.CUSTOM=new MidwayFrameworkType("");MidwayFrameworkType.EMPTY=new MidwayFrameworkType("empty");MidwayFrameworkType.LIGHT=new MidwayFrameworkType("light");MidwayFrameworkType.TASK=new MidwayFrameworkType("@midwayjs/task");var Fr;(function(ir){ir["EVENT"]="event";ir["HTTP"]="http";ir["API_GATEWAY"]="apigw";ir["OS"]="os";ir["CDN"]="cdn";ir["LOG"]="log";ir["TIMER"]="timer";ir["MQ"]="mq";ir["KAFKA"]="kafka";ir["HSF"]="hsf";ir["MTOP"]="mtop";ir["SSR"]="ssr"})(Fr=sr.ServerlessTriggerType||(sr.ServerlessTriggerType={}));var Br;(function(ir){ir["BEFORE_BIND"]="beforeBind";ir["BEFORE_CREATED"]="beforeObjectCreated";ir["AFTER_CREATED"]="afterObjectCreated";ir["AFTER_INIT"]="afterObjectInit";ir["BEFORE_DESTROY"]="beforeObjectDestroy"})(Br=sr.ObjectLifeCycleEvent||(sr.ObjectLifeCycleEvent={}));var Ur;(function(ir){ir["APPLICATION"]="APPLICATION";ir["AGENT"]="AGENT"})(Ur=sr.MidwayProcessTypeEnum||(sr.MidwayProcessTypeEnum={}))},72838:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerResponse=void 0;class ServerResponse{constructor(ir){this.isSuccess=true;this.ctx=ir}json(ir){return Object.getPrototypeOf(this).constructor.JSON_TPL(ir,this.isSuccess,this.ctx)}text(ir){return Object.getPrototypeOf(this).constructor.TEXT_TPL(ir,this.isSuccess,this.ctx)}blob(ir){return Object.getPrototypeOf(this).constructor.BLOB_TPL(ir,this.isSuccess,this.ctx)}success(){this.isSuccess=true;return this}fail(){this.isSuccess=false;return this}}sr.ServerResponse=ServerResponse;ServerResponse.TEXT_TPL=(ir,sr,lr)=>ir;ServerResponse.JSON_TPL=(ir,sr,lr)=>{if(sr){return{success:"true",data:ir}}else{return{success:"false",message:ir||"fail"}}};ServerResponse.BLOB_TPL=(ir,sr,lr)=>ir},91959:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpServerResponse=void 0;const hr=lr(79896);const yr=lr(72838);const kr=lr(82738);const Fr=lr(37407);const Br=lr(16928);class HttpServerResponse extends yr.ServerResponse{constructor(ir){super(ir)}status(ir){this.ctx.res.statusCode=ir;return this}header(ir,sr){this.ctx.res.setHeader(ir,sr);return this}headers(ir){if(this.ctx.res.setHeaders){this.ctx.res.setHeaders(new Map(Object.entries(ir)))}else{for(const sr in ir){this.header(sr,ir[sr])}}return this}json(ir){this.header("Content-Type","application/json");return Object.getPrototypeOf(this).constructor.JSON_TPL(ir,this.isSuccess,this.ctx)}text(ir){this.header("Content-Type","text/plain");return Object.getPrototypeOf(this).constructor.TEXT_TPL(ir,this.isSuccess,this.ctx)}file(ir,sr){this.header("Content-Type",sr||"application/octet-stream");this.header("Content-Disposition",`attachment; filename=${(0,Br.basename)(ir)}`);return Object.getPrototypeOf(this).constructor.FILE_TPL(typeof ir==="string"?(0,hr.createReadStream)(ir):ir,this.isSuccess,this.ctx)}blob(ir,sr){this.header("Content-Type",sr||"application/octet-stream");return Object.getPrototypeOf(this).constructor.BLOB_TPL(ir,this.isSuccess,this.ctx)}html(ir){this.header("Content-Type","text/html");return Object.getPrototypeOf(this).constructor.HTML_TPL(ir,this.isSuccess,this.ctx)}redirect(ir,sr=302){this.status(sr);if(this.ctx.redirect){return this.ctx.redirect(ir)}else if(this.ctx.res.redirect){return this.ctx.res.redirect(ir)}else{this.header("Location",ir)}}sse(ir={}){return new kr.ServerSendEventStream(this.ctx,{tpl:Object.getPrototypeOf(this).constructor.SSE_TPL,...ir})}stream(ir={}){return new Fr.HttpStreamResponse(this.ctx,{tpl:Object.getPrototypeOf(this).constructor.STREAM_TPL,...ir})}}sr.HttpServerResponse=HttpServerResponse;HttpServerResponse.FILE_TPL=(ir,sr,lr)=>ir;HttpServerResponse.SSE_TPL=(ir,sr)=>ir;HttpServerResponse.STREAM_TPL=(ir,sr)=>ir;HttpServerResponse.HTML_TPL=(ir,sr,lr)=>ir},89995:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpServerResponse=sr.ServerResponse=void 0;var hr=lr(72838);Object.defineProperty(sr,"ServerResponse",{enumerable:true,get:function(){return hr.ServerResponse}});var yr=lr(91959);Object.defineProperty(sr,"HttpServerResponse",{enumerable:true,get:function(){return yr.HttpServerResponse}})},82738:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ServerSendEventStream=void 0;const hr=lr(2203);class ServerSendEventStream extends hr.Transform{constructor(ir,sr={}){super({objectMode:true,...sr});this.isActive=false;this.ctx=ir;this.closeEvent=sr.closeEvent||"close";this.options=sr;this.ctx.req.on("close",this.handleClose.bind(this))}_transform(ir,sr,lr){try{let sr,hr="data: ";const yr=/^\s*:\s*/;const kr=[];if(!this.isActive){this.isActive=true;const ir={"Content-Type":"text/event-stream","Cache-Control":"no-cache, no-transform",Connection:"keep-alive","X-Accel-Buffering":"no"};for(const sr in ir){this.ctx.res.setHeader(sr,ir[sr])}this.ctx.req.socket.setTimeout(0);this.ctx.req.socket.setNoDelay(true);this.ctx.req.socket.setKeepAlive(true);kr.push(": ok")}const Fr=ir;if(Fr.event)kr.push("event: "+Fr.event);if(Fr.retry)kr.push("retry: "+Fr.retry);if(Fr.id)kr.push("id: "+Fr.id);if(typeof Fr.data==="object"){sr=JSON.stringify(Fr.data);kr.push(hr+sr)}else if(typeof Fr.data==="undefined"){kr.push(hr)}else{Fr.data=String(Fr.data);if(Fr.data.search(yr)!==-1){Fr.data=Fr.data.replace(yr,"");hr=": "}Fr.data=Fr.data.replace(/(\r\n|\r|\n)/g,"\n");sr=Fr.data.split(/\n/);for(let ir=0,lr=sr.length;ir<lr;++ir){const yr=sr[ir];if(ir+1===lr){kr.push(hr+yr)}else{kr.push(hr+yr)}}}this.push(kr.join("\n")+"\n\n");lr()}catch(ir){this.ctx.logger.error(ir);this.sendError(ir);this.end();lr(ir)}}sendError(ir){this.send({event:"error",data:ir.message||"An error occurred"})}sendEnd(ir){ir.event=this.closeEvent;this.send(ir)}send(ir){super.write(this.options.tpl(ir,this.ctx))}handleClose(){this.end()}}sr.ServerSendEventStream=ServerSendEventStream},37407:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpStreamResponse=void 0;const hr=lr(2203);class HttpStreamResponse extends hr.Transform{constructor(ir,sr={}){super({objectMode:true,...sr});this.isActive=false;this.ctx=ir;this.options=sr}_transform(ir,sr,lr){try{if(!this.isActive){this.isActive=true;this.ctx.res.statusCode=200;this.ctx.res.setHeader("Transfer-Encoding","chunked");this.ctx.res.setHeader("Cache-Control","no-cache");this.ctx.req.socket.setTimeout(0)}if(typeof ir==="string"){this.ctx.res.write(ir)}else{this.ctx.res.write(JSON.stringify(ir))}lr()}catch(ir){this.ctx.logger.error(ir);this.end();this.ctx.res.end();lr(ir)}}send(ir){if(!this.writable){return}this.write(this.options.tpl(ir,this.ctx))}sendError(ir){this.ctx.logger.error(ir);this.end();this.ctx.res.end()}_flush(ir){this.ctx.res.end();ir()}}sr.HttpStreamResponse=HttpStreamResponse},70812:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayAspectService=void 0;const kr=lr(65675);const Fr=lr(6192);const Br=lr(49757);const Ur=lr(63289);let Wr=class MidwayAspectService{constructor(ir){this.applicationContext=ir}async loadAspect(){const ir=(0,Br.listModule)(Br.ASPECT_KEY);let sr=[];for(const lr of ir){const ir=(0,Br.getClassMetadata)(Br.ASPECT_KEY,lr);sr=sr.concat(ir.map((ir=>{ir.aspectModule=lr;return ir})))}sr.sort(((ir,sr)=>(sr.priority||0)-(ir.priority||0)));for(const ir of sr){const sr=await this.applicationContext.getAsync(ir.aspectModule);await this.addAspect(sr,ir)}}async addAspect(ir,sr){const lr=sr.aspectTarget;const hr=Object.getOwnPropertyNames(lr.prototype);const yr=sr.match?kr(sr.match):()=>true;for(const sr of hr){if(sr==="constructor"||!yr(sr)){continue}const hr=Object.getOwnPropertyDescriptor(lr.prototype,sr);if(!hr||hr.writable===false){continue}this.interceptPrototypeMethod(lr,sr,ir)}}interceptPrototypeMethod(ir,sr,lr){const hr=ir.prototype[sr];if(Ur.Types.isAsyncFunction(ir.prototype[sr])){ir.prototype[sr]=async function(...ir){var yr,kr,Fr;let Br,Ur;const newProceed=(...ir)=>hr.apply(this,ir);const Wr={methodName:sr,target:this,args:ir,proceed:newProceed,proceedIsAsyncFunction:true};if(typeof lr==="function"){lr=lr()}try{await((yr=lr.before)===null||yr===void 0?void 0:yr.call(lr,Wr));if(lr.around){Ur=await lr.around(Wr)}else{Ur=await hr.call(this,...Wr.args)}Wr.proceed=undefined;const ir=await((kr=lr.afterReturn)===null||kr===void 0?void 0:kr.call(lr,Wr,Ur));Ur=typeof ir==="undefined"?Ur:ir;return Ur}catch(ir){Wr.proceed=undefined;Br=ir;if(lr.afterThrow){await lr.afterThrow(Wr,Br)}else{throw ir}}finally{await((Fr=lr.after)===null||Fr===void 0?void 0:Fr.call(lr,Wr,Ur,Br))}}}else{ir.prototype[sr]=function(...ir){var yr,kr,Fr;let Br,Ur;const newProceed=(...ir)=>hr.apply(this,ir);const Wr={methodName:sr,target:this,args:ir,proceed:newProceed,proceedIsAsyncFunction:false};if(typeof lr==="function"){lr=lr()}try{(yr=lr.before)===null||yr===void 0?void 0:yr.call(lr,Wr);if(lr.around){Ur=lr.around(Wr)}else{Ur=hr.call(this,...Wr.args)}Wr.proceed=undefined;const ir=(kr=lr.afterReturn)===null||kr===void 0?void 0:kr.call(lr,Wr,Ur);Ur=typeof ir==="undefined"?Ur:ir;return Ur}catch(ir){Wr.proceed=undefined;Br=ir;if(lr.afterThrow){lr.afterThrow(Wr,Br)}else{throw ir}}finally{(Fr=lr.after)===null||Fr===void 0?void 0:Fr.call(lr,Wr,Ur,Br)}}}}};Wr=hr([(0,Br.Provide)(),(0,Br.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Wr);sr.MidwayAspectService=Wr},78842:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayConfigService=void 0;const kr=lr(16928);const Fr=lr(6192);const Br=lr(65308);const Ur=lr(79896);const Wr=lr(39023);const zr=lr(70275);const Jr=lr(37482);const Hr=lr(83486);const Gr=lr(86314);const Yr=lr(49757);const Qr=lr(63289);const Zr=Wr.debuglog("midway:debug");let cn=class MidwayConfigService{constructor(){this.envDirMap=new Map;this.aliasMap={prod:"production",unittest:"test"};this.configMergeOrder=[];this.configuration={};this.isReady=false;this.externalObject=[];this.configFilterList=[]}init(){this.appInfo={pkg:this.informationService.getPkg(),name:this.informationService.getProjectName(),baseDir:this.informationService.getBaseDir(),appDir:this.informationService.getAppDir(),HOME:this.informationService.getHome(),root:this.informationService.getRoot(),env:this.environmentService.getCurrentEnvironment()}}add(ir){for(const sr of ir){if(typeof sr==="string"){if(/\.\w+$/.test(sr)){const ir=this.getConfigEnv(sr);const lr=this.getEnvSet(ir);lr.add(sr);if(this.aliasMap[ir]){this.getEnvSet(this.aliasMap[ir]).add(sr)}}else{const ir=(0,Ur.statSync)(sr);if(ir.isDirectory()){const ir=(0,Ur.readdirSync)(sr);this.add(ir.map((ir=>(0,kr.join)(sr,ir))))}}}else{for(const ir in sr){this.getEnvSet(ir).add(sr[ir]);if(this.aliasMap[ir]){this.getEnvSet(this.aliasMap[ir]).add(sr[ir])}}}}}addObject(ir,sr=false){if(this.isReady){ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");return}this.configMergeOrder.push({env:"default",extraPath:"",value:ir});if(sr){this.configuration=(0,Hr.extend)(true,ir,this.configuration)}else{(0,Hr.extend)(true,this.configuration,ir)}}else{this.externalObject.push(ir)}}getEnvSet(ir){if(!this.envDirMap.has(ir)){this.envDirMap.set(ir,new Set)}return this.envDirMap.get(ir)}getConfigEnv(ir){const sr=(0,kr.basename)(ir);const lr=sr.split(".");const hr=lr.pop();if(hr!=="js"&&hr!=="ts"){return hr}return lr.pop()}load(){if(this.isReady)return;const ir=this.getEnvSet("default");const sr=this.getEnvSet(this.environmentService.getCurrentEnvironment());const lr={};const hr=ir.size;for(const[yr,kr]of[...ir,...sr].entries()){let ir=this.loadConfig(kr);if(Qr.Types.isFunction(ir)){ir=ir.apply(null,[this.appInfo,lr])}if(!ir){continue}ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");continue}if(typeof kr==="string"){Zr("[config]: Loaded config %s, %j",kr,ir)}else{Zr("[config]: Loaded config %j",ir)}this.configMergeOrder.push({env:yr<hr?"default":this.environmentService.getCurrentEnvironment(),extraPath:kr,value:ir});(0,Hr.extend)(true,lr,ir)}if(this.externalObject.length){for(let ir of this.externalObject){if(ir){ir=this.runWithFilter(ir);if(!ir){Zr("[config]: Filter config and got undefined will be drop it");continue}Zr("[config]: Loaded external object %j",ir);(0,Hr.extend)(true,lr,ir);this.configMergeOrder.push({env:"default",extraPath:"",value:ir})}}}this.configuration=lr;this.isReady=true}getConfiguration(ir){if(ir){return(0,Br.safelyGet)(ir,this.configuration)}return this.configuration}getConfigMergeOrder(){return this.configMergeOrder}loadConfig(ir){let sr=typeof ir==="string"?require(ir):ir;if(sr&&sr.__esModule){if(sr&&sr.default){if(Object.keys(sr).length>1){throw new Gr.MidwayInvalidConfigError(`${ir} should not have both a default export and named export`)}sr=sr.default}}return sr}clearAllConfig(){this.configuration={}}clearConfigMergeOrder(){this.configMergeOrder.length=0}addFilter(ir){this.configFilterList.push(ir)}runWithFilter(ir){for(const sr of this.configFilterList){Zr(`[config]: Filter config by filter = "${sr.name||"anonymous filter"}"`);ir=sr(ir);Zr("[config]: Filter config result = %j",ir)}return ir}getAppInfo(){return this.appInfo}};hr([(0,Yr.Inject)(),yr("design:type",zr.MidwayEnvironmentService)],cn.prototype,"environmentService",void 0);hr([(0,Yr.Inject)(),yr("design:type",Jr.MidwayInformationService)],cn.prototype,"informationService",void 0);hr([(0,Yr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],cn.prototype,"init",null);cn=hr([(0,Yr.Provide)(),(0,Yr.Scope)(Fr.ScopeEnum.Singleton)],cn);sr.MidwayConfigService=cn},96367:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayDecoratorService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(70812);const Ur=lr(86314);const Wr=lr(39023);const zr=lr(63289);const Jr=Wr.debuglog("midway:debug");let Hr=class MidwayDecoratorService{constructor(ir){this.applicationContext=ir;this.propertyHandlerMap=new Map;this.methodDecoratorMap=new Map;this.parameterDecoratorMap=new Map;this.parameterDecoratorPipes=new Map}init(){this.applicationContext.onBeforeBind((ir=>{const sr=(0,kr.getClassMetadata)(kr.INJECT_CUSTOM_METHOD,ir);if(sr){for(const lr of sr){const{propertyName:sr,key:hr,metadata:yr,options:kr}=lr;if(!kr||!kr.impl){continue}this.aspectService.interceptPrototypeMethod(ir,sr,(()=>{const lr=this.methodDecoratorMap.get(hr);if(!lr){throw new Ur.MidwayCommonError(`Method Decorator "${hr}" handler not found, please register first.`)}return lr({target:ir,propertyName:sr,metadata:yr})}))}}const lr=(0,kr.getClassMetadata)(kr.INJECT_CUSTOM_PARAM,ir);if(lr){for(const sr of Object.keys(lr)){this.aspectService.interceptPrototypeMethod(ir,sr,(()=>({before:async hr=>{const yr=[...hr.args];for(const Fr of lr[sr]){const{propertyName:sr,key:lr,metadata:Br,parameterIndex:Wr,options:Hr}=Fr;let Gr;if(Hr&&Hr.impl){Gr=this.parameterDecoratorMap.get(lr);if(!Gr){throw new Ur.MidwayCommonError(`Parameter Decorator "${lr}" handler not found, please register first.`)}}else{Gr=async({parameterIndex:ir,originArgs:sr})=>sr[ir]}const Yr=(0,kr.getMethodParamTypes)(ir,sr);let Qr=false;try{yr[Wr]=await Gr({metadata:Br,propertyName:sr,parameterIndex:Wr,target:ir,originArgs:yr,originParamType:Yr[Wr],instance:hr.target})}catch(ir){Qr=true;if((Hr===null||Hr===void 0?void 0:Hr.throwError)===true){throw ir}else{Jr(`[core]: Parameter decorator throw error and use origin args, ${ir.stack}`)}}if(Qr){continue}const Zr=[...this.parameterDecoratorPipes.get(lr)||[],...(Hr===null||Hr===void 0?void 0:Hr.pipes)||[]];for(const ir of Zr){let sr;if("transform"in ir){sr=ir["transform"].bind(ir)}else if((0,zr.isClass)(ir)){const lr=await this.applicationContext.getAsync(ir);sr=lr.transform.bind(lr)}else if(typeof ir==="function"){sr=ir}else{throw new Ur.MidwayParameterError("Pipe must be a function or implement PipeTransform interface")}yr[Wr]=await sr(yr[Wr],{metaType:(0,kr.transformTypeFromTSDesign)(Yr[Wr]),metadata:Br,target:hr.target,methodName:hr.methodName})}}hr.args=yr}})))}}}));this.applicationContext.onObjectCreated(((ir,sr)=>{if(this.propertyHandlerMap.size>0&&Array.isArray(sr.definition.handlerProps)){for(const lr of sr.definition.handlerProps){this.defineGetterPropertyValue(lr,ir,this.getHandler(lr.key))}}}));this.registerPropertyHandler(kr.APPLICATION_CONTEXT_KEY,((ir,sr)=>this.applicationContext))}registerPropertyHandler(ir,sr){Jr(`[core]: Register property decorator key="${ir}"`);this.propertyHandlerMap.set(ir,sr)}registerMethodHandler(ir,sr){Jr(`[core]: Register method decorator key="${ir}"`);this.methodDecoratorMap.set(ir,sr)}registerParameterHandler(ir,sr){Jr(`[core]: Register parameter decorator key="${ir}"`);this.parameterDecoratorMap.set(ir,sr)}registerParameterPipes(ir,sr){if(!this.parameterDecoratorPipes.has(ir)){this.parameterDecoratorPipes.set(ir,[])}this.parameterDecoratorPipes.set(ir,this.parameterDecoratorPipes.get(ir).concat(sr))}defineGetterPropertyValue(ir,sr,lr){if(ir&&lr){if(ir.propertyName){Object.defineProperty(sr,ir.propertyName,{get:()=>{var hr;return lr(ir.propertyName,(hr=ir.metadata)!==null&&hr!==void 0?hr:{},sr)},configurable:true,enumerable:true})}}}getHandler(ir){if(this.propertyHandlerMap.has(ir)){return this.propertyHandlerMap.get(ir)}}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayAspectService)],Hr.prototype,"aspectService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Hr.prototype,"init",null);Hr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Hr);sr.MidwayDecoratorService=Hr},70275:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayEnvironmentService=void 0;const yr=lr(6192);const kr=lr(65308);const Fr=lr(49757);let Br=class MidwayEnvironmentService{constructor(){this.moduleLoadType="commonjs"}getCurrentEnvironment(){if(!this.environment){this.environment=(0,kr.getCurrentEnvironment)()}return this.environment}setCurrentEnvironment(ir){this.environment=ir}isDevelopmentEnvironment(){return(0,kr.isDevelopmentEnvironment)(this.environment)}setModuleLoadType(ir){this.moduleLoadType=ir}getModuleLoadType(){return this.moduleLoadType}isPkgEnvironment(){return typeof process["pkg"]!=="undefined"}};Br=hr([(0,Fr.Provide)(),(0,Fr.Scope)(yr.ScopeEnum.Singleton)],Br);sr.MidwayEnvironmentService=Br},33332:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayFrameworkService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(78842);const Ur=lr(34888);const Wr=lr(83872);const zr=lr(28602);const Jr=lr(96367);const Hr=lr(70812);const Gr=lr(43436);const Yr=lr(39023);const Qr=lr(86314);const Zr=lr(2222);const cn=lr(70032);const un=Yr.debuglog("midway:debug");let Tn=class MidwayFrameworkService{constructor(ir,sr){this.applicationContext=ir;this.globalOptions=sr;this.globalFrameworkList=[]}async init(){var ir,sr;this.decoratorService.registerPropertyHandler(kr.CONFIG_KEY,((ir,sr)=>{var lr;if(sr.identifier===kr.ALL){return this.configService.getConfiguration()}else{return this.configService.getConfiguration((lr=sr.identifier)!==null&&lr!==void 0?lr:ir)}}));this.decoratorService.registerPropertyHandler(kr.LOGGER_KEY,((ir,sr)=>{var lr;return this.loggerService.getLogger((lr=sr.identifier)!==null&&lr!==void 0?lr:ir)}));this.decoratorService.registerPropertyHandler(kr.PIPELINE_IDENTIFIER,((ir,sr,lr)=>{var hr,yr;return new zr.MidwayPipelineService((yr=(hr=lr[Zr.REQUEST_OBJ_CTX_KEY])===null||hr===void 0?void 0:hr.requestContext)!==null&&yr!==void 0?yr:this.applicationContext,sr.valves)}));this.decoratorService.registerPropertyHandler(kr.APPLICATION_KEY,((ir,sr)=>{if(sr.type){const ir=this.applicationManager.getApplication(sr.type);if(!ir){throw new Qr.MidwayCommonError(`Framework ${sr.type} not Found`)}return ir}else{return this.getMainApp()}}));this.decoratorService.registerPropertyHandler(kr.PLUGIN_KEY,((ir,sr)=>{var lr;return this.getMainApp()[(lr=sr.identifier)!==null&&lr!==void 0?lr:ir]}));this.decoratorService.registerPropertyHandler(kr.FACTORY_SERVICE_CLIENT_KEY,((ir,sr)=>{const lr=this.applicationContext.get(sr.serviceFactoryClz);const hr=sr.clientName||lr.getDefaultClientName();if(hr&&lr.has(hr)){return lr.get(hr)}else{if(!hr){throw new Qr.MidwayParameterError(`Please set clientName or options.defaultClientName for ${sr.serviceFactoryClz.name}).`)}else{throw new Qr.MidwayParameterError(`ClientName(${hr} not found in ${sr.serviceFactoryClz.name}).`)}}}));let lr=(0,kr.listModule)(kr.FRAMEWORK_KEY);lr=filterProtoFramework(lr);un(`[core]: Found Framework length = ${lr.length}`);if(lr.length){for(const sr of lr){if(!this.applicationContext.hasDefinition((0,kr.getProviderUUId)(sr))){un(`[core]: Found Framework "${sr.name}" but missing definition, skip initialize.`);continue}const lr=await this.applicationContext.getAsync(sr,[this.applicationContext]);if(lr.isEnable()){cn.MidwayInitializerPerformanceManager.frameworkInitializeStart(lr.getFrameworkName());await lr.initialize({applicationContext:this.applicationContext,namespace:lr.getNamespace(),...this.globalOptions});cn.MidwayInitializerPerformanceManager.frameworkInitializeEnd(lr.getFrameworkName());un(`[core]: Found Framework "${lr.getFrameworkName()}" and initialize.`)}else{un(`[core]: Found Framework "${lr.getFrameworkName()}" and delay initialize.`)}const hr=this.applicationContext.registry.getDefinition((0,kr.getProviderUUId)(sr));lr.setNamespace(hr===null||hr===void 0?void 0:hr.namespace);this.applicationManager.addFramework((ir=hr===null||hr===void 0?void 0:hr.namespace)!==null&&ir!==void 0?ir:lr.getFrameworkName(),lr);this.globalFrameworkList.push(lr)}let hr;const yr=this.applicationContext.getNamespaceList();for(const ir of yr){const sr=this.applicationManager.getApplication(ir);if(sr){hr=ir;break}}global["MIDWAY_MAIN_FRAMEWORK"]=this.mainFramework=(sr=this.applicationManager.getFramework(hr))!==null&&sr!==void 0?sr:this.globalFrameworkList[0];un(`[core]: Current main Framework is "${hr}".`)}await this.aspectService.loadAspect()}getMainApp(){var ir;return(ir=this.mainFramework)===null||ir===void 0?void 0:ir.getApplication()}getMainFramework(){return this.mainFramework}getFramework(ir){return this.applicationManager.getFramework(ir)}async runFramework(){const ir=this.applicationContext.getNamespaceList();this.globalFrameworkList=this.globalFrameworkList.sort(((sr,lr)=>ir.indexOf(sr.getNamespace())-ir.indexOf(lr.getNamespace())));for(const ir of this.globalFrameworkList){if(ir.isEnable()){cn.MidwayInitializerPerformanceManager.frameworkRunStart(ir.getFrameworkName());await ir.run();un(`[core]: Found Framework "${ir.getFrameworkName()}" and run.`);cn.MidwayInitializerPerformanceManager.frameworkRunEnd(ir.getFrameworkName())}}}async stopFramework(){await Promise.all(Array.from(this.globalFrameworkList).map((ir=>ir.stop())))}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayConfigService)],Tn.prototype,"configService",void 0);hr([(0,kr.Inject)(),yr("design:type",Ur.MidwayLoggerService)],Tn.prototype,"loggerService",void 0);hr([(0,kr.Inject)(),yr("design:type",Hr.MidwayAspectService)],Tn.prototype,"aspectService",void 0);hr([(0,kr.Inject)(),yr("design:type",Jr.MidwayDecoratorService)],Tn.prototype,"decoratorService",void 0);hr([(0,kr.Inject)(),yr("design:type",Gr.MidwayApplicationManager)],Tn.prototype,"applicationManager",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Tn.prototype,"init",null);Tn=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object,Object])],Tn);sr.MidwayFrameworkService=Tn;function filterProtoFramework(ir){const sr=[];for(const lr of ir){let ir=Object.getPrototypeOf(lr);while(ir.name&&ir.name!==Wr.BaseFramework.name){sr.push(ir);ir=Object.getPrototypeOf(ir)}}return ir.filter((ir=>!sr.includes(ir)))}},658:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayHealthService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(78842);const Ur=lr(65308);let Wr=class MidwayHealthService{constructor(){this.healthCheckTimeout=1e3;this.healthCheckMethods=[]}async init(ir){const sr=this.configService.getConfiguration("core.healthCheckTimeout")||1e3;this.setCheckTimeout(sr);for(const sr of ir){if(sr.instance&&sr.instance["onHealthCheck"]){this.healthCheckMethods.push({item:sr.instance["onHealthCheck"].bind(sr.instance),meta:{namespace:sr.namespace}})}}}async getStatus(){const ir=await(0,Ur.createPromiseTimeoutInvokeChain)({promiseItems:this.healthCheckMethods.map((ir=>({item:ir.item(this.applicationContext),meta:ir.meta}))),timeout:this.healthCheckTimeout,methodName:"configuration.onHealthCheck",onSuccess:(ir,sr)=>{if(ir["status"]!==undefined){return{namespace:sr.namespace,...ir}}else{return{status:false,namespace:sr.namespace,reason:"configuration.onHealthCheck return value must be object and contain status field"}}},onFail:(ir,sr)=>({status:false,namespace:sr.namespace,reason:ir.message})});const sr=ir.find((ir=>!ir.status));return{status:!sr,namespace:sr===null||sr===void 0?void 0:sr.namespace,reason:sr===null||sr===void 0?void 0:sr.reason,results:ir}}setCheckTimeout(ir){this.healthCheckTimeout=ir}};hr([(0,kr.Inject)(),yr("design:type",Br.MidwayConfigService)],Wr.prototype,"configService",void 0);hr([(0,kr.ApplicationContext)(),yr("design:type",Object)],Wr.prototype,"applicationContext",void 0);Wr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton)],Wr);sr.MidwayHealthService=Wr},37482:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayInformationService=void 0;const kr=lr(6192);const Fr=lr(65308);const Br=lr(16928);const Ur=lr(49757);const Wr=lr(79896);let zr=class MidwayInformationService{init(){if(this.baseDir){if(!this.appDir){this.appDir=(0,Br.dirname)(this.baseDir)}const ir=(0,Br.join)(this.appDir,"package.json");if((0,Wr.existsSync)(ir)){const sr=(0,Wr.readFileSync)(ir,{encoding:"utf-8"});this.pkg=JSON.parse(sr)}else{this.pkg={}}}else{this.pkg={}}}getAppDir(){return this.appDir}getBaseDir(){return this.baseDir}getHome(){return(0,Fr.getUserHome)()}getPkg(){return this.pkg}getProjectName(){var ir;return((ir=this.pkg)===null||ir===void 0?void 0:ir["name"])||""}getRoot(){const ir=(0,Fr.isDevelopmentEnvironment)((0,Fr.getCurrentEnvironment)());return ir?this.getAppDir():this.getHome()}};hr([(0,Ur.Inject)(),yr("design:type",String)],zr.prototype,"appDir",void 0);hr([(0,Ur.Inject)(),yr("design:type",String)],zr.prototype,"baseDir",void 0);hr([(0,Ur.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],zr.prototype,"init",null);zr=hr([(0,Ur.Provide)(),(0,Ur.Scope)(kr.ScopeEnum.Singleton)],zr);sr.MidwayInformationService=zr},13328:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayLifeCycleService=void 0;const kr=lr(6192);const Fr=lr(49757);const Br=lr(24451);const Ur=lr(33332);const Wr=lr(78842);const zr=lr(39023);const Jr=lr(77306);const Hr=lr(658);const Gr=lr(70032);const Yr=(0,zr.debuglog)("midway:debug");let Qr=class MidwayLifeCycleService{constructor(ir){this.applicationContext=ir;this.lifecycleInstanceList=[]}async init(){await this.mockService.initSimulation();const ir=(0,Fr.listModule)(Fr.CONFIGURATION_KEY);Yr(`[core]: Found Configuration length = ${ir.length}`);for(const sr of ir){if(sr.target instanceof Br.FunctionalConfiguration){sr.instance=sr.target}else{Yr(`[core]: Lifecycle run ${sr.namespace} init`);sr.instance=await this.applicationContext.getAsync(sr.target)}sr.instance&&this.lifecycleInstanceList.push(sr)}await this.healthService.init(this.lifecycleInstanceList);await Promise.all([this.runObjectLifeCycle(this.lifecycleInstanceList,"onBeforeObjectCreated"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onObjectCreated"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onObjectInit"),this.runObjectLifeCycle(this.lifecycleInstanceList,"onBeforeObjectDestroy")]);await this.runContainerLifeCycle(this.lifecycleInstanceList,"onConfigLoad",(ir=>{if(ir){this.configService.addObject(ir)}}));await this.mockService.runSimulatorSetup();await this.runContainerLifeCycle(this.lifecycleInstanceList,"onReady");await this.frameworkService.runFramework();await this.runContainerLifeCycle(this.lifecycleInstanceList,"onServerReady");if(!this.configService.getConfiguration("debug.recordConfigMergeOrder")){this.configService.clearConfigMergeOrder()}}async stop(){await this.mockService.runSimulatorTearDown();const ir=(0,Fr.listModule)(Fr.CONFIGURATION_KEY)||[];for(const sr of ir.reverse()){let ir;if(sr.target instanceof Br.FunctionalConfiguration){ir=sr.target}else{ir=await this.applicationContext.getAsync(sr.target)}await this.runContainerLifeCycle(ir,"onStop")}await this.frameworkService.stopFramework()}async runContainerLifeCycle(ir,sr,lr){if(Array.isArray(ir)){for(const hr of ir){if(typeof hr.instance[sr]==="function"){Yr(`[core]: Lifecycle run ${hr.instance.constructor.name} ${sr}`);Gr.MidwayInitializerPerformanceManager.lifecycleStart(hr.namespace,sr);const ir=await hr.instance[sr](this.applicationContext,this.frameworkService.getMainApp());if(lr){lr(ir)}Gr.MidwayInitializerPerformanceManager.lifecycleEnd(hr.namespace,sr)}}}else{if(typeof ir[sr]==="function"){const hr=ir.constructor.name;Yr(`[core]: Lifecycle run ${hr} ${sr}`);Gr.MidwayInitializerPerformanceManager.lifecycleStart(hr,sr);const yr=await ir[sr](this.applicationContext,this.frameworkService.getMainApp());if(lr){lr(yr)}Gr.MidwayInitializerPerformanceManager.lifecycleEnd(hr,sr)}}}async runObjectLifeCycle(ir,sr){for(const lr of ir){if(typeof lr.instance[sr]==="function"){Yr(`[core]: Lifecycle run ${lr.instance.constructor.name} ${sr}`);return await this.applicationContext[sr](lr.instance[sr].bind(lr.instance))}}}getLifecycleInstanceList(){return this.lifecycleInstanceList}};hr([(0,Fr.Inject)(),yr("design:type",Ur.MidwayFrameworkService)],Qr.prototype,"frameworkService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Wr.MidwayConfigService)],Qr.prototype,"configService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Jr.MidwayMockService)],Qr.prototype,"mockService",void 0);hr([(0,Fr.Inject)(),yr("design:type",Hr.MidwayHealthService)],Qr.prototype,"healthService",void 0);hr([(0,Fr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Qr.prototype,"init",null);Qr=hr([(0,Fr.Provide)(),(0,Fr.Scope)(kr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Qr);sr.MidwayLifeCycleService=Qr},34888:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayLoggerService=void 0;const kr=lr(49757);const Fr=lr(78842);const Br=lr(64842);const Ur=lr(6192);const Wr=lr(82535);const zr=lr(86314);let Jr=class MidwayLoggerService extends Br.ServiceFactory{constructor(ir,sr={}){super();this.applicationContext=ir;this.globalOptions=sr;this.lazyLoggerConfigMap=new Map;this.aliasLoggerMap=new Map}init(){var ir;const sr=this.configService.getConfiguration("loggerFactory");this.loggerFactory=sr||this.globalOptions["loggerFactory"]||new Wr.DefaultConsoleLoggerFactory;if(!this.loggerFactory.getDefaultMidwayLoggerConfig){throw new zr.MidwayFeatureNoLongerSupportedError("please upgrade your @midwayjs/logger to latest version")}const lr=this.loggerFactory.getDefaultMidwayLoggerConfig(this.configService.getAppInfo());this.configService.addObject(lr,true);this.initClients(this.configService.getConfiguration("midwayLogger"));(ir=this.applicationContext)===null||ir===void 0?void 0:ir.registerObject("logger",this.getLogger("appLogger"))}createClient(ir,sr){if(ir.aliasName){this.aliasLoggerMap.set(ir.aliasName,sr)}if(!ir.lazyLoad){this.loggerFactory.createLogger(sr,ir)}else{delete ir["lazyLoad"];this.lazyLoggerConfigMap.set(sr,ir)}}getName(){return"logger"}createLogger(ir,sr){delete sr["aliasName"];return this.loggerFactory.createLogger(ir,sr)}getLogger(ir){if(this.aliasLoggerMap.has(ir)){ir=this.aliasLoggerMap.get(ir)}const sr=this.loggerFactory.getLogger(ir);if(sr){return sr}if(this.lazyLoggerConfigMap.has(ir)){this.createClient(this.lazyLoggerConfigMap.get(ir),ir);this.lazyLoggerConfigMap.delete(ir)}return this.loggerFactory.getLogger(ir)}getCurrentLoggerFactory(){return this.loggerFactory}createContextLogger(ir,sr,lr){return this.loggerFactory.createContextLogger(ir,sr,lr)}getClients(){return this.clients}getClientKeys(){return Array.from(this.clients.keys())}};hr([(0,kr.Inject)(),yr("design:type",Fr.MidwayConfigService)],Jr.prototype,"configService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Jr.prototype,"init",null);Jr=hr([(0,kr.Provide)(),(0,kr.Scope)(Ur.ScopeEnum.Singleton),yr("design:paramtypes",[Object,Object])],Jr);sr.MidwayLoggerService=Jr},68220:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayMiddlewareService=void 0;const kr=lr(49757);const Fr=lr(6192);const Br=lr(86314);const Ur=lr(65308);const Wr=lr(63289);const zr=lr(39023);const Jr=(0,zr.debuglog)("midway:debug");let Hr=class MidwayMiddlewareService{constructor(ir){this.applicationContext=ir}async compose(ir,sr,lr){var hr;if(!Array.isArray(ir)){throw new Br.MidwayParameterError("Middleware stack must be an array")}const yr=[];for(let lr of ir){if(Wr.Types.isClass(lr)||typeof lr==="string"||(lr===null||lr===void 0?void 0:lr["middleware"])){let ir=(hr=lr===null||lr===void 0?void 0:lr["middleware"])!==null&&hr!==void 0?hr:lr;const kr=lr===null||lr===void 0?void 0:lr["options"];let Fr=lr===null||lr===void 0?void 0:lr["name"];if(typeof ir==="string"&&!this.applicationContext.hasDefinition(ir)){throw new Br.MidwayCommonError(`Middleware definition of "${ir}" not found in midway container`)}const Wr=await this.applicationContext.getAsync(ir);if(Wr){Fr=Fr!==null&&Fr!==void 0?Fr:Wr.constructor.name;ir=await Wr.resolve(sr,kr);if(!ir){continue}if(!Wr.match&&!Wr.ignore){if(!ir.name){ir._name=Fr}yr.push(ir)}else{const sr=(0,Ur.pathMatching)({match:Wr.match,ignore:Wr.ignore,thisResolver:Wr});lr=(lr,hr,yr)=>{if(!sr(lr))return hr();return ir(lr,hr,yr)};lr._name=Fr;yr.push(lr)}}else{throw new Br.MidwayCommonError("Middleware must have resolve method!")}}else{yr.push(lr)}}const composeFn=(ir,sr)=>{const hr=(0,Ur.isIncludeProperty)(ir,"body");let kr=-1;return dispatch(0);function dispatch(Fr){if(Fr<=kr)return Promise.reject(new Br.MidwayCommonError("next() called multiple times"));kr=Fr;let Ur=yr[Fr];if(Fr===yr.length)Ur=sr;if(!Ur)return Promise.resolve();const Wr=`${lr?`${lr}.`:""}${kr} ${Ur._name||Ur.name||"anonymous"}`;const zr=Date.now();Jr(`[middleware]: in ${Wr} +0`);try{if(hr){return Promise.resolve(Ur(ir,dispatch.bind(null,Fr+1),{index:kr})).then((sr=>{if(sr!==undefined&&sr!==ir["body"]){ir["body"]=sr}else if(ir["body"]!==undefined){sr=ir["body"]}Jr(`[middleware]: out ${Wr} +${Date.now()-zr} with body`);return sr}))}else{return Promise.resolve(Ur(ir,dispatch.bind(null,Fr+1),{index:kr})).then((ir=>{Jr(`[middleware]: out ${Wr} +${Date.now()-zr}`);return ir}))}}catch(ir){Jr(`[middleware]: out ${Wr} +${Date.now()-zr} with err ${ir.message}`);return Promise.reject(ir)}}};if(lr){composeFn._name=lr}return composeFn}};Hr=hr([(0,kr.Provide)(),(0,kr.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Hr);sr.MidwayMiddlewareService=Hr},77306:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};var kr;Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayMockService=void 0;const Fr=lr(6192);const Br=lr(49757);const Ur=lr(63289);let Wr=kr=class MidwayMockService{constructor(ir){this.applicationContext=ir;this.mocks=new Map;this.contextMocks=new Map;this.cache=new Map;this.simulatorList=[]}async init(){if(kr.prepareMocks.length>0){for(const ir of kr.prepareMocks){this.mockProperty(ir.obj,ir.key,ir.value,ir.group)}kr.prepareMocks=[]}}static mockClassProperty(ir,sr,lr,hr="default"){this.mockProperty(ir.prototype,sr,lr,hr)}static mockProperty(ir,sr,lr,hr="default"){this.prepareMocks.push({obj:ir,key:sr,value:lr,group:hr})}mockClassProperty(ir,sr,lr,hr="default"){return this.mockProperty(ir.prototype,sr,lr,hr)}mockProperty(ir,sr,lr,hr="default"){const yr=ir.hasOwnProperty(sr);const kr={obj:ir,key:sr,descriptor:Object.getOwnPropertyDescriptor(ir,sr),hasOwnProperty:yr};if(!this.mocks.has(hr)){this.mocks.set(hr,[])}this.mocks.get(hr).push(kr);if(yr){delete ir[sr]}let Fr=this.cache.get(hr);if(!Fr){Fr=new Map;this.cache.set(hr,Fr)}let Br=Fr.get(ir);if(!Br){Br=new Set;Fr.set(ir,Br)}Br.add(sr);const Ur=this.overridePropertyDescriptor(lr);Object.defineProperty(ir,sr,Ur)}mockContext(ir,sr,lr,hr="default"){if(!this.contextMocks.has(hr)){this.contextMocks.set(hr,[])}this.contextMocks.get(hr).push({app:ir,key:sr,value:lr})}restore(ir="default"){this.restoreGroup(ir)}restoreAll(){const ir=new Set([...this.mocks.keys(),...this.contextMocks.keys(),...this.cache.keys()]);for(const sr of ir){this.restoreGroup(sr)}this.simulatorList=[]}restoreGroup(ir){const sr=this.mocks.get(ir)||[];for(let ir=sr.length-1;ir>=0;ir--){const lr=sr[ir];if(!lr.hasOwnProperty){delete lr.obj[lr.key]}else{Object.defineProperty(lr.obj,lr.key,lr.descriptor)}}this.mocks.delete(ir);this.contextMocks.delete(ir);this.cache.delete(ir);this.simulatorList=this.simulatorList.filter((sr=>sr["group"]!==ir))}isMocked(ir,sr,lr="default"){if((0,Ur.isClass)(ir)){ir=ir.prototype}const hr=this.cache.get(lr);const yr=hr?hr.get(ir):undefined;return yr?yr.has(sr):false}applyContextMocks(ir,sr){for(const[,lr]of this.contextMocks){for(const hr of lr){if(hr.app===ir){const ir=this.overridePropertyDescriptor(hr.value);if(typeof hr.key==="string"){Object.defineProperty(sr,hr.key,ir)}else{hr.key(sr)}}}}}getContextMocksSize(){return Array.from(this.contextMocks.values()).reduce(((ir,sr)=>ir+sr.length),0)}overridePropertyDescriptor(ir){const sr={configurable:true,enumerable:true};if(ir&&(ir.get||ir.set)){sr.get=ir.get;sr.set=ir.set}else{sr.value=ir;sr.writable=true}return sr}async initSimulation(ir="default"){const sr=(0,Br.listModule)(Br.MOCK_KEY);for(const lr of sr){const sr=await this.applicationContext.getAsync(lr);if(await sr.enableCondition()){sr["group"]=ir;this.simulatorList.push(sr)}}}async runSimulatorSetup(){var ir;for(const sr of this.simulatorList){await((ir=sr.setup)===null||ir===void 0?void 0:ir.call(sr))}}async runSimulatorTearDown(){var ir;for(let sr=this.simulatorList.length-1;sr>=0;sr--){const lr=this.simulatorList[sr];await((ir=lr.tearDown)===null||ir===void 0?void 0:ir.call(lr))}}async runSimulatorAppSetup(ir){var sr;for(const lr of this.simulatorList){await((sr=lr.appSetup)===null||sr===void 0?void 0:sr.call(lr,ir))}}async runSimulatorAppTearDown(ir){var sr;for(let lr=this.simulatorList.length-1;lr>=0;lr--){const hr=this.simulatorList[lr];await((sr=hr.appTearDown)===null||sr===void 0?void 0:sr.call(hr,ir))}}async runSimulatorContextSetup(ir,sr){var lr;for(const hr of this.simulatorList){await((lr=hr.contextSetup)===null||lr===void 0?void 0:lr.call(hr,ir,sr))}}async runSimulatorContextTearDown(ir,sr){var lr;for(let hr=this.simulatorList.length-1;hr>=0;hr--){const yr=this.simulatorList[hr];await((lr=yr===null||yr===void 0?void 0:yr.contextTearDown)===null||lr===void 0?void 0:lr.call(yr,ir,sr))}}};Wr.prepareMocks=[];hr([(0,Br.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Wr.prototype,"init",null);hr([(0,Br.Destroy)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Wr.prototype,"restoreAll",null);Wr=kr=hr([(0,Br.Provide)(),(0,Br.Scope)(Fr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Wr);sr.MidwayMockService=Wr},28602:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayPipelineService=sr.PipelineContext=void 0;const hr=lr(49757);class PipelineContext{constructor(ir){this.info={current:null,currentName:null};this.data=new Map;this.args=ir}get(ir){return this.data.get(ir)}set(ir,sr){this.data.set(ir,sr)}keys(){const ir=[];const sr=this.data.keys();for(const lr of sr){ir.push(lr)}return ir}}sr.PipelineContext=PipelineContext;class MidwayPipelineService{constructor(ir,sr){this.applicationContext=ir;this.valves=sr}async parallel(ir){const sr=this.prepareParallelValves(ir);const lr=await Promise.all(sr);return this.packResult(lr,false)}async concat(ir){const sr=this.prepareParallelValves(ir);const lr=await Promise.all(sr);return this.packResult(lr,true)}async series(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);const hr={success:true,result:null};const yr={};const kr={prevValue:null,current:null,currentName:null,prev:null,prevName:null,next:null,nextName:null};let Fr=1;for(const ir of sr){kr.prev=kr.current;kr.prevName=getName(kr.prev);kr.current=ir;kr.currentName=getName(kr.current);if(Fr<sr.length){kr.next=sr[Fr];kr.nextName=getName(kr.next)}else{kr.next=undefined;kr.nextName=undefined}Fr+=1;lr.info=kr;try{const sr=await this.applicationContext.getAsync(ir);const hr=await sr.invoke(lr);let Fr=ir;if(sr.alias){Fr=sr.alias}yr[Fr]=hr;kr.prevValue=hr}catch(sr){hr.success=false;hr.error={valveName:typeof ir==="string"?ir:ir.name,message:sr.message,error:sr};return hr}}hr.result=yr;return hr}async concatSeries(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);const hr={success:true,result:null};const yr=[];const kr={prevValue:null,current:null,currentName:null,prev:null,prevName:null,next:null,nextName:null};let Fr=1;for(const ir of sr){kr.prev=kr.current;kr.prevName=getName(kr.prev);kr.current=ir;kr.currentName=getName(kr.current);if(Fr<sr.length){kr.next=sr[Fr];kr.nextName=getName(kr.next)}else{kr.next=undefined;kr.nextName=undefined}Fr+=1;lr.info=kr;try{const sr=await this.applicationContext.getAsync(ir);const hr=await sr.invoke(lr);yr.push(hr);kr.prevValue=hr}catch(sr){hr.success=false;hr.error={valveName:typeof ir==="string"?ir:ir.name,message:sr.message,error:sr};return hr}}hr.result=yr;return hr}async waterfall(ir){const sr=await this.concatSeries(ir);if(sr.success){const ir=sr.result;sr.result=ir[ir.length-1]}return sr}mergeValves(ir){let sr=[];if(this.valves&&this.valves.length>0){sr=this.valves}let lr=[];if(ir){for(const hr of ir){if(sr.includes(hr)){lr.push(hr)}}}else{lr=sr}return lr}prepareParallelValves(ir){const sr=this.mergeValves(ir.valves);const lr=new PipelineContext(ir.args);return sr.map((async ir=>{const sr={valveName:ir,dataKey:ir,data:null};try{const hr=await this.applicationContext.getAsync(ir);if(hr.alias){sr.dataKey=hr.alias}sr.data=await hr.invoke(lr)}catch(ir){sr.error=ir}return sr}))}packResult(ir,sr=false){const lr={success:true,result:null};let hr;if(sr){hr=[]}else{hr={}}for(const yr of ir){if(yr.error){lr.success=false;lr.error={valveName:typeof yr.valveName==="string"?yr.valveName:yr.valveName.name,message:yr.error.message,error:yr.error};return lr}else{if(sr){hr.push(yr.data)}else{hr[yr.dataKey]=yr.data}}}lr.result=hr;return lr}}sr.MidwayPipelineService=MidwayPipelineService;function getName(ir){if(ir){if(typeof ir==="string"){return ir}else{return(0,hr.getProviderName)(ir)}}return null}},42592:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.WebRouterCollector=sr.MidwayServerlessFunctionService=void 0;const kr=lr(49757);const Fr=lr(19985);const Br=lr(9288);const Ur=lr(1845);const Wr=lr(50539);const zr=lr(6192);let Jr=class MidwayServerlessFunctionService extends Fr.MidwayWebRouterService{constructor(ir={}){super(Object.assign({},ir,{includeFunctionRouter:true}));this.options=ir}async analyze(){this.analyzeController();this.analyzeFunction();this.sortPrefixAndRouter();for(const ir of this.routes.values()){for(const sr of ir){if(sr.requestMethod==="all"){sr.functionTriggerMetadata=sr.functionTriggerMetadata||{};sr.functionTriggerMetadata.method=["get","post","put","delete","head","patch","options"]}}}}analyzeFunction(){const ir=(0,kr.listModule)(kr.FUNC_KEY);for(const sr of ir){this.collectFunctionRoute(sr)}}collectFunctionRoute(ir){var sr,lr,hr,yr,Fr,Br,Ur,Wr,zr,Jr,Hr,Gr,Yr,Qr,Zr,cn,un;const Tn=(0,kr.getClassMetadata)(kr.FUNC_KEY,ir);const jn=(0,kr.getProviderName)(ir);const ni=(0,kr.getProviderUUId)(ir);const si="/";if(!this.routes.has(si)){this.routes.set(si,[]);this.routesPriority.push({prefix:si,priority:-999,middleware:[],routerOptions:{},controllerId:jn,routerModule:ir})}for(const pi of Tn){if((sr=pi["metadata"])===null||sr===void 0?void 0:sr["path"]){const sr=(0,kr.getPropertyDataFromClass)(kr.WEB_ROUTER_PARAM_KEY,ir,pi["methodName"])||[];const Hr=(0,kr.getPropertyMetadata)(kr.WEB_RESPONSE_KEY,ir,pi["methodName"])||[];const Gr={id:ni,prefix:si,routerName:"",url:pi["metadata"]["path"],requestMethod:(hr=(lr=pi["metadata"])===null||lr===void 0?void 0:lr["method"])!==null&&hr!==void 0?hr:"get",method:pi["methodName"],description:"",summary:"",handlerName:`${jn}.${pi["methodName"]}`,funcHandlerName:`${jn}.${pi["methodName"]}`,controllerId:jn,middleware:((yr=pi["metadata"])===null||yr===void 0?void 0:yr["middleware"])||[],controllerMiddleware:[],requestMetadata:sr,responseMetadata:Hr};const Yr=(0,kr.getPropertyMetadata)(kr.SERVERLESS_FUNC_KEY,ir,pi["methodName"])||{};const Qr=(Ur=(Fr=Yr["functionName"])!==null&&Fr!==void 0?Fr:(Br=pi===null||pi===void 0?void 0:pi["metadata"])===null||Br===void 0?void 0:Br["functionName"])!==null&&Ur!==void 0?Ur:createFunctionName(ir,pi["methodName"]);const Zr=(Jr=(Wr=Yr["handlerName"])!==null&&Wr!==void 0?Wr:(zr=pi===null||pi===void 0?void 0:pi["metadata"])===null||zr===void 0?void 0:zr["handlerName"])!==null&&Jr!==void 0?Jr:Gr.funcHandlerName;Gr.functionName=Qr;Gr.funcHandlerName=Zr;Gr.functionTriggerName=pi["type"];Gr.functionTriggerMetadata=pi["metadata"];Gr.functionMetadata={functionName:Qr,...Yr};this.checkDuplicateAndPush(si,Gr)}else{const sr=(0,kr.getPropertyMetadata)(kr.SERVERLESS_FUNC_KEY,ir,pi["methodName"])||{};const lr=(Yr=(Hr=sr["functionName"])!==null&&Hr!==void 0?Hr:(Gr=pi===null||pi===void 0?void 0:pi["metadata"])===null||Gr===void 0?void 0:Gr["functionName"])!==null&&Yr!==void 0?Yr:createFunctionName(ir,pi["methodName"]);const hr=(cn=(Qr=sr["handlerName"])!==null&&Qr!==void 0?Qr:(Zr=pi===null||pi===void 0?void 0:pi["metadata"])===null||Zr===void 0?void 0:Zr["handlerName"])!==null&&cn!==void 0?cn:`${jn}.${pi["methodName"]}`;this.checkDuplicateAndPush(si,{id:ni,prefix:si,routerName:"",url:"",requestMethod:"",method:pi["methodName"],description:"",summary:"",handlerName:`${jn}.${pi["methodName"]}`,funcHandlerName:hr,controllerId:jn,middleware:((un=pi["metadata"])===null||un===void 0?void 0:un["middleware"])||[],controllerMiddleware:[],requestMetadata:[],responseMetadata:[],functionName:lr,functionTriggerName:pi["type"],functionTriggerMetadata:pi["metadata"],functionMetadata:{functionName:lr,...sr}})}}}async getFunctionList(){return this.getFlattenRouterTable({compileUrlPattern:true})}addServerlessFunction(ir,sr,lr={}){var hr,yr;const kr="";if(!this.routes.has(kr)){this.routes.set(kr,[]);this.routesPriority.push({prefix:kr,priority:0,middleware:[],routerOptions:{},controllerId:undefined,routerModule:undefined})}const Fr=(hr=sr.functionName)!==null&&hr!==void 0?hr:lr.functionName;this.checkDuplicateAndPush(kr,{id:null,method:ir,url:sr.metadata["path"]||"",requestMethod:sr.metadata["method"]||"",description:"",summary:"",handlerName:"",funcHandlerName:sr.handlerName||lr.handlerName,controllerId:"",middleware:((yr=sr.metadata)===null||yr===void 0?void 0:yr.middleware)||[],controllerMiddleware:[],requestMetadata:[],responseMetadata:[],functionName:Fr,functionTriggerName:sr.metadata.name,functionTriggerMetadata:sr.metadata,functionMetadata:{functionName:Fr,...lr}})}};Jr=hr([(0,kr.Provide)(),(0,kr.Scope)(zr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Jr);sr.MidwayServerlessFunctionService=Jr;function createFunctionName(ir,sr){return(0,kr.getProviderName)(ir).replace(/[:#]/g,"-")+"-"+sr}class WebRouterCollector{constructor(ir="",sr={}){this.baseDir=ir;this.options=sr}async init(){if(!this.proxy){if(this.baseDir){const ir=new Br.MidwayContainer;(0,kr.bindContainer)(ir);ir.setFileDetector(new Ur.CommonJSFileDetector({loadDir:this.baseDir}));await ir.ready()}if(this.options.includeFunctionRouter){if((0,Wr.getCurrentMainFramework)()){this.proxy=await(0,Wr.getCurrentMainFramework)().getApplicationContext().getAsync(Jr,[this.options])}else{this.proxy=new Jr(this.options)}}else{if((0,Wr.getCurrentMainFramework)()){this.proxy=await(0,Wr.getCurrentMainFramework)().getApplicationContext().getAsync(Fr.MidwayWebRouterService,[this.options])}else{this.proxy=new Fr.MidwayWebRouterService(this.options)}}}}async getRoutePriorityList(){await this.init();return this.proxy.getRoutePriorityList()}async getRouterTable(){await this.init();return this.proxy.getRouterTable()}async getFlattenRouterTable(){await this.init();return this.proxy.getFlattenRouterTable()}}sr.WebRouterCollector=WebRouterCollector},19985:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayWebRouterService=void 0;const kr=lr(49757);const Fr=lr(65308);const Br=lr(86314);const Ur=lr(39023);const Wr=lr(73861);const zr=lr(63289);const Jr=lr(6192);const Hr=Ur.debuglog("midway:debug");let Gr=class MidwayWebRouterService{constructor(ir={}){this.options=ir;this.isReady=false;this.routes=new Map;this.routesPriority=[]}async analyze(){this.analyzeController();this.sortPrefixAndRouter()}analyzeController(){const ir=(0,kr.listModule)(kr.CONTROLLER_KEY);for(const sr of ir){const ir=(0,kr.getClassMetadata)(kr.CONTROLLER_KEY,sr);this.addController(sr,ir,this.options.includeFunctionRouter)}}sortPrefixAndRouter(){this.routesPriority=this.routesPriority.filter((ir=>{const sr=this.routes.get(ir.prefix);if(sr.length>0){return true}else{this.routes.delete(ir.prefix);return false}}));for(const ir of this.routes.keys()){const sr=this.routes.get(ir);this.routes.set(ir,this.sortRouter(sr))}this.routesPriority=this.routesPriority.sort(((ir,sr)=>sr.prefix.length-ir.prefix.length))}addController(ir,sr,lr={},hr=false){var yr;if(lr&&typeof lr==="boolean"){hr=lr;lr=undefined}if(!lr){lr={}}const Ur=(0,kr.getProviderName)(ir);Hr(`[core]: Found Controller ${Ur}.`);const Wr=(0,kr.getProviderUUId)(ir);sr.routerOptions=sr.routerOptions||{};let zr;const Gr=sr.routerOptions.middleware;const Yr=!!((yr=sr.routerOptions)===null||yr===void 0?void 0:yr.ignoreGlobalPrefix);let Qr=(0,Fr.joinURLPath)(this.options.globalPrefix,sr.prefix||"/");const Zr=sr.prefix||"/";if(Yr){Qr=Zr}if(/\*/.test(Qr)){throw new Br.MidwayCommonError(`Router prefix ${Qr} can't set string with *`)}if(!this.routes.has(Qr)){this.routes.set(Qr,[]);this.routesPriority.push({prefix:Qr,priority:Qr==="/"&&zr===undefined?-999:0,middleware:Gr,routerOptions:sr.routerOptions,controllerId:Ur,routerModule:ir})}else{if(Gr&&Gr.length>0){const ir=this.routesPriority.filter((ir=>ir.prefix===Qr))[0];throw new Br.MidwayDuplicateControllerOptionsError(Qr,Ur,ir.controllerId)}}if(!this.routes.has(Zr)){this.routes.set(Zr,[]);this.routesPriority.push({prefix:Zr,priority:Zr==="/"&&zr===undefined?-999:0,middleware:Gr,routerOptions:sr.routerOptions,controllerId:Ur,routerModule:ir})}const cn=(0,kr.getClassMetadata)(kr.WEB_ROUTER_KEY,ir);if(cn&&typeof cn[Symbol.iterator]==="function"){for(const sr of cn){const yr=(0,kr.getPropertyDataFromClass)(kr.WEB_ROUTER_PARAM_KEY,ir,sr.method)||[];const Br=(0,kr.getPropertyMetadata)(kr.WEB_RESPONSE_KEY,ir,sr.method)||[];const zr={id:Wr,prefix:sr.ignoreGlobalPrefix?Zr:Qr,routerName:sr.routerName||"",url:sr.path,requestMethod:sr.requestMethod,method:sr.method,description:sr.description||"",summary:sr.summary||"",handlerName:`${Ur}.${sr.method}`,funcHandlerName:`${Ur}.${sr.method}`,controllerId:Ur,controllerClz:ir,middleware:sr.middleware||[],controllerMiddleware:Gr||[],requestMetadata:yr,responseMetadata:Br};if(hr){zr.functionName=Ur+"-"+sr.method;zr.functionTriggerName=Jr.ServerlessTriggerType.HTTP;zr.functionTriggerMetadata={path:(0,Fr.joinURLPath)(Qr,sr.path.toString()),method:sr.requestMethod};zr.functionMetadata={functionName:zr.functionName}}if(lr.resourceFilter&&!lr.resourceFilter(zr)){continue}this.checkDuplicateAndPush(zr.prefix,zr)}}}addRouter(ir,sr){const lr=sr.prefix||"";sr.requestMethod=(sr.requestMethod||"GET").toUpperCase();if(!this.routes.has(lr)){this.routes.set(lr,[]);this.routesPriority.push({prefix:lr,priority:0,middleware:[],routerOptions:{},controllerId:undefined,routerModule:undefined})}this.checkDuplicateAndPush(lr,Object.assign(sr,{method:ir}));this.sortPrefixAndRouter()}sortRouter(ir){return ir.map((ir=>{const sr=ir.url.toString();const lr=zr.Types.isRegExp(ir.url)?sr.split("\\/"):sr.split("/");let hr=0;for(const ir of lr){if(ir===""||ir.includes(":")||ir.includes("*")){hr+=0}else{hr+=1}}let yr=2;const kr=sr.includes(":")?sr.replace(/:.+$/,""):"";if(kr){yr=1}if(sr.includes("*")){yr=0}return{...ir,_pureRouter:sr.replace(/\**$/,"").replace(/:\w+/,"123"),_level:sr.split("/").length-1,_paramString:kr,_category:yr,_weight:hr}})).sort(((ir,sr)=>{if(ir._category!==sr._category){return sr._category-ir._category}if(ir._weight!==sr._weight){return sr._weight-ir._weight}if(ir._level===sr._level){if(sr._pureRouter===ir._pureRouter){return ir.url.toString().length-sr.url.toString().length}return sr._pureRouter.length-ir._pureRouter.length}return sr._level-ir._level}))}async getRoutePriorityList(){if(!this.isReady){await this.analyze();this.isReady=true}return this.routesPriority}async getRouterTable(){if(!this.isReady){await this.analyze();this.isReady=true}return this.routes}async getFlattenRouterTable(ir={}){if(!this.isReady){await this.analyze();this.isReady=true}let sr=[];for(const ir of this.routesPriority){sr=sr.concat(this.routes.get(ir.prefix))}if(ir.compileUrlPattern){for(const ir of sr){if(ir.fullUrlFlattenString){ir.fullUrlCompiledRegexp=Wr.PathToRegexpUtil.toRegexp(ir.fullUrlFlattenString)}}}return sr}async getMatchedRouterInfo(ir,sr){const lr=await this.getFlattenRouterTable({compileUrlPattern:true});let hr;for(const yr of lr){if(yr.fullUrlCompiledRegexp){const lr=yr["requestMethod"].toUpperCase();if(("ALL"===lr||sr.toUpperCase()===lr)&&yr.fullUrlCompiledRegexp.test(ir)){hr=yr;break}}}return hr}checkDuplicateAndPush(ir,sr){const lr=this.routes.get(ir);const hr=lr.filter((ir=>sr.url&&sr.requestMethod&&ir.url===sr.url&&ir.requestMethod===sr.requestMethod));if(hr&&hr.length){throw new Br.MidwayDuplicateRouteError(`${sr.requestMethod} ${sr.url}`,`${hr[0].handlerName}`,`${sr.handlerName}`)}if(!sr.fullUrlFlattenString&&sr.url&&typeof sr.url==="string"){sr.fullUrl=(0,Fr.joinURLPath)(ir,sr.url);if(/\*$/.test(sr.fullUrl)){sr.fullUrlFlattenString=sr.fullUrl.replace("*","(.*)")}else{sr.fullUrlFlattenString=sr.fullUrl}}lr.push(sr)}};Gr=hr([(0,kr.Provide)(),(0,kr.Scope)(Jr.ScopeEnum.Singleton),yr("design:paramtypes",[Object])],Gr);sr.MidwayWebRouterService=Gr},29222:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.prepareGlobalApplicationContext=sr.prepareGlobalApplicationContextAsync=sr.destroyGlobalApplicationContext=sr.initializeGlobalApplicationContext=void 0;const hr=lr(46123);const yr=lr(42193);const kr=lr(49757);const Fr=lr(39023);const Br=lr(42592);const Ur=lr(16928);const Wr=lr(658);const zr=lr(70032);const Jr=Fr.debuglog("midway:debug");let Hr=1;function printStepDebugInfo(ir){Jr(`\n\nStep ${Hr++}: ${ir}\n`)}async function initializeGlobalApplicationContext(ir){zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.INITIALIZE);const sr=await prepareGlobalApplicationContextAsync(ir);printStepDebugInfo("Init logger");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LOGGER_PREPARE);const lr=await sr.getAsync(hr.MidwayLoggerService,[sr,ir]);if(lr.getLogger("appLogger")){sr.registerObject("logger",lr.getLogger("appLogger"))}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LOGGER_PREPARE);printStepDebugInfo("Init MidwayMockService");await sr.getAsync(hr.MidwayMockService,[sr]);printStepDebugInfo("Init framework");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.FRAMEWORK_PREPARE);await sr.getAsync(hr.MidwayFrameworkService,[sr,ir]);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.FRAMEWORK_PREPARE);printStepDebugInfo("Init lifecycle");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LIFECYCLE_PREPARE);await sr.getAsync(hr.MidwayLifeCycleService,[sr]);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.LIFECYCLE_PREPARE);printStepDebugInfo("Init preload modules");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.PRELOAD_MODULE_PREPARE);const yr=(0,kr.listPreloadModule)();for(const ir of yr){await sr.getAsync(ir)}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.PRELOAD_MODULE_PREPARE);printStepDebugInfo("End of initialize and start");zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.INITIALIZE);return sr}sr.initializeGlobalApplicationContext=initializeGlobalApplicationContext;async function destroyGlobalApplicationContext(ir){const sr=await ir.getAsync(hr.MidwayLoggerService);const lr=sr.getCurrentLoggerFactory();const yr=await ir.getAsync(hr.MidwayLifeCycleService);await yr.stop();await ir.stop();(0,kr.clearBindContainer)();lr.close();zr.MidwayPerformanceManager.cleanAll();global["MIDWAY_APPLICATION_CONTEXT"]=undefined;global["MIDWAY_MAIN_FRAMEWORK"]=undefined}sr.destroyGlobalApplicationContext=destroyGlobalApplicationContext;async function prepareGlobalApplicationContextAsync(ir){var sr,lr,Hr,Gr,Yr;printStepDebugInfo("Ready to create applicationContext");Jr('[core]: start "initializeGlobalApplicationContext"');Jr(`[core]: bootstrap options = ${Fr.inspect(ir)}`);const Qr=(sr=ir.appDir)!==null&&sr!==void 0?sr:"";const Zr=(lr=ir.baseDir)!==null&&lr!==void 0?lr:"";zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);const cn=(Hr=ir.applicationContext)!==null&&Hr!==void 0?Hr:new hr.MidwayContainer;Jr("[core]: delegate module map from decoratorManager");(0,kr.bindContainer)(cn);global["MIDWAY_APPLICATION_CONTEXT"]=cn;cn.registerObject("baseDir",Zr);cn.registerObject("appDir",Qr);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);Jr("[core]: set default file detector");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Ready module detector");if(!ir.moduleLoadType){ir.moduleLoadType="commonjs"}if(ir.moduleDetector!==false){Jr("[core]: set module load type = %s",ir.moduleLoadType);if(!ir.imports){ir.imports=[await(0,hr.loadModule)((0,Ur.join)(Zr,`configuration${(0,hr.isTypeScriptEnvironment)()?".ts":".js"}`),{loadMode:ir.moduleLoadType,safeLoad:true})]}if(ir.moduleDetector===undefined){if(ir.moduleLoadType==="esm"){cn.setFileDetector(new hr.ESModuleFileDetector({loadDir:Zr,ignore:(Gr=ir.ignore)!==null&&Gr!==void 0?Gr:[]}));ir.moduleLoadType="esm"}else{cn.setFileDetector(new hr.CommonJSFileDetector({loadDir:Zr,ignore:(Yr=ir.ignore)!==null&&Yr!==void 0?Yr:[]}))}}}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Binding inner service");cn.bindClass(hr.MidwayEnvironmentService);cn.bindClass(hr.MidwayInformationService);cn.bindClass(hr.MidwayAspectService);cn.bindClass(hr.MidwayDecoratorService);cn.bindClass(hr.MidwayConfigService);cn.bindClass(hr.MidwayLoggerService);cn.bindClass(hr.MidwayApplicationManager);cn.bindClass(hr.MidwayFrameworkService);cn.bindClass(hr.MidwayMiddlewareService);cn.bindClass(hr.MidwayLifeCycleService);cn.bindClass(hr.MidwayMockService);cn.bindClass(hr.MidwayWebRouterService);cn.bindClass(Br.MidwayServerlessFunctionService);cn.bindClass(Wr.MidwayHealthService);cn.bindClass(hr.MidwayPriorityManager);printStepDebugInfo("Binding preload module");if(ir.preloadModules&&ir.preloadModules.length){for(const sr of ir.preloadModules){cn.bindClass(sr)}}printStepDebugInfo("Init MidwayConfigService, MidwayAspectService and MidwayDecoratorService");const un=cn.get(hr.MidwayEnvironmentService);un.setModuleLoadType(ir.moduleLoadType);const Tn=cn.get(hr.MidwayConfigService);Tn.add([{default:yr.default}]);cn.get(hr.MidwayAspectService,[cn]);cn.get(hr.MidwayDecoratorService,[cn]);printStepDebugInfo("Load imports(component) and user code configuration module");cn.load([].concat(ir.imports).concat(ir.configurationModule));printStepDebugInfo("Run applicationContext ready method");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);await cn.ready();zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);if(ir.globalConfig){if(Array.isArray(ir.globalConfig)){Tn.add(ir.globalConfig)}else{Tn.addObject(ir.globalConfig)}}printStepDebugInfo("Load config file");Tn.load();Jr("[core]: Current config = %j",Tn.getConfiguration());zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);cn.get(hr.MidwayMiddlewareService,[cn]);return cn}sr.prepareGlobalApplicationContextAsync=prepareGlobalApplicationContextAsync;function prepareGlobalApplicationContext(ir){var sr,lr,Hr,Gr;printStepDebugInfo("Ready to create applicationContext");Jr('[core]: start "initializeGlobalApplicationContext"');Jr(`[core]: bootstrap options = ${Fr.inspect(ir)}`);const Yr=(sr=ir.appDir)!==null&&sr!==void 0?sr:"";const Qr=(lr=ir.baseDir)!==null&&lr!==void 0?lr:"";zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);const Zr=(Hr=ir.applicationContext)!==null&&Hr!==void 0?Hr:new hr.MidwayContainer;Jr("[core]: delegate module map from decoratorManager");(0,kr.bindContainer)(Zr);global["MIDWAY_APPLICATION_CONTEXT"]=Zr;Zr.registerObject("baseDir",Qr);Zr.registerObject("appDir",Yr);zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.METADATA_PREPARE);printStepDebugInfo("Ready module detector");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);if(!ir.moduleLoadType){ir.moduleLoadType="commonjs"}if(ir.moduleDetector!==false){if(ir.moduleDetector===undefined){Zr.setFileDetector(new hr.CommonJSFileDetector({ignore:(Gr=ir.ignore)!==null&&Gr!==void 0?Gr:[]}))}else if(ir.moduleDetector){Zr.setFileDetector(ir.moduleDetector)}}zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DETECTOR_PREPARE);printStepDebugInfo("Binding inner service");Zr.bindClass(hr.MidwayEnvironmentService);Zr.bindClass(hr.MidwayInformationService);Zr.bindClass(hr.MidwayAspectService);Zr.bindClass(hr.MidwayDecoratorService);Zr.bindClass(hr.MidwayConfigService);Zr.bindClass(hr.MidwayLoggerService);Zr.bindClass(hr.MidwayApplicationManager);Zr.bindClass(hr.MidwayFrameworkService);Zr.bindClass(hr.MidwayMiddlewareService);Zr.bindClass(hr.MidwayLifeCycleService);Zr.bindClass(hr.MidwayMockService);Zr.bindClass(hr.MidwayWebRouterService);Zr.bindClass(Br.MidwayServerlessFunctionService);Zr.bindClass(Wr.MidwayHealthService);Zr.bindClass(hr.MidwayPriorityManager);printStepDebugInfo("Binding preload module");if(ir.preloadModules&&ir.preloadModules.length){for(const sr of ir.preloadModules){Zr.bindClass(sr)}}printStepDebugInfo("Init MidwayConfigService, MidwayAspectService and MidwayDecoratorService");const cn=Zr.get(hr.MidwayEnvironmentService);cn.setModuleLoadType(ir.moduleLoadType);const un=Zr.get(hr.MidwayConfigService);un.add([{default:yr.default}]);Zr.get(hr.MidwayAspectService,[Zr]);Zr.get(hr.MidwayDecoratorService,[Zr]);printStepDebugInfo("Load imports(component) and user code configuration module");if(!ir.imports){ir.imports=[(0,hr.safeRequire)((0,Ur.join)(ir.baseDir,"configuration"))]}Zr.load([].concat(ir.imports).concat(ir.configurationModule));printStepDebugInfo("Run applicationContext ready method");zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);Zr.ready();zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.DEFINITION_PREPARE);zr.MidwayInitializerPerformanceManager.markStart(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);if(ir.globalConfig){if(Array.isArray(ir.globalConfig)){un.add(ir.globalConfig)}else{un.addObject(ir.globalConfig)}}printStepDebugInfo("Load config file");un.load();Jr("[core]: Current config = %j",un.getConfiguration());zr.MidwayInitializerPerformanceManager.markEnd(zr.MidwayInitializerPerformanceManager.MEASURE_KEYS.CONFIG_LOAD);Zr.get(hr.MidwayMiddlewareService,[Zr]);return Zr}sr.prepareGlobalApplicationContext=prepareGlobalApplicationContext},90406:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.pascalCase=sr.camelCase=void 0;const lr=/[\p{Lu}]/u;const hr=/[\p{Ll}]/u;const yr=/([\p{Alpha}\p{N}_]|$)/u;const kr=/[_.\- ]+/;const Fr=new RegExp("^"+kr.source);const Br=new RegExp(kr.source+yr.source,"gu");const Ur=new RegExp("\\d+"+yr.source,"gu");const preserveCamelCase=(ir,sr,yr)=>{let kr=false;let Fr=false;let Br=false;for(let Ur=0;Ur<ir.length;Ur++){const Wr=ir[Ur];if(kr&&lr.test(Wr)){ir=ir.slice(0,Ur)+"-"+ir.slice(Ur);kr=false;Br=Fr;Fr=true;Ur++}else if(Fr&&Br&&hr.test(Wr)){ir=ir.slice(0,Ur-1)+"-"+ir.slice(Ur-1);Br=Fr;Fr=false;kr=true}else{kr=sr(Wr)===Wr&&yr(Wr)!==Wr;Br=Fr;Fr=yr(Wr)===Wr&&sr(Wr)!==Wr}}return ir};const postProcess=(ir,sr)=>{Br.lastIndex=0;Ur.lastIndex=0;return ir.replace(Br,((ir,lr)=>sr(lr))).replace(Ur,(ir=>sr(ir)))};function camelCaseOrigin(ir,sr){sr={pascalCase:false,...sr};ir=ir.trim();if(ir.length===0){return""}const toLowerCase=ir=>ir.toLowerCase();const toUpperCase=ir=>ir.toUpperCase();if(ir.length===1){if(kr.test(ir)){return""}return sr.pascalCase?toUpperCase(ir):toLowerCase(ir)}const lr=ir!==toLowerCase(ir);if(lr){ir=preserveCamelCase(ir,toLowerCase,toUpperCase)}ir=ir.replace(Fr,"");ir=toLowerCase(ir);if(sr.pascalCase){ir=toUpperCase(ir.charAt(0))+ir.slice(1)}return postProcess(ir,toUpperCase)}function camelCase(ir){return camelCaseOrigin(ir,{pascalCase:false})}sr.camelCase=camelCase;function pascalCase(ir){return camelCaseOrigin(ir,{pascalCase:true})}sr.pascalCase=pascalCase},50539:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getCurrentAsyncContextManager=sr.getCurrentMainApp=sr.getCurrentMainFramework=sr.getCurrentApplicationContext=void 0;const hr=lr(2222);const getCurrentApplicationContext=()=>global["MIDWAY_APPLICATION_CONTEXT"];sr.getCurrentApplicationContext=getCurrentApplicationContext;const getCurrentMainFramework=()=>global["MIDWAY_MAIN_FRAMEWORK"];sr.getCurrentMainFramework=getCurrentMainFramework;const getCurrentMainApp=()=>{const ir=(0,sr.getCurrentMainFramework)();if(ir){return ir.getApplication()}return undefined};sr.getCurrentMainApp=getCurrentMainApp;const getCurrentAsyncContextManager=()=>(0,sr.getCurrentApplicationContext)().get(hr.ASYNC_CONTEXT_MANAGER_KEY);sr.getCurrentAsyncContextManager=getCurrentAsyncContextManager},83486:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.extend=void 0;const hr=lr(63289);function extend(...ir){let sr,lr,yr,kr,Fr;let Br=ir[0];let Ur=1;const Wr=ir.length;let zr=false;if(typeof Br==="boolean"){zr=Br;Br=ir[1]||{};Ur=2}else if(typeof Br!=="object"&&typeof Br!=="function"||Br==null){Br={}}for(;Ur<Wr;++Ur){sr=ir[Ur];if(sr==null)continue;for(lr in sr){if(lr==="__proto__")continue;yr=Br[lr];kr=sr[lr];if(Br===kr)continue;if(zr&&kr&&hr.Types.isPlainObject(kr)){Fr=yr&&hr.Types.isPlainObject(yr)?yr:{};Br[lr]=extend(zr,Fr,kr)}else if(typeof kr!=="undefined"){Br[lr]=kr}}}return Br}sr.extend=extend},2764:(ir,sr)=>{"use strict";
2
2
  /*! (c) 2020 Andrea Giammarchi */Object.defineProperty(sr,"__esModule",{value:true});sr.safeStringify=sr.safeParse=void 0;const{parse:lr,stringify:hr}=JSON;const{keys:yr}=Object;const kr=String;const Fr="string";const Br={};const Ur="object";const noop=(ir,sr)=>sr;const primitives=ir=>ir instanceof kr?kr(ir):ir;const Primitives=(ir,sr)=>typeof sr===Fr?new kr(sr):sr;const revive=(ir,sr,lr,hr)=>{const Fr=[];for(let Wr=yr(lr),{length:zr}=Wr,Jr=0;Jr<zr;Jr++){const yr=Wr[Jr];const zr=lr[yr];if(zr instanceof kr){const kr=ir[zr];if(typeof kr===Ur&&!sr.has(kr)){sr.add(kr);lr[yr]=Br;Fr.push({k:yr,a:[ir,sr,kr,hr]})}else lr[yr]=hr.call(lr,yr,kr)}else if(lr[yr]!==Br)lr[yr]=hr.call(lr,yr,zr)}for(let{length:ir}=Fr,sr=0;sr<ir;sr++){const{k:ir,a:yr}=Fr[sr];lr[ir]=hr.call(lr,ir,revive.apply(null,yr))}return lr};const set=(ir,sr,lr)=>{const hr=kr(sr.push(lr)-1);ir.set(lr,hr);return hr};function safeParse(ir,sr){const hr=lr(ir,Primitives).map(primitives);const yr=hr[0];const kr=sr||noop;const Fr=typeof yr===Ur&&yr?revive(hr,new Set,yr,kr):yr;return kr.call({"":Fr},"",Fr)}sr.safeParse=safeParse;function safeStringify(ir,sr,lr){const yr=sr&&typeof sr===Ur?(ir,lr)=>ir===""||-1<sr.indexOf(ir)?lr:void 0:sr||noop;const kr=new Map;const Br=[];const Wr=[];let zr=+set(kr,Br,yr.call({"":ir},"",ir));let Jr=!zr;while(zr<Br.length){Jr=true;Wr[zr]=hr(Br[zr++],replace,lr)}return"["+Wr.join(",")+"]";function replace(ir,sr){if(Jr){Jr=!Jr;return sr}const lr=yr.call(this,ir,sr);switch(typeof lr){case Ur:if(lr===null)return lr;case Fr:return kr.get(lr)||set(kr,Br,lr)}return lr}}sr.safeStringify=safeStringify},30001:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FORMAT=void 0;const lr=1e3;const hr=lr*60;const yr=hr*60;const kr=yr*24;const Fr=kr*7;const Br=kr*365.25;const Ur={ONE_SECOND:lr,ONE_MINUTE:hr,ONE_HOUR:yr,ONE_DAY:kr,ONE_WEEK:Fr,ONE_YEAR:Br};const Wr={EVERY_SECOND:"* * * * * *",EVERY_MINUTE:"0 * * * * *",EVERY_HOUR:"0 0 * * * *",EVERY_DAY:"0 0 0 * * *",EVERY_DAY_ZERO_FIFTEEN:"0 15 0 * * *",EVERY_DAY_ONE_FIFTEEN:"0 15 1 * * *",EVERY_PER_5_SECOND:"*/5 * * * * *",EVERY_PER_10_SECOND:"*/10 * * * * *",EVERY_PER_30_SECOND:"*/30 * * * * *",EVERY_PER_5_MINUTE:"0 */5 * * * *",EVERY_PER_10_MINUTE:"0 */10 * * * *",EVERY_PER_30_MINUTE:"0 */30 * * * *"};sr.FORMAT={MS:Ur,CRONTAB:Wr}},7589:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FileUtils=sr.exists=void 0;const hr=lr(79896);async function exists(ir){return hr.promises.access(ir,hr.constants.F_OK).then((()=>true)).catch((()=>false))}sr.exists=exists;sr.FileUtils={exists:exists}},87653:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpClient=sr.makeHttpRequest=void 0;const hr=lr(58611);const yr=lr(65692);const kr=lr(87016);const Fr=lr(39023);const Br=lr(86314);const Ur=(0,Fr.debuglog)("request-client");const Wr=kr.URL;const zr={text:"application/text",json:"application/json",octet:"application/octet-stream"};function isHeaderExists(ir,sr){return ir[sr]||ir[sr.toLowerCase()]||ir[sr.toUpperCase()]}async function makeHttpRequest(ir,sr={}){Ur(`request '${ir}'`);const lr=new Wr(ir);const kr=lr.protocol==="https:"?yr:hr;sr.method=(sr.method||"GET").toUpperCase();const{contentType:Fr,dataType:Jr,method:Hr,timeout:Gr=5e3,headers:Yr,...Qr}=sr;const Zr={Accept:zr[Jr]||zr.octet,...Yr};let cn;if(Hr==="GET"&&sr.data){for(const ir of Object.keys(sr.data)){lr.searchParams.set(ir,sr.data[ir])}Zr["Content-Length"]=0}else if(sr.data){cn=Buffer.from(JSON.stringify(sr.data));if(!isHeaderExists(Zr,"Content-Type")){Zr["Content-Type"]=zr[Fr]||zr.octet}if(!isHeaderExists(Zr,"Content-Length")){Zr["Content-Length"]=cn.byteLength}}return new Promise(((sr,hr)=>{const yr=kr.request(lr.toString(),{method:Hr,headers:Zr,...Qr},(lr=>{lr.setTimeout(Gr,(()=>{lr.destroy(new Error("Response Timeout"))}));lr.on("error",(ir=>{hr(ir)}));const yr=[];lr.on("data",(ir=>{yr.push(ir)}));lr.on("end",(()=>{let kr=Buffer.concat(yr);if(Jr==="text"||Jr==="json"){kr=kr.toString("utf8")}if(Jr==="json"){try{kr=JSON.parse(kr)}catch(ir){return hr(new Error("[httpclient] Unable to parse response data"))}}Object.assign(lr,{status:lr.statusCode,data:kr});Ur(`request '${ir}' resolved with status ${lr.statusCode}`);sr(lr)}))}));yr.setTimeout(Gr,(()=>{yr.destroy(new Br.MidwayUtilHttpClientTimeoutError("Request Timeout"))}));yr.on("error",(ir=>{hr(ir)}));if(Hr!=="GET"){yr.end(cn)}else{yr.end()}}))}sr.makeHttpRequest=makeHttpRequest;class HttpClient{constructor(ir={}){this.defaultOptions=ir}async request(ir,sr){return makeHttpRequest(ir,Object.assign({},this.defaultOptions,sr))}}sr.HttpClient=HttpClient},65308:(ir,sr,lr)=>{"use strict";ir=lr.nmd(ir);Object.defineProperty(sr,"__esModule",{value:true});sr.Utils=sr.createPromiseTimeoutInvokeChain=sr.isTypeScriptEnvironment=sr.toAsyncFunction=sr.merge=sr.generateRandomId=sr.getParamNames=sr.sleep=sr.wrapAsync=sr.isIncludeProperty=sr.wrapMiddleware=sr.pathMatching=sr.toPathMatch=sr.transformRequestObjectByType=sr.deprecatedOutput=sr.getCurrentDateString=sr.delegateTargetProperties=sr.delegateTargetMethod=sr.delegateTargetAllPrototypeMethod=sr.delegateTargetPrototypeMethod=sr.joinURLPath=sr.getUserHome=sr.parsePrefix=sr.safelyGet=sr.loadModule=sr.safeRequire=sr.getCurrentEnvironment=sr.isDevelopmentEnvironment=void 0;const hr=lr(16928);const yr=lr(79896);const kr=lr(39023);const Fr=lr(14142);const Br=lr(73861);const Ur=lr(86314);const Wr=lr(90406);const zr=lr(2897);const Jr=lr(2764);const Hr=lr(76982);const Gr=lr(63289);const Yr=lr(87016);const Qr=(0,kr.debuglog)("midway:debug");const isDevelopmentEnvironment=ir=>["local","test","unittest"].includes(ir);sr.isDevelopmentEnvironment=isDevelopmentEnvironment;const getCurrentEnvironment=()=>process.env["MIDWAY_SERVER_ENV"]||process.env["NODE_ENV"]||"prod";sr.getCurrentEnvironment=getCurrentEnvironment;const safeRequire=(sr,lr=true)=>{if(sr.startsWith(`.${hr.sep}`)||sr.startsWith(`..${hr.sep}`)){sr=(0,hr.resolve)((0,hr.dirname)(ir.parent.filename),sr)}try{if(lr){return require(sr)}else{const ir=(0,yr.readFileSync)(sr,{encoding:"utf-8"});return JSON.parse(ir)}}catch(ir){Qr(`[core]: SafeRequire Warning\n\n${ir.message}\n`);return undefined}};sr.safeRequire=safeRequire;const Zr={};const loadModule=async(sr,kr={})=>{var Fr,Br,Ur;kr.enableCache=(Fr=kr.enableCache)!==null&&Fr!==void 0?Fr:true;kr.safeLoad=(Br=kr.safeLoad)!==null&&Br!==void 0?Br:false;kr.loadMode=(Ur=kr.loadMode)!==null&&Ur!==void 0?Ur:"commonjs";if(sr.startsWith(`.${hr.sep}`)||sr.startsWith(`..${hr.sep}`)){sr=(0,hr.resolve)((0,hr.dirname)(ir.parent.filename),sr)}Qr(`[core]: load module ${sr}, cache: ${kr.enableCache}, mode: ${kr.loadMode}, safeLoad: ${kr.safeLoad}`);try{if(kr.enableCache){if(kr.loadMode==="commonjs"){return require(sr)}else{if(sr.endsWith(".json")){if(!Zr[sr]){const ir=(0,yr.readFileSync)(sr,{encoding:"utf-8"});Zr[sr]=JSON.parse(ir)}return Zr[sr]}else{return await lr(53196)((0,Yr.pathToFileURL)(sr).href)}}}else{const ir=(0,yr.readFileSync)(sr,{encoding:"utf-8"});return JSON.parse(ir)}}catch(ir){if(!kr.safeLoad){throw ir}else{Qr(`[core]: SafeLoadModule Warning\n\n${ir.message}\n`);return undefined}}};sr.loadModule=loadModule;function safelyGet(ir,sr){if(arguments.length===1){return sr=>safelyGet(ir,sr)}if(typeof sr==="undefined"||typeof sr!=="object"||sr===null){return void 0}const lr=typeof ir==="string"?ir.split("."):ir;let hr=sr;for(const ir of lr){if(typeof hr==="undefined"||hr===null){return void 0}else if(typeof hr!=="object"){return void 0}hr=hr[ir]}return hr}sr.safelyGet=safelyGet;function parsePrefix(ir){if(ir.includes("@")){return ir.slice(1)}return ir}sr.parsePrefix=parsePrefix;function getUserHome(){return process.env[process.platform==="win32"?"USERPROFILE":"HOME"]}sr.getUserHome=getUserHome;function joinURLPath(...ir){ir=ir.filter((ir=>!!ir));if(ir.length===0){return""}let sr=hr.posix.join(...ir);sr=sr.replace(/\/+$/,"");if(!/^\//.test(sr)){sr="/"+sr}return sr}sr.joinURLPath=joinURLPath;function delegateTargetPrototypeMethod(ir,sr,lr){sr.forEach((sr=>{if(sr.prototype){Object.getOwnPropertyNames(sr.prototype).forEach((sr=>{if(sr!=="constructor"&&!/^_/.test(sr)&&!ir.prototype[sr]){ir.prototype[sr]=function(...ir){return this.instance[sr](...ir)}}}))}}));if(lr){delegateTargetMethod(ir,lr)}}sr.delegateTargetPrototypeMethod=delegateTargetPrototypeMethod;function delegateTargetAllPrototypeMethod(ir,sr){do{delegateTargetPrototypeMethod(ir,[sr]);sr=Object.getPrototypeOf(sr)}while(sr)}sr.delegateTargetAllPrototypeMethod=delegateTargetAllPrototypeMethod;function delegateTargetMethod(ir,sr){sr.forEach((sr=>{ir.prototype[sr]=function(...ir){return this.instance[sr](...ir)}}))}sr.delegateTargetMethod=delegateTargetMethod;function delegateTargetProperties(ir,sr){sr.forEach((sr=>{Object.defineProperty(ir.prototype,sr,{get(){return this.instance[sr]}})}))}sr.delegateTargetProperties=delegateTargetProperties;const getCurrentDateString=(ir=Date.now())=>{const sr=new Date(ir);return`${sr.getFullYear()}-${(sr.getMonth()+1).toString().padStart(2,"0")}-${sr.getDate().toString().padStart(2,"0")}`};sr.getCurrentDateString=getCurrentDateString;const deprecatedOutput=ir=>{console.warn("DeprecationWarning: "+ir)};sr.deprecatedOutput=deprecatedOutput;const transformRequestObjectByType=(ir,sr)=>{if(sr===undefined||sr===null||sr===Object||typeof ir==="undefined"){return ir}switch(sr){case Number:return Number(ir);case String:return String(ir);case Boolean:if(ir==="0"||ir==="false"){return false}return Boolean(ir);default:if(ir instanceof sr){return ir}else{const lr=Fr["plainToClass"]||Fr["plainToInstance"];return lr(sr,ir)}}};sr.transformRequestObjectByType=transformRequestObjectByType;function toPathMatch(ir){if(typeof ir==="boolean"){return sr=>ir}if(typeof ir==="string"){const sr=Br.PathToRegexpUtil.toRegexp(ir.replace("*","(.*)"));if(sr.global)sr.lastIndex=0;return ir=>sr.test(ir.path)}if(ir instanceof RegExp){return sr=>{if(ir.global)ir.lastIndex=0;return ir.test(sr.path)}}if(typeof ir==="function")return ir;if(Array.isArray(ir)){const sr=ir.map((ir=>toPathMatch(ir)));return ir=>sr.some((sr=>sr(ir)))}throw new Ur.MidwayCommonError("match/ignore pattern must be RegExp, Array or String, but got "+ir)}sr.toPathMatch=toPathMatch;function pathMatching(ir){ir=ir||{};if(ir.match&&ir.ignore)throw new Ur.MidwayCommonError("options.match and options.ignore can not both present");if(!ir.match&&!ir.ignore)return()=>true;if(ir.match&&!Array.isArray(ir.match)){ir.match=[ir.match]}if(ir.ignore&&!Array.isArray(ir.ignore)){ir.ignore=[ir.ignore]}const createMatch=sr=>{const lr=sr.map((sr=>{if(ir.thisResolver){return toPathMatch(sr).bind(ir.thisResolver)}return toPathMatch(sr)}));return ir=>{for(let sr=0;sr<lr.length;sr++){const hr=lr[sr](ir);if(hr){return true}}return false}};const sr=ir.match?createMatch(ir.match):createMatch(ir.ignore);return function pathMatch(lr){const hr=sr(lr);return ir.match?hr:!hr}}sr.pathMatching=pathMatching;function wrapMiddleware(ir,sr){if(sr.enable===false)return null;if(!sr.match&&!sr.ignore)return ir;const lr=pathMatching(sr);const fn=(sr,hr)=>{if(!lr(sr))return hr();return ir(sr,hr)};fn._name=ir._name+"middlewareWrapper";return fn}sr.wrapMiddleware=wrapMiddleware;function isOwnPropertyWritable(ir,sr){if(ir==null)return false;const lr=typeof ir;if(lr!=="object"&&lr!=="function")return false;return!!Object.getOwnPropertyDescriptor(ir,sr)}function isIncludeProperty(ir,sr){while(ir){if(isOwnPropertyWritable(ir,sr))return true;ir=Object.getPrototypeOf(ir)}return false}sr.isIncludeProperty=isIncludeProperty;function wrapAsync(ir){return(...sr)=>{if(typeof sr[sr.length-1]==="function"){const lr=sr.pop();if(ir.constructor.name!=="AsyncFunction"){const ir=new TypeError("Must be an AsyncFunction");return lr(ir)}return ir.apply(ir,sr).then((ir=>{lr(null,ir)}),(ir=>{lr(ir)}))}else{return ir.apply(ir,sr)}}}sr.wrapAsync=wrapAsync;function sleep(ir=1e3){return new Promise((sr=>{setTimeout((()=>{sr()}),ir)}))}sr.sleep=sleep;const cn=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;function getParamNames(ir){const sr=ir.toString().replace(cn,"");let lr=sr.slice(sr.indexOf("(")+1,sr.indexOf(")")).split(",").map((ir=>ir.trim().replace(/\s?=.*$/,"")));if(lr.length===1&&lr[0]===""){lr=[]}return lr}sr.getParamNames=getParamNames;function generateRandomId(){return Hr.randomBytes(16).toString("hex")}sr.generateRandomId=generateRandomId;function merge(ir,sr){if(!ir){ir=sr;sr=null}if(!ir){return null}if(Array.isArray(ir)){return ir.concat(sr||[])}if(typeof ir==="object"){return Object.assign({},ir,sr)}throw new Error("can not merge meta that type of "+typeof ir)}sr.merge=merge;function toAsyncFunction(ir){if(Gr.Types.isAsyncFunction(ir)){return ir}else{return async function(...sr){return Promise.resolve(ir.call(this,...sr))}}}sr.toAsyncFunction=toAsyncFunction;function isTypeScriptEnvironment(){const ir=process.env.MIDWAY_TS_MODE;if("false"===ir){return false}return ir==="true"||!!require.extensions[".ts"]}sr.isTypeScriptEnvironment=isTypeScriptEnvironment;async function createPromiseTimeoutInvokeChain(ir){var sr;if(!ir.onSuccess){ir.onSuccess=async ir=>ir}ir.isConcurrent=(sr=ir.isConcurrent)!==null&&sr!==void 0?sr:true;ir.promiseItems=ir.promiseItems.map((ir=>{if(ir instanceof Promise){return{item:ir}}else{return ir}}));ir.promiseItems=ir.promiseItems.filter((ir=>ir["item"]instanceof Promise));if(ir.isConcurrent){const sr=ir.promiseItems.map((sr=>{const lr=new Promise(((lr,hr)=>{var yr;setTimeout((()=>{var lr;return hr(new Ur.MidwayCodeInvokeTimeoutError(ir.methodName,(lr=sr["timeout"])!==null&&lr!==void 0?lr:ir.timeout))}),(yr=sr["timeout"])!==null&&yr!==void 0?yr:ir.timeout)}));return Promise.race([sr["item"],lr]).then((lr=>ir.onSuccess(lr,sr["meta"]))).catch((lr=>ir.onFail(lr,sr["meta"])))}));return Promise.all(sr)}else{const sr=[];for(const lr of ir.promiseItems){const hr=new Promise(((sr,hr)=>{var yr;setTimeout((()=>{var sr;return hr(new Ur.MidwayCodeInvokeTimeoutError(ir.methodName,(sr=lr["timeout"])!==null&&sr!==void 0?sr:ir.timeout))}),(yr=lr["timeout"])!==null&&yr!==void 0?yr:ir.timeout)}));try{const yr=await Promise.race([lr["item"],hr]).then((sr=>ir.onSuccess(sr,lr["meta"])));sr.push(yr)}catch(hr){sr.push(ir.onFail(hr,lr["meta"]));break}}return sr}}sr.createPromiseTimeoutInvokeChain=createPromiseTimeoutInvokeChain;sr.Utils={sleep:sleep,getParamNames:getParamNames,camelCase:Wr.camelCase,pascalCase:Wr.pascalCase,randomUUID:zr.randomUUID,generateRandomId:generateRandomId,toAsyncFunction:toAsyncFunction,safeStringify:Jr.safeStringify,safeParse:Jr.safeParse,isTypeScriptEnvironment:isTypeScriptEnvironment}},61327:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getModuleRequirePathList=sr.PathFileUtil=sr.getFileContentSync=sr.isPathEqual=sr.isPath=void 0;const hr=lr(16928);const yr=lr(79896);function isPath(ir){if(/(^[\.\/])|:|\\/.test(ir)){return true}return false}sr.isPath=isPath;function isPathEqual(ir,sr){if(!ir||!sr){return false}const lr=(0,hr.extname)(ir);return ir.replace(lr,"")===sr}sr.isPathEqual=isPathEqual;function getFileContentSync(ir,sr){return typeof ir==="string"?(0,yr.readFileSync)(ir,{encoding:sr}):ir}sr.getFileContentSync=getFileContentSync;sr.PathFileUtil={isPath:isPath,isPathEqual:isPathEqual,getFileContentSync:getFileContentSync};function getModuleRequirePathList(ir){const sr=[ir,ir.replace(/\//g,"_")];let lr={};const hr=[];Object.keys(require.cache||{}).forEach((ir=>{let yr=-1;for(const ir of sr){const sr=ir.indexOf(ir);if(sr!==-1){yr=sr;break}}if(yr===-1){return}const kr=ir.slice(0,yr);if(lr[kr]){return}lr[kr]=true;hr.push(kr)}));lr=undefined;return hr}sr.getModuleRequirePathList=getModuleRequirePathList},73861:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.PathToRegexpUtil=void 0;function lexer(ir){const sr=[];let lr=0;while(lr<ir.length){const hr=ir[lr];if(hr==="*"||hr==="+"||hr==="?"){sr.push({type:"MODIFIER",index:lr,value:ir[lr++]});continue}if(hr==="\\"){sr.push({type:"ESCAPED_CHAR",index:lr++,value:ir[lr++]});continue}if(hr==="{"){sr.push({type:"OPEN",index:lr,value:ir[lr++]});continue}if(hr==="}"){sr.push({type:"CLOSE",index:lr,value:ir[lr++]});continue}if(hr===":"){let hr="";let yr=lr+1;while(yr<ir.length){const sr=ir.charCodeAt(yr);if(sr>=48&&sr<=57||sr>=65&&sr<=90||sr>=97&&sr<=122||sr===95){hr+=ir[yr++];continue}break}if(!hr)throw new TypeError(`Missing parameter name at ${lr}`);sr.push({type:"NAME",index:lr,value:hr});lr=yr;continue}if(hr==="("){let hr=1;let yr="";let kr=lr+1;if(ir[kr]==="?"){throw new TypeError(`Pattern cannot start with "?" at ${kr}`)}while(kr<ir.length){if(ir[kr]==="\\"){yr+=ir[kr++]+ir[kr++];continue}if(ir[kr]===")"){hr--;if(hr===0){kr++;break}}else if(ir[kr]==="("){hr++;if(ir[kr+1]!=="?"){throw new TypeError(`Capturing groups are not allowed at ${kr}`)}}yr+=ir[kr++]}if(hr)throw new TypeError(`Unbalanced pattern at ${lr}`);if(!yr)throw new TypeError(`Missing pattern at ${lr}`);sr.push({type:"PATTERN",index:lr,value:yr});lr=kr;continue}sr.push({type:"CHAR",index:lr,value:ir[lr++]})}sr.push({type:"END",index:lr,value:""});return sr}function parse(ir,sr={}){const lr=lexer(ir);const{prefixes:hr="./"}=sr;const yr=`[^${escapeString(sr.delimiter||"/#?")}]+?`;const kr=[];let Fr=0;let Br=0;let Ur="";const tryConsume=ir=>{if(Br<lr.length&&lr[Br].type===ir)return lr[Br++].value};const mustConsume=ir=>{const sr=tryConsume(ir);if(sr!==undefined)return sr;const{type:hr,index:yr}=lr[Br];throw new TypeError(`Unexpected ${hr} at ${yr}, expected ${ir}`)};const consumeText=()=>{let ir="";let sr;while(sr=tryConsume("CHAR")||tryConsume("ESCAPED_CHAR")){ir+=sr}return ir};while(Br<lr.length){const ir=tryConsume("CHAR");const sr=tryConsume("NAME");const lr=tryConsume("PATTERN");if(sr||lr){let Br=ir||"";if(hr.indexOf(Br)===-1){Ur+=Br;Br=""}if(Ur){kr.push(Ur);Ur=""}kr.push({name:sr||Fr++,prefix:Br,suffix:"",pattern:lr||yr,modifier:tryConsume("MODIFIER")||""});continue}const Br=ir||tryConsume("ESCAPED_CHAR");if(Br){Ur+=Br;continue}if(Ur){kr.push(Ur);Ur=""}const Wr=tryConsume("OPEN");if(Wr){const ir=consumeText();const sr=tryConsume("NAME")||"";const lr=tryConsume("PATTERN")||"";const hr=consumeText();mustConsume("CLOSE");kr.push({name:sr||(lr?Fr++:""),pattern:sr&&!lr?yr:lr,prefix:ir,suffix:hr,modifier:tryConsume("MODIFIER")||""});continue}mustConsume("END")}return kr}function compile(ir,sr){return tokensToFunction(parse(ir,sr),sr)}function tokensToFunction(ir,sr={}){const lr=flags(sr);const{encode:hr=ir=>ir,validate:yr=true}=sr;const kr=ir.map((ir=>{if(typeof ir==="object"){return new RegExp(`^(?:${ir.pattern})$`,lr)}}));return sr=>{let lr="";for(let Fr=0;Fr<ir.length;Fr++){const Br=ir[Fr];if(typeof Br==="string"){lr+=Br;continue}const Ur=sr?sr[Br.name]:undefined;const Wr=Br.modifier==="?"||Br.modifier==="*";const zr=Br.modifier==="*"||Br.modifier==="+";if(Array.isArray(Ur)){if(!zr){throw new TypeError(`Expected "${Br.name}" to not repeat, but got an array`)}if(Ur.length===0){if(Wr)continue;throw new TypeError(`Expected "${Br.name}" to not be empty`)}for(let ir=0;ir<Ur.length;ir++){const sr=hr(Ur[ir],Br);if(yr&&!kr[Fr].test(sr)){throw new TypeError(`Expected all "${Br.name}" to match "${Br.pattern}", but got "${sr}"`)}lr+=Br.prefix+sr+Br.suffix}continue}if(typeof Ur==="string"||typeof Ur==="number"){const ir=hr(String(Ur),Br);if(yr&&!kr[Fr].test(ir)){throw new TypeError(`Expected "${Br.name}" to match "${Br.pattern}", but got "${ir}"`)}lr+=Br.prefix+ir+Br.suffix;continue}if(Wr)continue;const Jr=zr?"an array":"a string";throw new TypeError(`Expected "${Br.name}" to be ${Jr}`)}return lr}}function match(ir,sr){const lr=[];const hr=toRegexp(ir,lr,sr);return regexpToFunction(hr,lr,sr)}function regexpToFunction(ir,sr,lr={}){const{decode:hr=ir=>ir}=lr;return function(lr){const yr=ir.exec(lr);if(!yr)return false;const{0:kr,index:Fr}=yr;const Br=Object.create(null);for(let ir=1;ir<yr.length;ir++){if(yr[ir]===undefined)continue;const lr=sr[ir-1];if(lr.modifier==="*"||lr.modifier==="+"){Br[lr.name]=yr[ir].split(lr.prefix+lr.suffix).map((ir=>hr(ir,lr)))}else{Br[lr.name]=hr(yr[ir],lr)}}return{path:kr,index:Fr,params:Br}}}function escapeString(ir){return ir.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function flags(ir){return ir&&ir.sensitive?"":"i"}function regexpToRegexp(ir,sr){if(!sr)return ir;const lr=/\((?:\?<(.*?)>)?(?!\?)/g;let hr=0;let yr=lr.exec(ir.source);while(yr){sr.push({name:yr[1]||hr++,prefix:"",suffix:"",modifier:"",pattern:""});yr=lr.exec(ir.source)}return ir}function arrayToRegexp(ir,sr,lr){const hr=ir.map((ir=>toRegexp(ir,sr,lr).source));return new RegExp(`(?:${hr.join("|")})`,flags(lr))}function stringToRegexp(ir,sr,lr){return tokensToRegexp(parse(ir,lr),sr,lr)}function tokensToRegexp(ir,sr,lr={}){const{strict:hr=false,start:yr=true,end:kr=true,encode:Fr=ir=>ir,delimiter:Br="/#?",endsWith:Ur=""}=lr;const Wr=`[${escapeString(Ur)}]|$`;const zr=`[${escapeString(Br)}]`;let Jr=yr?"^":"";for(const lr of ir){if(typeof lr==="string"){Jr+=escapeString(Fr(lr))}else{const ir=escapeString(Fr(lr.prefix));const hr=escapeString(Fr(lr.suffix));if(lr.pattern){if(sr)sr.push(lr);if(ir||hr){if(lr.modifier==="+"||lr.modifier==="*"){const sr=lr.modifier==="*"?"?":"";Jr+=`(?:${ir}((?:${lr.pattern})(?:${hr}${ir}(?:${lr.pattern}))*)${hr})${sr}`}else{Jr+=`(?:${ir}(${lr.pattern})${hr})${lr.modifier}`}}else{if(lr.modifier==="+"||lr.modifier==="*"){Jr+=`((?:${lr.pattern})${lr.modifier})`}else{Jr+=`(${lr.pattern})${lr.modifier}`}}}else{Jr+=`(?:${ir}${hr})${lr.modifier}`}}}if(kr){if(!hr)Jr+=`${zr}?`;Jr+=!lr.endsWith?"$":`(?=${Wr})`}else{const sr=ir[ir.length-1];const lr=typeof sr==="string"?zr.indexOf(sr[sr.length-1])>-1:sr===undefined;if(!hr){Jr+=`(?:${zr}(?=${Wr}))?`}if(!lr){Jr+=`(?=${zr}|${Wr})`}}return new RegExp(Jr,flags(lr))}function toRegexp(ir,sr,lr){if(ir instanceof RegExp)return regexpToRegexp(ir,sr);if(Array.isArray(ir))return arrayToRegexp(ir,sr,lr);return stringToRegexp(ir,sr,lr)}sr.PathToRegexpUtil={toRegexp:toRegexp,compile:compile,parse:parse,match:match}},25198:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.retryWith=sr.retryWithAsync=void 0;const hr=lr(65308);const yr=lr(86314);function retryWithAsync(ir,sr=1,lr={}){let kr=sr;let Fr;return async(...Br)=>{do{try{return await ir.bind(lr.receiver||this)(...Br)}catch(ir){Fr=ir}if(lr.retryInterval>=0){await(0,hr.sleep)(lr.retryInterval)}}while(kr-- >0);if(lr.throwOriginError){throw Fr}else{throw new yr.MidwayRetryExceededMaxTimesError(ir.name||"anonymous",sr,Fr)}}}sr.retryWithAsync=retryWithAsync;function retryWith(ir,sr=1,lr={}){let hr=sr;let kr;return(...Fr)=>{do{try{return ir.bind(lr.receiver||this)(...Fr)}catch(ir){kr=ir}}while(hr-- >0);if(lr.throwOriginError){throw kr}else{throw new yr.MidwayRetryExceededMaxTimesError(ir.name||"anonymous",sr,kr)}}}sr.retryWith=retryWith},63289:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Types=sr.isNullOrUndefined=sr.isNull=sr.isUndefined=sr.isRegExp=sr.isSet=sr.isMap=sr.isProxy=sr.isNumber=sr.isPlainObject=sr.isObject=sr.isFunction=sr.isPromise=sr.isGeneratorFunction=sr.isAsyncFunction=sr.isClass=sr.isString=void 0;const hr=lr(39023);const yr=Function.prototype.toString;const kr=Object.prototype.hasOwnProperty;const Fr=Object.prototype.toString;function isString(ir){return typeof ir==="string"}sr.isString=isString;function isClass(ir){if(typeof ir!=="function"){return false}if(/^class[\s{]/.test(yr.call(ir))){return true}}sr.isClass=isClass;function isAsyncFunction(ir){return hr.types.isAsyncFunction(ir)}sr.isAsyncFunction=isAsyncFunction;function isGeneratorFunction(ir){return hr.types.isGeneratorFunction(ir)}sr.isGeneratorFunction=isGeneratorFunction;function isPromise(ir){return hr.types.isPromise(ir)}sr.isPromise=isPromise;function isFunction(ir){return typeof ir==="function"}sr.isFunction=isFunction;function isObject(ir){return ir!==null&&typeof ir==="object"}sr.isObject=isObject;function isPlainObject(ir){if(!ir||Fr.call(ir)!=="[object Object]"){return false}const sr=kr.call(ir,"constructor");const lr=ir.constructor&&ir.constructor.prototype&&kr.call(ir.constructor.prototype,"isPrototypeOf");if(ir.constructor&&!sr&&!lr){return false}let hr;for(hr in ir){}return typeof hr==="undefined"||kr.call(ir,hr)}sr.isPlainObject=isPlainObject;function isNumber(ir){return typeof ir==="number"}sr.isNumber=isNumber;function isProxy(ir){return hr.types.isProxy(ir)}sr.isProxy=isProxy;function isMap(ir){return hr.types.isMap(ir)}sr.isMap=isMap;function isSet(ir){return hr.types.isSet(ir)}sr.isSet=isSet;function isRegExp(ir){return hr.types.isRegExp(ir)}sr.isRegExp=isRegExp;function isUndefined(ir){return ir===undefined}sr.isUndefined=isUndefined;function isNull(ir){return ir===null}sr.isNull=isNull;function isNullOrUndefined(ir){return isUndefined(ir)||isNull(ir)}sr.isNullOrUndefined=isNullOrUndefined;sr.Types={isClass:isClass,isAsyncFunction:isAsyncFunction,isGeneratorFunction:isGeneratorFunction,isString:isString,isPromise:isPromise,isFunction:isFunction,isObject:isObject,isPlainObject:isPlainObject,isNumber:isNumber,isProxy:isProxy,isMap:isMap,isSet:isSet,isRegExp:isRegExp,isUndefined:isUndefined,isNull:isNull,isNullOrUndefined:isNullOrUndefined}},2897:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.randomUUID=void 0;const hr=lr(76982);const yr=new Uint8Array(256);let kr=yr.length;function rng(){if(kr>yr.length-16){hr.randomFillSync(yr);kr=0}return yr.slice(kr,kr+=16)}const Fr=[];for(let ir=0;ir<256;++ir){Fr.push((ir+256).toString(16).slice(1))}function unsafeStringify(ir,sr=0){return(Fr[ir[sr+0]]+Fr[ir[sr+1]]+Fr[ir[sr+2]]+Fr[ir[sr+3]]+"-"+Fr[ir[sr+4]]+Fr[ir[sr+5]]+"-"+Fr[ir[sr+6]]+Fr[ir[sr+7]]+"-"+Fr[ir[sr+8]]+Fr[ir[sr+9]]+"-"+Fr[ir[sr+10]]+Fr[ir[sr+11]]+Fr[ir[sr+12]]+Fr[ir[sr+13]]+Fr[ir[sr+14]]+Fr[ir[sr+15]]).toLowerCase()}function randomUUID(ir){if(!ir&&hr["randomUUID"]){return hr["randomUUID"]()}const sr=rng();sr[6]=sr[6]&15|64;sr[8]=sr[8]&63|128;return unsafeStringify(sr)}sr.randomUUID=randomUUID},46422:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.extractExpressLikeValue=sr.extractKoaLikeValue=void 0;const hr=lr(49757);const yr=lr(65308);const extractKoaLikeValue=(ir,sr,lr)=>{if(hr.ALL===sr){sr=undefined}return function(kr,Fr){switch(ir){case hr.RouteParamTypes.NEXT:return Fr;case hr.RouteParamTypes.BODY:return(0,yr.transformRequestObjectByType)(sr&&kr.request.body?kr.request.body[sr]:kr.request.body,lr);case hr.RouteParamTypes.PARAM:return(0,yr.transformRequestObjectByType)(sr?kr.params[sr]:kr.params,lr);case hr.RouteParamTypes.QUERY:return(0,yr.transformRequestObjectByType)(sr?kr.query[sr]:kr.query,lr);case hr.RouteParamTypes.HEADERS:return(0,yr.transformRequestObjectByType)(sr?kr.get(sr):kr.headers,lr);case hr.RouteParamTypes.SESSION:return(0,yr.transformRequestObjectByType)(sr?kr.session[sr]:kr.session,lr);case hr.RouteParamTypes.FILESTREAM:if(kr.getFileStream){return kr.getFileStream(sr)}else if(kr.files){if(Array.isArray(kr.files)){return kr.files[0]}else{return kr.files}}else{return undefined}case hr.RouteParamTypes.FILESSTREAM:if(kr.multipart){return kr.multipart(sr)}else if(kr.files){return kr.files}else{return undefined}case hr.RouteParamTypes.REQUEST_PATH:return kr["path"];case hr.RouteParamTypes.REQUEST_IP:return kr["ip"];case hr.RouteParamTypes.QUERIES:if(kr.queries){return(0,yr.transformRequestObjectByType)(sr?kr.queries[sr]:kr.queries,lr)}else{return(0,yr.transformRequestObjectByType)(sr?kr.query[sr]:kr.query,lr)}case hr.RouteParamTypes.FIELDS:return sr?kr.fields[sr]:kr.fields;case hr.RouteParamTypes.CUSTOM:return sr?sr(kr):undefined;default:return null}}};sr.extractKoaLikeValue=extractKoaLikeValue;const extractExpressLikeValue=(ir,sr,lr)=>{if(hr.ALL===sr){sr=undefined}return function(kr,Fr,Br){switch(ir){case hr.RouteParamTypes.NEXT:return Br;case hr.RouteParamTypes.BODY:return(0,yr.transformRequestObjectByType)(sr&&kr.body?kr.body[sr]:kr.body,lr);case hr.RouteParamTypes.PARAM:return(0,yr.transformRequestObjectByType)(sr?kr.params[sr]:kr.params,lr);case hr.RouteParamTypes.QUERY:return(0,yr.transformRequestObjectByType)(sr?kr.query[sr]:kr.query,lr);case hr.RouteParamTypes.HEADERS:return(0,yr.transformRequestObjectByType)(sr?kr.get(sr):kr.headers,lr);case hr.RouteParamTypes.SESSION:return(0,yr.transformRequestObjectByType)(sr?kr.session[sr]:kr.session,lr);case hr.RouteParamTypes.FILESTREAM:return kr.files?kr.files[0]:undefined;case hr.RouteParamTypes.FILESSTREAM:return kr.files;case hr.RouteParamTypes.REQUEST_PATH:return kr["baseUrl"];case hr.RouteParamTypes.REQUEST_IP:return kr["ip"];case hr.RouteParamTypes.QUERIES:if(kr.queries){return(0,yr.transformRequestObjectByType)(sr?kr.queries[sr]:kr.queries,lr)}else{return(0,yr.transformRequestObjectByType)(sr?kr.query[sr]:kr.query,lr)}case hr.RouteParamTypes.FIELDS:return sr?kr.fields[sr]:kr.fields;case hr.RouteParamTypes.CUSTOM:return sr?sr(kr,Fr):undefined;default:return null}}};sr.extractExpressLikeValue=extractExpressLikeValue},73317:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.AbstractEventBus=sr.AckResponder=sr.createWaitHandler=void 0;const hr=lr(48001);const yr=lr(39023);const kr=lr(68108);const Fr="_default_";const Br=null;function revertError(ir){const sr=new Error;sr.name=ir.name;sr.message=ir.message;sr.stack=ir.stack;return sr}class MessageLimitSet extends Set{constructor(ir){super();this.limit=ir}add(ir){if(this.size<this.limit){return super.add(ir)}}}async function createWaitHandler(ir,sr={}){await new Promise(((lr,hr)=>{const yr=setTimeout((()=>{clearInterval(Fr);clearTimeout(yr);hr(new kr.EventBusTimeoutError)}),sr.timeout||5e3);const Fr=setInterval((()=>{if(ir()){clearInterval(Fr);clearTimeout(yr);lr(true)}}),sr.timeoutCheckInterval||500)}))}sr.createWaitHandler=createWaitHandler;class ChunkIterator{constructor(ir){this.debugLogger=ir;this.buffer=[]}publish(ir){this.buffer.push(ir);if(this.waitingPromiseDeferred){const ir=this.waitingPromiseDeferred;this.waitingPromiseDeferred=null;ir.resolve(this.buffer.shift())}}error(ir){if(this.waitingPromiseDeferred){const sr=this.waitingPromiseDeferred;this.waitingPromiseDeferred=null;sr.reject(ir)}else{this.errorRisen=ir}this.clear()}[Symbol.asyncIterator](){return this}async tryToGetNextData(){if(this.errorRisen){throw this.errorRisen}if(this.buffer.length>0){return this.buffer.shift()}else{const ir={};ir.promise=new Promise(((sr,lr)=>{ir.resolve=sr;ir.reject=lr}));this.waitingPromiseDeferred=ir;return ir.promise}}async next(){this.debugLogger("1 ChunkIterator run next and wait data");const{data:ir,isEnd:sr}=await this.tryToGetNextData();this.debugLogger("2 ChunkIterator get data",ir,sr);if(sr){this.clear();return{value:undefined,done:true}}else{return{value:ir,done:false}}}clear(){this.buffer.length=0}}class AckResponder{constructor(){this.isEndFlag=false}onData(ir){this.dataHandler=ir}onError(ir){this.errorHandler=ir}end(ir){if(!this.isEndFlag){this.isEndFlag=true;if(ir){this.sendData(ir)}this.sendData(Br)}}sendData(ir){if(this.dataHandler){this.dataHandler(ir)}}send(ir){if(!this.isEndFlag){this.sendData(ir)}}error(ir){if(!this.isEndFlag){if(this.errorHandler){this.errorHandler(ir)}}}isEnd(){return this.isEndFlag}}sr.AckResponder=AckResponder;class AbstractEventBus{constructor(ir={}){this.options=ir;this.isInited=false;this.workers=[];this.stopping=false;this.workerReady=new Map;this.topicListener=new Map;this.topicMessageCache=new Map;this.asyncMessageMap=new Map;this.eventListenerMap=new Map;this.debugLogger=this.createDebugger();this.debugLogger(`Start EventBus(${this.constructor.name}) in ${this.isWorker()?"worker":"main"}`);this.eventListenerMap.set(hr.ListenerType.Error,(ir=>{console.error(ir)}));this.listener=(ir,sr)=>{var lr,yr;const kr=this.topicListener.get(((lr=ir.messageOptions)===null||lr===void 0?void 0:lr.topic)||Fr);if(kr){for(const lr of kr){if(lr["_subscribeOnce"]){kr.delete(lr)}new Promise((async(hr,yr)=>{try{await hr(lr(ir,sr))}catch(ir){yr(ir)}})).catch((ir=>{if(sr){sr.error(ir)}else{this.eventListenerMap.get(hr.ListenerType.Error)(ir)}}))}}else{const lr=((yr=ir.messageOptions)===null||yr===void 0?void 0:yr.topic)||Fr;if(!this.topicMessageCache.has(lr)){this.topicMessageCache.set(lr,new MessageLimitSet(10))}this.topicMessageCache.get(lr).add({message:ir,responder:sr})}};this.setupEventBind()}createDebugger(){return(0,yr.debuglog)(`midway:event-bus:${this.isWorker()?"worker":"main "}`)}debugDataflow(ir){if(ir.messageCategory===hr.MessageCategory.IN){if(this.isMain()){return`${ir.message.type}|${ir.messageCategory}: worker => main(△)`}else{return`${ir.message.type}|${ir.messageCategory}: main => worker(△)`}}else{if(this.isMain()){return`${ir.message.type}|${ir.messageCategory}: main(△) => worker`}else{return`${ir.message.type}|${ir.messageCategory}: worker(△) => main`}}}async start(ir){this.isInited=true;if(this.isMain()){await createWaitHandler((()=>this.isAllWorkerReady()),{timeout:this.options.initTimeout,timeoutCheckInterval:this.options.initTimeoutCheckInterval})}else{this.workerSubscribeMessage((ir=>{this.transit({messageCategory:hr.MessageCategory.IN,message:ir})}));this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:this.generateMessageId(),workerId:this.getWorkerId(),type:hr.MessageType.Inited,body:this.isInited,error:ir?{name:ir.name,message:ir.message,stack:ir.stack}:undefined}})}}addWorker(ir){this.debugLogger(`Add worker(${this.getWorkerId(ir)})`);if(!this.workerReady.has(this.getWorkerId(ir))){this.debugLogger(`Init worker(${this.getWorkerId(ir)}) status = false`);this.workerReady.set(this.getWorkerId(ir),{worker:ir,ready:false})}else{this.debugLogger(`Skip init worker(${this.getWorkerId(ir)}) status`)}ir===null||ir===void 0?void 0:ir["on"]("exit",(async sr=>{if(!this.stopping){this.workerReady.delete(this.getWorkerId(ir));const sr=this.workers.findIndex((sr=>this.getWorkerId(sr)===this.getWorkerId(ir)));this.workers.splice(sr,1)}}));this.workerListenMessage(ir,(ir=>{this.transit({messageCategory:hr.MessageCategory.IN,message:ir})}));this.workers.push(ir)}isAllWorkerReady(){for(const[ir,sr]of this.workerReady){if(!sr||!sr.ready){this.debugLogger(`Worker(${ir}) not ready.`);return false}}if(this.workerReady.size>0){this.debugLogger(`All worker(size=${this.workerReady.size}) is ready.`)}return true}setupEventBind(){this.messageReceiver=ir=>{var sr,lr,yr,kr,Fr,Ur,Wr,zr,Jr,Hr,Gr,Yr,Qr,Zr,cn;if(!ir.message||!ir.message.messageId){return}this.debugLogger("EventCenter(%s) message = %j",this.debugDataflow(ir),ir);const un=ir.message;if(ir.messageCategory===hr.MessageCategory.OUT){if(un.type===hr.MessageType.Invoke||un.type===hr.MessageType.Request||un.type===hr.MessageType.Response||un.type===hr.MessageType.Broadcast){this.postMessage(un);(sr=this.eventListenerMap.get(hr.ListenerType.Request))===null||sr===void 0?void 0:sr(un)}else if(un.type===hr.MessageType.Inited){this.postMessage(un);(lr=this.eventListenerMap.get(hr.ListenerType.Inited))===null||lr===void 0?void 0:lr(un)}}else if(ir.messageCategory===hr.MessageCategory.IN){if(un.type===hr.MessageType.Invoke){const ir=((yr=un.messageOptions)===null||yr===void 0?void 0:yr["isChunk"])===true;const sr=new AckResponder;sr.onData((lr=>{var yr;this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:this.generateMessageId(),workerId:this.getWorkerId(),type:hr.MessageType.Response,body:lr,messageOptions:{relatedMessageId:un.messageId,isChunk:ir,topic:(yr=un.messageOptions)===null||yr===void 0?void 0:yr.topic}}});if(!ir){sr.end()}}));sr.onError((lr=>{this.publish(lr,{relatedMessageId:un.messageId,isChunk:ir});sr.end()}));(kr=this.listener)===null||kr===void 0?void 0:kr.call(this,un,sr);(Fr=this.eventListenerMap.get(hr.ListenerType.Subscribe))===null||Fr===void 0?void 0:Fr(un)}else if(un.type===hr.MessageType.Request){(Ur=this.listener)===null||Ur===void 0?void 0:Ur.call(this,un);(Wr=this.eventListenerMap.get(hr.ListenerType.Subscribe))===null||Wr===void 0?void 0:Wr(un)}else if(un.type===hr.MessageType.Broadcast){if(this.isMain()){if(un.messageOptions["includeMainFromWorker"]===true){(zr=this.listener)===null||zr===void 0?void 0:zr.call(this,un);(Jr=this.eventListenerMap.get(hr.ListenerType.Subscribe))===null||Jr===void 0?void 0:Jr(un)}this.broadcast(un.body,{...un.messageOptions,relatedMessageId:un.messageId,relatedWorkerId:un.workerId})}else{(Hr=this.listener)===null||Hr===void 0?void 0:Hr.call(this,un);(Gr=this.eventListenerMap.get(hr.ListenerType.Subscribe))===null||Gr===void 0?void 0:Gr(un)}}else if(un.type===hr.MessageType.Response){if((Yr=un.messageOptions)===null||Yr===void 0?void 0:Yr.relatedMessageId){const ir=this.asyncMessageMap.get(un.messageOptions.relatedMessageId);const sr=un.messageOptions["isChunk"]===true;if(ir){if(!sr||sr&&un.body===Br){this.asyncMessageMap.delete(un.messageOptions.relatedMessageId)}ir(un.error?revertError(un.error):undefined,un.body,sr?un.body===Br:true)}else{}}else{(Qr=this.listener)===null||Qr===void 0?void 0:Qr.call(this,un);(Zr=this.eventListenerMap.get(hr.ListenerType.Subscribe))===null||Zr===void 0?void 0:Zr(un)}}else if(un.type===hr.MessageType.Inited){if(this.isMain()){if(un.error){this.debugLogger(`got worker ${un.workerId} ready failed`);this.eventListenerMap.get(hr.ListenerType.Error)(revertError(un.error))}else{(cn=this.eventListenerMap.get(hr.ListenerType.Inited))===null||cn===void 0?void 0:cn(un);this.workerReady.get(un.workerId).ready=true;this.debugLogger(`got worker ${un.workerId} ready`)}}else{}}}}}transit(ir){this.messageReceiver(ir)}subscribe(ir,sr={}){const lr=sr.topic||Fr;if(!this.topicListener.has(lr)){this.topicListener.set(lr,new Set)}if(sr.subscribeOnce){ir["_subscribeOnce"]=true}this.topicListener.get(lr).add(ir);ir["_abortController"]={abort:()=>{this.topicListener.get(lr).delete(ir)}};if(this.topicMessageCache.has(lr)&&this.topicMessageCache.get(lr).size>0){for(const ir of this.topicMessageCache.get(lr)){this.listener(ir.message,ir.responder);if(sr.subscribeOnce){break}}this.topicMessageCache.get(lr).clear()}return ir["_abortController"]}subscribeOnce(ir,sr={}){sr.subscribeOnce=true;return this.subscribe(ir,sr)}publish(ir,sr={}){if(ir instanceof Error){this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:sr.relatedMessageId||this.generateMessageId(),workerId:this.getWorkerId(),type:this.isMain()?hr.MessageType.Request:hr.MessageType.Response,body:undefined,error:{name:ir.name,message:ir.message,stack:ir.stack},messageOptions:sr}})}else{this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:sr.relatedMessageId||this.generateMessageId(),workerId:this.getWorkerId(),type:this.isMain()?hr.MessageType.Request:hr.MessageType.Response,body:ir,messageOptions:sr}})}}publishAsync(ir,sr={}){return new Promise(((lr,yr)=>{const kr=sr.relatedMessageId||this.generateMessageId();this.useTimeout(kr,sr.timeout,lr,yr);this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:kr,workerId:this.getWorkerId(),type:hr.MessageType.Invoke,body:ir,messageOptions:{topic:sr.topic,dispatchToken:sr.dispatchToken}}})}))}publishChunk(ir,sr={}){const lr=sr.relatedMessageId||this.generateMessageId();const yr=new ChunkIterator(this.debugLogger);this.useTimeout(lr,sr.timeout,((ir,sr)=>{yr.publish({data:ir,isEnd:sr})}),(ir=>{yr.error(ir)}));this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:lr,workerId:this.getWorkerId(),type:this.isMain()?hr.MessageType.Invoke:hr.MessageType.Response,body:ir,messageOptions:{isChunk:true,topic:sr.topic}}});return yr}useTimeout(ir,sr=5e3,lr,hr){const yr=setTimeout((()=>{clearTimeout(yr);this.asyncMessageMap.delete(ir);hr(new kr.EventBusPublishTimeoutError(ir))}),sr);this.asyncMessageMap.set(ir,((ir,sr,kr)=>{if(kr||ir){clearTimeout(yr)}if(ir){hr(ir)}else{lr(sr,kr)}}))}broadcast(ir,sr={}){if(this.isWorker()){sr={includeMainFromWorker:false,includeSelfFromWorker:false,...sr}}this.transit({messageCategory:hr.MessageCategory.OUT,message:{messageId:sr.relatedMessageId||this.generateMessageId(),workerId:this.getWorkerId(),type:hr.MessageType.Broadcast,body:ir,messageOptions:sr}})}postMessage(ir){var sr,lr,yr,Fr,Br,Ur,Wr,zr;if(this.isMain()){if(this.workers.length>0){if(ir.type===hr.MessageType.Broadcast){if(ir.messageOptions&&ir.messageOptions["relatedWorkerId"]){this.workers.forEach((sr=>{if(ir.messageOptions["includeSelfFromWorker"]===false&&this.getWorkerId(sr)===ir.messageOptions["relatedWorkerId"]){return}else{this.mainSendMessage(sr,ir)}}))}else{this.workers.forEach((sr=>this.mainSendMessage(sr,ir)))}}else if((sr=ir.messageOptions)===null||sr===void 0?void 0:sr["targetWorkerId"]){const sr=(yr=this.workerReady.get((lr=ir.messageOptions)===null||lr===void 0?void 0:lr["targetWorkerId"]))===null||yr===void 0?void 0:yr.worker;if(!sr){throw new kr.EventBusPublishSpecifyWorkerError((Fr=ir.messageOptions)===null||Fr===void 0?void 0:Fr["targetWorkerId"])}this.mainSendMessage(sr,ir)}else{if(this.options.dispatchStrategy){const sr=this.options.dispatchStrategy(this.workers,(Br=ir.messageOptions)===null||Br===void 0?void 0:Br.dispatchToken);if(sr){try{this.mainSendMessage(sr,ir)}catch(sr){(Ur=this.eventListenerMap.get(hr.ListenerType.Error))===null||Ur===void 0?void 0:Ur(new kr.EventBusMainPostError(ir,sr))}}else{throw new kr.EventBusDispatchStrategyError}}else{const[sr,...lr]=this.workers;try{this.mainSendMessage(sr,ir)}catch(sr){(Wr=this.eventListenerMap.get(hr.ListenerType.Error))===null||Wr===void 0?void 0:Wr(new kr.EventBusMainPostError(ir,sr))}this.workers=[...lr,sr]}}}}else{try{this.workerSendMessage(ir)}catch(sr){(zr=this.eventListenerMap.get(hr.ListenerType.Error))===null||zr===void 0?void 0:zr(new kr.EventBusWorkerPostError(ir,sr))}}}onInited(ir){this.eventListenerMap.set(hr.ListenerType.Inited,ir)}onPublish(ir){this.eventListenerMap.set(hr.ListenerType.Request,ir)}onSubscribe(ir){this.eventListenerMap.set(hr.ListenerType.Subscribe,ir)}onError(ir){this.eventListenerMap.set(hr.ListenerType.Error,ir)}async stop(){this.stopping=true;this.workerReady.clear();this.eventListenerMap.clear();this.listener=null;this.workers.length=0}generateMessageId(){return Math.random().toString(36).substring(2)}}sr.AbstractEventBus=AbstractEventBus},4779:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ChildProcessEventBus=void 0;const hr=lr(73317);const yr=lr(29907);const kr=lr(932);class ChildProcessEventBus extends hr.AbstractEventBus{workerSubscribeMessage(ir){kr.on("message",ir)}workerListenMessage(ir,sr){ir.on("message",sr)}workerSendMessage(ir){kr.send(ir)}mainSendMessage(ir,sr){ir.send(sr)}isMain(){return!this.isWorker()}isWorker(){var ir;return(ir=this.options.isWorker)!==null&&ir!==void 0?ir:yr.isWorker}getWorkerId(ir){var sr;return String(ir?(sr=ir.pid)!==null&&sr!==void 0?sr:ir===null||ir===void 0?void 0:ir["process"].pid:kr.pid)}}sr.ChildProcessEventBus=ChildProcessEventBus},68108:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.EventBusDispatchStrategyError=sr.EventBusPublishSpecifyWorkerError=sr.EventBusWorkerPostError=sr.EventBusMainPostError=sr.EventBusTimeoutError=sr.EventBusPublishTimeoutError=void 0;const hr=lr(39023);class EventBusPublishTimeoutError extends Error{constructor(ir){super(`Message(${ir}) publish timeout.`);this.name="EventBusPublishTimeoutError"}}sr.EventBusPublishTimeoutError=EventBusPublishTimeoutError;class EventBusTimeoutError extends Error{constructor(){super("Waiting for ready timeout throws this error.");this.name="EventBusTimeoutError"}}sr.EventBusTimeoutError=EventBusTimeoutError;class EventBusMainPostError extends Error{constructor(ir,sr){super((0,hr.format)("Main thread post message [%j] error => %s.",ir,sr.stack));this.name="EventBusMainPostError"}}sr.EventBusMainPostError=EventBusMainPostError;class EventBusWorkerPostError extends Error{constructor(ir,sr){super((0,hr.format)("Worker post message [%j] error => %j.",ir,sr.stack));this.name="EventBusWorkerPostError"}}sr.EventBusWorkerPostError=EventBusWorkerPostError;class EventBusPublishSpecifyWorkerError extends Error{constructor(ir){super((0,hr.format)("Worker(%s) not find in ready map, maybe it is a wrong pid.",ir));this.name="EventBusPublishSpecifyWorkerError"}}sr.EventBusPublishSpecifyWorkerError=EventBusPublishSpecifyWorkerError;class EventBusDispatchStrategyError extends Error{constructor(){super("Dispatch strategy not found a worker and stop post.");this.name="EventBusDispatchStrategyError"}}sr.EventBusDispatchStrategyError=EventBusDispatchStrategyError},5982:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});yr(lr(41836),sr);yr(lr(4779),sr);yr(lr(97633),sr);yr(lr(68108),sr);yr(lr(48001),sr)},48001:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MessageCategory=sr.ListenerType=sr.MessageType=void 0;var lr;(function(ir){ir["Inited"]="inited";ir["Request"]="request";ir["Response"]="response";ir["Invoke"]="invoke";ir["Broadcast"]="broadcast"})(lr=sr.MessageType||(sr.MessageType={}));var hr;(function(ir){ir["Inited"]="inited";ir["Request"]="request";ir["Subscribe"]="Subscribe";ir["WorkerChanged"]="worker_changed";ir["Error"]="error"})(hr=sr.ListenerType||(sr.ListenerType={}));var yr;(function(ir){ir["IN"]="in";ir["OUT"]="out"})(yr=sr.MessageCategory||(sr.MessageCategory={}))},97633:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.LocalEventBus=void 0;const hr=lr(73317);class LocalDispatcher{constructor(){this.pidIdx=0;this.initMessageQueue=[]}clear(){this.mainWorker=null;this.childWorker=null;this.pidIdx=0}generatePid(){return this.pidIdx++}}const yr=new LocalDispatcher;class LocalWorker{constructor(ir){this.pid=ir}onMessage(ir){this.handler=ir}on(){}getWorkerId(){return this.pid}terminate(){}}class LocalEventBus extends hr.AbstractEventBus{constructor(ir={}){super(ir);this.worker=new LocalWorker(yr.generatePid());if(this.isMain()){this.debugLogger(`Main id=${this.worker.getWorkerId()}`);yr.mainWorker=this.worker}else{this.debugLogger(`Child id=${this.worker.getWorkerId()}`);yr.childWorker=this.worker}}workerSubscribeMessage(ir){if(this.isWorker()){yr.childWorker.onMessage(ir)}}workerListenMessage(ir,sr){if(this.isMain()){yr.mainWorker.onMessage(sr)}}workerSendMessage(ir){if(yr.mainWorker.handler){yr.mainWorker.handler(ir)}else{yr.initMessageQueue.push({to:"main",message:ir})}}mainSendMessage(ir,sr){if(yr.childWorker.handler){yr.childWorker.handler(sr)}else{yr.initMessageQueue.push({to:"worker",message:sr})}}getWorkerId(ir){return String((ir||this.worker).getWorkerId())}isMain(){return!this.isWorker()}isWorker(){return this.options.isWorker}async start(ir){if(this.isMain()){await(0,hr.createWaitHandler)((()=>yr.childWorker!=null),{timeout:this.options.waitWorkerTimeout,timeoutCheckInterval:this.options.waitWorkerCheckInterval||200});this.addWorker(yr.childWorker);if(yr.initMessageQueue.length){yr.initMessageQueue.forEach((({to:ir,message:sr})=>{if(ir==="worker"){this.mainSendMessage(yr.childWorker,sr)}else{this.workerSendMessage(sr)}}));yr.initMessageQueue=[]}}await super.start(ir)}async stop(){yr.clear();await super.stop()}}sr.LocalEventBus=LocalEventBus},41836:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ThreadEventBus=void 0;const hr=lr(28167);const yr=lr(73317);class ThreadEventBus extends yr.AbstractEventBus{constructor(ir={}){super(ir);if(!this.options.encoder){this.options.encoder=ir=>ir}if(!this.options.decoder){this.options.decoder=ir=>ir}}workerSubscribeMessage(ir){hr.parentPort.on("message",(sr=>{ir(this.options.decoder(sr))}))}workerListenMessage(ir,sr){ir.on("message",(ir=>{sr(this.options.decoder(ir))}))}workerSendMessage(ir){hr.parentPort.postMessage(this.options.encoder(ir))}mainSendMessage(ir,sr){ir.postMessage(this.options.encoder(sr))}isMain(){return!this.isWorker()}isWorker(){var ir;return(ir=this.options.isWorker)!==null&&ir!==void 0?ir:!hr.isMainThread}getWorkerId(ir){return String(ir?ir.threadId:hr.threadId)}}sr.ThreadEventBus=ThreadEventBus},62525:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.run=void 0;const hr=lr(79896);const yr=lr(16928);const kr=lr(63268);const Fr=lr(39023);const Br=lr(70857);const Ur=(0,Fr.debuglog)("midway:glob");function formatWindowsPath(ir){if(Br.platform()==="win32"&&ir){return ir.map((ir=>ir.split(yr.sep).join(yr.posix.sep)))}return ir}const run=(ir,sr={cwd:process.cwd(),ignore:[]})=>{Ur(`midway glob pattern = ${ir}, options = ${JSON.stringify(sr)}`);const lr=Date.now();const Fr=sr.cwd;ir=formatWindowsPath(ir)||[];Ur(`after format pattern = ${ir}`);const Br=kr(ir,{ignore:formatWindowsPath(sr.ignore)||[]});const Wr=kr("**",{ignore:formatWindowsPath(sr.ignore)||[]});function globDirectory(ir,sr,lr,kr){if(!(0,hr.existsSync)(ir)){return[]}const Br=(0,hr.readdirSync)(ir);const Wr=[];for(let zr of Br){const Br=(0,yr.resolve)(ir,zr);Ur(`resolvePath = ${Br}`);const Jr=(0,hr.statSync)(Br);if(Jr.isDirectory()&&lr(Br.replace(Fr,""))){const ir=globDirectory(Br,sr,lr,kr);Wr.push(...ir)}else if(Jr.isFile()&&sr(Br.replace(Fr,""))){Wr.push(Br)}}return Wr}const zr=globDirectory(Fr,Br,Wr,sr);Ur(`midway glob timing ${Date.now()-lr}ms`);return zr};sr.run=run},18309:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.httpProxy=void 0;sr.httpProxy={enable:true}},94713:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.HttpProxyConfiguration=void 0;const kr=lr(46123);const Fr=lr(18309);const Br=lr(25747);let Ur=class HttpProxyConfiguration{async onReady(){if(this.httpProxy.enable){this.applicationManager.getApplications(["koa","faas","express","egg"]).forEach((ir=>{ir.useMiddleware(Br.HttpProxyMiddleware)}))}}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);hr([(0,kr.Config)("httpProxy"),yr("design:type",Object)],Ur.prototype,"httpProxy",void 0);Ur=hr([(0,kr.Configuration)({namespace:"http-proxy",importConfigs:[{default:Fr}]})],Ur);sr.HttpProxyConfiguration=Ur},62487:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(94713);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.HttpProxyConfiguration}});yr(lr(93468),sr);yr(lr(25747),sr)},93468:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},25747:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.HttpProxyMiddleware=void 0;const kr=lr(46123);const Fr=lr(12593);let Br=class HttpProxyMiddleware{resolve(ir){if(ir.getNamespace()==="express"){return async(ir,sr,lr)=>this.execProxy(ir,ir,sr,lr,false)}else{const sr=ir.getNamespace()==="faas";return async(ir,lr)=>{var hr;const yr=((hr=ir.request)===null||hr===void 0?void 0:hr.req)||ir.request;return this.execProxy(ir,yr,ir,lr,sr)}}}async execProxy(ir,sr,lr,hr,yr){var kr,Br,Ur;const Wr=this.getProxyList(ir.url);if(!Wr){return hr()}const{proxy:zr,url:Jr}=Wr;const Hr={};for(const lr of Object.keys(sr.headers)){if(((kr=zr.ignoreHeaders)===null||kr===void 0?void 0:kr[lr])||ir.header[lr]===undefined){continue}Hr[lr.toLowerCase()]=ir.header[lr]}const Gr=sr.headers["x-forwarded-for"];Hr["x-forwarded-for"]=Gr?`${Gr}, ${ir.ip}`:ir.ip;Hr["host"]=Jr.host;delete Hr["content-length"];const Yr=sr.method.toUpperCase();const Qr=lr.res||lr;const Zr=!yr&&Qr.on&&Qr.writable;const cn={method:Yr,url:Jr.href,headers:Hr,responseType:Zr?"stream":"arrayBuffer",timeout:this.httpProxy.proxyTimeout||0};if(Yr==="POST"||Yr==="PUT"){cn.data=(Br=sr.body)!==null&&Br!==void 0?Br:(Ur=ir.request)===null||Ur===void 0?void 0:Ur.body;if(sr.headers["content-type"]==="application/x-www-form-urlencoded"&&typeof cn.data!=="string"){cn.data=Object.keys(cn.data).map((ir=>`${encodeURIComponent(ir)}=${encodeURIComponent(cn.data[ir])}`)).join("&")}}const un=await Fr(cn).catch((ir=>{if(!ir||!ir.response){throw ir||new Error("proxy unknown error")}return ir.response}));lr.type=un.headers["content-type"];const Tn={"transfer-encoding":true};if(Zr){Tn["content-length"]=true}Object.keys(un.headers).forEach((ir=>{if(Tn[ir.toLowerCase()]){return}lr.set(ir,un.headers[ir])}));lr.status=un.status;if(Zr){await new Promise((ir=>{Qr.on("finish",(()=>{if(Qr.end){Qr.end()}ir(void 0)}));un.data.pipe(Qr)}))}else{lr.body=un.data}}getProxyList(ir){if(!this.httpProxy){return}this.httpProxy.default=this.httpProxy.default||{};const sr=this.httpProxy.match?[this.httpProxy]:this.httpProxy.strategy?Object.values(this.httpProxy.strategy).map((ir=>Object.assign({},this.httpProxy.default,ir))):[];for(const lr of sr){if(!lr.match){continue}if(!lr.match.test(ir)){continue}if(lr.host){if(ir[0]==="/"){ir=lr.host+ir}const sr=new URL(ir);return{proxy:lr,url:sr}}else if(lr.target){const sr=ir.replace(lr.match,lr.target);return{proxy:lr,url:new URL(sr)}}}}static getName(){return"http-proxy"}};hr([(0,kr.Config)("httpProxy"),yr("design:type",Object)],Br.prototype,"httpProxy",void 0);hr([(0,kr.Logger)(),yr("design:type",Object)],Br.prototype,"logger",void 0);Br=hr([(0,kr.Middleware)()],Br);sr.HttpProxyMiddleware=Br},84845:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.i18n=void 0;const hr=lr(46123);sr.i18n={defaultLocale:"en_US",localeTable:{en_US:{}},fallbacks:{},writeCookie:true,resolver:{queryField:"locale",cookieField:{fieldName:"locale",cookieDomain:"",cookieMaxAge:hr.FORMAT.MS.ONE_YEAR}},localsField:"i18n",missingKeyHandler:ir=>ir}},30673:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.I18nConfiguration=void 0;const kr=lr(46123);const Fr=lr(84845);const Br=lr(82027);let Ur=class I18nConfiguration{async onReady(){this.applicationManager.getApplications(["koa","egg","faas","express"]).forEach((ir=>{ir.useMiddleware(Br.I18nMiddleware)}))}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);Ur=hr([(0,kr.Configuration)({namespace:"i18n",importConfigs:[{default:Fr}]})],Ur);sr.I18nConfiguration=Ur},35632:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayI18nService=sr.MidwayI18nServiceSingleton=void 0;const kr=lr(46123);const Fr=lr(77460);const Br=lr(65675);const Ur=lr(15578);let Wr=class MidwayI18nServiceSingleton{constructor(){this.localeTextMap=new Map;this.fallbackMatch=[];this.localeMatchCache={}}async init(){this.defaultLocale=(0,Ur.formatLocale)(this.i18nConfig.defaultLocale);for(const ir in this.i18nConfig.localeTable){this.addLocale(ir,getES6Object(this.i18nConfig.localeTable[ir]))}for(const ir in this.i18nConfig.fallbacks){this.fallbackMatch.push({pattern:Br((0,Ur.formatLocale)(ir)),locale:(0,Ur.formatLocale)(this.i18nConfig.fallbacks[ir])})}}addLocale(ir,sr){const lr=getMap(this.localeTextMap,ir,true);for(const ir in sr){if(typeof sr[ir]==="string"){getMap(lr,"default").set(ir,sr[ir])}else{for(const hr in sr[ir]){getMap(lr,ir).set(hr,sr[ir][hr])}}}}translate(ir,sr={}){var lr,hr,yr;const kr=(0,Ur.formatLocale)((lr=sr.locale)!==null&&lr!==void 0?lr:this.defaultLocale);const Fr=(hr=sr.args)!==null&&hr!==void 0?hr:[];const Br=(yr=sr.group)!==null&&yr!==void 0?yr:"default";let Wr=this.getLocaleMappingText(kr,ir,Br,Fr);if(!Wr&&kr!==this.defaultLocale){if(this.fallbackMatch.length){const sr=this.fallbackMatch.find((ir=>{if(ir.pattern(kr)){return true}}));if(sr){Wr=this.getLocaleMappingText(sr.locale,ir,Br,Fr)}}if(!Wr){Wr=this.getLocaleMappingText(this.defaultLocale,ir,Br,Fr)}}if(!Wr&&this.i18nConfig.missingKeyHandler){Wr=this.i18nConfig.missingKeyHandler(ir,sr)}return Wr}getAvailableLocale(ir,sr="default"){ir=(0,Ur.formatLocale)(ir);if(this.localeMatchCache[ir+"_"+sr]){return this.localeMatchCache[ir+"_"+sr]}if(this.localeTextMap.has(ir)&&this.localeTextMap.get(ir).has(sr)){this.localeMatchCache[ir+"_"+sr]=ir;return ir}if(this.fallbackMatch.length){const lr=this.fallbackMatch.find((lr=>{if(lr.pattern(ir)){if(this.localeTextMap.has(lr.locale)&&this.localeTextMap.get(lr.locale).has(sr)){this.localeMatchCache[ir+"_"+sr]=lr.locale;return true}}}));if(lr){return lr.locale}}this.localeMatchCache[ir+"_"+sr]=this.defaultLocale;return this.defaultLocale}hasAvailableLocale(ir){ir=(0,Ur.formatLocale)(ir);if(this.localeTextMap.has(ir)){return true}if(this.fallbackMatch.length){const sr=this.fallbackMatch.find((sr=>{if(sr.pattern(ir)){if(this.localeTextMap.has(sr.locale)){return true}}}));if(sr){return true}}return false}getLocaleMapping(ir,sr="default"){ir=(0,Ur.formatLocale)(ir);const lr=this.localeTextMap.get(ir);if(lr){return lr.get(sr)}}getDefaultLocale(){return this.defaultLocale}getLocaleMappingText(ir,sr,lr,hr){const yr=this.localeTextMap.get(ir);if(yr){const ir=yr.get(lr);if(ir){const lr=ir.get(sr);if(lr){return formatText(lr,hr)}}}}};hr([(0,kr.Config)("i18n"),yr("design:type",Object)],Wr.prototype,"i18nConfig",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Wr.prototype,"init",null);Wr=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Wr);sr.MidwayI18nServiceSingleton=Wr;let zr=class MidwayI18nService{translate(ir,sr={}){if(!sr.locale){sr.locale=this.ctx.getAttr&&this.ctx.getAttr(Fr.I18N_ATTR_KEY)}return this.i18nServiceSingleton.translate(ir,sr)}addLocale(ir,sr){this.i18nServiceSingleton.addLocale(ir,sr)}getLocaleMapping(ir,sr="default"){return this.i18nServiceSingleton.getLocaleMapping(ir,sr)}getDefaultLocale(){return this.i18nServiceSingleton.getDefaultLocale()}saveRequestLocale(ir){var sr,lr;if(ir){(sr=this.ctx)===null||sr===void 0?void 0:sr.setAttr(Fr.I18N_ATTR_KEY,(0,Ur.formatLocale)(ir))}else{(lr=this.ctx)===null||lr===void 0?void 0:lr.setAttr(Fr.I18N_ATTR_KEY,(0,Ur.formatLocale)(this.getDefaultLocale()))}}getAvailableLocale(ir,sr="default"){return this.i18nServiceSingleton.getAvailableLocale(ir,sr)}hasAvailableLocale(ir){return this.i18nServiceSingleton.hasAvailableLocale(ir)}};hr([(0,kr.Inject)(),yr("design:type",Wr)],zr.prototype,"i18nServiceSingleton",void 0);hr([(0,kr.Inject)(),yr("design:type",Object)],zr.prototype,"ctx",void 0);zr=hr([(0,kr.Provide)()],zr);sr.MidwayI18nService=zr;function formatText(ir,sr){if(Array.isArray(sr)){return(0,Ur.formatWithArray)(ir,sr)}else{return(0,Ur.formatWithObject)(ir,sr)}}function getES6Object(ir){for(const sr in ir){if(ir[sr]["default"]&&Object.keys(ir[sr]).length===1){ir[sr]=ir[sr].default}}return ir}function getMap(ir,sr,lr=false){sr=lr?(0,Ur.formatLocale)(sr):sr;if(!ir.has(sr)){ir.set(sr,new Map)}return ir.get(sr)}},68255:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.formatLocale=sr.Configuration=void 0;var kr=lr(30673);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.I18nConfiguration}});yr(lr(35632),sr);yr(lr(82027),sr);yr(lr(77460),sr);var Fr=lr(15578);Object.defineProperty(sr,"formatLocale",{enumerable:true,get:function(){return Fr.formatLocale}})},77460:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.I18N_ATTR_KEY=void 0;sr.I18N_ATTR_KEY="i18n:locale"},82027:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.I18nMiddleware=sr.I18nFilter=void 0;const kr=lr(46123);const Fr=lr(77460);const Br=lr(35632);const Ur=lr(15578);let Wr=class I18nFilter{match(ir,sr,lr){const hr=sr.getAttr(Fr.I18N_ATTR_KEY);if(this.resolverConfig){if(this.i18nConfig.writeCookie&&hr&&this.resolverConfig.cookieField){const ir={httpOnly:false,maxAge:this.resolverConfig.cookieField.cookieMaxAge,signed:false,domain:this.resolverConfig.cookieField.cookieDomain};lr.cookie(this.resolverConfig.cookieField.fieldName,hr,ir)}}return ir}};hr([(0,kr.Config)("i18n.resolver"),yr("design:type",Object)],Wr.prototype,"resolverConfig",void 0);hr([(0,kr.Config)("i18n"),yr("design:type",Object)],Wr.prototype,"i18nConfig",void 0);Wr=hr([(0,kr.Match)()],Wr);sr.I18nFilter=Wr;let zr=class I18nMiddleware{resolve(ir){if(ir.getFrameworkType()===kr.MidwayFrameworkType.WEB_EXPRESS){ir.useFilter(Wr);return async(ir,sr,lr)=>{const hr=await ir.requestContext.getAsync(Br.MidwayI18nService);let yr;if(this.resolverConfig){yr=ir.query[this.resolverConfig.queryField]||ir.cookies[this.resolverConfig.cookieField.fieldName];if(!yr){let sr=ir.acceptsLanguages();if(sr){if(Array.isArray(sr)){if(sr[0]==="*"){sr=sr.slice(1)}if(sr.length>0){for(let ir=0;ir<sr.length;ir++){const lr=(0,Ur.formatLocale)(sr[ir]);if(hr.hasAvailableLocale(lr)){yr=lr;break}}}}else{yr=sr}}}}if(yr){hr.saveRequestLocale(yr)}else{hr.saveRequestLocale()}sr.locals[this.i18nConfig.localsField]=(ir,sr)=>hr.translate(ir,{args:sr});return lr()}}else{return async(ir,sr)=>{if(this.resolverConfig){let sr=ir.query[this.resolverConfig.queryField]||ir.cookies.get(this.resolverConfig.cookieField.fieldName,{signed:false});const lr=await ir.requestContext.getAsync(Br.MidwayI18nService);if(!sr){let hr=ir.acceptsLanguages();if(hr){if(Array.isArray(hr)){if(hr[0]==="*"){hr=hr.slice(1)}if(hr.length>0){for(let ir=0;ir<hr.length;ir++){const yr=(0,Ur.formatLocale)(hr[ir]);if(lr.hasAvailableLocale(yr)){sr=yr;break}}}}else{sr=hr}}}if(sr){lr.saveRequestLocale(sr)}else{lr.saveRequestLocale()}if(ir.locals){ir.locals[this.i18nConfig.localsField]=(ir,sr)=>lr.translate(ir,{args:sr})}}await sr();const lr=ir.getAttr(Fr.I18N_ATTR_KEY);if(this.resolverConfig){if(this.i18nConfig.writeCookie&&lr&&this.resolverConfig.cookieField){const sr={httpOnly:false,maxAge:this.resolverConfig.cookieField.cookieMaxAge,signed:false,domain:this.resolverConfig.cookieField.cookieDomain,overwrite:true};ir.cookies.set(this.resolverConfig.cookieField.fieldName,lr,sr)}}}}}static getName(){return"i18n"}};hr([(0,kr.Config)("i18n.resolver"),yr("design:type",Object)],zr.prototype,"resolverConfig",void 0);hr([(0,kr.Config)("i18n"),yr("design:type",Object)],zr.prototype,"i18nConfig",void 0);zr=hr([(0,kr.Middleware)()],zr);sr.I18nMiddleware=zr},15578:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.formatLocale=sr.formatWithObject=sr.formatWithArray=void 0;const lr=/\{(\d+)\}/g;function formatWithArray(ir,sr){return ir.replace(lr,((ir,lr)=>{const hr=parseInt(lr);if(hr<sr.length){return sr[hr]}return ir}))}sr.formatWithArray=formatWithArray;const hr=/\{(.+?)\}/g;function formatWithObject(ir,sr){return ir.replace(hr,((ir,lr)=>{const hr=sr[lr];if(hr){return hr}return ir}))}sr.formatWithObject=formatWithObject;function formatLocale(ir){return ir.replace("_","-").toLowerCase()}sr.formatLocale=formatLocale},87370:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.info=void 0;const hr=lr(772);sr.info={title:"Midway Info",infoPath:"/_info",hiddenKey:hr.DefaultHiddenKey,ignoreKey:[]}},47265:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.InfoConfiguration=void 0;const kr=lr(46123);const Fr=lr(82934);const Br=lr(87370);let Ur=class InfoConfiguration{async onReady(){this.applicationManager.getApplications(["koa","faas","express","egg"]).forEach((ir=>{ir.useMiddleware(Fr.InfoMiddleware)}))}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);Ur=hr([(0,kr.Configuration)({namespace:"info",importConfigs:[{default:Br}]})],Ur);sr.InfoConfiguration=Ur},65295:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(47265);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.InfoConfiguration}});yr(lr(44120),sr);yr(lr(82934),sr);yr(lr(772),sr)},44120:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.InfoService=void 0;const kr=lr(46123);const Fr=lr(46123);const Br=lr(772);const Ur=lr(6730);const Wr=lr(70857);const zr=lr(16928);const Jr=lr(65675);let Hr=class InfoService{async init(){this.secretMatchList=Array.from(new Set(this.defaultHiddenKey)).map((ir=>Jr(ir)))}info(ir){const sr=[];sr.push(this.projectInfo());sr.push(this.systemInfo());sr.push(this.resourceOccupationInfo());sr.push(this.softwareInfo());sr.push(this.midwayConfig());sr.push(this.midwayService());sr.push(this.timeInfo());sr.push(this.envInfo());sr.push(this.dependenciesInfo());sr.push(this.networkInfo());const lr=sr.map((({type:ir,info:sr})=>{const lr=Object.keys(sr);const hr=lr.filter((ir=>!this.ignoreKey.includes(ir)));const yr={};for(const ir of hr){yr[ir]=sr[ir]}return{type:ir,info:yr}}));if(ir==="html"){return(0,Ur.renderToHtml)(lr,this.titleConfig)}return lr}projectInfo(){return{type:Br.InfoType.PROJECT,info:{Project:this.midwayInformationService.getProjectName(),AppDir:this.midwayInformationService.getAppDir(),BaseDir:this.midwayInformationService.getBaseDir(),Root:this.midwayInformationService.getRoot(),Env:this.environment.getCurrentEnvironment()}}}systemInfo(){const ir=process.platform;return{type:Br.InfoType.SYSTEM,info:{Platform:ir==="win32"?"Windows":ir,Node:process.versions.node,V8:process.versions.v8,ProcessId:process.pid,Arch:process.arch,Hostname:(0,Wr.hostname)(),HomeDir:(0,Wr.homedir)(),CWD:process.cwd(),ExecCommand:[].concat(process.argv,process.execArgv).join(" ")}}}resourceOccupationInfo(){const ir=process.memoryUsage();const sr=(0,Wr.cpus)();return{type:Br.InfoType.MEMORY_CPU,info:{"Memory Total Occupy":(0,Ur.bitToMB)(ir.rss),"Heap Total Occupy":(0,Ur.bitToMB)(ir.heapTotal),"Heap Used":(0,Ur.bitToMB)(ir.heapUsed),"V8 C++ Object Memory":(0,Ur.bitToMB)(ir.external),"System Total Memory":(0,Ur.bitToMB)((0,Wr.totalmem)()),CPU:`${sr[0]?`${sr[0].model} ${sr[0].speed}MHz`:""} ${sr.length} core `,"CPU Usage":sr.map((ir=>{const sr=ir.times;return((1-sr.idle/(sr.idle+sr.user+sr.nice+sr.sys+sr.irq))*100).toFixed(2)+"%"})).join(" / ")}}}softwareInfo(){const ir=["@midwayjs/core","@midwayjs/decorator","@midwayjs/faas"];const sr={};for(const lr of ir){const ir=this.midwayInformationService.getPkg();if(ir){sr[lr]=ir.version}}return{type:Br.InfoType.SOFTWARE,info:sr}}envInfo(){const ir={};Object.keys(process.env).forEach((sr=>{ir[sr]=this.filterSecretContent(sr,process.env[sr])}));return{type:Br.InfoType.ENVIRONMENT_VARIABLE,info:ir}}timeInfo(){const ir=(new Date).toString().split(" ");return{type:Br.InfoType.TIME,info:{Current:Date.now(),Uptime:(0,Wr.uptime)(),Timezone:ir.length>=7?ir[5]:"",TimezoneName:ir.length>=7?ir.slice(6).join(" ").replace(/\(/g,"").replace(/\)/g,""):""}}}networkInfo(){const ir=(0,Wr.networkInterfaces)();const sr={};Object.keys(ir).forEach((lr=>{const hr=ir[lr];let yr=lr;if(lr[lr.length-1]==="0"){yr=lr.slice(0,-1)}if(yr==="lo"){return}sr[yr]=hr.sort((ir=>{if(ir.family==="IPv4"){return-1}return 1})).map((ir=>`${ir.family} ${ir.address}`)).join(" / ")}));return{type:Br.InfoType.NETWORK,info:sr}}dependenciesInfo(){const ir=this.midwayInformationService.getPkg();const sr=ir.dependencies||{};const lr={};Object.keys(sr).forEach((ir=>{const hr=(0,Ur.safeRequire)((0,zr.join)(ir,"package.json"),{});lr[ir]=`${hr.version||"Not Found"}(${sr[ir]})`}));return{type:Br.InfoType.DEPENDENCIES,info:lr}}midwayService(){var ir;const sr={};if((ir=this.container)===null||ir===void 0?void 0:ir.registry){for(const ir of this.container.registry){const[lr,hr]=ir;const yr=hr?(hr===null||hr===void 0?void 0:hr.name)||hr:typeof hr;sr[lr]=`${(hr===null||hr===void 0?void 0:hr.namespace)?`${hr===null||hr===void 0?void 0:hr.namespace}:`:""}${yr}${(hr===null||hr===void 0?void 0:hr.scope)?` [${hr===null||hr===void 0?void 0:hr.scope}]`:""}`}}return{type:Br.InfoType.MIDWAY_SERVICE,info:sr}}midwayConfig(){const ir={};const sr=this.configService.getConfiguration()||{};Object.keys(sr).forEach((lr=>{ir[lr]=this.safeJson(this.filterSecretContent(lr,sr[lr]))}));return{type:Br.InfoType.MIDWAY_CONFIG,info:ir}}filterSecretContent(ir,sr){if(typeof sr==="string"){const lr=this.secretMatchList.some((sr=>sr(ir.toLowerCase())));if(lr){return(0,Ur.safeContent)(sr)}}else if(Array.isArray(sr)){return sr.map((sr=>this.filterSecretContent(ir,sr)))}return sr}safeJson(ir){switch(typeof ir){case"string":return`"${ir}"`;case"number":return`${ir}`;case"boolean":return String(ir);case"object":if(!ir){return"null"}if(Array.isArray(ir)){return`[${ir.map((ir=>this.safeJson(ir))).join(",")}]`}if(ir instanceof RegExp){return`"${ir.toString()}"`}const sr=[];for(const lr in ir){sr.push(`"${lr}":${this.safeJson(this.filterSecretContent(lr,ir[lr]))}`)}return`{${sr.join(",")}}`;case"function":return`function ${ir.name}(${ir.length} args)`}return""}};hr([(0,kr.Inject)(),yr("design:type",Fr.MidwayInformationService)],Hr.prototype,"midwayInformationService",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.MidwayConfigService)],Hr.prototype,"configService",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.MidwayEnvironmentService)],Hr.prototype,"environment",void 0);hr([(0,kr.Config)("info.title"),yr("design:type",String)],Hr.prototype,"titleConfig",void 0);hr([(0,kr.Config)("info.hiddenKey"),yr("design:type",Array)],Hr.prototype,"defaultHiddenKey",void 0);hr([(0,kr.Config)("info.ignoreKey"),yr("design:type",Array)],Hr.prototype,"ignoreKey",void 0);hr([(0,kr.ApplicationContext)(),yr("design:type",Object)],Hr.prototype,"container",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Hr.prototype,"init",null);Hr=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Hr);sr.InfoService=Hr},772:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.InfoType=sr.DefaultHiddenKey=void 0;sr.DefaultHiddenKey=["keys","*key","*token","*secret*","pass*"];var lr;(function(ir){ir["PROJECT"]="Project";ir["SYSTEM"]="System";ir["MEMORY_CPU"]="Memory & CPU";ir["SOFTWARE"]="Software";ir["ENVIRONMENT_VARIABLE"]="Environment Variable";ir["TIME"]="Time";ir["NETWORK"]="Network";ir["RESOURCE"]="Resource";ir["DEPENDENCIES"]="Dependencies";ir["MIDWAY_SERVICE"]="Midway Service";ir["MIDWAY_CONFIG"]="Midway Config"})(lr=sr.InfoType||(sr.InfoType={}))},82934:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.InfoMiddleware=void 0;const kr=lr(46123);const Fr=lr(44120);let Br=class InfoMiddleware{resolve(ir){if(ir.getFrameworkType()===kr.MidwayFrameworkType.WEB_EXPRESS){return async(ir,sr,lr)=>{if(ir.path===this.infoPath){sr.type("html");sr.send(this.infoService.info("html"))}else{lr()}}}else{return async(ir,sr)=>{if(ir.path===this.infoPath){return this.infoService.info("html")}return await sr()}}}static getName(){return"info"}};hr([(0,kr.Config)("info.infoPath"),yr("design:type",String)],Br.prototype,"infoPath",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.InfoService)],Br.prototype,"infoService",void 0);Br=hr([(0,kr.Middleware)()],Br);sr.InfoMiddleware=Br},6730:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.safeContent=sr.renderToHtml=sr.bitToMB=sr.safeRequire=void 0;const hr=lr(79896);function safeRequire(ir,sr){try{if(!(0,hr.existsSync)(ir)){return sr}return JSON.parse((0,hr.readFileSync)(ir,"utf8"))}catch(ir){return sr}}sr.safeRequire=safeRequire;function bitToMB(ir){return Number((ir||0)/1024/1024).toFixed(2)+" MB"}sr.bitToMB=bitToMB;function renderToHtml(ir,sr){let lr=`<div style="padding: 24px; font-size: 36px;background: #9999cb;font-weight: bold;">${sr}</div>`;lr+=ir.map((ir=>{const sr=Object.keys(ir.info||{});return`<div class="infoType">${ir.type}</div>\n <table style="border-collapse: collapse;width: 100%;">${sr.map((sr=>`<tr style="border: 1px solid #666;"><td class="infoName">${sr}</td><td class="infoValue">${ir.info[sr]}</td></tr>`)).join("")}</table>`})).join("");return`<style>\n .infoType {background: #8e8dc5;margin-top: 24px;padding: 12px;font-weight: bold;font-size: 16px;}\n .infoName {font-weight:bold;vertical-align: top;background:#c2c6fc;width: 200px;word-break:break-all;padding: 12px;}\n .infoValue {vertical-align: top;background:#d8d8d8;padding: 12px;word-break:break-all;}\n </style><div style="margin: 24px auto;max-width: 720px;min-width: 440px;">${lr}</div>`}sr.renderToHtml=renderToHtml;function safeContent(ir=""){if(ir.length<3){return"*".repeat(ir.length)}else if(ir.length<6){return ir[0]+"*".repeat(ir.length-1)}else if(ir.length<10){return ir[0]+"*".repeat(ir.length-2)+ir[ir.length-1]}else if(ir.length<15){return ir.slice(0,2)+"*".repeat(ir.length-4)+ir.slice(-2)}else{return ir.slice(0,3)+"*".repeat(ir.length-6)+ir.slice(-3)}}sr.safeContent=safeContent},89619:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.siteFile=sr.bodyParser=sr.onerror=sr.cookiesExtra=sr.cookies=sr.keys=sr.koa=void 0;sr.koa={contextLoggerFormat:ir=>{var sr,lr,hr;const yr=ir.ctx;const kr=yr.userId||"-";const Fr=(hr=(sr=yr.traceId)!==null&&sr!==void 0?sr:(lr=yr.tracer)===null||lr===void 0?void 0:lr.traceId)!==null&&hr!==void 0?hr:"-";const Br=Date.now()-yr.startTime;const Ur=kr+"/"+yr.ip+"/"+Fr+"/"+Br+"ms "+yr.method+" "+yr.url;return`${ir.timestamp} ${ir.LEVEL} ${ir.pid} [${Ur}] ${ir.message}`},serverTimeout:2*60*1e3};sr.keys="";sr.cookies={};sr.cookiesExtra={defaultGetOptions:{}};sr.onerror={};sr.bodyParser={enable:true,encoding:"utf8",formLimit:"1mb",jsonLimit:"1mb",textLimit:"1mb",strict:true,queryString:{arrayLimit:100,depth:5,parameterLimit:1e3},onerror(ir){ir.message+=", check bodyParser config";throw ir}};sr.siteFile={enable:true,favicon:undefined}},9867:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.KoaConfiguration=void 0;const kr=lr(46123);const Fr=lr(65579);const Br=lr(62229);const Ur=lr(89619);const Wr=lr(18713);const zr=lr(67241);let Jr=class KoaConfiguration{init(){this.decoratorService.registerParameterHandler(kr.WEB_ROUTER_PARAM_KEY,(ir=>(0,kr.extractKoaLikeValue)(ir.metadata.type,ir.metadata.propertyData,ir.originParamType)(ir.originArgs[0],ir.originArgs[1])))}async onReady(){this.koaFramework.useMiddleware([zr.SiteFileMiddleware,Wr.BodyParserMiddleware])}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayDecoratorService)],Jr.prototype,"decoratorService",void 0);hr([(0,kr.Inject)(),yr("design:type",Br.MidwayKoaFramework)],Jr.prototype,"koaFramework",void 0);hr([(0,kr.Inject)(),yr("design:type",kr.MidwayConfigService)],Jr.prototype,"configService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",void 0)],Jr.prototype,"init",null);Jr=hr([(0,kr.Configuration)({namespace:"koa",imports:[Fr],importConfigs:[{default:Ur}]})],Jr);sr.KoaConfiguration=Jr},62229:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayKoaFramework=void 0;const yr=lr(46123);const kr=lr(60990);const Fr=lr(53777);const Br=lr(10800);const Ur=lr(81236);const Wr=lr(69502);const zr=lr(83480);const Jr=lr(72040);const Hr=Symbol("context#cookies");class KoaControllerGenerator extends yr.WebControllerGenerator{constructor(ir,sr){super(ir,sr);this.app=ir;this.webRouterService=sr}createRouter(ir){const sr=new Fr(ir);sr.prefix(ir.prefix);return sr}generateController(ir){return this.generateKoaController(ir)}}let Gr=class MidwayKoaFramework extends yr.BaseFramework{configure(){return this.configService.getConfiguration("koa")}async applicationInitialize(ir){const sr=this.configService.getConfiguration("keys")||this.configurationOptions["keys"];if(!sr){throw new yr.MidwayConfigMissingError("config.keys")}const lr=this.configService.getConfiguration("cookies");const hr=this.configService.getConfiguration("cookiesExtra.defaultGetOptions");this.app=new Br({keys:[].concat(sr),proxy:this.configurationOptions.proxy,proxyIpHeader:this.configurationOptions.proxyIpHeader,subdomainOffset:this.configurationOptions.subdomainOffset,maxIpsCount:this.configurationOptions.maxIpsCount});Object.defineProperty(this.app.context,"cookies",{get(){if(!this[Hr]){this[Hr]=new kr.Cookies(this,this.app.keys,lr,hr)}return this[Hr]},enumerable:true});Object.defineProperty(this.app.context,"locals",{get(){return this.state},set(ir){this.state=ir}});Object.defineProperty(this.app.context,"forward",{get(){return async function(ir){const sr=this.requestContext.get(yr.MidwayWebRouterService);const lr=await sr.getMatchedRouterInfo(ir,this.method);if(lr){if(lr.controllerClz){const ir=await this.requestContext.getAsync(lr.controllerClz);return ir[lr.method](this)}else if(typeof lr.method==="function"){return lr.method(this)}}else{throw new yr.httpError.NotFoundError(`Forward url ${ir} Not Found`)}}}});const Fr=this.configurationOptions.queryParseMode==="strict"?function(ir){return!Array.isArray(ir)?[ir]:ir}:this.configurationOptions.queryParseMode==="first"?function(ir){return Array.isArray(ir)?ir[0]:ir}:undefined;const Jr=this;Object.defineProperty(this.app.request,"query",{get(){const ir=this.querystring;const sr=this._querycache=this._querycache||{};if(sr[ir])return sr[ir];if(Jr.configurationOptions.queryParseMode){sr[ir]=Wr.parse(ir,Jr.configurationOptions.queryParseOptions||{})}else{sr[ir]=zr.parse(ir)}if(Fr){for(const lr in sr[ir]){sr[ir][lr]=Fr(sr[ir][lr])}}return sr[ir]},set(ir){this._querycache=this._querycache||{};this._querycache[this.querystring]=ir}});const Gr=this.configService.getConfiguration("onerror");(0,Ur.setupOnError)(this.app,Gr,this.logger);const notFound=async(ir,sr)=>{await sr();if(!ir._matchedRoute&&ir.body===undefined){throw new yr.httpError.NotFoundError(`${ir.path} Not Found`)}};const midwayRootMiddleware=async(ir,sr)=>{this.app.createAnonymousContext(ir);await(await this.applyMiddleware(notFound))(ir,sr);if(ir.body===undefined&&!ir.response._explicitStatus&&ir._matchedRoute){ir.body=undefined}};this.app.use(midwayRootMiddleware);this.webRouterService=await this.applicationContext.getAsync(yr.MidwayWebRouterService,[{globalPrefix:this.configurationOptions.globalPrefix}]);this.generator=new KoaControllerGenerator(this.app,this.webRouterService);this.defineApplicationProperties();this.app.originUse=this.app.use;this.app.use=this.app.useMiddleware}async loadMidwayController(){await this.generator.loadMidwayController((ir=>{var sr;const lr=ir.middleware();lr._name=`midwayController(${((sr=ir===null||ir===void 0?void 0:ir.opts)===null||sr===void 0?void 0:sr.prefix)||"/"})`;this.app.use(lr)}))}generateController(ir){return this.generator.generateKoaController(ir)}async generateMiddleware(ir){const sr=await this.getApplicationContext().getAsync(ir);return sr.resolve()}async run(){await this.loadMidwayController();this.app.use=this.app.originUse;const ir={...this.configurationOptions,...this.configurationOptions.serverOptions};if(ir.key&&ir.cert){ir.key=yr.PathFileUtil.getFileContentSync(ir.key);ir.cert=yr.PathFileUtil.getFileContentSync(ir.cert);ir.ca=yr.PathFileUtil.getFileContentSync(ir.ca);process.env.MIDWAY_HTTP_SSL="true";if(ir.http2){this.server=lr(85675).createSecureServer(ir,this.app.callback())}else{this.server=lr(65692).createServer(ir,this.app.callback())}}else{if(ir.http2){this.server=lr(85675).createServer(ir,this.app.callback())}else{this.server=lr(58611).createServer(ir,this.app.callback())}}this.applicationContext.registerObject(yr.HTTP_SERVER_KEY,this.server);if(yr.Types.isNumber(this.configurationOptions.serverTimeout)){this.server.setTimeout(this.configurationOptions.serverTimeout)}this.configurationOptions.listenOptions={port:this.configurationOptions.port,host:this.configurationOptions.hostname,...this.configurationOptions.listenOptions};let sr=process.env.MIDWAY_HTTP_PORT||this.configurationOptions.listenOptions.port;if(sr===0||sr==="0"){sr=await(0,Jr.getFreePort)();this.logger.info(`Midway koa is listening on port ${sr} (auto assigned)`)}this.configurationOptions.listenOptions.port=Number(sr);if(this.configurationOptions.listenOptions.port){new Promise((ir=>{this.server.listen(this.configurationOptions.listenOptions,(()=>{ir()}));process.env.MIDWAY_HTTP_PORT=String(this.configurationOptions.listenOptions.port)}))}}async beforeStop(){if(this.server){new Promise((ir=>{this.server.close(ir);process.env.MIDWAY_HTTP_PORT=""}))}}getFrameworkType(){return yr.MidwayFrameworkType.WEB_KOA}getFrameworkName(){return"web:koa"}getServer(){return this.server}getPort(){return process.env.MIDWAY_HTTP_PORT}useMiddleware(ir){this.middlewareManager.insertLast(ir)}useFilter(ir){this.filterManager.useFilter(ir)}};Gr=hr([(0,yr.Framework)()],Gr);sr.MidwayKoaFramework=Gr},47453:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=sr.Framework=void 0;var kr=lr(62229);Object.defineProperty(sr,"Framework",{enumerable:true,get:function(){return kr.MidwayKoaFramework}});yr(lr(77678),sr);var Fr=lr(9867);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return Fr.KoaConfiguration}});yr(lr(67241),sr);yr(lr(18713),sr)},77678:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},18713:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.BodyParserMiddleware=void 0;const kr=lr(36952);const Fr=lr(46123);let Br=class BodyParserMiddleware{resolve(){if(this.bodyparserConfig.enable){return kr(this.bodyparserConfig)}}static getName(){return"bodyParser"}};hr([(0,Fr.Config)("bodyParser"),yr("design:type",Object)],Br.prototype,"bodyparserConfig",void 0);Br=hr([(0,Fr.Middleware)()],Br);sr.BodyParserMiddleware=Br},67241:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SiteFileMiddleware=void 0;const kr=lr(46123);const Fr=lr(16928);const Br="public, max-age=2592000";let Ur=class SiteFileMiddleware{resolve(){if(this.siteFileConfig.enable){return async(ir,sr)=>{if(ir.method!=="HEAD"&&ir.method!=="GET")return sr();if(ir.path[0]!=="/")return sr();if(ir.path!=="/favicon.ico"){return sr()}let lr=this.siteFileConfig["favicon"];if(lr===undefined){lr=Buffer.from("")}if(!lr)return sr();if(typeof lr==="string")return ir.redirect(lr);if(Buffer.isBuffer(lr)){ir.set("cache-control",Br);ir.body=lr;ir.type=Fr.extname(ir.path);return}return sr()}}}static getName(){return"siteFile"}};hr([(0,kr.Config)("siteFile"),yr("design:type",Object)],Ur.prototype,"siteFileConfig",void 0);Ur=hr([(0,kr.Middleware)()],Ur);sr.SiteFileMiddleware=Ur},81236:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.setupOnError=void 0;const hr=lr(58611);const yr=lr(72040);const kr=lr(46123);function setupOnError(ir,sr,lr){const Fr=Object.assign({accepts(){const ir=sr.accepts||yr.accepts;return ir(this)},text(sr,lr){lr.res._headers={};lr.set(sr.headers);if((0,yr.isProduction)(ir)){lr.body=hr.STATUS_CODES[lr.status]}else{lr.body=sr.message}},html(sr,lr){const kr=(0,yr.detectStatus)(sr);if((0,yr.isProduction)(ir)){if(kr>=500){lr.status=500;lr.body=`<h2>Internal Server Error, real status: ${kr}</h2>`;return}else{lr.status=kr;lr.body=`<h2>${kr} ${hr.STATUS_CODES[kr]}</h2>`;return}}if(ir.getEnv()==="unittest"||ir.getEnv()==="test"){lr.status=kr;lr.body=`${sr.name}: ${sr.message}\n${sr.stack}`;return}lr.body=yr.tpl.replace("{{status}}",(0,yr.escapeHtml)(sr.status)).replace("{{errorCode}}",(0,yr.escapeHtml)(sr.code)).replace("{{stack}}",(0,yr.escapeHtml)(sr.stack));lr.type="html"},json(sr,lr){const kr=(0,yr.detectStatus)(sr);const Fr=sr.code||sr.type;if((0,yr.isProduction)(ir)){if(kr>=500){lr.body={code:Fr,message:hr.STATUS_CODES[kr]}}else{lr.body={code:Fr,message:sr.message}}}else{lr.body={code:Fr,message:sr.message,stack:sr.stack}}}},sr);ir.on("error",((sr,hr)=>{hr=hr||ir.createAnonymousContext();const kr=(0,yr.detectStatus)(sr);if(kr>=500){try{hr.logger.error(sr)}catch(ir){lr.error(sr);lr.error(ir)}return}try{hr.logger.warn(sr)}catch(ir){lr.warn(sr);lr.error(ir)}}));ir.context.onerror=function(sr){if(sr==null)return;if(this.req)(0,yr.sendToWormhole)(this.req);if(!(sr instanceof Error)){let ir=sr;if(typeof sr==="object"){try{ir=kr.Utils.safeStringify(sr)}catch(ir){}}const lr=new Error("non-error thrown: "+ir);if(sr){if(sr.name)lr.name=sr.name;if(sr.message)lr.message=sr.message;if(sr.stack)lr.stack=sr.stack;if(sr.status)lr["status"]=sr.status;if(sr.headers)lr["headers"]=sr.headers}sr=lr}const lr=this.headerSent||!this.writable;if(lr)sr.headerSent=true;ir.emit("error",sr,this);if(lr)return;if(sr.code==="ENOENT")sr.status=404;if(typeof sr.status!=="number"||!hr.STATUS_CODES[sr.status]){sr.status=500}this.status=sr.status;this.set(sr.headers);let Br="text";if(Fr.accepts){Br=Fr.accepts.call(this,"html","text","json")}else{Br=this.accepts("html","text","json")}Br=Br||"text";if(Fr.all){Fr.all.call(this,sr,this)}else{if(Fr.redirect&&Br!=="json"){this.redirect(Fr.redirect)}else{Fr[Br].call(this,sr,this);this.type=Br}}if(Br==="json"){this.body=JSON.stringify(this.body)}this.res.end(this.body)}}sr.setupOnError=setupOnError},72040:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getFreePort=sr.escapeHtml=sr.tpl=sr.isProduction=sr.sendToWormhole=sr.accepts=sr.detectStatus=void 0;const hr=lr(69278);function detectStatus(ir){let sr=ir.status||500;if(sr<200){sr=500}return sr}sr.detectStatus=detectStatus;function accepts(ir){if(acceptJSON(ir))return"json";return"html"}sr.accepts=accepts;function acceptJSON(ir){if(ir.path.endsWith(".json"))return true;if(ir.response.type&&ir.response.type.indexOf("json")>=0)return true;if(ir.accepts("html","text","json")==="json")return true;return false}function sendToWormhole(ir){return new Promise((sr=>{if(typeof ir.resume!=="function"){return sr()}ir.unpipe&&ir.unpipe();ir.resume();if(ir._readableState&&ir._readableState.ended){return sr()}if(!ir.readable||ir.destroyed){return sr()}function cleanup(){ir.removeListener("end",onEnd);ir.removeListener("close",onEnd);ir.removeListener("error",onError)}function onEnd(){cleanup();sr()}function onError(){cleanup();sr()}ir.on("end",onEnd);ir.on("close",onEnd);ir.on("error",onError)}))}sr.sendToWormhole=sendToWormhole;function isProduction(ir){return ir.getEnv()!=="local"&&ir.getEnv()!=="unittest"}sr.isProduction=isProduction;sr.tpl=`\n<!DOCTYPE html>\n<html>\n <head>\n <title>Error - {{status}}</title>\n <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0">\n\n <style>\n body {\n padding: 50px 80px;\n font: 14px "Helvetica Neue", Helvetica, sans-serif;\n }\n\n h1 {\n font-size: 2em;\n margin-bottom: 5px;\n }\n\n pre {\n font-size: .8em;\n }\n </style>\n </head>\n <body>\n <div id="error">\n <h1>Error</h1>\n <p>Looks like something broke!</p>\n <p><h2>Stack</h2></p>\n <pre>\n <code>\n{{stack}}\n </code>\n </pre>\n <p><h2>Error Code</h2></p>\n <pre>\n <code>\n{{errorCode}}\n </code>\n </pre>\n </div>\n </body>\n</html>`;const yr=/["'&<>]/;function escapeHtml(ir){const sr=""+ir;const lr=yr.exec(sr);if(!lr){return sr}let hr;let kr="";let Fr=0;let Br=0;for(Fr=lr.index;Fr<sr.length;Fr++){switch(sr.charCodeAt(Fr)){case 34:hr="&quot;";break;case 38:hr="&amp;";break;case 39:hr="&#39;";break;case 60:hr="&lt;";break;case 62:hr="&gt;";break;default:continue}if(Br!==Fr){kr+=sr.substring(Br,Fr)}Br=Fr+1;kr+=hr}return Br!==Fr?kr+sr.substring(Br,Fr):kr}sr.escapeHtml=escapeHtml;async function getFreePort(){return new Promise(((ir,sr)=>{const lr=(0,hr.createServer)();lr.listen(0,(()=>{try{const sr=lr.address().port;lr.close();ir(sr)}catch(ir){sr(ir)}}))}))}sr.getFreePort=getFreePort},28520:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.LEVEL=sr.DefaultLogLevels=void 0;sr.DefaultLogLevels={none:0,error:1,trace:2,warn:3,info:4,verbose:5,debug:6,silly:7,all:8};sr.LEVEL={none:"NONE",error:"ERROR",trace:"TRACE",warn:"WARN",info:"INFO",verbose:"VERBOSE",debug:"DEBUG",silly:"SILLY",all:"ALL"}},62379:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.LoggerFactory=void 0;const hr=lr(8481);const yr=lr(39023);const kr=lr(16928);const Fr=lr(4002);const Br=yr.debuglog("midway:debug");class LoggerFactory extends Map{constructor(ir={}){super();this.factoryOptions=ir}createLogger(ir,sr){if(!this.has(ir)){Br('[logger]: Create logger "%s" with options %j',ir,sr);const lr=new hr.MidwayLogger(Object.assign(sr,this.factoryOptions));this.addLogger(ir,lr);return lr}return this.getLogger(ir)}addLogger(ir,sr,lr=true){if(!lr||!this.has(ir)){if(this.get(ir)!==sr){if(sr["onClose"]){sr["onClose"]((()=>{this.delete(ir)}))}if(sr["on"]){sr.on("close",(()=>this.delete(ir)))}this.set(ir,sr)}}else{throw new Error(`logger id ${ir} has duplicate`)}return this.get(ir)}getLogger(ir){return this.get(ir)}removeLogger(ir){const sr=this.get(ir);sr===null||sr===void 0?void 0:sr["close"]();this.delete(ir)}get(ir){return super.get(ir)}close(ir){if(ir){return this.removeLogger(ir)}Array.from(this.keys()).forEach((ir=>this.removeLogger(ir)))}getDefaultMidwayLoggerConfig(ir){var sr;const lr=(0,Fr.isDevelopmentEnvironment)(ir.env);const hr=(sr=process.env["MIDWAY_LOGGER_WRITEABLE_DIR"])!==null&&sr!==void 0?sr:ir.root;if(!hr){throw new Error('Midway Logger requires a root path during initialization, but it was provided empty. Please set it manually in the "logger.default.dir" configuration.')}return{midwayLogger:{default:{fileLogName:"midway-app.log",errorLogName:"common-error.log",dir:(0,kr.join)(hr,"logs",ir.name),auditFileDir:".audit",transports:{console:lr?{autoColors:lr}:false,file:{bufferWrite:!lr},error:{bufferWrite:!lr}}},clients:{coreLogger:{fileLogName:"midway-core.log"},appLogger:{}}}}}createContextLogger(ir,sr,lr={}){return sr.createContextLogger(ir,lr)}}sr.LoggerFactory=LoggerFactory},51169:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayBaseLogger=sr.MidwayLoggerContainer=sr.createConsoleLogger=sr.createFileLogger=sr.createLogger=sr.clearAllLoggers=sr.loggers=void 0;const kr=lr(62379);const Fr=lr(8481);yr(lr(51314),sr);yr(lr(8481),sr);yr(lr(19870),sr);yr(lr(3993),sr);yr(lr(96242),sr);yr(lr(53828),sr);yr(lr(62379),sr);yr(lr(4002),sr);sr.loggers=new kr.LoggerFactory;const clearAllLoggers=()=>{sr.loggers.close()};sr.clearAllLoggers=clearAllLoggers;const createLogger=(ir,lr={})=>sr.loggers.createLogger(ir,lr);sr.createLogger=createLogger;const createFileLogger=(ir,lr)=>sr.loggers.createLogger(ir,{transports:{file:{dir:__dirname,fileLogName:"custom-logger.log",...lr}}});sr.createFileLogger=createFileLogger;const createConsoleLogger=(ir,lr={})=>sr.loggers.createLogger(ir,{transports:{console:lr}});sr.createConsoleLogger=createConsoleLogger;sr.MidwayLoggerContainer=kr.LoggerFactory;sr.MidwayBaseLogger=Fr.MidwayLogger},51314:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},8481:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayChildLogger=sr.MidwayContextLogger=sr.MidwayLogger=sr.TransportManager=void 0;const hr=lr(4002);const yr=lr(70857);const kr=lr(19870);const Fr=lr(96242);const Br=lr(3993);sr.TransportManager=new Map;sr.TransportManager.set("console",Fr.ConsoleTransport);sr.TransportManager.set("file",Br.FileTransport);sr.TransportManager.set("error",Br.ErrorTransport);sr.TransportManager.set("json",Br.JSONTransport);class MidwayLogger{constructor(ir={}){this.transports=new Map;this.closeHandlers=[];ir=(0,hr.formatLegacyLoggerOptions)(ir);this.options=ir;this.options.level=this.options.level||"silly";this.options.eol=this.options.eol||yr.EOL;if(this.options.transports){for(const ir in this.options.transports){this.add(ir,this.options.transports[ir])}}}get level(){return this.options.level}set level(ir){this.options.level=ir}log(ir,...sr){this.transit(ir,{},...sr)}debug(...ir){this.transit("debug",{},...ir)}info(...ir){this.transit("info",{},...ir)}warn(...ir){this.transit("warn",{},...ir)}error(...ir){this.transit("error",{},...ir)}verbose(...ir){this.transit("verbose",{},...ir)}write(...ir){this.transit(false,{},...ir)}silly(...ir){this.transit("silly",{},...ir)}add(ir,lr){if(lr){let hr;if(!(lr instanceof kr.Transport)){if(!sr.TransportManager.has(ir)){throw new Error(`Transport ${ir} is not supported`)}else{hr=new(sr.TransportManager.get(ir))(lr)}}else{hr=lr}hr.setLoggerOptions(this.options);this.transports.set(ir,hr)}}get(ir){return this.transports.get(ir)}remove(ir,sr={}){if(this.transports.has(ir)){if(sr.close===undefined||sr.close){this.transports.get(ir).close()}this.transports.delete(ir)}}close(){for(const ir of this.transports.keys()){this.remove(ir,{close:true})}for(const ir of this.closeHandlers){ir()}}onClose(ir){this.closeHandlers.push(ir)}createContextLogger(ir,sr={}){return new MidwayContextLogger(ir,this,sr)}transit(ir,sr={},...lr){if(ir!==false&&!(0,hr.isEnableLevel)(ir,this.level)){return}for(const hr of this.transports.values()){hr.log(ir,sr,...lr)}}getChild(ir={}){return new MidwayChildLogger(this,ir)}}sr.MidwayLogger=MidwayLogger;class MidwayContextLogger{constructor(ir,sr,lr={}){this.ctx=ir;this.parentLogger=sr;this.options=lr}debug(...ir){this.transit("debug",...ir)}info(...ir){this.transit("info",...ir)}warn(...ir){this.transit("warn",...ir)}error(...ir){this.transit("error",...ir)}verbose(...ir){this.transit("verbose",...ir)}write(...ir){this.transit(false,...ir)}transit(ir,...sr){this.parentLogger.transit(ir,{ctx:this.ctx,contextFormat:this.options.contextFormat},...sr)}getContext(){return this.ctx}}sr.MidwayContextLogger=MidwayContextLogger;class MidwayChildLogger{constructor(ir,sr={}){this.parentLogger=ir;this.meta=sr}debug(...ir){this.transit("debug",...ir)}info(...ir){this.transit("info",...ir)}warn(...ir){this.transit("warn",...ir)}error(...ir){this.transit("error",...ir)}verbose(...ir){this.transit("verbose",...ir)}write(...ir){this.transit(false,...ir)}transit(ir,...sr){this.parentLogger.transit(ir,this.meta,...sr)}}sr.MidwayChildLogger=MidwayChildLogger},96242:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ConsoleTransport=void 0;const hr=lr(19870);const yr=lr(4002);const kr=lr(78997);const Fr=kr.supportsColor.stdout;class ConsoleTransport extends hr.Transport{log(ir,sr,...lr){if(!(0,yr.isEnableLevel)(ir,this.options.level)){return}let hr=this.format(ir,sr,lr);if(process.env.FORCE_ENABLE_COLOR||this.options.autoColors&&Fr){const sr=this.getColor(ir);hr=(0,kr.colorizeAll)(hr,sr)}hr+=this.options.eol;if(ir==="error"){process.stderr.write(hr)}else{process.stdout.write(hr)}}getColor(ir){switch(ir){case"debug":return kr.Color.blue;case"info":return kr.Color.green;case"warn":return kr.Color.yellow;case"error":return kr.Color.red;default:return kr.Color.white}}close(){}}sr.ConsoleTransport=ConsoleTransport},3993:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.JSONTransport=sr.ErrorTransport=sr.FileTransport=void 0;const hr=lr(19870);const yr=lr(53828);const kr=lr(16928);const Fr=lr(43106);const Br=lr(79896);const Ur=lr(4002);const Wr=lr(61256);const zr=lr(74450);class FileTransport extends hr.Transport{constructor(ir={}){super(ir);this.options=ir;this.bufSize=0;this.buf=[];if(this.options.bufferWrite){this.options.bufferMaxLength=this.options.bufferMaxLength||1e3;this.options.bufferFlushInterval=this.options.bufferFlushInterval||1e3;this.timer=this.createInterval()}if(!(0,Ur.isValidFileName)(this.options.fileLogName)||!(0,Ur.isValidDirName)(this.options.dir)){throw new Error("Your path or filename contain an invalid character.")}const sr={frequency:"custom",dateFormat:"YYYY-MM-DD",endStream:true,fileOptions:{flags:"a"},utc:false,extension:"",createSymlink:!(0,Ur.isWin32)(),maxFiles:"7d",zippedArchive:false};if(!this.options.auditFileDir){ir.auditFileDir=this.options.dir}if(!kr.isAbsolute(this.options.auditFileDir)){ir.auditFileDir=kr.join(this.options.dir,ir.auditFileDir)}this.logStream=yr.FileStreamRotatorManager.getStream({...sr,filename:kr.join(this.options.dir,this.options.fileLogName),size:(0,Ur.getMaxSize)(this.options.maxSize||"200m"),symlinkName:this.options.fileLogName,auditFile:kr.join(ir.auditFileDir,"."+(0,Wr.hash)(this.options)+"-audit.json"),...ir});this.logStream.on("logRemoved",(sr=>{if(ir.zippedArchive){const ir=sr.name+".gz";if(Br.existsSync(ir)){try{Br.unlinkSync(ir)}catch(ir){console.error(ir)}return}}}));if(ir.zippedArchive){this.logStream.on("rotate",(ir=>{const sr=Br.existsSync(ir);const lr=Br.existsSync(ir+".gz");if(!sr||lr){return}const hr=Fr.createGzip();const yr=Br.createReadStream(ir);const kr=Br.createWriteStream(ir+".gz");yr.pipe(hr).pipe(kr).on("finish",(()=>{if(Br.existsSync(ir)){Br.unlinkSync(ir)}}))}))}}log(ir,sr,...lr){if(!(0,Ur.isEnableLevel)(ir,this.options.level)){return}let hr=this.format(ir,sr,lr);hr+=this.options.eol;if(this.options.bufferWrite){this.bufSize+=hr.length;this.buf.push(hr);if(this.buf.length>this.options.bufferMaxLength){this.flush()}}else{this.logStream.write(hr)}}close(){if(this.options.bufferWrite){if(this.buf&&this.buf.length>0){this.flush()}if(this.timer){clearInterval(this.timer);this.timer=null}}if(this.logStream){yr.FileStreamRotatorManager.close(this.logStream);this.logStream=null}}flush(){if(this.buf.length>0&&this.writable){this.logStream.write(this.buf.join(""));this.buf=[];this.bufSize=0}}createInterval(){return setInterval((()=>this.flush()),this.options.bufferFlushInterval)}get writable(){return this.logStream&&this.logStream.canWrite()}}sr.FileTransport=FileTransport;class ErrorTransport extends FileTransport{constructor(ir){ir.level="error";super(ir)}}sr.ErrorTransport=ErrorTransport;class JSONTransport extends FileTransport{log(ir,sr,...lr){if(!(0,Ur.isEnableLevel)(ir,this.options.level)){return}let hr=this.format(ir,sr,lr);if(typeof hr==="string"||Buffer.isBuffer(hr)){hr=(0,zr.stringify)({message:hr.toString()})}else{hr=(0,zr.stringify)(hr)}hr+=this.options.eol;if(this.options.bufferWrite){this.bufSize+=hr.length;this.buf.push(hr);if(this.buf.length>this.options.bufferMaxLength){this.flush()}}else{this.logStream.write(hr)}}}sr.JSONTransport=JSONTransport},53828:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.FileStreamRotatorManager=sr.FileStreamRotator=void 0;const hr=lr(79896);const yr=lr(16928);const kr=lr(76982);const Fr=lr(24434);const Br=lr(39023);const Ur=lr(23046);const Wr=lr(15419);const zr=lr(42613);const Jr=lr(4002);const Hr=(0,Br.debuglog)("midway-logger");const Gr=["daily","test","s","m","h","custom"];const Yr="YYYYMMDDHHmm";Ur.extend(Wr);class FileStreamRotator{getFrequency(ir){const sr=ir.toLowerCase().match(/^(\d+)([smh])$/);if(sr){return(0,Jr.checkNumAndType)(sr[2],parseInt(sr[1]))}const lr=(0,Jr.checkDailyAndTest)(ir);if(lr){return lr}return false}parseFileSize(ir){if(ir&&typeof ir==="string"){const sr=ir.toLowerCase().match(/^((?:0\.)?\d+)([kmg])$/);if(sr){switch(sr[2]){case"k":return sr[1]*1024;case"m":return sr[1]*1024*1024;case"g":return sr[1]*1024*1024*1024}}}return null}getDate(ir,sr,lr){sr=sr||Yr;const hr=lr?Ur.utc():Ur().local();if(ir&&Gr.indexOf(ir.type)!==-1){switch(ir.type){case"s":const lr=Math.floor(hr.second()/ir.digit)*ir.digit;return hr.second(lr).format(sr);case"m":const yr=Math.floor(hr.minute()/ir.digit)*ir.digit;return hr.minute(yr).format(sr);case"h":const kr=Math.floor(hr.hour()/ir.digit)*ir.digit;return hr.hour(kr).format(sr);case"daily":case"custom":case"test":return hr.format(sr)}}return hr.format(sr)}setAuditLog(ir,sr,lr){let kr=null;if(ir){const Fr=ir.toString().substr(-1);const Br=ir.toString().match(/^(\d+)/);if(Number(Br[1])>0){const ir=yr.dirname(lr.replace(/%DATE%.+/,"_filename"));try{if(sr){const ir=yr.resolve(sr);kr=JSON.parse(hr.readFileSync(ir,{encoding:"utf-8"}))}else{const sr=yr.resolve(ir+"/"+".audit.json");kr=JSON.parse(hr.readFileSync(sr,{encoding:"utf-8"}))}}catch(lr){if(lr.code!=="ENOENT"){return null}kr={keep:{days:false,amount:Number(Br[1])},auditLog:sr||ir+"/"+".audit.json",files:[]}}kr.keep={days:Fr==="d",amount:Number(Br[1])}}}return kr}writeAuditLog(ir){try{(0,Jr.mkDirForFile)(ir.auditLog);hr.writeFileSync(ir.auditLog,JSON.stringify(ir,null,2))}catch(sr){Hr((new Date).toLocaleString(),"[FileStreamRotator] Failed to store log audit at:",ir.auditLog,"Error:",sr)}}addLogToAudit(ir,sr,lr){if(sr&&sr.files){const hr=sr.files.findIndex((sr=>sr.name===ir));if(hr!==-1){return sr}const yr=Date.now();sr.files.push({date:yr,name:ir,hash:kr.createHash(sr.hashType).update(ir+"LOG_FILE"+yr).digest("hex")});if(sr.keep.days){const ir=Ur().subtract(sr.keep.amount,"days").valueOf();sr.files=sr.files.filter((hr=>{if(hr.date>ir){return true}hr.hashType=sr.hashType;(0,Jr.removeFile)(hr);lr.emit("logRemoved",hr);return false}))}else{const ir=sr.files.splice(-sr.keep.amount);if(sr.files.length>0){sr.files.filter((ir=>{ir.hashType=sr.hashType;(0,Jr.removeFile)(ir);lr.emit("logRemoved",ir);return false}))}sr.files=ir}this.writeAuditLog(sr)}return sr}getStream(ir){let sr=null;let lr=null;zr(ir.filename,"options.filename must be supplied");if(ir.frequency){sr=this.getFrequency(ir.frequency)}const yr=this.setAuditLog(ir.maxFiles,ir.auditFile,ir.filename);if(yr!=null){yr.hashType=ir.auditHashType!==undefined?ir.auditHashType:"md5"}let kr=null;let Wr=0;let Qr=0;if(ir.size){kr=this.parseFileSize(ir.size)}let Zr=ir.dateFormat||Yr;if(sr&&sr.type==="daily"){if(!ir.dateFormat){Zr="YYYY-MM-DD"}if(Ur().format(Zr)!==Ur().endOf("day").format(Zr)||Ur().format(Zr)===Ur().add(1,"day").format(Zr)){Hr((new Date).toLocaleString(),"[FileStreamRotator] Changing type to custom as date format changes more often than once a day or not every day");sr.type="custom"}}if(sr){lr=ir.frequency?this.getDate(sr,Zr,ir.utc):""}ir.createSymlink=ir.createSymlink||false;ir.extension=ir.extension||"";const cn=ir.filename;let un=null;let Tn=cn+(lr?"."+lr:"");if(cn.match(/%DATE%/)){Tn=cn.replace(/%DATE%/g,lr?lr:this.getDate(null,Zr,ir.utc))}if(kr){let sr=null;let lr=Tn;if(yr&&yr.files&&yr.files instanceof Array&&yr.files.length>0){const ir=yr.files[yr.files.length-1].name;if(ir.match(lr)){const sr=ir.match(lr+"\\.(\\d+)");if(sr){lr=ir;Wr=sr[1]}}}if(Wr===0&&lr===Tn){lr+=ir.extension}while(hr.existsSync(lr)){sr=lr;Wr++;lr=Tn+"."+Wr+ir.extension}if(sr){const ir=hr.statSync(sr);if(ir.size<kr){lr=sr;Wr--;Qr=ir.size}}Tn=lr}else{Tn+=ir.extension}Hr((new Date).toLocaleString(),"[FileStreamRotator] Logging to: ",Tn);(0,Jr.mkDirForFile)(Tn);const jn=ir.fileOptions||{flags:"a"};let ni=hr.createWriteStream(Tn,jn);if(lr&&sr&&Gr.indexOf(sr.type)>-1||kr>0){Hr((new Date).toLocaleString(),"[FileStreamRotator] Rotating file: ",sr?sr.type:"",kr?"size: "+kr:"");const Ur=new Fr;Ur.auditLog=yr;Ur.filename=ir.filename;Ur.end=(...ir)=>{ni.end(...ir);zr.clear()};Ur.canWrite=()=>!ni.closed&&ni.writable&&!ni.destroyed;(0,Jr.BubbleEvents)(ni,Ur);Ur.on("new",(sr=>{Ur.auditLog=this.addLogToAudit(sr,Ur.auditLog,Ur);if(ir.createSymlink){(0,Jr.createCurrentSymLink)(sr,ir.symlinkName)}}));const zr=(0,Jr.debounce)((()=>{let ir=false;try{const ir=hr.statSync(Tn);if(ir.size>Qr){Qr=ir.size}}catch(sr){ir=true}return ir}),1e3);Ur.write=(yr,Fr)=>{const Gr=zr();const Yr=sr?this.getDate(sr,Zr,ir.utc):lr;if(Gr||lr&&Yr!==lr||kr&&Qr>kr){let yr=cn+(lr&&sr?"."+Yr:"");if(cn.match(/%DATE%/)&&lr){yr=cn.replace(/%DATE%/g,Yr)}if(kr&&Qr>kr){Wr++;yr+="."+Wr+ir.extension}else{Wr=0;yr+=ir.extension}Qr=0;Hr((new Date).toLocaleString(),(0,Br.format)("[FileStreamRotator] Changing logs from %s to %s",Tn,yr));lr=Yr;un=Tn;Tn=yr;if(ir.endStream===true){ni.end()}else{ni.destroy()}(0,Jr.mkDirForFile)(Tn);ni=hr.createWriteStream(yr,jn);Ur.emit("new",yr);Ur.emit("rotate",un,yr);(0,Jr.BubbleEvents)(ni,Ur)}ni.write(yr,Fr);Qr+=Buffer.byteLength(yr,Fr)};process.nextTick((()=>{Ur.emit("new",Tn)}));Ur.emit("new",Tn);return Ur}else{Hr((new Date).toLocaleString(),"[FileStreamRotator] File won't be rotated: ",ir.frequency,ir.size);process.nextTick((()=>{ni.emit("new",Tn)}));return ni}}}sr.FileStreamRotator=FileStreamRotator;class FileStreamRotatorManager{static getStream(ir){let sr;if(this.enabled){if(!this.streamPool.has(ir.filename)){const sr=(new FileStreamRotator).getStream(ir);this.streamPool.set(ir.filename,sr);this.loggerRef.set(sr,0)}sr=this.streamPool.get(ir.filename);let lr=this.loggerRef.get(sr);this.loggerRef.set(sr,lr++)}else{sr=(new FileStreamRotator).getStream(ir)}return sr}static close(ir){if(this.enabled){if(this.loggerRef.has(ir)){let sr=this.loggerRef.get(ir);sr--;if(sr===0){ir.end();this.streamPool.delete(ir.filename);this.loggerRef.delete(ir)}else if(sr>0){this.loggerRef.set(ir,sr)}else{}}}else{ir.end()}}static clear(){for(const ir of this.streamPool.values()){ir.end();if(this.loggerRef.has(ir)){this.loggerRef.delete(ir)}}this.streamPool.clear();this.loggerRef=new WeakMap}}sr.FileStreamRotatorManager=FileStreamRotatorManager;FileStreamRotatorManager.streamPool=new Map;FileStreamRotatorManager.loggerRef=new WeakMap;FileStreamRotatorManager.enabled=true},19870:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.EmptyTransport=sr.Transport=void 0;const hr=lr(39023);const yr=lr(4002);const kr=lr(28520);class Transport{constructor(ir={}){this.options=ir;this.pid=process.pid}setLoggerOptions(ir){this.loggerOptions=ir;this.options.level=this.options.level||ir.level;this.options.format=this.options.format||ir.format;this.options.contextFormat=this.options.contextFormat||ir.contextFormat;this.options.eol=this.options.eol||ir.eol}format(ir,sr,lr){const yr=this.getLoggerInfo(ir,sr,lr);if(Buffer.isBuffer(yr.args[0])){return yr.args[0]}if(ir===false){return(0,hr.format)(yr.message)}const kr=sr.contextFormat||this.options.contextFormat;if(sr.ctx&&kr){return kr(yr)}const Fr=sr.format||this.options.format;if(Fr){return Fr(yr)}if(ir){return(0,hr.format)("%s %s %s %s",yr.timestamp,yr.LEVEL,yr.pid,yr.message)}else{return(0,hr.format)(yr.message)}}getLoggerInfo(ir,sr,lr){const Fr=ir||"";const Br={level:Fr,pid:this.pid};Object.defineProperties(Br,{timestamp:{get(){return(0,yr.getFormatDate)(new Date)},enumerable:false},LEVEL:{get(){return kr.LEVEL[Fr]||""},enumerable:false},args:{get(){return lr},enumerable:false},originArgs:{get(){return lr},enumerable:false},message:{get(){return(0,hr.format)(...lr)},enumerable:false},ctx:{get(){return sr.ctx},enumerable:false},originError:{get(){return lr.find((ir=>ir instanceof Error))},enumerable:false},meta:{get(){return sr},enumerable:false}});return Br}get level(){return this.options.level}set level(ir){this.options.level=ir}}sr.Transport=Transport;class EmptyTransport extends Transport{log(ir,...sr){}close(){}}sr.EmptyTransport=EmptyTransport},78997:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.supportsColor=sr.colorizeAll=sr.colorize=sr.Color=void 0;const hr=lr(932);const yr=lr(70857);const kr=lr(52018);sr.Color={red:ir=>`${ir}`,green:ir=>`${ir}`,yellow:ir=>`${ir}`,blue:ir=>`${ir}`,magenta:ir=>`${ir}`,cyan:ir=>`${ir}`,white:ir=>`${ir}`,gray:ir=>`${ir}`,grey:ir=>`${ir}`,black:ir=>`${ir}`,bgRed:ir=>`${ir}`,bgGreen:ir=>`${ir}`,bgYellow:ir=>`${ir}`,bgBlue:ir=>`${ir}`,bgMagenta:ir=>`${ir}`,bgCyan:ir=>`${ir}`,bgWhite:ir=>`${ir}`,bgBlack:ir=>`${ir}`,bold:ir=>`${ir}`,dim:ir=>`${ir}`,italic:ir=>`${ir}`,underline:ir=>`${ir}`,inverse:ir=>`${ir}`,hidden:ir=>`${ir}`,strikethrough:ir=>`${ir}`};const colorize=(ir,lr)=>{if(typeof lr==="function"){return lr(ir)}else{return sr.Color[lr](ir)}};sr.colorize=colorize;const colorizeAll=(ir,lr)=>ir.replace(/([^\s]+)/g,(ir=>(0,sr.colorize)(ir,lr)));sr.colorizeAll=colorizeAll;function hasFlag(ir,sr=process.argv){const lr=ir.startsWith("-")?"":ir.length===1?"-":"--";const hr=sr.indexOf(lr+ir);const yr=sr.indexOf("--");return hr!==-1&&(yr===-1||hr<yr)}let Fr;if(hasFlag("no-color")||hasFlag("no-colors")||hasFlag("color=false")||hasFlag("color=never")){Fr=0}else if(hasFlag("color")||hasFlag("colors")||hasFlag("color=true")||hasFlag("color=always")){Fr=1}function envForceColor(){if("FORCE_COLOR"in hr.env){if(hr.env.FORCE_COLOR==="true"){return 1}if(hr.env.FORCE_COLOR==="false"){return 0}return hr.env.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(hr.env.FORCE_COLOR,10),3)}}function translateLevel(ir){if(ir===0){return false}return{level:ir,hasBasic:true,has256:ir>=2,has16m:ir>=3}}function _supportsColor(ir,sr){const lr=sr.streamIsTTY;const kr=true;const Br=envForceColor();if(Br!==undefined){Fr=Br}const Ur=kr?Fr:Br;if(Ur===0){return 0}if(kr){if(hasFlag("color=16m")||hasFlag("color=full")||hasFlag("color=truecolor")){return 3}if(hasFlag("color=256")){return 2}}if("TF_BUILD"in hr.env&&"AGENT_NAME"in hr.env){return 1}if(ir&&!lr&&Ur===undefined){return 0}const Wr=Ur||0;if(hr.env.TERM==="dumb"){return Wr}if(hr.platform==="win32"){const ir=yr.release().split(".");if(Number(ir[0])>=10&&Number(ir[2])>=10586){return Number(ir[2])>=14931?3:2}return 1}if("CI"in hr.env){if("GITHUB_ACTIONS"in hr.env||"GITEA_ACTIONS"in hr.env){return 3}if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some((ir=>ir in hr.env))||hr.env.CI_NAME==="codeship"){return 1}return Wr}if("TEAMCITY_VERSION"in hr.env){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(hr.env.TEAMCITY_VERSION)?1:0}if(hr.env.COLORTERM==="truecolor"){return 3}if(hr.env.TERM==="xterm-kitty"){return 3}if("TERM_PROGRAM"in hr.env){const ir=Number.parseInt((hr.env.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(hr.env.TERM_PROGRAM){case"iTerm.app":{return ir>=3?3:2}case"Apple_Terminal":{return 2}}}if(/-256(color)?$/i.test(hr.env.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(hr.env.TERM)){return 1}if("COLORTERM"in hr.env){return 1}return Wr}function createSupportsColor(ir){const sr=_supportsColor(true,{streamIsTTY:ir.isTTY});return translateLevel(sr)}sr.supportsColor={stdout:createSupportsColor({isTTY:kr.isatty(1)}),stderr:createSupportsColor({isTTY:kr.isatty(2)})}},61256:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.hash=void 0;const hr=lr(76982);const yr=lr(2203);function hash(ir){const sr={algorithm:"sha1",encoding:"hex",excludeValues:false,ignoreUnknown:false,respectType:true,respectFunctionNames:true,respectFunctionProperties:true,unorderedArrays:false,unorderedSets:true,unorderedObjects:true,replacer:undefined,excludeKeys:undefined};const lr=hr.createHash(sr.algorithm);const yr=typeHasher(sr,lr);yr.dispatch(ir);if(!lr.update){lr.end("")}return lr.digest(sr.encoding)}sr.hash=hash;function typeHasher(ir,sr,lr){lr=lr||[];const write=function(ir){if(sr.update){return sr.update(ir,"utf8")}else{return sr.write(ir,"utf8")}};return{dispatch:function(sr){if(ir.replacer){sr=ir.replacer(sr)}let lr=typeof sr;if(sr===null){lr="null"}return this["_"+lr](sr)},_object:function(sr){const hr=/\[object (.*)\]/i;const yr=Object.prototype.toString.call(sr);let kr=hr.exec(yr);if(!kr){kr="unknown:["+yr+"]"}else{kr=kr[1]}kr=kr.toLowerCase();let Fr=null;if((Fr=lr.indexOf(sr))>=0){return this.dispatch("[CIRCULAR:"+Fr+"]")}else{lr.push(sr)}if(typeof Buffer!=="undefined"&&Buffer.isBuffer&&Buffer.isBuffer(sr)){write("buffer:");return write(sr)}if(kr!=="object"&&kr!=="function"&&kr!=="asyncfunction"){if(this["_"+kr]){this["_"+kr](sr)}else if(ir.ignoreUnknown){return write("["+kr+"]")}else{throw new Error('Unknown object type "'+kr+'"')}}else{let lr=Object.keys(sr);if(ir.unorderedObjects){lr=lr.sort()}if(ir.respectType!==false&&!isNativeFunction(sr)){lr.splice(0,0,"prototype","__proto__","constructor")}if(ir.excludeKeys){lr=lr.filter((sr=>!ir.excludeKeys(sr)))}write("object:"+lr.length+":");const hr=this;return lr.forEach((lr=>{hr.dispatch(lr);write(":");if(!ir.excludeValues){hr.dispatch(sr[lr])}write(",")}))}},_array:function(sr,hr){hr=typeof hr!=="undefined"?hr:ir.unorderedArrays!==false;const kr=this;write("array:"+sr.length+":");if(!hr||sr.length<=1){return sr.forEach((ir=>kr.dispatch(ir)))}let Fr=[];const Br=sr.map((sr=>{const hr=new yr.PassThrough;const kr=lr.slice();const Br=typeHasher(ir,hr,kr);Br.dispatch(sr);Fr=Fr.concat(kr.slice(lr.length));return hr.read().toString()}));lr=lr.concat(Fr);Br.sort();return this._array(Br,false)},_date:function(ir){return write("date:"+ir.toJSON())},_symbol:function(ir){return write("symbol:"+ir.toString())},_error:function(ir){return write("error:"+ir.toString())},_boolean:function(ir){return write("bool:"+ir.toString())},_string:function(ir){write("string:"+ir.length+":");write(ir.toString())},_function:function(sr){write("fn:");if(isNativeFunction(sr)){this.dispatch("[native]")}else{this.dispatch(sr.toString())}if(ir.respectFunctionNames!==false){this.dispatch("function-name:"+String(sr.name))}if(ir.respectFunctionProperties){this._object(sr)}},_number:function(ir){return write("number:"+ir.toString())},_xml:function(ir){return write("xml:"+ir.toString())},_null:function(){return write("Null")},_undefined:function(){return write("Undefined")},_regexp:function(ir){return write("regex:"+ir.toString())},_uint8array:function(ir){write("uint8array:");return this.dispatch(Array.prototype.slice.call(ir))},_uint8clampedarray:function(ir){write("uint8clampedarray:");return this.dispatch(Array.prototype.slice.call(ir))},_int8array:function(ir){write("int8array:");return this.dispatch(Array.prototype.slice.call(ir))},_uint16array:function(ir){write("uint16array:");return this.dispatch(Array.prototype.slice.call(ir))},_int16array:function(ir){write("int16array:");return this.dispatch(Array.prototype.slice.call(ir))},_uint32array:function(ir){write("uint32array:");return this.dispatch(Array.prototype.slice.call(ir))},_int32array:function(ir){write("int32array:");return this.dispatch(Array.prototype.slice.call(ir))},_float32array:function(ir){write("float32array:");return this.dispatch(Array.prototype.slice.call(ir))},_float64array:function(ir){write("float64array:");return this.dispatch(Array.prototype.slice.call(ir))},_arraybuffer:function(ir){write("arraybuffer:");return this.dispatch(new Uint8Array(ir))},_url:function(ir){return write("url:"+ir.toString())},_map:function(sr){write("map:");const lr=Array.from(sr);return this._array(lr,ir.unorderedSets!==false)},_set:function(sr){write("set:");const lr=Array.from(sr);return this._array(lr,ir.unorderedSets!==false)},_file:function(ir){write("file:");return this.dispatch([ir.name,ir.size,ir.type,ir.lastModfied])},_blob:function(){if(ir.ignoreUnknown){return write("[blob]")}throw Error("Hashing Blob objects is currently not supported\n"+"(see https://github.com/puleos/object-hash/issues/26)\n"+'Use "options.replacer" or "options.ignoreUnknown"\n')},_domwindow:function(){return write("domwindow")},_bigint:function(ir){return write("bigint:"+ir.toString())},_process:function(){return write("process")},_timer:function(){return write("timer")},_pipe:function(){return write("pipe")},_tcp:function(){return write("tcp")},_udp:function(){return write("udp")},_tty:function(){return write("tty")},_statwatcher:function(){return write("statwatcher")},_securecontext:function(){return write("securecontext")},_connection:function(){return write("connection")},_zlib:function(){return write("zlib")},_context:function(){return write("context")},_nodescript:function(){return write("nodescript")},_httpparser:function(){return write("httpparser")},_dataview:function(){return write("dataview")},_signal:function(){return write("signal")},_fsevent:function(){return write("fsevent")},_tlswrap:function(){return write("tlswrap")}}}function isNativeFunction(ir){if(typeof ir!=="function"){return false}const sr=/^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;return sr.exec(Function.prototype.toString.call(ir))!=null}},4002:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getFormatDate=sr.isWin32=sr.BubbleEvents=sr.formatLegacyLoggerOptions=sr.formatLoggerOptions=sr.isDevelopmentEnvironment=sr.debounce=sr.throwIf=sr.getMaxSize=sr.isValidDirName=sr.isValidFileName=sr.removeFile=sr.createCurrentSymLink=sr.mkDirForFile=sr.checkDailyAndTest=sr.checkNumAndType=sr.isEnableLevel=void 0;const hr=lr(28520);const yr=lr(79896);const kr=lr(16928);const Fr=lr(76982);const Br=lr(16928);const Ur=lr(70857);const Wr=lr(19870);function isEnableLevel(ir,sr){if(!ir||!sr){return true}return hr.DefaultLogLevels[ir]<=hr.DefaultLogLevels[sr]}sr.isEnableLevel=isEnableLevel;function checkNumAndType(ir,sr){if(typeof sr==="number"){switch(ir){case"s":case"m":if(sr<0||sr>60){return false}break;case"h":if(sr<0||sr>24){return false}break}return{type:ir,digit:sr}}}sr.checkNumAndType=checkNumAndType;function checkDailyAndTest(ir){switch(ir){case"custom":case"daily":return{type:ir,digit:undefined};case"test":return{type:ir,digit:0}}return false}sr.checkDailyAndTest=checkDailyAndTest;function mkDirForFile(ir){const sr=Br.dirname(ir);sr.split(Br.sep).reduce(((ir,sr)=>{ir+=sr+Br.sep;if(!yr.existsSync(ir)){try{yr.mkdirSync(ir)}catch(ir){if(ir.code!=="EEXIST"){throw ir}}}return ir}),"")}sr.mkDirForFile=mkDirForFile;function createCurrentSymLink(ir,sr){const lr=sr||"current.log";const hr=(0,kr.dirname)(ir);const Fr=(0,kr.basename)(ir);const Br=hr+"/"+lr;try{const ir=yr.lstatSync(Br);if(ir.isSymbolicLink()){yr.unlinkSync(Br);yr.symlinkSync(Fr,Br)}}catch(ir){if(ir&&ir.code==="ENOENT"){try{yr.symlinkSync(Fr,Br)}catch(ir){console.error((new Date).toLocaleString(),"[FileStreamRotator] Could not create symlink file: ",Br," -> ",Fr)}}}}sr.createCurrentSymLink=createCurrentSymLink;function removeFile(ir){if(ir.hash===Fr.createHash(ir.hashType).update(ir.name+"LOG_FILE"+ir.date).digest("hex")){try{if(yr.existsSync(ir.name)){yr.unlinkSync(ir.name)}}catch(sr){console.error((new Date).toLocaleString(),"[FileStreamRotator] Could not remove old log file: ",ir.name)}}}sr.removeFile=removeFile;function isValidFileName(ir){return!/["<>|:*?\\/\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]/g.test(ir)}sr.isValidFileName=isValidFileName;function isValidDirName(ir){return!/["<>|\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f]/g.test(ir)}sr.isValidDirName=isValidDirName;function getMaxSize(ir){if(ir&&typeof ir==="string"){const sr=ir.toLowerCase().match(/^((?:0\.)?\d+)([k|m|g])$/);if(sr){return ir}}else if(ir&&Number.isInteger(ir)){const sr=Math.round(ir/1024);return sr===0?"1k":sr+"k"}return null}sr.getMaxSize=getMaxSize;function throwIf(ir,...sr){Array.prototype.slice.call(sr,1).forEach((lr=>{if(ir[lr]){throw new Error("Cannot set "+lr+" and "+sr[0]+" together")}}))}sr.throwIf=throwIf;function debounce(ir,sr,lr){let hr,yr,kr,Fr,Br;if(null==sr)sr=100;function later(){const Ur=Date.now()-Fr;if(Ur<sr&&Ur>=0){hr=setTimeout(later,sr-Ur)}else{hr=null;if(!lr){Br=ir.apply(kr,yr);kr=yr=null}}}const debounced=(...yr)=>{kr=this;Fr=Date.now();const Ur=lr&&!hr;if(!hr)hr=setTimeout(later,sr);if(Ur){Br=ir.apply(kr,yr);kr=yr=null}return Br};debounced.clear=()=>{if(hr){clearTimeout(hr);hr=null}};debounced.flush=()=>{if(hr){Br=ir.apply(kr,yr);kr=yr=null;clearTimeout(hr);hr=null}};return debounced}sr.debounce=debounce;const isDevelopmentEnvironment=ir=>["local","test","unittest"].includes(ir);sr.isDevelopmentEnvironment=isDevelopmentEnvironment;const zr={enableConsole:true,disableConsole:true,enableFile:true,enableError:true,enableJSON:true,disableFile:true,disableError:true};function formatLoggerOptions(ir){if(Object.keys(ir).some((ir=>zr[ir]))){const sr={transports:{}};for(const lr of Object.keys(ir)){if(!zr[lr]){sr[lr]=ir[lr]}}if(sr.transports["console"]&&(ir["enableConsole"]===false||ir["disableConsole"]===true)){sr.transports["console"]=false}if(sr.transports["file"]&&(ir["enableFile"]===false||ir["disableFile"]===true)){sr.transports["file"]=false}if(sr.transports["error"]&&(ir["enableError"]===false||ir["disableError"]===true)){sr.transports["error"]=false}if(sr.transports["json"]&&ir["enableJSON"]===false){sr.transports["json"]=false}return sr}return ir}sr.formatLoggerOptions=formatLoggerOptions;const Jr={level:{category:"top",mappingKey:"level",isOld:false},consoleLevel:{category:"console",mappingKey:"level",isOld:true},fileLevel:{category:"file",mappingKey:"level",isOld:true},jsonLevel:{category:"json",mappingKey:"level",isOld:true},format:{category:"top",mappingKey:"format",isOld:false},contextFormat:{category:"top",mappingKey:"contextFormat",isOld:false},jsonFormat:{category:"json",mappingKey:"format",isOld:true},dir:{category:["file","error","json"],mappingKey:"dir",isOld:true},errorDir:{category:"error",mappingKey:"dir",overwriteIfExists:true,isOld:true},jsonDir:{category:"json",mappingKey:"dir",overwriteIfExists:true,isOld:true},aliasName:{ignore:true,isOld:false},fileLogName:{category:["file"],mappingKey:"fileLogName",isOld:true},errorLogName:{category:"error",mappingKey:"fileLogName",overwriteIfExists:true,isOld:true},jsonLogName:{category:"json",mappingKey:"fileLogName",overwriteIfExists:true,isOld:true},enableConsole:{ignore:true,isOld:true},enableFile:{ignore:true,isOld:true},enableError:{ignore:true,isOld:true},enableJSON:{ignore:true,isOld:true},disableSymlink:{category:["file","error","json"],mappingKey:"createSymlink",isOld:true},disableFileSymlink:{category:"file",mappingKey:"createSymlink",reverseValue:true,overwriteIfExists:true,isOld:true},disableErrorSymlink:{category:"error",mappingKey:"createSymlink",reverseValue:true,overwriteIfExists:true,isOld:true},disableJSONSymlink:{category:"json",mappingKey:"createSymlink",reverseValue:true,overwriteIfExists:true,isOld:true},maxSize:{category:["file","error","json"],mappingKey:"maxSize",isOld:true},fileMaxSize:{category:"file",mappingKey:"maxSize",overwriteIfExists:true,isOld:true},errMaxSize:{category:"error",mappingKey:"maxSize",overwriteIfExists:true,isOld:true},jsonMaxSize:{category:"json",mappingKey:"maxSize",overwriteIfExists:true,isOld:true},maxFiles:{category:["file","error","json"],mappingKey:"maxFiles",isOld:true},fileMaxFiles:{category:"file",mappingKey:"maxFiles",overwriteIfExists:true,isOld:true},errMaxFiles:{category:"error",mappingKey:"maxFiles",overwriteIfExists:true,isOld:true},jsonMaxFiles:{category:"json",mappingKey:"maxFiles",overwriteIfExists:true,isOld:true},eol:{category:"top",mappingKey:"eol",isOld:false},jsonEol:{category:"json",mappingKey:"eol",isOld:true},zippedArchive:{category:["file","error","json"],mappingKey:"zippedArchive",isOld:true},fileZippedArchive:{category:"file",mappingKey:"zippedArchive",overwriteIfExists:true,isOld:true},errZippedArchive:{category:"error",mappingKey:"zippedArchive",overwriteIfExists:true,isOld:true},jsonZippedArchive:{category:"json",mappingKey:"zippedArchive",overwriteIfExists:true,isOld:true},datePattern:{category:["file","error","json"],mappingKey:"datePattern",isOld:true},fileDatePattern:{category:"file",mappingKey:"datePattern",overwriteIfExists:true,isOld:true},errDatePattern:{category:"error",mappingKey:"datePattern",overwriteIfExists:true,isOld:true},jsonDatePattern:{category:"json",mappingKey:"datePattern",overwriteIfExists:true,isOld:true},auditFileDir:{category:["file","error","json"],mappingKey:"auditFileDir",isOld:true},printFormat:{category:"top",mappingKey:"format",isOld:true},defaultMeta:{ignore:true,isOld:true},defaultLabel:{ignore:true,isOld:true},disableConsole:{ignore:true,isOld:true},disableFile:{ignore:true,isOld:true},disableError:{ignore:true,isOld:true},fileOptions:{category:["file","error","json"],mappingKey:"fileOptions",isOld:true}};const Hr=Object.prototype.hasOwnProperty;const Gr=Object.prototype.toString;function formatLegacyLoggerOptions(ir){var sr,lr,hr,yr,kr,Fr;function isPlainObject(ir){if(!ir||Gr.call(ir)!=="[object Object]"){return false}const sr=Hr.call(ir,"constructor");const lr=ir.constructor&&ir.constructor.prototype&&Hr.call(ir.constructor.prototype,"isPrototypeOf");if(ir.constructor&&!sr&&!lr){return false}let hr;for(hr in ir){}return typeof hr==="undefined"||Hr.call(ir,hr)}function deepMerge(ir,sr){if(!ir){return sr}if(sr&&!isPlainObject(sr)){return sr}for(const lr of Object.keys(sr)){if(sr[lr]instanceof Object){Object.assign(sr[lr],deepMerge(ir[lr],sr[lr]))}}Object.assign(ir||{},sr);return ir}function setTransportOptions(sr,lr,hr,yr=false){var kr,Fr;if(!sr.transports[hr]){sr.transports[hr]={}}const Br=(kr=Jr[lr].mappingKey)!==null&&kr!==void 0?kr:lr;if(yr){sr.transports[hr][Br]=ir[lr]}else{sr.transports[hr][Br]=(Fr=sr.transports[hr][Br])!==null&&Fr!==void 0?Fr:ir[lr]}}function isValidTransport(ir){return ir&&(ir instanceof Wr.Transport||typeof ir==="object"&&ir["dir"]&&ir["fileLogName"])}if(Object.keys(ir).some((ir=>{var sr;return(sr=Jr[ir])===null||sr===void 0?void 0:sr.isOld}))){const Br={transports:{}};for(const lr of Object.keys(ir)){if(!Jr[lr]){continue}else{if(Jr[lr].ignore){continue}Jr[lr].category=[].concat(Jr[lr].category);for(const hr of Jr[lr].category){if(hr==="all"){for(const ir of Object.keys(Br.transports)){setTransportOptions(Br,lr,ir,Jr[lr].overwriteIfExists)}}else if(hr==="top"){Br[lr]=(sr=Br[lr])!==null&&sr!==void 0?sr:ir[Jr[lr].mappingKey]}else{setTransportOptions(Br,lr,hr,Jr[lr].overwriteIfExists)}}}}for(const sr of Object.keys(ir)){if(!Jr[sr]){deepMerge(Br[sr],ir[sr])}}if(ir["enableConsole"]===false||ir["disableConsole"]===true){Br.transports["console"]=false}else{Br.transports["console"]=(lr=Br.transports["console"])!==null&&lr!==void 0?lr:{}}if(ir["enableFile"]===false||ir["disableFile"]===true){Br.transports["file"]=false}else{Br.transports["file"]=(hr=Br.transports["file"])!==null&&hr!==void 0?hr:{}}if(ir["enableError"]===false||ir["disableError"]===true){Br.transports["error"]=false}else{Br.transports["error"]=(yr=Br.transports["error"])!==null&&yr!==void 0?yr:{}}if(((kr=ir===null||ir===void 0?void 0:ir.transports)===null||kr===void 0?void 0:kr["json"])===undefined&&(ir["enableJSON"]===undefined||ir["enableJSON"]===false)){Br.transports["json"]=false}else{}for(const ir of["file","error","json"]){if((Fr=Br===null||Br===void 0?void 0:Br.transports)===null||Fr===void 0?void 0:Fr[ir]){if(!isValidTransport(Br.transports[ir])){delete Br.transports[ir]}}}return Br}return ir}sr.formatLegacyLoggerOptions=formatLegacyLoggerOptions;function BubbleEvents(ir,sr){ir.on("close",(()=>{sr.emit("close")}));ir.on("finish",(()=>{sr.emit("finish")}));ir.on("error",(ir=>{sr.emit("error",ir)}));ir.on("open",(ir=>{sr.emit("open",ir)}))}sr.BubbleEvents=BubbleEvents;function isWin32(){return Ur.platform()==="win32"}sr.isWin32=isWin32;function getFormatDate(ir){function pad(ir,sr=2){const lr=ir+"";return lr.padStart(sr,"0")}const sr=ir.getFullYear();const lr=ir.getMonth()+1;const hr=ir.getDate();const yr=ir.getHours();const kr=ir.getMinutes();const Fr=ir.getSeconds();const Br=ir.getMilliseconds();return`${sr}-${pad(lr)}-${pad(hr)} ${pad(yr)}:${pad(kr)}:${pad(Fr)}.${pad(Br,3)}`}sr.getFormatDate=getFormatDate},74129:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.session=void 0;sr.session={enable:true,maxAge:24*3600*1e3,key:"MW_SESS",httpOnly:true,logValue:true}},16885:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SessionConfiguration=void 0;const kr=lr(46123);const Fr=lr(74129);const Br=lr(97628);let Ur=class SessionConfiguration{async onReady(){if(this.sessionConfig.enable){this.applicationManager.getApplications(["koa","faas"]).forEach((ir=>{if(ir.on){ir.on("session:missed",(({ctx:ir,key:sr})=>{this.logger.warn("[session][missed] key(%s)",sr)}));ir.on("session:expired",(({ctx:ir,key:sr,value:lr})=>{this.logger.warn("[session][expired] key(%s) value(%j)",sr,this.sessionConfig.logValue?lr:"")}));ir.on("session:invalid",(({ctx:ir,key:sr,value:lr})=>{this.logger.warn("[session][invalid] key(%s) value(%j)",sr,this.sessionConfig.logValue?lr:"")}))}ir.useMiddleware(Br.SessionMiddleware)}))}}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);hr([(0,kr.Logger)("coreLogger"),yr("design:type",Object)],Ur.prototype,"logger",void 0);hr([(0,kr.Config)("session"),yr("design:type",Object)],Ur.prototype,"sessionConfig",void 0);Ur=hr([(0,kr.Configuration)({namespace:"session",importConfigs:[{default:Fr}]})],Ur);sr.SessionConfiguration=Ur},65579:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;yr(lr(58864),sr);var kr=lr(16885);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.SessionConfiguration}});yr(lr(97628),sr);yr(lr(11586),sr)},58864:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.SessionStore=void 0;class SessionStore{}sr.SessionStore=SessionStore},56720:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ContextSession=void 0;const hr=lr(39023);const yr=lr(92355);const kr=lr(16859);const Fr=(0,hr.debuglog)("session:context");class ContextSession{constructor(ir,sr){this.ctx=ir;this.app=ir.app;this.opts=Object.assign({},sr);this.store=this.opts.ContextStore?new this.opts.ContextStore(ir):this.opts.store}get(){const ir=this.session;if(ir)return ir;if(ir===false)return null;this.store?this.create():this.initFromCookie();return this.session}set(ir){if(ir===null){this.session=false;return}if(typeof ir==="object"){this.create(ir,this.externalKey);return}throw new Error("this.session can only be set as null or an object.")}async initFromExternal(){Fr("init from external");const ir=this.ctx;const sr=this.opts;let lr;if(sr.externalKey){lr=sr.externalKey.get(ir);Fr("get external key from custom %s",lr)}else{lr=ir.cookies.get(sr.key,sr);Fr("get external key from cookie %s",lr)}if(!lr){this.create();return}const hr=await this.store.get(lr,sr.maxAge,{ctx:ir,rolling:sr.rolling});if(!this.valid(hr,lr)){this.create();return}this.create(hr,lr);this.prevHash=(0,yr.hash)(this.session.toJSON())}initFromCookie(){Fr("init from cookie");const ir=this.ctx;const sr=this.opts;const lr=ir.cookies.get(sr.key,sr);if(!lr){this.create();return}let hr;Fr("parse %s",lr);try{hr=sr.decode(lr)}catch(hr){Fr("decode %j error: %s",lr,hr);if(!(hr instanceof SyntaxError)){ir.cookies.set(sr.key,"",sr);hr.headers={"set-cookie":ir.response.get("set-cookie")};throw hr}this.create();return}Fr("parsed %j",hr);if(!this.valid(hr)){this.create();return}this.create(hr);this.prevHash=(0,yr.hash)(this.session.toJSON())}valid(ir,sr){const lr=this.ctx;if(!ir){this.emit("missed",{key:sr,value:ir,ctx:lr});return false}if(ir._expire&&ir._expire<Date.now()){Fr("expired session");this.emit("expired",{key:sr,value:ir,ctx:lr});return false}const hr=this.opts.valid;if(typeof hr==="function"&&!hr(lr,ir)){Fr("invalid session");this.emit("invalid",{key:sr,value:ir,ctx:lr});return false}return true}emit(ir,sr){setImmediate((()=>{this.app.emit(`session:${ir}`,sr)}))}create(ir,sr){Fr("create session with val: %j externalKey: %s",ir,sr);if(this.store){this.externalKey=sr||this.opts.genid&&this.opts.genid(this.ctx)}this.session=new kr.Session(this,ir,this.externalKey)}async commit({save:ir=false,regenerate:sr=false}={}){const lr=this.session;const hr=this.opts;const yr=this.ctx;if(undefined===lr)return;if(lr===false){await this.remove();return}if(sr){await this.remove();if(this.store)this.externalKey=hr.genid&&hr.genid(yr)}const kr=ir||sr||lr._requireSave?"force":this._shouldSaveSession();Fr("should save session: %s",kr);if(!kr)return;if(typeof hr.beforeSave==="function"){Fr("before save");hr.beforeSave(yr,lr)}const Br=kr==="changed";await this.save(Br)}_shouldSaveSession(){const ir=this.prevHash;const sr=this.session;const lr=sr.toJSON();if(!ir&&!Object.keys(lr).length)return"";const hr=ir!==(0,yr.hash)(lr);if(hr)return"changed";if(this.opts.rolling)return"rolling";if(this.opts.renew){const ir=sr._expire;const lr=sr.maxAge;if(ir&&lr&&ir-Date.now()<lr/2)return"renew"}return""}async remove(){const ir=Object.assign({},this.opts,{expires:yr.COOKIE_EXP_DATE,maxAge:false});const sr=this.ctx;const lr=ir.key;const hr=this.externalKey;if(hr){await this.store.destroy(hr,{ctx:sr})}sr.cookies.set(lr,"",ir)}async save(ir){const sr=this.opts;const lr=sr.key;const hr=this.externalKey;let kr=this.session.toJSON();let Br=sr.maxAge?sr.maxAge:yr.ONE_DAY;if(Br==="session"){sr.maxAge=undefined;kr._session=true}else{kr._expire=Br+Date.now();kr._maxAge=Br}if(hr){Fr("save %j to external key %s",kr,hr);if(typeof Br==="number"){Br+=1e4}await this.store.set(hr,kr,Br,{changed:ir,ctx:this.ctx,rolling:sr.rolling});if(sr.externalKey){sr.externalKey.set(this.ctx,hr)}else{this.ctx.cookies.set(lr,hr,sr)}return}Fr("save %j to cookie",kr);kr=sr.encode(kr);Fr("save %s",kr);this.ctx.cookies.set(lr,kr,sr)}}sr.ContextSession=ContextSession},81361:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.crc32=void 0;const lr=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];function crc32(ir,sr=false){let hr=~0;for(let sr=0,yr=ir.length;sr<yr;sr++){hr=hr>>>8^lr[(hr^ir.charCodeAt(sr))&255]}hr=Math.abs(hr^-1);return sr?hr.toString(16):hr}sr.crc32=crc32},16859:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Session=void 0;class Session{constructor(ir,sr,lr){this.isNew=true;this._sessCtx=ir;this._ctx=ir.ctx;this._externalKey=lr;if(!sr){this.isNew=true}else{for(const ir in sr){if(ir==="_maxAge")this._ctx.sessionOptions.maxAge=sr._maxAge;else if(ir==="_session")this._ctx.sessionOptions.maxAge="session";else this[ir]=sr[ir]}}}toJSON(){const ir={};Object.keys(this).forEach((sr=>{if(sr==="isNew")return;if(sr[0]==="_")return;ir[sr]=this[sr]}));return ir}get length(){return Object.keys(this.toJSON()).length}get populated(){return!!this.length}get maxAge(){return this._ctx.sessionOptions.maxAge}set maxAge(ir){this._ctx.sessionOptions.maxAge=ir;this._requireSave=true}get externalKey(){return this._externalKey}save(ir){return this.commit({save:true},ir)}regenerate(ir){return this.commit({regenerate:true},ir)}manuallyCommit(){return this.commit()}commit(ir,sr){if(typeof ir==="function"){sr=ir;ir={}}const lr=this._sessCtx.commit(ir);if(sr){lr.then((()=>sr()),sr)}else{return lr}}}sr.Session=Session},11586:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.SessionStoreManager=void 0;const yr=lr(46123);let kr=class SessionStoreManager{setSessionStore(ir){this.sessionStore=ir}getSessionStore(){return this.sessionStore}};kr=hr([(0,yr.Provide)(),(0,yr.Scope)(yr.ScopeEnum.Singleton)],kr);sr.SessionStoreManager=kr},92355:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ONE_DAY=sr.COOKIE_EXP_DATE=sr.hash=sr.encode=sr.decode=void 0;const hr=lr(81361);function decode(ir){const sr=Buffer.from(ir,"base64").toString("utf8");return JSON.parse(sr)}sr.decode=decode;function encode(ir){ir=JSON.stringify(ir);return Buffer.from(ir).toString("base64")}sr.encode=encode;function hash(ir){return(0,hr.crc32)(JSON.stringify(ir))}sr.hash=hash;sr.COOKIE_EXP_DATE=new Date("Thu, 01 Jan 1970 00:00:00 GMT");sr.ONE_DAY=24*60*60*1e3},97628:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SessionMiddleware=void 0;const kr=lr(46123);const Fr=lr(11586);const Br=lr(92355);const Ur=lr(42613);const Wr=lr(56720);const zr=Symbol("context#contextSession");const Jr=Symbol("context#_contextSession");function formatOpts(ir){ir=ir||{};ir.key=ir.key||"koa.sess";if(!("maxAge"in ir))ir.maxAge=ir.maxage;if(ir.overwrite==null)ir.overwrite=true;if(ir.httpOnly==null)ir.httpOnly=true;if(ir.sameSite==null)delete ir.sameSite;if(ir.signed==null)ir.signed=true;if(ir.autoCommit==null)ir.autoCommit=true;if(typeof ir.encode!=="function"){ir.encode=Br.encode}if(typeof ir.decode!=="function"){ir.decode=Br.decode}const sr=ir.store;if(sr){Ur(kr.Types.isFunction(sr.get),"store.get must be function");Ur(kr.Types.isFunction(sr.set),"store.set must be function");Ur(kr.Types.isFunction(sr.destroy),"store.destroy must be function")}const lr=ir.externalKey;if(lr){Ur(kr.Types.isFunction(lr.get),"externalKey.get must be function");Ur(kr.Types.isFunction(lr.set),"externalKey.set must be function")}const hr=ir.ContextStore;if(hr){Ur(kr.Types.isClass(hr),"ContextStore must be a class");Ur(kr.Types.isFunction(hr.prototype.get),"ContextStore.prototype.get must be function");Ur(kr.Types.isFunction(hr.prototype.set),"ContextStore.prototype.set must be function");Ur(kr.Types.isFunction(hr.prototype.destroy),"ContextStore.prototype.destroy must be function")}if(!ir.genid){if(ir.prefix){ir.genid=()=>`${ir.prefix}${kr.Utils.randomUUID()}`}else{ir.genid=kr.Utils.randomUUID}}return ir}function extendContext(ir,sr){if(ir.hasOwnProperty(zr)){return}Object.defineProperties(ir,{[zr]:{get(){if(this[Jr]){return this[Jr]}this[Jr]=new Wr.ContextSession(this,sr);return this[Jr]}},session:{get(){return this[zr].get()},set(ir){this[zr].set(ir)},configurable:true},sessionOptions:{get(){return this[zr].opts}}})}let Hr=class SessionMiddleware{resolve(ir){if(!this.sessionConfig.httpOnly){this.logger.warn("[midway-session]: please set `config.session.httpOnly` to true. It is very dangerous if session can read by client JavaScript.")}const sr=this.sessionStoreManager.getSessionStore();if(sr){this.sessionConfig.store=sr}const lr=formatOpts(this.sessionConfig);extendContext(ir.context,lr);return async function session(ir,sr){const hr=ir[zr];if(hr.store){await hr.initFromExternal()}try{await sr()}finally{if(lr.autoCommit){await hr.commit()}}}}static getName(){return"session"}};hr([(0,kr.Config)("session"),yr("design:type",Object)],Hr.prototype,"sessionConfig",void 0);hr([(0,kr.Logger)(),yr("design:type",Object)],Hr.prototype,"logger",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.SessionStoreManager)],Hr.prototype,"sessionStoreManager",void 0);Hr=hr([(0,kr.Middleware)()],Hr);sr.SessionMiddleware=Hr},96313:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.SocketIOConfiguration=void 0;const yr=lr(46123);let kr=class SocketIOConfiguration{};kr=hr([(0,yr.Configuration)({namespace:"socketIO"})],kr);sr.SocketIOConfiguration=kr},53739:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};Object.defineProperty(sr,"__esModule",{value:true});sr.MidwaySocketIOFramework=void 0;const yr=lr(46123);const kr=lr(39023);const Fr=(0,kr.debuglog)("midway:socket.io");const Br=lr(46966);const Ur=lr(46123);let Wr=class MidwaySocketIOFramework extends yr.BaseFramework{constructor(){super(...arguments);this.namespaceList=[];this.connectionMiddlewareManager=this.createMiddlewareManager()}configure(){return this.configService.getConfiguration("socketIO")}applicationInitialize(){this.app=new Br.Server(this.configurationOptions);this.defineApplicationProperties({useConnectionMiddleware:ir=>this.useConnectionMiddleware(ir),getConnectionMiddleware:()=>this.getConnectionMiddleware()})}async run(){await this.loadMidwayController();if(this.configurationOptions.adapter){this.app.adapter(this.configurationOptions.adapter);this.logger.debug("[midway:socketio] init socket.io-redis ready!")}if(this.configurationOptions.port){this.app.listen(this.configurationOptions.port,this.configurationOptions);this.logger.info(`[midway:socketio] Socket.io server port = ${this.configurationOptions.port} start success`)}else if(this.applicationContext.hasObject(yr.HTTP_SERVER_KEY)){this.app.attach(this.applicationContext.get(yr.HTTP_SERVER_KEY),this.configurationOptions);this.logger.info("[midway:socketio] Socket.io server start success and attach to web server")}}async beforeStop(){return new Promise((ir=>{this.app.close((()=>{setTimeout((()=>{ir()}),1e3)}))}))}getFrameworkType(){return yr.MidwayFrameworkType.WS_IO}async loadMidwayController(){const ir=(0,Ur.listModule)(Ur.WS_CONTROLLER_KEY);for(const sr of ir){await this.addNamespace(sr)}}async addNamespace(ir){var sr,lr;const hr=(0,Ur.getClassMetadata)(Ur.WS_CONTROLLER_KEY,ir);const kr=this.app.of(hr.namespace);this.namespaceList.push(hr.namespace);const Br=(sr=hr.routerOptions.middleware)!==null&&sr!==void 0?sr:[];const Wr=(lr=hr.routerOptions.connectionMiddleware)!==null&&lr!==void 0?lr:[];kr.use(((ir,sr)=>{this.app.createAnonymousContext(ir);ir.requestContext.registerObject("socket",ir);ir.app=this.app;sr()}));kr.on("connect",(sr=>{let lr=this.middlewareService.compose([...this.connectionMiddlewareManager,...Wr],this.app).then((ir=>ir(sr)));const hr=(0,Ur.getClassMetadata)(Ur.WS_EVENT_KEY,ir);const kr={};const zr=hr.filter((ir=>ir.eventType===Ur.WSEventTypeEnum.ON_CONNECTION));if(zr.length){lr=lr.then((()=>Promise.all(zr.map((async lr=>{var hr;kr[lr.propertyName]=kr[lr.propertyName]||{responseEvents:[]};const yr=await sr.requestContext.getAsync(ir);try{const ir=await this.middlewareService.compose([...((hr=lr===null||lr===void 0?void 0:lr.eventOptions)===null||hr===void 0?void 0:hr.middleware)||[],async(ir,hr)=>yr[lr.propertyName].apply(yr,[sr])],this.app);const Fr=await ir(sr);await this.bindSocketResponse(Fr,sr,lr.propertyName,kr)}catch(ir){this.logger.error(ir)}})))))}const Jr=hr.filter((ir=>ir.eventType!==Ur.WSEventTypeEnum.ON_CONNECTION));if(Jr.length){for(const hr of Jr){kr[hr.propertyName]=kr[hr.propertyName]||{responseEvents:[]};if(hr.eventType===Ur.WSEventTypeEnum.ON_MESSAGE){sr.on(hr.messageEventName,(async(...Ur)=>{await lr;const Wr=await sr.requestContext.getAsync(ir);Fr("got message",hr.messageEventName,Ur);try{const lr=await(await this.applyMiddleware((async(sr,lr)=>{var kr;const Fr=await this.middlewareService.compose([...Br,...((kr=hr===null||hr===void 0?void 0:hr.eventOptions)===null||kr===void 0?void 0:kr.middleware)||[],async(sr,lr)=>{const kr=await this.app.getFramework().runGuard(sr,ir,hr.propertyName);if(!kr){throw new yr.MidwayInvokeForbiddenError(hr.propertyName,ir)}return Wr[hr.propertyName].apply(Wr,Ur)}],this.app);return await Fr(sr,lr)})))(sr);if(typeof Ur[Ur.length-1]==="function"){Ur[Ur.length-1](lr)}else{await this.bindSocketResponse(lr,sr,hr.propertyName,kr)}}catch(ir){this.logger.error(ir)}}))}else if(hr.eventType===Ur.WSEventTypeEnum.ON_DISCONNECTION){sr.on("disconnect",(async lr=>{const yr=await sr.requestContext.getAsync(ir);try{const ir=await yr[hr.propertyName].apply(yr,[lr]);await this.bindSocketResponse(ir,sr,hr.propertyName,kr)}catch(ir){this.logger.error(ir)}}))}else{kr[hr.propertyName].responseEvents.push(hr)}}}}));if(kr.adapter&&kr.adapter.on){kr.adapter.on("error",(ir=>{this.logger.error(ir)}))}kr.on("error",(ir=>{this.logger.error(ir)}))}async bindSocketResponse(ir,sr,lr,hr){if(ir&&hr[lr]){for(const yr of hr[lr].responseEvents){if(yr.eventType===Ur.WSEventTypeEnum.EMIT){if(yr.roomName.length){sr=yr.roomName.reduce(((ir,sr)=>ir.to(sr)),sr)}sr.emit.apply(sr,[yr.messageEventName].concat(ir))}else if(yr.eventType===Ur.WSEventTypeEnum.BROADCAST){sr.nsp.emit.apply(sr.nsp,[].concat(ir))}}}}getFrameworkName(){return"midway:socketIO"}useConnectionMiddleware(ir){this.connectionMiddlewareManager.insertLast(ir)}getConnectionMiddleware(){return this.connectionMiddlewareManager}};Wr=hr([(0,Ur.Framework)()],Wr);sr.MidwaySocketIOFramework=Wr},87735:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=sr.createRedisAdapter=sr.Framework=void 0;var kr=lr(53739);Object.defineProperty(sr,"Framework",{enumerable:true,get:function(){return kr.MidwaySocketIOFramework}});var Fr=lr(47191);Object.defineProperty(sr,"createRedisAdapter",{enumerable:true,get:function(){return Fr.createRedisAdapter}});yr(lr(94460),sr);var Br=lr(96313);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return Br.SocketIOConfiguration}})},94460:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},47191:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.createRedisAdapter=void 0;const hr=lr(56748);function createRedisAdapter(ir){if(ir.host&&ir.port){return(0,hr.createAdapter)("redis://"+ir.host+":"+ir.port,ir)}if(ir.pubClient&&ir.subClient){return(0,hr.createAdapter)(ir)}throw new Error("error socket adapter options")}sr.createRedisAdapter=createRedisAdapter},95567:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});const hr=lr(16928);sr["default"]=ir=>({staticFile:{dirs:{default:{prefix:"/public",dir:(0,hr.join)(ir.appDir,"public")}},dynamic:true,preload:false,buffer:false,maxFiles:1e3}})},40647:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.StaticFileConfiguration=void 0;const kr=lr(46123);const Fr=lr(88218);const Br=lr(95567);let Ur=class StaticFileConfiguration{async onConfigLoad(){if(this.applicationManager.getApplication("faas")){return{staticFile:{buffer:true}}}}async onReady(ir){this.applicationManager.getApplications(["koa","faas","egg"]).forEach((sr=>{if(ir.hasNamespace("cross-domain")){sr.getMiddleware().insertAfter(Fr.StaticMiddleware,"cors")}else{sr.getMiddleware().insertFirst(Fr.StaticMiddleware)}}))}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);Ur=hr([(0,kr.Configuration)({namespace:"static-file",importConfigs:[{default:Br}]})],Ur);sr.StaticFileConfiguration=Ur},44803:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DirectoryNotFoundError=sr.StaticFileErrorEnum=void 0;const hr=lr(46123);sr.StaticFileErrorEnum=(0,hr.registerErrorCode)("static_file",{DIRECTORY_NOT_EXISTS:1e4});class DirectoryNotFoundError extends hr.MidwayError{constructor(ir){super(`Path ${ir} not exist, please check it.`,sr.StaticFileErrorEnum.DIRECTORY_NOT_EXISTS)}}sr.DirectoryNotFoundError=DirectoryNotFoundError},2865:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(40647);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.StaticFileConfiguration}});yr(lr(88218),sr);yr(lr(20066),sr);yr(lr(44803),sr)},20066:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},88218:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.StaticMiddleware=void 0;const kr=lr(46123);const Fr=lr(42613);const Br=lr(4239);const Ur=lr(91404);const Wr=lr(93546);const zr=lr(44803);const Jr=lr(79896);let Hr=class StaticMiddleware{async resolve(ir){const sr=Object.values(this.staticFileConfig.dirs);if(this.staticFileConfig.dir){sr.push(this.staticFileConfig.dir)}const lr=[];function rangeMiddleware(ir,sr){const hr=lr.some((sr=>ir.path.startsWith(sr)));if(hr){return Wr(ir,sr)}return sr()}const hr=[rangeMiddleware];for(const ir of sr){Fr(kr.Types.isObject(ir)||kr.Types.isString(ir),"`config.static.dir` must be `string | Array<string|object>`.");const sr=Object.assign({},this.staticFileConfig,ir);if(sr.dynamic&&!sr.files){sr.files=new Ur(sr.maxFiles)}if(sr.prefix){lr.push(sr.prefix)}if(this.environmentService.isPkgEnvironment()){if(!Jr.existsSync(sr.dir)){throw new zr.DirectoryNotFoundError(sr.dir)}}else{if(!await kr.FileUtils.exists(sr.dir)){throw new zr.DirectoryNotFoundError(sr.dir)}}this.logger.info("[midway:static] starting static serve %s -> %s",sr.prefix,sr.dir);hr.push(Br(sr))}return await this.middlewareService.compose(hr,ir,"staticFile")}static getName(){return"staticFile"}};hr([(0,kr.Config)("staticFile"),yr("design:type",Object)],Hr.prototype,"staticFileConfig",void 0);hr([(0,kr.Inject)(),yr("design:type",kr.MidwayMiddlewareService)],Hr.prototype,"middlewareService",void 0);hr([(0,kr.Inject)(),yr("design:type",kr.MidwayEnvironmentService)],Hr.prototype,"environmentService",void 0);hr([(0,kr.Logger)("coreLogger"),yr("design:type",Object)],Hr.prototype,"logger",void 0);Hr=hr([(0,kr.Middleware)()],Hr);sr.StaticMiddleware=Hr},73455:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.isEnumMetadata=sr.isEnumDefined=sr.isEnumArray=sr.addEnumSchema=sr.addEnumArraySchema=sr.getEnumType=sr.getEnumValues=void 0;function getEnumValues(ir){if(Array.isArray(ir)){return ir}if(typeof ir!=="object"){return[]}const sr=Object.keys(ir).filter((ir=>isNaN(Number(ir)))).map((sr=>ir[sr]));return Array.from(new Set(sr))}sr.getEnumValues=getEnumValues;function getEnumType(ir){const sr=ir.filter((ir=>typeof ir==="string")).length>0;return sr?"string":"number"}sr.getEnumType=getEnumType;function addEnumArraySchema(ir,sr){const lr=ir.schema||{};ir.schema=lr;lr.type="array";delete ir.isArray;const hr=getEnumValues(sr.enum);lr.items={type:getEnumType(hr),enum:hr};if(sr.enumName){ir.enumName=sr.enumName}}sr.addEnumArraySchema=addEnumArraySchema;function addEnumSchema(ir,sr){const lr=ir.schema||{};const hr=getEnumValues(sr.enum);ir.schema=lr;lr.enum=hr;lr.type=getEnumType(hr);if(sr.enumName){ir.enumName=sr.enumName}}sr.addEnumSchema=addEnumSchema;const isEnumArray=ir=>ir.isArray&&ir.enum;sr.isEnumArray=isEnumArray;const isEnumDefined=ir=>ir.enum;sr.isEnumDefined=isEnumDefined;const isEnumMetadata=ir=>{var sr;return ir.enum||ir.isArray&&((sr=ir.items)===null||sr===void 0?void 0:sr["enum"])};sr.isEnumMetadata=isEnumMetadata},80163:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.HttpStatus=void 0;var lr;(function(ir){ir[ir["CONTINUE"]=100]="CONTINUE";ir[ir["SWITCHING_PROTOCOLS"]=101]="SWITCHING_PROTOCOLS";ir[ir["PROCESSING"]=102]="PROCESSING";ir[ir["EARLYHINTS"]=103]="EARLYHINTS";ir[ir["OK"]=200]="OK";ir[ir["CREATED"]=201]="CREATED";ir[ir["ACCEPTED"]=202]="ACCEPTED";ir[ir["NON_AUTHORITATIVE_INFORMATION"]=203]="NON_AUTHORITATIVE_INFORMATION";ir[ir["NO_CONTENT"]=204]="NO_CONTENT";ir[ir["RESET_CONTENT"]=205]="RESET_CONTENT";ir[ir["PARTIAL_CONTENT"]=206]="PARTIAL_CONTENT";ir[ir["AMBIGUOUS"]=300]="AMBIGUOUS";ir[ir["MOVED_PERMANENTLY"]=301]="MOVED_PERMANENTLY";ir[ir["FOUND"]=302]="FOUND";ir[ir["SEE_OTHER"]=303]="SEE_OTHER";ir[ir["NOT_MODIFIED"]=304]="NOT_MODIFIED";ir[ir["TEMPORARY_REDIRECT"]=307]="TEMPORARY_REDIRECT";ir[ir["PERMANENT_REDIRECT"]=308]="PERMANENT_REDIRECT";ir[ir["BAD_REQUEST"]=400]="BAD_REQUEST";ir[ir["UNAUTHORIZED"]=401]="UNAUTHORIZED";ir[ir["PAYMENT_REQUIRED"]=402]="PAYMENT_REQUIRED";ir[ir["FORBIDDEN"]=403]="FORBIDDEN";ir[ir["NOT_FOUND"]=404]="NOT_FOUND";ir[ir["METHOD_NOT_ALLOWED"]=405]="METHOD_NOT_ALLOWED";ir[ir["NOT_ACCEPTABLE"]=406]="NOT_ACCEPTABLE";ir[ir["PROXY_AUTHENTICATION_REQUIRED"]=407]="PROXY_AUTHENTICATION_REQUIRED";ir[ir["REQUEST_TIMEOUT"]=408]="REQUEST_TIMEOUT";ir[ir["CONFLICT"]=409]="CONFLICT";ir[ir["GONE"]=410]="GONE";ir[ir["LENGTH_REQUIRED"]=411]="LENGTH_REQUIRED";ir[ir["PRECONDITION_FAILED"]=412]="PRECONDITION_FAILED";ir[ir["PAYLOAD_TOO_LARGE"]=413]="PAYLOAD_TOO_LARGE";ir[ir["URI_TOO_LONG"]=414]="URI_TOO_LONG";ir[ir["UNSUPPORTED_MEDIA_TYPE"]=415]="UNSUPPORTED_MEDIA_TYPE";ir[ir["REQUESTED_RANGE_NOT_SATISFIABLE"]=416]="REQUESTED_RANGE_NOT_SATISFIABLE";ir[ir["EXPECTATION_FAILED"]=417]="EXPECTATION_FAILED";ir[ir["I_AM_A_TEAPOT"]=418]="I_AM_A_TEAPOT";ir[ir["MISDIRECTED"]=421]="MISDIRECTED";ir[ir["UNPROCESSABLE_ENTITY"]=422]="UNPROCESSABLE_ENTITY";ir[ir["FAILED_DEPENDENCY"]=424]="FAILED_DEPENDENCY";ir[ir["PRECONDITION_REQUIRED"]=428]="PRECONDITION_REQUIRED";ir[ir["TOO_MANY_REQUESTS"]=429]="TOO_MANY_REQUESTS";ir[ir["INTERNAL_SERVER_ERROR"]=500]="INTERNAL_SERVER_ERROR";ir[ir["NOT_IMPLEMENTED"]=501]="NOT_IMPLEMENTED";ir[ir["BAD_GATEWAY"]=502]="BAD_GATEWAY";ir[ir["SERVICE_UNAVAILABLE"]=503]="SERVICE_UNAVAILABLE";ir[ir["GATEWAY_TIMEOUT"]=504]="GATEWAY_TIMEOUT";ir[ir["HTTP_VERSION_NOT_SUPPORTED"]=505]="HTTP_VERSION_NOT_SUPPORTED"})(lr=sr.HttpStatus||(sr.HttpStatus={}))},68641:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.swagger=void 0;const hr=lr(3376);const yr=lr(46123);const kr=(0,yr.safeRequire)("swagger-ui-dist");sr.swagger={title:"My Project",description:"This is a swagger-ui for midwayjs project",version:"1.0.0",swaggerPath:"/swagger-ui",swaggerUIRender:kr&&kr.getAbsoluteFSPath?hr.renderSwaggerUIDist:hr.renderSwaggerUIRemote,swaggerUIRenderOptions:{},isGenerateTagForController:true}},9317:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SwaggerConfiguration=void 0;const kr=lr(46123);const Fr=lr(49179);const Br=lr(68641);let Ur=class SwaggerConfiguration{async onReady(ir){const sr=this.applicationManager.getApplications(["express","koa","egg","faas"]);if(sr.length){const lr=await ir.getAsync(Fr.SwaggerExplorer);lr.scanApp();let hr=this.configService.getConfiguration("globalPrefix")||this.configService.getConfiguration("koa.globalPrefix")||this.configService.getConfiguration("express.globalPrefix")||this.configService.getConfiguration("egg.globalPrefix");if(hr){if(!/^\//.test(hr)){hr="/"+hr}lr.addGlobalPrefix(hr)}sr.forEach((ir=>{ir.useMiddleware(Fr.SwaggerMiddleware)}))}}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayApplicationManager)],Ur.prototype,"applicationManager",void 0);hr([(0,kr.Inject)(),yr("design:type",kr.MidwayConfigService)],Ur.prototype,"configService",void 0);Ur=hr([(0,kr.Configuration)({importConfigs:[{default:Br}],namespace:"swagger"})],Ur);sr.SwaggerConfiguration=Ur},48574:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DECORATORS=sr.DECORATORS_METHOD_METADATA=sr.DECORATORS_CLASS_METADATA=sr.DECORATORS_PREFIX=void 0;sr.DECORATORS_PREFIX="swagger";sr.DECORATORS_CLASS_METADATA="swagger:class_metadata";sr.DECORATORS_METHOD_METADATA="swagger:method_metadata";sr.DECORATORS={API_OPERATION:`${sr.DECORATORS_PREFIX}/apiOperation`,API_RESPONSE:`${sr.DECORATORS_PREFIX}/apiResponse`,API_TAGS:`${sr.DECORATORS_PREFIX}/apiUseTags`,API_PARAMETERS:`${sr.DECORATORS_PREFIX}/apiParameters`,API_HEADERS:`${sr.DECORATORS_PREFIX}/apiHeaders`,API_MODEL_PROPERTIES:`${sr.DECORATORS_PREFIX}/apiModelProperties`,API_EXTRA_MODEL:`${sr.DECORATORS_PREFIX}/apiExtraModel`,API_MODEL_PROPERTIES_ARRAY:`${sr.DECORATORS_PREFIX}/apiModelPropertiesArray`,API_SECURITY:`${sr.DECORATORS_PREFIX}/apiSecurity`,API_EXCLUDE_SECURITY:`${sr.DECORATORS_PREFIX}/apiExcludeSecurity`,API_EXCLUDE_ENDPOINT:`${sr.DECORATORS_PREFIX}/apiExcludeEndpoint`,API_EXCLUDE_CONTROLLER:`${sr.DECORATORS_PREFIX}/apiExcludeController`,API_EXTENSION:`${sr.DECORATORS_PREFIX}/apiExtension`}},51102:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiBasicAuth=void 0;const hr=lr(55118);function ApiBasicAuth(ir="basic"){return(0,hr.ApiSecurity)(ir)}sr.ApiBasicAuth=ApiBasicAuth},21873:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiBearerAuth=void 0;const hr=lr(55118);function ApiBearerAuth(ir="bearer"){return(0,hr.ApiSecurity)(ir)}sr.ApiBearerAuth=ApiBearerAuth},65288:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiBody=sr.BodyContentType=void 0;const hr=lr(73455);const yr=lr(15071);var kr;(function(ir){ir["FormUrlEncoded"]="application/x-www-form-urlencoded";ir["JSON"]="application/json";ir["Multipart"]="multipart/form-data";ir["MultipartMixed"]="multipart/mixed";ir["OctetStream"]="application/octet-stream"})(kr=sr.BodyContentType||(sr.BodyContentType={}));const Fr={type:String,required:true};function ApiBody(ir){const[sr,lr]=(0,yr.getTypeIsArrayTuple)(ir.type,ir.isArray);const kr={in:"body",...ir,type:sr,isArray:lr};if((0,hr.isEnumArray)(ir)){(0,hr.addEnumArraySchema)(kr,ir)}else if((0,hr.isEnumDefined)(ir)){(0,hr.addEnumSchema)(kr,ir)}return(0,yr.createParamDecorator)(kr,Fr)}sr.ApiBody=ApiBody},80222:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiCookieAuth=void 0;const hr=lr(55118);function ApiCookieAuth(ir="cookie"){return(0,hr.ApiSecurity)(ir)}sr.ApiCookieAuth=ApiCookieAuth},44097:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiExcludeController=void 0;const hr=lr(46123);const yr=lr(48574);function ApiExcludeController(ir=true){return sr=>{(0,hr.saveClassMetadata)(yr.DECORATORS.API_EXCLUDE_CONTROLLER,{disable:ir},sr)}}sr.ApiExcludeController=ApiExcludeController},61944:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiExcludeEndpoint=void 0;const hr=lr(48574);const yr=lr(15071);function ApiExcludeEndpoint(ir=true){return(0,yr.createMixedDecorator)(hr.DECORATORS.API_EXCLUDE_ENDPOINT,true)}sr.ApiExcludeEndpoint=ApiExcludeEndpoint},70821:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiExtension=void 0;const hr=lr(48574);const yr=lr(15071);function ApiExtension(ir,sr){if(!ir.startsWith("x-")){throw new Error("Extension key is not prefixed. Please ensure you prefix it with `x-`.")}const lr={[ir]:JSON.parse(JSON.stringify(sr))};return(0,yr.createMixedDecorator)(hr.DECORATORS.API_EXTENSION,lr)}sr.ApiExtension=ApiExtension},91582:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiExtraModel=void 0;const hr=lr(48574);const yr=lr(15071);function ApiExtraModel(ir){return(0,yr.createMixedDecorator)(hr.DECORATORS.API_EXTRA_MODEL,ir)}sr.ApiExtraModel=ApiExtraModel},40301:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiHeaders=sr.ApiHeader=void 0;const hr=lr(48574);const yr=lr(73455);const kr=lr(15071);const Fr={name:""};function ApiHeader(ir){const sr={name:!ir.name?Fr.name:ir.name,in:"header",description:ir.description,required:ir.required,schema:{...ir.schema||{},type:"string"}};if(ir.enum){const lr=(0,yr.getEnumValues)(ir.enum);sr.schema={enum:lr,type:(0,yr.getEnumType)(lr)}}return(ir,lr,yr)=>{if(yr){return(0,kr.createMixedDecorator)(hr.DECORATORS.API_HEADERS,sr)(ir,lr,yr)}return(0,kr.createMixedDecorator)(hr.DECORATORS.API_HEADERS,sr)(ir,undefined,undefined)}}sr.ApiHeader=ApiHeader;const ApiHeaders=ir=>(sr,lr,hr)=>{ir.forEach((ir=>ApiHeader(ir)(sr,lr,hr)))};sr.ApiHeaders=ApiHeaders},10555:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiOAuth2=void 0;const hr=lr(55118);function ApiOAuth2(ir,sr="oauth2"){return(0,hr.ApiSecurity)(sr,ir)}sr.ApiOAuth2=ApiOAuth2},39025:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiOperation=void 0;const hr=lr(48574);const yr=lr(15071);const kr={summary:""};function ApiOperation(ir){return(0,yr.createMixedDecorator)(hr.DECORATORS.API_OPERATION,{...kr,...ir})}sr.ApiOperation=ApiOperation},58729:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiParam=void 0;const hr=lr(15071);const yr=lr(73455);const kr={name:"",required:true};function ApiParam(ir){const sr={name:!ir.name?kr.name:ir.name,in:"path",...ir};const lr=ir;if(lr.enum){sr.schema=sr.schema||{};const ir=sr.schema;const hr=(0,yr.getEnumValues)(lr.enum);ir.type=(0,yr.getEnumType)(hr);ir.enum=hr;if(lr.enumName){sr.enumName=lr.enumName}}return(0,hr.createParamDecorator)(sr,kr)}sr.ApiParam=ApiParam},13529:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiResponseProperty=sr.ApiPropertyOptional=sr.createApiPropertyDecorator=sr.ApiProperty=void 0;const hr=lr(48574);const yr=lr(73455);const kr=lr(15071);const isEnumArray=ir=>ir.isArray&&!!ir.enum;function ApiProperty(ir={}){return createApiPropertyDecorator(ir)}sr.ApiProperty=ApiProperty;function createApiPropertyDecorator(ir={}){const[sr,lr]=(0,kr.getTypeIsArrayTuple)(ir.type,ir.isArray);ir={...ir,type:sr};if(isEnumArray(ir)){ir.type="array";const sr=(0,yr.getEnumValues)(ir.enum);ir.items={type:(0,yr.getEnumType)(sr),enum:sr};delete ir.enum}else if(ir.enum){const sr=(0,yr.getEnumValues)(ir.enum);ir.enum=sr;ir.type=(0,yr.getEnumType)(sr)}if(lr){ir.type="array";ir.items={type:sr}}return(0,kr.createPropertyDecorator)(hr.DECORATORS.API_MODEL_PROPERTIES,ir)}sr.createApiPropertyDecorator=createApiPropertyDecorator;function ApiPropertyOptional(ir={}){return ApiProperty({...ir,required:false})}sr.ApiPropertyOptional=ApiPropertyOptional;function ApiResponseProperty(ir={}){return ApiProperty({readOnly:true,...ir})}sr.ApiResponseProperty=ApiResponseProperty},60360:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiQuery=void 0;const hr=lr(73455);const yr=lr(15071);const kr={name:"",required:true};function ApiQuery(ir){const sr=ir;const[lr,Fr]=(0,yr.getTypeIsArrayTuple)(sr.type,sr.isArray);const Br={name:!ir.name?kr.name:ir.name,in:"query",...ir,type:lr};if((0,hr.isEnumArray)(ir)){(0,hr.addEnumArraySchema)(Br,ir)}else if((0,hr.isEnumDefined)(ir)){(0,hr.addEnumSchema)(Br,ir)}if(Fr){Br.isArray=Fr}return(0,yr.createParamDecorator)(Br,kr)}sr.ApiQuery=ApiQuery},95555:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiDefaultResponse=sr.ApiUnsupportedMediaTypeResponse=sr.ApiUnprocessableEntityResponse=sr.ApiServiceUnavailableResponse=sr.ApiRequestTimeoutResponse=sr.ApiPayloadTooLargeResponse=sr.ApiPreconditionFailedResponse=sr.ApiNotImplementedResponse=sr.ApiNotAcceptableResponse=sr.ApiMethodNotAllowedResponse=sr.ApiGoneResponse=sr.ApiGatewayTimeoutResponse=sr.ApiForbiddenResponse=sr.ApiConflictResponse=sr.ApiBadGatewayResponse=sr.ApiInternalServerErrorResponse=sr.ApiNotFoundResponse=sr.ApiTooManyRequestsResponse=sr.ApiUnauthorizedResponse=sr.ApiBadRequestResponse=sr.ApiFoundResponse=sr.ApiMovedPermanentlyResponse=sr.ApiNoContentResponse=sr.ApiAcceptedResponse=sr.ApiCreatedResponse=sr.ApiOkResponse=sr.ApiResponse=void 0;const hr=lr(48574);const yr=lr(15071);const kr=lr(80163);function ApiResponse(ir){const[sr,lr]=(0,yr.getTypeIsArrayTuple)(ir.type,ir.isArray);ir.type=sr;ir.isArray=lr;ir.description=ir.description?ir.description:"";const kr={[ir.status||"default"]:ir};return(0,yr.createMixedDecorator)(hr.DECORATORS.API_RESPONSE,kr)}sr.ApiResponse=ApiResponse;const ApiOkResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.OK});sr.ApiOkResponse=ApiOkResponse;const ApiCreatedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.CREATED});sr.ApiCreatedResponse=ApiCreatedResponse;const ApiAcceptedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.ACCEPTED});sr.ApiAcceptedResponse=ApiAcceptedResponse;const ApiNoContentResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.NO_CONTENT});sr.ApiNoContentResponse=ApiNoContentResponse;const ApiMovedPermanentlyResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.MOVED_PERMANENTLY});sr.ApiMovedPermanentlyResponse=ApiMovedPermanentlyResponse;const ApiFoundResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.FOUND});sr.ApiFoundResponse=ApiFoundResponse;const ApiBadRequestResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.BAD_REQUEST});sr.ApiBadRequestResponse=ApiBadRequestResponse;const ApiUnauthorizedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.UNAUTHORIZED});sr.ApiUnauthorizedResponse=ApiUnauthorizedResponse;const ApiTooManyRequestsResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.TOO_MANY_REQUESTS});sr.ApiTooManyRequestsResponse=ApiTooManyRequestsResponse;const ApiNotFoundResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.NOT_FOUND});sr.ApiNotFoundResponse=ApiNotFoundResponse;const ApiInternalServerErrorResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.INTERNAL_SERVER_ERROR});sr.ApiInternalServerErrorResponse=ApiInternalServerErrorResponse;const ApiBadGatewayResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.BAD_GATEWAY});sr.ApiBadGatewayResponse=ApiBadGatewayResponse;const ApiConflictResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.CONFLICT});sr.ApiConflictResponse=ApiConflictResponse;const ApiForbiddenResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.FORBIDDEN});sr.ApiForbiddenResponse=ApiForbiddenResponse;const ApiGatewayTimeoutResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.GATEWAY_TIMEOUT});sr.ApiGatewayTimeoutResponse=ApiGatewayTimeoutResponse;const ApiGoneResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.GONE});sr.ApiGoneResponse=ApiGoneResponse;const ApiMethodNotAllowedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.METHOD_NOT_ALLOWED});sr.ApiMethodNotAllowedResponse=ApiMethodNotAllowedResponse;const ApiNotAcceptableResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.NOT_ACCEPTABLE});sr.ApiNotAcceptableResponse=ApiNotAcceptableResponse;const ApiNotImplementedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.NOT_IMPLEMENTED});sr.ApiNotImplementedResponse=ApiNotImplementedResponse;const ApiPreconditionFailedResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.PRECONDITION_FAILED});sr.ApiPreconditionFailedResponse=ApiPreconditionFailedResponse;const ApiPayloadTooLargeResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.PAYLOAD_TOO_LARGE});sr.ApiPayloadTooLargeResponse=ApiPayloadTooLargeResponse;const ApiRequestTimeoutResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.REQUEST_TIMEOUT});sr.ApiRequestTimeoutResponse=ApiRequestTimeoutResponse;const ApiServiceUnavailableResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.SERVICE_UNAVAILABLE});sr.ApiServiceUnavailableResponse=ApiServiceUnavailableResponse;const ApiUnprocessableEntityResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.UNPROCESSABLE_ENTITY});sr.ApiUnprocessableEntityResponse=ApiUnprocessableEntityResponse;const ApiUnsupportedMediaTypeResponse=(ir={})=>ApiResponse({...ir,status:kr.HttpStatus.UNSUPPORTED_MEDIA_TYPE});sr.ApiUnsupportedMediaTypeResponse=ApiUnsupportedMediaTypeResponse;const ApiDefaultResponse=(ir={})=>ApiResponse({...ir,status:"default"});sr.ApiDefaultResponse=ApiDefaultResponse},55118:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiExcludeSecurity=sr.ApiSecurity=void 0;const hr=lr(48574);const yr=lr(15071);function ApiSecurity(ir,sr=[]){let lr;if(typeof ir==="string"){lr={[ir]:sr||[]}}else{lr=ir}return(0,yr.createMixedDecorator)(hr.DECORATORS.API_SECURITY,lr)}sr.ApiSecurity=ApiSecurity;function ApiExcludeSecurity(){return(0,yr.createMixedDecorator)(hr.DECORATORS.API_EXCLUDE_SECURITY,true)}sr.ApiExcludeSecurity=ApiExcludeSecurity},37505:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.ApiTags=void 0;const hr=lr(48574);const yr=lr(15071);function ApiTags(ir){return(0,yr.createMixedDecorator)(hr.DECORATORS.API_TAGS,ir)}sr.ApiTags=ApiTags},15071:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.getSchemaPath=sr.getTypeIsArrayTuple=sr.createParamDecorator=sr.createMixedDecorator=sr.createPropertyDecorator=void 0;const hr=lr(46123);const yr=lr(48574);function createPropertyDecorator(ir,sr){return(0,hr.createCustomPropertyDecorator)(ir,sr,false)}sr.createPropertyDecorator=createPropertyDecorator;function createMixedDecorator(ir,sr){return(lr,kr)=>{if(kr){(0,hr.attachPropertyDataToClass)(yr.DECORATORS_METHOD_METADATA,{key:ir,propertyName:kr,metadata:sr},lr,kr)}else{(0,hr.attachClassMetadata)(yr.DECORATORS_CLASS_METADATA,{key:ir,metadata:sr},lr)}}}sr.createMixedDecorator=createMixedDecorator;function createParamDecorator(ir,sr){return createMixedDecorator(yr.DECORATORS.API_PARAMETERS,{...sr,...ir})}sr.createParamDecorator=createParamDecorator;function getTypeIsArrayTuple(ir,sr){if(!ir){return[ir,sr]}if(sr){return[ir,sr]}const lr=Array.isArray(ir);const hr=lr?ir[0]:ir;return[hr,lr]}sr.getTypeIsArrayTuple=getTypeIsArrayTuple;function getSchemaPath(ir){let sr=ir;if(typeof ir!=="string"){sr=ir?ir.name:ir}return`#/components/schemas/${sr}`}sr.getSchemaPath=getSchemaPath},74398:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.getSchemaPath=sr.ApiResponseProperty=sr.ApiPropertyOptional=sr.ApiProperty=void 0;yr(lr(65288),sr);yr(lr(61944),sr);yr(lr(44097),sr);yr(lr(40301),sr);yr(lr(39025),sr);yr(lr(58729),sr);var kr=lr(13529);Object.defineProperty(sr,"ApiProperty",{enumerable:true,get:function(){return kr.ApiProperty}});Object.defineProperty(sr,"ApiPropertyOptional",{enumerable:true,get:function(){return kr.ApiPropertyOptional}});Object.defineProperty(sr,"ApiResponseProperty",{enumerable:true,get:function(){return kr.ApiResponseProperty}});yr(lr(60360),sr);yr(lr(95555),sr);yr(lr(37505),sr);yr(lr(70821),sr);yr(lr(51102),sr);yr(lr(21873),sr);yr(lr(80222),sr);yr(lr(10555),sr);yr(lr(55118),sr);yr(lr(91582),sr);var Fr=lr(15071);Object.defineProperty(sr,"getSchemaPath",{enumerable:true,get:function(){return Fr.getSchemaPath}})},2171:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.DocumentBuilder=void 0;class DocumentBuilder{constructor(){this.document={openapi:"3.0.1",info:{title:"",description:"",version:"1.0.0",contact:{}},tags:[],servers:[],components:{},paths:{}}}setTitle(ir){this.document.info.title=ir;return this}setDescription(ir){this.document.info.description=ir;return this}setVersion(ir){this.document.info.version=ir;return this}setTermsOfService(ir){this.document.info.termsOfService=ir;return this}setContact(ir,sr,lr){this.document.info.contact={name:ir,url:sr,email:lr};return this}setLicense(ir,sr){this.document.info.license={name:ir,url:sr};return this}addServer(ir,sr,lr){this.document.servers.push({url:ir,description:sr,variables:lr});return this}setExternalDoc(ir,sr){this.document.externalDocs={description:ir,url:sr};return this}addPaths(ir){Object.assign(this.document.paths,ir);return this}getPaths(){return this.document.paths}setPaths(ir){this.document.paths=ir;return this}addSchema(ir){if(!this.document.components.schemas){this.document.components.schemas={}}Object.assign(this.document.components.schemas,ir);return this}getSchema(ir){var sr,lr;if((sr=this.document.components)===null||sr===void 0?void 0:sr.schemas){return(lr=this.document.components)===null||lr===void 0?void 0:lr.schemas[ir]}return undefined}addTag(ir,sr="",lr){const hr=this.document.tags||[];if(Array.isArray(ir)){const sr=ir;for(const lr of sr){if(!hr.find((sr=>sr.name===ir))){hr.push({name:lr,description:""})}}return this}if(!hr.find((sr=>sr.name===ir))){hr.push({name:ir,description:sr,externalDocs:lr})}else{hr.forEach((hr=>{if(hr.name===ir){if(sr){hr.description=sr}if(lr){hr.externalDocs=lr}}}))}this.document.tags=hr;return this}addSecurity(ir,sr){this.document.components.securitySchemes={...this.document.components.securitySchemes||{},[ir]:sr};return this}addSecurityRequirements(ir,sr=[]){let lr;if(typeof ir==="string"){lr={[ir]:sr}}else{lr=ir}this.document.security=(this.document.security||[]).concat({...lr});return this}addBearerAuth(ir={type:"http"},sr="bearer"){this.addSecurity(sr,{type:"http",scheme:"bearer",bearerFormat:"JWT",...ir});return this}addOAuth2(ir={type:"oauth2"},sr="oauth2"){if(!sr){sr="oauth2"}this.addSecurity(sr,{type:"oauth2",flows:{...ir===null||ir===void 0?void 0:ir.flows}});return this}addApiKey(ir={type:"apiKey"},sr="api_key"){if(!sr){sr="api_key"}this.addSecurity(sr,{type:"apiKey",in:"header",name:sr,...ir});return this}addBasicAuth(ir={type:"http"},sr="basic"){if(!sr){sr="basic"}this.addSecurity(sr,{type:"http",scheme:"basic",...ir});return this}addCookieAuth(ir="connect.sid",sr={type:"apiKey"},lr="cookie"){if(!ir){ir="connect.sid"}if(!lr){lr="cookie"}this.addSecurity(lr,{type:"apiKey",in:"cookie",name:ir,...sr});return this}sortTags(){const ir=this.document.tags;this.document.tags=ir.sort(((ir,sr)=>{const lr=ir.name;const hr=sr.name;const yr=lr.length>hr.length?hr.length:lr.length;for(let ir=0;ir<yr;ir++){if(lr.charCodeAt(ir)>hr.charCodeAt(ir)){return 1}else if(lr.charCodeAt(ir)<hr.charCodeAt(ir)){return-1}}return 0}))}build(){return this.document}}sr.DocumentBuilder=DocumentBuilder},49179:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.renderJSON=sr.renderSwaggerUIDist=sr.renderSwaggerUIRemote=sr.SwaggerMiddleware=sr.SwaggerExplorer=sr.Configuration=void 0;yr(lr(74398),sr);yr(lr(87448),sr);var kr=lr(9317);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.SwaggerConfiguration}});var Fr=lr(33984);Object.defineProperty(sr,"SwaggerExplorer",{enumerable:true,get:function(){return Fr.SwaggerExplorer}});var Br=lr(64811);Object.defineProperty(sr,"SwaggerMiddleware",{enumerable:true,get:function(){return Br.SwaggerMiddleware}});var Ur=lr(3376);Object.defineProperty(sr,"renderSwaggerUIRemote",{enumerable:true,get:function(){return Ur.renderSwaggerUIRemote}});Object.defineProperty(sr,"renderSwaggerUIDist",{enumerable:true,get:function(){return Ur.renderSwaggerUIDist}});Object.defineProperty(sr,"renderJSON",{enumerable:true,get:function(){return Ur.renderJSON}});yr(lr(48574),sr)},87448:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true})},33984:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SwaggerExplorer=void 0;const kr=lr(46123);const Fr=lr(48574);const Br=lr(2171);const Ur=lr(49179);const Wr=lr(73455);let zr=class SwaggerExplorer{constructor(){this.swaggerConfig={};this.documentBuilder=new Br.DocumentBuilder;this.operationIdFactory=(ir,sr)=>`${ir.toLowerCase()}_${sr.method.toLocaleLowerCase()}`}async init(){var ir,sr,lr,hr,yr,kr,Fr,Br,Ur,Wr,zr,Jr,Hr,Gr,Yr,Qr,Zr,cn,un,Tn,jn,ni,si,pi,di,gi,yi,Ti,Ei,Ci,Pi;this.documentBuilder.setTitle(this.swaggerConfig.title);this.documentBuilder.setVersion(this.swaggerConfig.version);this.documentBuilder.setDescription(this.swaggerConfig.description);if(((ir=this.swaggerConfig)===null||ir===void 0?void 0:ir.contact)&&typeof((sr=this.swaggerConfig)===null||sr===void 0?void 0:sr.contact)==="object"){this.documentBuilder.setContact((hr=(lr=this.swaggerConfig)===null||lr===void 0?void 0:lr.contact)===null||hr===void 0?void 0:hr.name,(kr=(yr=this.swaggerConfig)===null||yr===void 0?void 0:yr.contact)===null||kr===void 0?void 0:kr.url,(Br=(Fr=this.swaggerConfig)===null||Fr===void 0?void 0:Fr.contact)===null||Br===void 0?void 0:Br.email)}if(((Ur=this.swaggerConfig)===null||Ur===void 0?void 0:Ur.license)&&typeof((Wr=this.swaggerConfig)===null||Wr===void 0?void 0:Wr.license)==="object"){this.documentBuilder.setLicense((Jr=(zr=this.swaggerConfig)===null||zr===void 0?void 0:zr.license)===null||Jr===void 0?void 0:Jr.name,(Gr=(Hr=this.swaggerConfig)===null||Hr===void 0?void 0:Hr.license)===null||Gr===void 0?void 0:Gr.url)}if(this.swaggerConfig.termsOfService){this.documentBuilder.setTermsOfService(this.swaggerConfig.termsOfService)}if(((Yr=this.swaggerConfig)===null||Yr===void 0?void 0:Yr.externalDocs)&&typeof((Qr=this.swaggerConfig)===null||Qr===void 0?void 0:Qr.externalDocs)==="object"){this.documentBuilder.setExternalDoc((cn=(Zr=this.swaggerConfig)===null||Zr===void 0?void 0:Zr.externalDocs)===null||cn===void 0?void 0:cn.description,(Tn=(un=this.swaggerConfig)===null||un===void 0?void 0:un.externalDocs)===null||Tn===void 0?void 0:Tn.url)}if(((jn=this.swaggerConfig)===null||jn===void 0?void 0:jn.servers)&&Array.isArray((ni=this.swaggerConfig)===null||ni===void 0?void 0:ni.servers)){for(const ir of(si=this.swaggerConfig)===null||si===void 0?void 0:si.servers){this.documentBuilder.addServer(ir===null||ir===void 0?void 0:ir.url,ir===null||ir===void 0?void 0:ir.description,ir===null||ir===void 0?void 0:ir.variables)}}if(((pi=this.swaggerConfig)===null||pi===void 0?void 0:pi.tags)&&Array.isArray((di=this.swaggerConfig)===null||di===void 0?void 0:di.tags)){for(const ir of(gi=this.swaggerConfig)===null||gi===void 0?void 0:gi.tags){this.documentBuilder.addTag(ir.name,ir.description,ir.externalDocs)}}if((Ti=(yi=this.swaggerConfig)===null||yi===void 0?void 0:yi.documentOptions)===null||Ti===void 0?void 0:Ti.operationIdFactory){this.operationIdFactory=this.swaggerConfig.documentOptions.operationIdFactory}if(Array.isArray((Ei=this.swaggerConfig)===null||Ei===void 0?void 0:Ei.auth)){for(const ir of(Ci=this.swaggerConfig)===null||Ci===void 0?void 0:Ci.auth){this.setAuth(ir)}}else{this.setAuth((Pi=this.swaggerConfig)===null||Pi===void 0?void 0:Pi.auth)}}addGlobalPrefix(ir){if(!ir){return}const sr=this.documentBuilder.getPaths();const lr={};for(const[hr,yr]of Object.entries(sr)){if(!/^\//.test(hr)){lr[`${ir}/${hr}`]=yr}else{lr[`${ir}${hr}`]=yr}}this.documentBuilder.setPaths(lr)}scanApp(){var ir;const sr=(0,kr.listModule)(kr.CONTROLLER_KEY);for(const ir of sr){this.generatePath(ir)}if((ir=this.swaggerConfig)===null||ir===void 0?void 0:ir.tagSortable){this.documentBuilder.sortTags()}}getData(){return this.documentBuilder.build()}getDocumentBuilder(){return this.documentBuilder}generatePath(ir){var sr;const lr=(0,kr.getClassMetadata)(Fr.DECORATORS.API_EXCLUDE_CONTROLLER,ir);if(lr&&lr.disable){return}const hr=(sr=this.swaggerConfig.isGenerateTagForController)!==null&&sr!==void 0?sr:true;this.parseExtraModel(ir);const yr=(0,kr.getClassMetadata)(Fr.DECORATORS_CLASS_METADATA,ir)||[];const Br=(0,kr.getClassMetadata)(kr.INJECT_CUSTOM_PARAM,ir)||[];const Ur=(0,kr.getClassMetadata)(kr.CONTROLLER_KEY,ir);const Wr=Ur.prefix;const zr=yr.filter((ir=>ir.key===Fr.DECORATORS.API_TAGS));let Jr=[];const Hr=[];if(zr.length>0){Jr=parseTags(zr);Jr.forEach((ir=>{addTag(ir,Hr)}))}else{if(hr){const ir={name:"",description:""};if(Wr!=="/"){ir.name=(Ur===null||Ur===void 0?void 0:Ur.routerOptions.tagName)||(/^\//.test(Wr)?Wr.split("/")[1]:Wr);ir.description=(Ur===null||Ur===void 0?void 0:Ur.routerOptions.description)||ir.name}else{ir.name=Ur===null||Ur===void 0?void 0:Ur.routerOptions.tagName;ir.description=(Ur===null||Ur===void 0?void 0:Ur.routerOptions.description)||ir.name}if(ir.name){Jr.push(ir.name);addTag([ir.name,ir.description],Hr)}}else{}}const Gr=(0,kr.getClassMetadata)(kr.WEB_ROUTER_KEY,ir);let Yr=yr.filter((ir=>ir.key===Fr.DECORATORS.API_HEADERS));if(Yr.length>0){Yr=Yr.map((ir=>ir.metadata))}const Qr=yr.filter((ir=>ir.key===Fr.DECORATORS.API_SECURITY));const Zr={};if(Gr&&typeof Gr[Symbol.iterator]==="function"){for(const sr of Gr){let lr=(Wr+sr.path).replace("//","/");lr=replaceUrl(lr,parseParamsInPath(lr));const hr=(0,kr.getPropertyDataFromClass)(Fr.DECORATORS_METHOD_METADATA,ir,sr.method)||[];const Ur=hr.filter((ir=>ir.key===Fr.DECORATORS.API_SECURITY));const zr=hr.filter((ir=>ir.key===Fr.DECORATORS.API_EXCLUDE_ENDPOINT&&ir.propertyName===sr.method));if(zr[0]){continue}if(this.swaggerConfig.routerFilter){const ir=this.swaggerConfig.routerFilter(lr,sr);if(ir){continue}}const Gr=Br[sr.method]||[];const cn=Gr.filter((ir=>{var sr;return ir.key===kr.WEB_ROUTER_PARAM_KEY&&((sr=ir===null||ir===void 0?void 0:ir.metadata)===null||sr===void 0?void 0:sr.type)===kr.RouteParamTypes.BODY}));if(cn.length>1){continue}this.generateRouteMethod(lr,sr,Zr,hr,Gr,Yr,ir);if(Zr[lr][sr.requestMethod].tags.length===0){Zr[lr][sr.requestMethod].tags=Jr}else{Zr[lr][sr.requestMethod].tags.forEach((ir=>{addTag(ir,Hr)}))}const un=hr.filter((ir=>ir.key===Fr.DECORATORS.API_EXTENSION&&ir.propertyName===sr.method));for(const ir of un){if(ir.metadata){Object.assign(Zr[lr][sr.requestMethod],ir.metadata)}}const Tn=hr.find((ir=>ir.key===Fr.DECORATORS.API_EXCLUDE_SECURITY));const jn=Ur.length>0;const ni=yr.find((ir=>ir.key===Fr.DECORATORS.API_EXCLUDE_SECURITY));const si=Qr.length>0;if(Tn){Zr[lr][sr.requestMethod].security=[]}else if(jn){Zr[lr][sr.requestMethod].security=Ur.map((ir=>ir.metadata)).filter(Boolean)}else if(ni){Zr[lr][sr.requestMethod].security=[]}else if(si){Zr[lr][sr.requestMethod].security=Qr.map((ir=>ir.metadata)).filter(Boolean)}}}this.documentBuilder.addPaths(Zr);if(Object.keys(Zr).length>0){Hr.forEach((ir=>{if(Array.isArray(ir)){this.documentBuilder.addTag(ir[0],ir[1])}else{this.documentBuilder.addTag(ir)}}))}}generateRouteMethod(ir,sr,lr,hr,yr,Br,Wr){var zr,Jr,Hr,Gr,Yr,Qr,Zr,cn,un,Tn,jn,ni,si,pi,di,gi,yi,Ti,Ei;const Ci=hr.filter((ir=>ir.key===Fr.DECORATORS.API_OPERATION&&ir.propertyName===sr.method))[0];const Pi=hr.filter((ir=>ir.key===Fr.DECORATORS.API_TAGS&&ir.propertyName===sr.method));const wi=parseTags(Pi);let Fi=lr[ir];if(!Fi){Fi={}}const Ri=[];Fi[sr.requestMethod]={summary:getNotEmptyValue((zr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||zr===void 0?void 0:zr.summary,sr.summary),description:getNotEmptyValue((Jr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||Jr===void 0?void 0:Jr.description,sr.description),operationId:((Hr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||Hr===void 0?void 0:Hr.operationId)||this.getOperationId(Wr.name,sr),tags:wi.length?wi:(Yr=(Gr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||Gr===void 0?void 0:Gr.tags)!==null&&Yr!==void 0?Yr:[]};if(((Qr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||Qr===void 0?void 0:Qr.deprecated)!=null){Fi[sr.requestMethod].deprecated=!!((Zr=Ci===null||Ci===void 0?void 0:Ci.metadata)===null||Zr===void 0?void 0:Zr.deprecated)}const Bi=yr.filter((ir=>{var sr;return ir.key===kr.WEB_ROUTER_PARAM_KEY&&((sr=ir===null||ir===void 0?void 0:ir.metadata)===null||sr===void 0?void 0:sr.type)!==kr.RouteParamTypes.CUSTOM}));const ji=(0,kr.getMethodParamTypes)(Wr,sr.method);const Wi=hr.filter((ir=>ir.key===Fr.DECORATORS.API_PARAMETERS&&ir.propertyName===sr.method));for(const ir of Wi){if(ir.metadata.schema===undefined){ir.metadata.schema={};if(ir.metadata.type){ir.metadata.schema["type"]=ir.metadata.type;delete ir.metadata.type}if(ir.metadata.isArray){ir.metadata.schema["items"]={type:ir.metadata.schema["type"]};ir.metadata.schema["type"]="array";delete ir.metadata.isArray}if(ir.metadata.enum!==undefined){ir.metadata.schema.enum=ir.metadata.enum;delete ir.metadata.enum}}else{delete ir.metadata.type;delete ir.metadata.isArray;delete ir.metadata.enum}const lr=ir.metadata;lr.schema=this.formatType(ir.metadata.schema);if(lr.in==="query"||lr.in==="path"||lr.in==="header"){Ri.push(lr)}else if(lr.in==="body"){lr.content=(cn=lr.content)!==null&&cn!==void 0?cn:{};if(Object.keys(lr.content).length===0){lr.content[lr.contentType||"application/json"]=(un=lr.content[lr.contentType||"application/json"])!==null&&un!==void 0?un:{schema:lr.schema}}for(const ir in lr.content){lr.content[ir].schema=this.formatType(lr.content[ir].schema)}Fi[sr.requestMethod].requestBody=(Tn=Fi[sr.requestMethod].requestBody)!==null&&Tn!==void 0?Tn:{};Fi[sr.requestMethod].requestBody.description=(jn=Fi[sr.requestMethod].requestBody.description)!==null&&jn!==void 0?jn:lr.description;Fi[sr.requestMethod].requestBody.content=(ni=Fi[sr.requestMethod].requestBody.content)!==null&&ni!==void 0?ni:lr.content;Fi[sr.requestMethod].requestBody.required=(si=Fi[sr.requestMethod].requestBody.required)!==null&&si!==void 0?si:lr.required}}for(const lr of Bi){const hr=ji[lr.parameterIndex];const yr={name:(pi=lr===null||lr===void 0?void 0:lr.metadata)===null||pi===void 0?void 0:pi.propertyData,in:convertTypeToString((di=lr.metadata)===null||di===void 0?void 0:di.type),required:false};const Fr=Ri.find((ir=>{var sr;return ir.name===((sr=lr===null||lr===void 0?void 0:lr.metadata)===null||sr===void 0?void 0:sr.propertyData)&&ir.in===yr.in}));if(Fr){continue}if(yr.in==="path"){yr.required=true;if(ir.indexOf("{"+yr.name+"}")===-1){continue}}if(kr.Types.isClass(hr)){this.parseClzz(hr)}if(yr.in==="query"||yr.in==="path"){if(kr.Types.isClass(hr)){const ir=this.documentBuilder.getSchema(hr.name);Object.keys(ir.properties).forEach((sr=>{var lr,hr;const kr={name:sr,in:yr.in,description:(lr=ir.properties[sr])===null||lr===void 0?void 0:lr.description,schema:ir.properties[sr],required:((hr=ir.required)===null||hr===void 0?void 0:hr.includes(sr))||false};Ri.push(kr)}));continue}else{if(!yr.name){continue}yr.schema={type:convertSchemaType((gi=hr===null||hr===void 0?void 0:hr.name)!==null&&gi!==void 0?gi:hr)}}}else if(yr.in==="body"){if(sr.requestMethod===kr.RequestMethod.GET){continue}if(Fi[sr.requestMethod].requestBody){continue}if(((yi=lr.metadata)===null||yi===void 0?void 0:yi.type)===kr.RouteParamTypes.FILESSTREAM){yr.content={};yr.content[Ur.BodyContentType.Multipart]={schema:{type:"object",properties:{files:{type:"array",items:{type:"string",format:"binary"},description:yr.description}}}}}else if(((Ti=lr.metadata)===null||Ti===void 0?void 0:Ti.type)===kr.RouteParamTypes.FILESTREAM){yr.content={};yr.content[Ur.BodyContentType.Multipart]={schema:{type:"object",properties:{file:{type:"string",format:"binary",description:yr.description}}}}}else{if(kr.Types.isClass(hr)){yr.content={"application/json":{schema:{$ref:"#/components/schemas/"+hr.name}}}}else{yr.content={"text/plain":{schema:{type:convertSchemaType((Ei=hr===null||hr===void 0?void 0:hr.name)!==null&&Ei!==void 0?Ei:hr)}}}}}Fi[sr.requestMethod].requestBody={required:true,description:yr.description||yr.name,content:yr.content};continue}Ri.push(yr)}if(Br&&Br.length){Br.forEach((ir=>Ri.unshift(ir)))}const zi=hr.filter((ir=>ir.key===Fr.DECORATORS.API_HEADERS));if(zi.length>0){zi.forEach((ir=>Ri.unshift(ir.metadata)))}Fi[sr.requestMethod].parameters=Ri;const Hi=hr.filter((ir=>ir.key===Fr.DECORATORS.API_RESPONSE&&ir.propertyName===sr.method));const Ki={};for(const ir of Hi){const sr=ir.metadata;const lr=Object.keys(sr);for(const ir of lr){const lr=sr[ir];if(lr.schema){lr.content={"application/json":{schema:this.formatType(lr.schema)}};delete lr.schema}else if(lr.type){if(kr.Types.isClass(lr.type)){this.parseClzz(lr.type);if(lr.isArray){lr.content={"application/json":{schema:{type:"array",items:{$ref:"#/components/schemas/"+lr.type.name}}}}}else{lr.content={"application/json":{schema:{$ref:"#/components/schemas/"+lr.type.name}}}}}else{lr.content={"text/plain":{schema:{type:convertSchemaType(lr.type)}}}}}delete lr.status;delete lr.type;delete lr.isArray;delete lr.format}Object.assign(Ki,sr)}if(Object.keys(Ki).length>0){Fi[sr.requestMethod].responses=Ki}else{Fi[sr.requestMethod].responses={200:{description:"OK"}}}lr[ir]=Fi}getOperationId(ir,sr){return this.operationIdFactory(ir,sr)}parseExtraModel(ir){const sr=(0,kr.getClassMetadata)(Fr.DECORATORS_CLASS_METADATA,ir)||[];const lr=sr.filter((ir=>ir.key===Fr.DECORATORS.API_EXTRA_MODEL));for(const ir of lr){if(Array.isArray(ir.metadata)){for(const sr of ir.metadata){this.parseClzz(sr)}}else{this.parseClzz(ir.metadata)}}}parseSubPropertyType(ir){var sr,lr,hr;let yr;if(ir===null||ir===void 0?void 0:ir.enum){yr={type:ir===null||ir===void 0?void 0:ir.type,enum:ir===null||ir===void 0?void 0:ir.enum,default:ir===null||ir===void 0?void 0:ir.default};if(ir===null||ir===void 0?void 0:ir.description){yr.description=ir===null||ir===void 0?void 0:ir.description}return yr}if((sr=ir===null||ir===void 0?void 0:ir.items)===null||sr===void 0?void 0:sr.enum){yr={type:ir===null||ir===void 0?void 0:ir.type,items:ir===null||ir===void 0?void 0:ir.items,default:ir===null||ir===void 0?void 0:ir.default};if(ir===null||ir===void 0?void 0:ir.description){yr.description=ir===null||ir===void 0?void 0:ir.description}return yr}let Fr=false;let Br=parseTypeSchema(ir===null||ir===void 0?void 0:ir.type);ir===null||ir===void 0?true:delete ir.type;if(Br==="array"){Fr=true;Br=parseTypeSchema((lr=ir===null||ir===void 0?void 0:ir.items)===null||lr===void 0?void 0:lr.type);ir===null||ir===void 0?true:delete ir.items.type}if(ir===null||ir===void 0?void 0:ir.oneOf){yr={oneOf:[]};ir===null||ir===void 0?void 0:ir.oneOf.forEach((ir=>{yr.push(this.parseSubPropertyType(ir))}));ir===null||ir===void 0?true:delete ir.oneOf}if(kr.Types.isClass(Br)){this.parseClzz(Br);if(Fr){yr={type:"array",items:{$ref:"#/components/schemas/"+(Br===null||Br===void 0?void 0:Br.name)}}}else{yr={$ref:"#/components/schemas/"+(Br===null||Br===void 0?void 0:Br.name)}}delete ir.items}else{if(Fr){if(!Br){if((hr=ir===null||ir===void 0?void 0:ir.items)===null||hr===void 0?void 0:hr["$ref"]){ir.items["$ref"]=parseTypeSchema(ir.items["$ref"])}yr={type:"array",items:ir===null||ir===void 0?void 0:ir.items}}else{yr={type:"array",items:{type:convertSchemaType((Br===null||Br===void 0?void 0:Br.name)||Br)}}}delete ir.items}else{yr={type:Br,format:ir===null||ir===void 0?void 0:ir.format};if(yr.type==="Date"){yr.type="string";if(!yr.format){yr.format="date"}}delete ir.format}}return Object.assign(yr,ir)}formatType(ir){if(ir===null){return null}if(ir.enum){if(Array.isArray(ir.enum)){ir.enum.map((ir=>this.formatType(ir)))}else{ir.enum=(0,Wr.getEnumValues)(ir.enum)}}if(ir.not){ir.not=this.formatType(ir.not)}if(ir["$ref"]&&typeof ir["$ref"]==="function"){ir["$ref"]=ir["$ref"]()}if(ir.oneOf){ir.oneOf=ir.oneOf.map((ir=>this.formatType(ir)))}else if(ir.anyOf){ir.anyOf=ir.anyOf.map((ir=>this.formatType(ir)))}else if(ir.allOf){ir.allOf=ir.allOf.map((ir=>this.formatType(ir)))}["not","$ref","oneOf","anyOf","allOf"].forEach((sr=>{if(ir[sr]){delete ir["type"]}}));if(ir.properties){const sr={};for(const lr in ir.properties){sr[lr]=this.formatType(ir.properties[lr])}ir.properties=sr}if(ir.additionalProperties){ir.additionalProperties=this.formatType(ir.additionalProperties)}if(["string","number","boolean","integer"].includes(ir.type)){}else if(ir.type===Number){ir.type="number"}else if(ir.type===String){ir.type="string"}else if(ir.type===Boolean){ir.type="boolean"}else if(ir.type==="date"||ir.type==="Date"||ir.type===Date){ir.type="string";ir.format="date-time"}else if(ir.type===Array||ir.type==="array"){ir.type="array";if(ir.items){ir.items=this.formatType(ir.items)}}else if(Array.isArray(ir.type)){ir.items=this.formatType({type:ir.type[0]});ir.type="array"}else if(ir.type===Object||ir.type==="object"){ir.type="object"}else if(kr.Types.isClass(ir.type)){this.parseClzz(ir.type);ir["$ref"]="#/components/schemas/"+ir.type.name;delete ir["type"]}else if(ir.type instanceof Function){ir.type=ir.type();this.formatType(ir)}return ir}parseClzz(ir){if(this.documentBuilder.getSchema(ir.name)){return this.documentBuilder.getSchema(ir.name)}this.parseExtraModel(ir);const sr=(0,kr.getClassExtendedMetadata)(kr.INJECT_CUSTOM_PROPERTY,ir);const lr={type:"object",properties:{}};this.documentBuilder.addSchema({[ir.name]:lr});if(sr){for(const hr of Object.keys(sr)){const yr=sr[hr].metadata||{};if(!yr.type){yr.type=(0,kr.getPropertyType)(ir.prototype,hr).name}lr.properties[hr]=lr.properties[hr]||{};for(const ir in yr){if(ir==="required"&&yr["required"]){if(!lr.required){lr.required=[]}lr.required.push(hr)}else if(["oneOf","anyOf","allOf"].includes(ir)){lr.properties[hr][ir]=[];yr[ir].forEach((sr=>{lr.properties[hr][ir].push(this.formatType(sr))}))}else if(ir==="not"){lr.properties[hr][ir]=this.formatType(yr[ir])}else if(ir==="type"){this.formatType(yr);if(yr.type){lr.properties[hr].type=yr.type}if(yr["$ref"]){lr.properties[hr].$ref=yr["$ref"]}if(yr.items){lr.properties[hr].items=yr.items}if(yr.format){lr.properties[hr].format=yr.format}if(yr.pattern){lr.properties[hr].pattern=yr.pattern}if(yr.enum){lr.properties[hr].enum=yr.enum}}else if(ir==="items"||ir==="pattern"||ir==="format"||ir==="enum"||ir==="$ref"){}else{lr.properties[hr][ir]=yr[ir]}}}}return lr}setAuth(ir){if(!ir){return}const{authType:sr,name:lr="",addSecurityRequirements:hr=false,...yr}=ir;if(!sr){return}switch(sr){case"basic":{this.documentBuilder.addBasicAuth(yr,lr);break}case"bearer":{this.documentBuilder.addBearerAuth(yr,lr);break}case"cookie":{const{cookieName:ir,securityName:sr,...lr}=yr;this.documentBuilder.addCookieAuth(ir,lr,sr);break}case"oauth2":{this.documentBuilder.addOAuth2(yr,lr);break}case"apikey":{this.documentBuilder.addApiKey(yr,lr);break}case"custom":{this.documentBuilder.addSecurity(lr,yr);break}}if(hr){this.documentBuilder.addSecurityRequirements(lr)}}};hr([(0,kr.Config)("swagger"),yr("design:type",Object)],zr.prototype,"swaggerConfig",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],zr.prototype,"init",null);zr=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],zr);sr.SwaggerExplorer=zr;function parseParamsInPath(ir){const sr=[];ir.split("/").forEach((ir=>{if(ir.startsWith(":")){const lr=ir.slice(1);sr.push(lr)}}));return sr}function replaceUrl(ir,sr){sr.forEach((sr=>{ir=ir.replace(`:${sr}`,`{${sr}}`)}));return ir}function convertTypeToString(ir){switch(ir){case kr.RouteParamTypes.HEADERS:return"header";case kr.RouteParamTypes.QUERY:return"query";case kr.RouteParamTypes.PARAM:return"path";case kr.RouteParamTypes.BODY:case kr.RouteParamTypes.FIELDS:case kr.RouteParamTypes.FILESSTREAM:case kr.RouteParamTypes.FILESTREAM:return"body";default:return"header"}}function convertSchemaType(ir){switch(ir){case"Object":return"object";case"Boolean":return"boolean";case"Number":return"number";case"String":return"string";default:return"object"}}function getNotEmptyValue(...ir){for(const sr of ir){if(sr){return sr}}}function parseTypeSchema(ir){switch(ir){case String:return"string";case Number:return"number";case Boolean:return"boolean";default:if(typeof ir==="function"&&!kr.Types.isClass(ir)){ir=ir()}return ir}}function parseTags(ir){let sr=[];if(ir.length>0){for(const lr of ir){sr=sr.concat(lr.metadata)}}return sr}function addTag(ir,sr=[]){if(sr.find((sr=>{if(Array.isArray(ir)){return sr===ir[0]}else{return sr===ir}}))){}else{sr.push(ir)}}},64811:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.SwaggerMiddleware=void 0;const kr=lr(46123);const Fr=lr(33984);let Br=class SwaggerMiddleware{async init(){if(typeof this.swaggerConfig.swaggerUIRender!=="function"){throw new kr.MidwayInvalidConfigPropertyError("swagger.swaggerRender")}this.swaggerRender=this.swaggerConfig.swaggerUIRender(this.swaggerConfig,this.swaggerExplorer)}resolve(ir){if(ir.getNamespace()==="express"){return async(ir,sr,lr)=>{const hr=ir.path;const yr=await this.swaggerRender(hr);if(yr){const{ext:ir,content:lr}=yr;if(ir===".js"){sr.type("application/javascript")}else if(ir===".map"){sr.type("application/json")}else if(ir===".css"){sr.type("text/css")}else if(ir===".png"){sr.type("image/png")}sr.send(lr)}else{return lr()}}}else{return async(ir,sr)=>{const lr=ir.path;const hr=await this.swaggerRender(lr);if(hr){const{ext:sr,content:lr}=hr;if(sr===".js"){ir.set("Content-Type","application/javascript")}else if(sr===".map"){ir.set("Content-Type","application/json")}else if(sr===".css"){ir.set("Content-Type","text/css")}else if(sr===".png"){ir.set("Content-Type","image/png")}ir.body=lr}else{return sr()}}}}static getName(){return"swagger"}};hr([(0,kr.Config)("swagger"),yr("design:type",Object)],Br.prototype,"swaggerConfig",void 0);hr([(0,kr.Inject)(),yr("design:type",Fr.SwaggerExplorer)],Br.prototype,"swaggerExplorer",void 0);hr([(0,kr.Inject)(),yr("design:type",kr.MidwayEnvironmentService)],Br.prototype,"environmentService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Br.prototype,"init",null);Br=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Br);sr.SwaggerMiddleware=Br},3376:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.renderSwaggerUIRemote=sr.renderJSON=sr.renderSwaggerUIDist=void 0;const hr=lr(46123);const yr=lr(79896);const kr=lr(16928);function renderSwaggerUIDist(ir,sr){const{getAbsoluteFSPath:lr}=(0,hr.safeRequire)("swagger-ui-dist");if(!lr){throw new hr.MidwayCommonError("swagger-ui-dist is not installed")}const Fr=ir.swaggerUIRenderOptions||{};if(Fr.customInitializer){if((0,kr.isAbsolute)(Fr.customInitializer)){Fr.customInitializer=(0,yr.readFileSync)(Fr.customInitializer)}else{throw new hr.MidwayInvalidConfigPropertyError("swagger.swaggerRenderOptions.customInitializer",["Buffer","String"])}}function replaceInfo(sr){let lr=`location.href.replace('${ir.swaggerPath}/index.html', '${ir.swaggerPath}/index.json'),\n validatorUrl: null,`;if(ir.displayOptions){Object.entries(ir.displayOptions).forEach((([ir,sr])=>{const hr=typeof sr==="string"?`'${sr}'`:sr;lr+=`\n${ir}: ${hr},`}))}return sr.replace('"https://petstore.swagger.io/v2/swagger.json",',lr)}const Br=lr();return async lr=>{if(!Br||lr.indexOf(ir.swaggerPath)===-1){return}const hr=lr.split("/");let Ur=hr.pop();if(Ur==="index.json"){return{ext:"json",content:sr.getData()}}if(!Ur){Ur="index.html"}let Wr=(0,yr.readFileSync)((0,kr.join)(Br,Ur));if(Ur==="swagger-initializer.js"&&(Fr===null||Fr===void 0?void 0:Fr.customInitializer)){return{ext:"js",content:Fr.customInitializer}}if(Ur==="index.html"||Ur==="swagger-initializer.js"){Wr=Wr.toString("utf8");Wr=replaceInfo(Wr)}const zr=(0,kr.extname)(Ur);return{ext:zr,content:Wr}}}sr.renderSwaggerUIDist=renderSwaggerUIDist;function renderJSON(ir,sr){return async lr=>{if(lr.indexOf(ir.swaggerPath)===-1){return}const hr=lr.split("/");const yr=hr.pop();if(yr==="index.json"){return{ext:"json",content:sr.getData()}}return}}sr.renderJSON=renderJSON;function renderSwaggerUIRemote(ir,sr){const lr=ir.swaggerUIRenderOptions||{};const hr=(lr===null||lr===void 0?void 0:lr.indexPagePath)||(0,kr.join)(__dirname,"../../index.html");return async lr=>{if(lr.indexOf(ir.swaggerPath)===-1){return}const kr=lr.split("/");let Fr=kr.pop();if(Fr==="index.json"){return{ext:"json",content:sr.getData()}}if(!Fr){Fr="index.html"}if(Fr==="index.html"){const ir=(0,yr.readFileSync)(hr,"utf8");return{ext:"html",content:ir}}return}}sr.renderSwaggerUIRemote=renderSwaggerUIRemote},77053:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.i18n=sr.validate=void 0;sr.validate={validationOptions:{},errorStatus:422};sr.i18n={localeTable:{en_US:{validate:lr(98044)},zh_CN:{validate:lr(62462)}}}},41601:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.ValidateConfiguration=void 0;const kr=lr(46123);const Fr=lr(77053);const Br=lr(75284);const Ur=lr(68255);const Wr=lr(47215);const zr=lr(6482);let Jr=class ValidateConfiguration{async init(){this.decoratorService.registerParameterHandler(zr.VALID_KEY,(({parameterIndex:ir,originParamType:sr,originArgs:lr,metadata:hr})=>{if(!hr.schema){hr.schema=this.validateService.getSchema(sr)}return lr[ir]}))}async onReady(ir){await ir.getAsync(Wr.ValidationPipe);await ir.getAsync(Wr.ParseIntPipe);await ir.getAsync(Wr.ParseBoolPipe);await ir.getAsync(Wr.ParseFloatPipe);await ir.getAsync(Wr.DecoratorValidPipe);this.decoratorService.registerParameterPipes(kr.WEB_ROUTER_PARAM_KEY,[Wr.ValidationPipe])}};hr([(0,kr.Inject)(),yr("design:type",kr.MidwayDecoratorService)],Jr.prototype,"decoratorService",void 0);hr([(0,kr.Inject)(),yr("design:type",Br.ValidateService)],Jr.prototype,"validateService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Jr.prototype,"init",null);Jr=hr([(0,kr.Configuration)({namespace:"validate",imports:[Ur],importConfigs:[{default:Fr}]})],Jr);sr.ValidateConfiguration=Jr},6482:(ir,sr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.VALID_KEY=sr.VALIDATE_KEY=sr.RULES_CLASS_KEY=sr.RULES_KEY=void 0;sr.RULES_KEY="common:rules";sr.RULES_CLASS_KEY="common:class_rules";sr.VALIDATE_KEY="common:validate";sr.VALID_KEY="validate:valid"},61171:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.RuleType=sr.Rule=void 0;const hr=lr(15192);sr.RuleType=hr;const yr=lr(46123);const kr=lr(6482);function Rule(ir,sr={required:true}){return function(lr,Fr){if(Fr){if(!hr.isSchema(ir)){ir=hr.object((0,yr.getClassMetadata)(kr.RULES_KEY,ir)).meta({id:ir.name});if((0,yr.getPropertyType)(lr,Fr).name==="Array"){ir=hr.array().items(ir);if(sr.min){ir=ir.min(sr.min)}if(sr.max){ir=ir.max(sr.max)}}if(sr.required){ir=ir.required()}}(0,yr.attachClassMetadata)(kr.RULES_KEY,ir,lr,Fr)}else{if(hr.isSchema(ir)){}}}}sr.Rule=Rule},99419:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Valid=void 0;const hr=lr(46123);const yr=lr(6482);const kr=lr(47215);function Valid(ir,sr){if(Array.isArray(ir)){sr=ir;ir=undefined}else{sr=sr||[]}return(0,hr.createCustomParamDecorator)(yr.VALID_KEY,{schema:ir},{pipes:[kr.DecoratorValidPipe,...sr]})}sr.Valid=Valid},75995:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.Validate=void 0;const hr=lr(46123);const yr=lr(6482);function Validate(ir={}){return(sr,lr,kr)=>{(0,hr.savePropertyMetadata)(yr.VALIDATE_KEY,ir,sr,lr)}}sr.Validate=Validate},48698:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.OmitDto=sr.PickDto=void 0;const hr=lr(46123);const yr=lr(6482);function PickDto(ir,sr){const pickedDto=function(){};pickedDto.prototype=ir.prototype;const lr=(0,hr.getClassExtendedMetadata)(yr.RULES_KEY,ir);const kr={};for(const ir of sr){if(lr[ir]){kr[ir]=lr[ir]}}(0,hr.saveClassMetadata)(yr.RULES_KEY,kr,pickedDto);return pickedDto}sr.PickDto=PickDto;function OmitDto(ir,sr){const pickedDto=function(){};pickedDto.prototype=ir.prototype;const lr=(0,hr.getClassExtendedMetadata)(yr.RULES_KEY,ir);const kr=Object.assign({},lr);for(const ir of sr){delete kr[ir]}(0,hr.saveClassMetadata)(yr.RULES_KEY,kr,pickedDto);return pickedDto}sr.OmitDto=OmitDto},42429:(ir,sr,lr)=>{"use strict";Object.defineProperty(sr,"__esModule",{value:true});sr.MidwayValidationError=void 0;const hr=lr(46123);const yr=(0,hr.registerErrorCode)("validate",{VALIDATE_FAIL:1e4});class MidwayValidationError extends hr.MidwayHttpError{constructor(ir,sr,lr){super(ir,sr,yr.VALIDATE_FAIL,{cause:lr})}}sr.MidwayValidationError=MidwayValidationError},99375:function(ir,sr,lr){"use strict";var hr=this&&this.__createBinding||(Object.create?function(ir,sr,lr,hr){if(hr===undefined)hr=lr;var yr=Object.getOwnPropertyDescriptor(sr,lr);if(!yr||("get"in yr?!sr.__esModule:yr.writable||yr.configurable)){yr={enumerable:true,get:function(){return sr[lr]}}}Object.defineProperty(ir,hr,yr)}:function(ir,sr,lr,hr){if(hr===undefined)hr=lr;ir[hr]=sr[lr]});var yr=this&&this.__exportStar||function(ir,sr){for(var lr in ir)if(lr!=="default"&&!Object.prototype.hasOwnProperty.call(sr,lr))hr(sr,ir,lr)};Object.defineProperty(sr,"__esModule",{value:true});sr.Configuration=void 0;var kr=lr(41601);Object.defineProperty(sr,"Configuration",{enumerable:true,get:function(){return kr.ValidateConfiguration}});yr(lr(61171),sr);yr(lr(75995),sr);yr(lr(99419),sr);yr(lr(48698),sr);yr(lr(75284),sr);yr(lr(42429),sr);yr(lr(47215),sr)},47215:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.DefaultValuePipe=sr.ParseFloatPipe=sr.ParseBoolPipe=sr.ParseIntPipe=sr.DecoratorValidPipe=sr.ParsePipe=sr.ValidationPipe=sr.AbstractValidationPipe=void 0;const kr=lr(46123);const Fr=lr(75284);const Br=lr(68255);const Ur=lr(6482);const Wr=lr(15192);class AbstractValidationPipe{validateWithSchema(ir,sr,lr){const hr=this.parseValidationOptions(sr);const yr=this.validateService.validateWithSchema(lr,ir,hr);if(yr&&yr.value!==undefined){return yr.value}return ir}validate(ir,sr){const lr=this.parseValidationOptions(sr);if(sr.metaType.isBaseType){return ir}const hr=this.validateService.validate(sr.metaType.originDesign,ir,lr);if(hr&&hr.value){return hr.value}return ir}parseValidationOptions(ir){const sr=(0,kr.getPropertyMetadata)(Ur.VALIDATE_KEY,ir.target,ir.methodName)||{};if(!sr.locale){const lr=ir.target[kr.REQUEST_OBJ_CTX_KEY];if(lr&&lr.getAttr){sr.locale=lr.getAttr(Br.I18N_ATTR_KEY)}}return sr}getSchema(){return undefined}}hr([(0,kr.Inject)(),yr("design:type",Fr.ValidateService)],AbstractValidationPipe.prototype,"validateService",void 0);sr.AbstractValidationPipe=AbstractValidationPipe;let zr=class ValidationPipe extends AbstractValidationPipe{transform(ir,sr){return this.validate(ir,sr)}};zr=hr([(0,kr.Pipe)()],zr);sr.ValidationPipe=zr;class ParsePipe extends AbstractValidationPipe{transform(ir,sr){return this.validateWithSchema(ir,sr,sr.metadata["schema"]||this.getSchema())}}sr.ParsePipe=ParsePipe;let Jr=class DecoratorValidPipe extends ParsePipe{};Jr=hr([(0,kr.Pipe)()],Jr);sr.DecoratorValidPipe=Jr;let Hr=class ParseIntPipe extends ParsePipe{getSchema(){return Wr.number().integer().required()}};Hr=hr([(0,kr.Pipe)()],Hr);sr.ParseIntPipe=Hr;let Gr=class ParseBoolPipe extends ParsePipe{getSchema(){return Wr.boolean().required()}};Gr=hr([(0,kr.Pipe)()],Gr);sr.ParseBoolPipe=Gr;let Yr=class ParseFloatPipe extends ParsePipe{getSchema(){return Wr.number().required()}};Yr=hr([(0,kr.Pipe)()],Yr);sr.ParseFloatPipe=Yr;class DefaultValuePipe{constructor(ir){this.defaultValue=ir}transform(ir,sr){if(ir===undefined||ir===null||typeof ir==="number"&&isNaN(ir)){return this.defaultValue}return ir}}sr.DefaultValuePipe=DefaultValuePipe},75284:function(ir,sr,lr){"use strict";var hr=this&&this.__decorate||function(ir,sr,lr,hr){var yr=arguments.length,kr=yr<3?sr:hr===null?hr=Object.getOwnPropertyDescriptor(sr,lr):hr,Fr;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")kr=Reflect.decorate(ir,sr,lr,hr);else for(var Br=ir.length-1;Br>=0;Br--)if(Fr=ir[Br])kr=(yr<3?Fr(kr):yr>3?Fr(sr,lr,kr):Fr(sr,lr))||kr;return yr>3&&kr&&Object.defineProperty(sr,lr,kr),kr};var yr=this&&this.__metadata||function(ir,sr){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(ir,sr)};Object.defineProperty(sr,"__esModule",{value:true});sr.getSchema=sr.ValidateService=void 0;const kr=lr(46123);const Fr=lr(77053);const Br=lr(6482);const Ur=lr(15192);const Wr=lr(68255);const zr=lr(42429);let Jr=class ValidateService{constructor(){this.messages={}}async init(){const ir=Object.keys(Fr.i18n.localeTable);ir.forEach((ir=>{this.messages[(0,Wr.formatLocale)(ir)]=Object.fromEntries(this.i18nService.getLocaleMapping(ir,"validate"))}))}validate(ir,sr,lr={}){const hr=this.getSchema(ir);return this.validateWithSchema(hr,sr,lr)}validateWithSchema(ir,sr,lr={}){var hr,yr,kr;if(!ir){return undefined}lr.validationOptions=lr.validationOptions||{};lr.validationOptions.errors=lr.validationOptions.errors||{};lr.validationOptions.errors.language=(0,Wr.formatLocale)(this.i18nService.getAvailableLocale(lr.validationOptions.errors.language||lr.locale||this.i18nConfig.defaultLocale,"validate"));const Fr=ir.validate(sr,Object.assign({},(hr=this.validateConfig.validationOptions)!==null&&hr!==void 0?hr:{},{messages:this.messages},(yr=lr.validationOptions)!==null&&yr!==void 0?yr:{}));if(Fr.error){throw new zr.MidwayValidationError(Fr.error.message,(kr=lr===null||lr===void 0?void 0:lr.errorStatus)!==null&&kr!==void 0?kr:this.validateConfig.errorStatus,Fr.error)}else{return Fr}}getSchema(ir){return getSchema(ir)}};hr([(0,kr.Config)("validate"),yr("design:type",Object)],Jr.prototype,"validateConfig",void 0);hr([(0,kr.Config)("i18n"),yr("design:type",Object)],Jr.prototype,"i18nConfig",void 0);hr([(0,kr.Inject)(),yr("design:type",Wr.MidwayI18nServiceSingleton)],Jr.prototype,"i18nService",void 0);hr([(0,kr.Init)(),yr("design:type",Function),yr("design:paramtypes",[]),yr("design:returntype",Promise)],Jr.prototype,"init",null);Jr=hr([(0,kr.Provide)(),(0,kr.Scope)(kr.ScopeEnum.Singleton)],Jr);sr.ValidateService=Jr;function getSchema(ir){const sr=(0,kr.getClassExtendedMetadata)(Br.RULES_KEY,ir);if(sr){return Ur.object(sr)}}sr.getSchema=getSchema},6647:(ir,sr,lr)=>{"use strict";const hr=lr(87016);const yr=lr(16480);const kr={minDomainSegments:2,nonAsciiRx:/[^\x00-\x7f]/,domainControlRx:/[\x00-\x20@\:\/\\#!\$&\'\(\)\*\+,;=\?]/,tldSegmentRx:/^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,domainSegmentRx:/^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,URL:hr.URL||URL};sr.analyze=function(ir,sr={}){if(!ir){return yr.code("DOMAIN_NON_EMPTY_STRING")}if(typeof ir!=="string"){throw new Error("Invalid input: domain must be a string")}if(ir.length>256){return yr.code("DOMAIN_TOO_LONG")}const lr=!kr.nonAsciiRx.test(ir);if(!lr){if(sr.allowUnicode===false){return yr.code("DOMAIN_INVALID_UNICODE_CHARS")}ir=ir.normalize("NFC")}if(kr.domainControlRx.test(ir)){return yr.code("DOMAIN_INVALID_CHARS")}ir=kr.punycode(ir);if(sr.allowFullyQualified&&ir[ir.length-1]==="."){ir=ir.slice(0,-1)}const hr=sr.minDomainSegments||kr.minDomainSegments;const Fr=ir.split(".");if(Fr.length<hr){return yr.code("DOMAIN_SEGMENTS_COUNT")}if(sr.maxDomainSegments){if(Fr.length>sr.maxDomainSegments){return yr.code("DOMAIN_SEGMENTS_COUNT_MAX")}}const Br=sr.tlds;if(Br){const ir=Fr[Fr.length-1].toLowerCase();if(Br.deny&&Br.deny.has(ir)||Br.allow&&!Br.allow.has(ir)){return yr.code("DOMAIN_FORBIDDEN_TLDS")}}for(let ir=0;ir<Fr.length;++ir){const sr=Fr[ir];if(!sr.length){return yr.code("DOMAIN_EMPTY_SEGMENT")}if(sr.length>63){return yr.code("DOMAIN_LONG_SEGMENT")}if(ir<Fr.length-1){if(!kr.domainSegmentRx.test(sr)){return yr.code("DOMAIN_INVALID_CHARS")}}else{if(!kr.tldSegmentRx.test(sr)){return yr.code("DOMAIN_INVALID_TLDS_CHARS")}}}return null};sr.isValid=function(ir,lr){return!sr.analyze(ir,lr)};kr.punycode=function(ir){if(ir.includes("%")){ir=ir.replace(/%/g,"%25")}try{return new kr.URL(`http://${ir}`).host}catch(sr){return ir}}},71099:(ir,sr,lr)=>{"use strict";const hr=lr(39023);const yr=lr(6647);const kr=lr(16480);const Fr={nonAsciiRx:/[^\x00-\x7f]/,encoder:new(hr.TextEncoder||TextEncoder)};sr.analyze=function(ir,sr){return Fr.email(ir,sr)};sr.isValid=function(ir,sr){return!Fr.email(ir,sr)};Fr.email=function(ir,sr={}){if(typeof ir!=="string"){throw new Error("Invalid input: email must be a string")}if(!ir){return kr.code("EMPTY_STRING")}const lr=!Fr.nonAsciiRx.test(ir);if(!lr){if(sr.allowUnicode===false){return kr.code("FORBIDDEN_UNICODE")}ir=ir.normalize("NFC")}const hr=ir.split("@");if(hr.length!==2){return hr.length>2?kr.code("MULTIPLE_AT_CHAR"):kr.code("MISSING_AT_CHAR")}const[Br,Ur]=hr;if(!Br){return kr.code("EMPTY_LOCAL")}if(!sr.ignoreLength){if(ir.length>254){return kr.code("ADDRESS_TOO_LONG")}if(Fr.encoder.encode(Br).length>64){return kr.code("LOCAL_TOO_LONG")}}return Fr.local(Br,lr)||yr.analyze(Ur,sr)};Fr.local=function(ir,sr){const lr=ir.split(".");for(const ir of lr){if(!ir.length){return kr.code("EMPTY_LOCAL_SEGMENT")}if(sr){if(!Fr.atextRx.test(ir)){return kr.code("INVALID_LOCAL_CHARS")}continue}for(const sr of ir){if(Fr.atextRx.test(sr)){continue}const ir=Fr.binary(sr);if(!Fr.atomRx.test(ir)){return kr.code("INVALID_LOCAL_CHARS")}}}};Fr.binary=function(ir){return Array.from(Fr.encoder.encode(ir)).map((ir=>String.fromCharCode(ir))).join("")};Fr.atextRx=/^[\w!#\$%&'\*\+\-/=\?\^`\{\|\}~]+$/;Fr.atomRx=new RegExp(["(?:[\\xc2-\\xdf][\\x80-\\xbf])","(?:\\xe0[\\xa0-\\xbf][\\x80-\\xbf])|(?:[\\xe1-\\xec][\\x80-\\xbf]{2})|(?:\\xed[\\x80-\\x9f][\\x80-\\xbf])|(?:[\\xee-\\xef][\\x80-\\xbf]{2})","(?:\\xf0[\\x90-\\xbf][\\x80-\\xbf]{2})|(?:[\\xf1-\\xf3][\\x80-\\xbf]{3})|(?:\\xf4[\\x80-\\x8f][\\x80-\\xbf]{2})"].join("|"))},16480:(ir,sr)=>{"use strict";sr.codes={EMPTY_STRING:"Address must be a non-empty string",FORBIDDEN_UNICODE:"Address contains forbidden Unicode characters",MULTIPLE_AT_CHAR:"Address cannot contain more than one @ character",MISSING_AT_CHAR:"Address must contain one @ character",EMPTY_LOCAL:"Address local part cannot be empty",ADDRESS_TOO_LONG:"Address too long",LOCAL_TOO_LONG:"Address local part too long",EMPTY_LOCAL_SEGMENT:"Address local part contains empty dot-separated segment",INVALID_LOCAL_CHARS:"Address local part contains invalid character",DOMAIN_NON_EMPTY_STRING:"Domain must be a non-empty string",DOMAIN_TOO_LONG:"Domain too long",DOMAIN_INVALID_UNICODE_CHARS:"Domain contains forbidden Unicode characters",DOMAIN_INVALID_CHARS:"Domain contains invalid character",DOMAIN_INVALID_TLDS_CHARS:"Domain contains invalid tld character",DOMAIN_SEGMENTS_COUNT:"Domain lacks the minimum required number of segments",DOMAIN_SEGMENTS_COUNT_MAX:"Domain contains too many segments",DOMAIN_FORBIDDEN_TLDS:"Domain uses forbidden TLD",DOMAIN_EMPTY_SEGMENT:"Domain contains empty dot-separated segment",DOMAIN_LONG_SEGMENT:"Domain contains dot-separated segment that is too long"};sr.code=function(ir){return{code:ir,error:sr.codes[ir]}}},54990:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(63377);const kr={};sr.regex=function(ir={}){hr(ir.cidr===undefined||typeof ir.cidr==="string","options.cidr must be a string");const sr=ir.cidr?ir.cidr.toLowerCase():"optional";hr(["required","optional","forbidden"].includes(sr),"options.cidr must be one of required, optional, forbidden");hr(ir.version===undefined||typeof ir.version==="string"||Array.isArray(ir.version),"options.version must be a string or an array of string");let lr=ir.version||["ipv4","ipv6","ipvfuture"];if(!Array.isArray(lr)){lr=[lr]}hr(lr.length>=1,"options.version must have at least 1 version specified");for(let ir=0;ir<lr.length;++ir){hr(typeof lr[ir]==="string","options.version must only contain strings");lr[ir]=lr[ir].toLowerCase();hr(["ipv4","ipv6","ipvfuture"].includes(lr[ir]),"options.version contains unknown version "+lr[ir]+" - must be one of ipv4, ipv6, ipvfuture")}lr=Array.from(new Set(lr));const kr=lr.map((ir=>{if(sr==="forbidden"){return yr.ip[ir]}const lr=`\\/${ir==="ipv4"?yr.ip.v4Cidr:yr.ip.v6Cidr}`;if(sr==="required"){return`${yr.ip[ir]}${lr}`}return`${yr.ip[ir]}(?:${lr})?`}));const Fr=`(?:${kr.join("|")})`;const Br=new RegExp(`^${Fr}$`);return{cidr:sr,versions:lr,regex:Br,raw:Fr}}},33618:ir=>{"use strict";const sr={};sr.tlds=["AAA","AARP","ABB","ABBOTT","ABBVIE","ABC","ABLE","ABOGADO","ABUDHABI","AC","ACADEMY","ACCENTURE","ACCOUNTANT","ACCOUNTANTS","ACO","ACTOR","AD","ADS","ADULT","AE","AEG","AERO","AETNA","AF","AFL","AFRICA","AG","AGAKHAN","AGENCY","AI","AIG","AIRBUS","AIRFORCE","AIRTEL","AKDN","AL","ALIBABA","ALIPAY","ALLFINANZ","ALLSTATE","ALLY","ALSACE","ALSTOM","AM","AMAZON","AMERICANEXPRESS","AMERICANFAMILY","AMEX","AMFAM","AMICA","AMSTERDAM","ANALYTICS","ANDROID","ANQUAN","ANZ","AO","AOL","APARTMENTS","APP","APPLE","AQ","AQUARELLE","AR","ARAB","ARAMCO","ARCHI","ARMY","ARPA","ART","ARTE","AS","ASDA","ASIA","ASSOCIATES","AT","ATHLETA","ATTORNEY","AU","AUCTION","AUDI","AUDIBLE","AUDIO","AUSPOST","AUTHOR","AUTO","AUTOS","AVIANCA","AW","AWS","AX","AXA","AZ","AZURE","BA","BABY","BAIDU","BANAMEX","BAND","BANK","BAR","BARCELONA","BARCLAYCARD","BARCLAYS","BAREFOOT","BARGAINS","BASEBALL","BASKETBALL","BAUHAUS","BAYERN","BB","BBC","BBT","BBVA","BCG","BCN","BD","BE","BEATS","BEAUTY","BEER","BENTLEY","BERLIN","BEST","BESTBUY","BET","BF","BG","BH","BHARTI","BI","BIBLE","BID","BIKE","BING","BINGO","BIO","BIZ","BJ","BLACK","BLACKFRIDAY","BLOCKBUSTER","BLOG","BLOOMBERG","BLUE","BM","BMS","BMW","BN","BNPPARIBAS","BO","BOATS","BOEHRINGER","BOFA","BOM","BOND","BOO","BOOK","BOOKING","BOSCH","BOSTIK","BOSTON","BOT","BOUTIQUE","BOX","BR","BRADESCO","BRIDGESTONE","BROADWAY","BROKER","BROTHER","BRUSSELS","BS","BT","BUILD","BUILDERS","BUSINESS","BUY","BUZZ","BV","BW","BY","BZ","BZH","CA","CAB","CAFE","CAL","CALL","CALVINKLEIN","CAM","CAMERA","CAMP","CANON","CAPETOWN","CAPITAL","CAPITALONE","CAR","CARAVAN","CARDS","CARE","CAREER","CAREERS","CARS","CASA","CASE","CASH","CASINO","CAT","CATERING","CATHOLIC","CBA","CBN","CBRE","CC","CD","CENTER","CEO","CERN","CF","CFA","CFD","CG","CH","CHANEL","CHANNEL","CHARITY","CHASE","CHAT","CHEAP","CHINTAI","CHRISTMAS","CHROME","CHURCH","CI","CIPRIANI","CIRCLE","CISCO","CITADEL","CITI","CITIC","CITY","CK","CL","CLAIMS","CLEANING","CLICK","CLINIC","CLINIQUE","CLOTHING","CLOUD","CLUB","CLUBMED","CM","CN","CO","COACH","CODES","COFFEE","COLLEGE","COLOGNE","COM","COMCAST","COMMBANK","COMMUNITY","COMPANY","COMPARE","COMPUTER","COMSEC","CONDOS","CONSTRUCTION","CONSULTING","CONTACT","CONTRACTORS","COOKING","COOL","COOP","CORSICA","COUNTRY","COUPON","COUPONS","COURSES","CPA","CR","CREDIT","CREDITCARD","CREDITUNION","CRICKET","CROWN","CRS","CRUISE","CRUISES","CU","CUISINELLA","CV","CW","CX","CY","CYMRU","CYOU","CZ","DABUR","DAD","DANCE","DATA","DATE","DATING","DATSUN","DAY","DCLK","DDS","DE","DEAL","DEALER","DEALS","DEGREE","DELIVERY","DELL","DELOITTE","DELTA","DEMOCRAT","DENTAL","DENTIST","DESI","DESIGN","DEV","DHL","DIAMONDS","DIET","DIGITAL","DIRECT","DIRECTORY","DISCOUNT","DISCOVER","DISH","DIY","DJ","DK","DM","DNP","DO","DOCS","DOCTOR","DOG","DOMAINS","DOT","DOWNLOAD","DRIVE","DTV","DUBAI","DUNLOP","DUPONT","DURBAN","DVAG","DVR","DZ","EARTH","EAT","EC","ECO","EDEKA","EDU","EDUCATION","EE","EG","EMAIL","EMERCK","ENERGY","ENGINEER","ENGINEERING","ENTERPRISES","EPSON","EQUIPMENT","ER","ERICSSON","ERNI","ES","ESQ","ESTATE","ET","EU","EUROVISION","EUS","EVENTS","EXCHANGE","EXPERT","EXPOSED","EXPRESS","EXTRASPACE","FAGE","FAIL","FAIRWINDS","FAITH","FAMILY","FAN","FANS","FARM","FARMERS","FASHION","FAST","FEDEX","FEEDBACK","FERRARI","FERRERO","FI","FIDELITY","FIDO","FILM","FINAL","FINANCE","FINANCIAL","FIRE","FIRESTONE","FIRMDALE","FISH","FISHING","FIT","FITNESS","FJ","FK","FLICKR","FLIGHTS","FLIR","FLORIST","FLOWERS","FLY","FM","FO","FOO","FOOD","FOOTBALL","FORD","FOREX","FORSALE","FORUM","FOUNDATION","FOX","FR","FREE","FRESENIUS","FRL","FROGANS","FRONTIER","FTR","FUJITSU","FUN","FUND","FURNITURE","FUTBOL","FYI","GA","GAL","GALLERY","GALLO","GALLUP","GAME","GAMES","GAP","GARDEN","GAY","GB","GBIZ","GD","GDN","GE","GEA","GENT","GENTING","GEORGE","GF","GG","GGEE","GH","GI","GIFT","GIFTS","GIVES","GIVING","GL","GLASS","GLE","GLOBAL","GLOBO","GM","GMAIL","GMBH","GMO","GMX","GN","GODADDY","GOLD","GOLDPOINT","GOLF","GOO","GOODYEAR","GOOG","GOOGLE","GOP","GOT","GOV","GP","GQ","GR","GRAINGER","GRAPHICS","GRATIS","GREEN","GRIPE","GROCERY","GROUP","GS","GT","GU","GUARDIAN","GUCCI","GUGE","GUIDE","GUITARS","GURU","GW","GY","HAIR","HAMBURG","HANGOUT","HAUS","HBO","HDFC","HDFCBANK","HEALTH","HEALTHCARE","HELP","HELSINKI","HERE","HERMES","HIPHOP","HISAMITSU","HITACHI","HIV","HK","HKT","HM","HN","HOCKEY","HOLDINGS","HOLIDAY","HOMEDEPOT","HOMEGOODS","HOMES","HOMESENSE","HONDA","HORSE","HOSPITAL","HOST","HOSTING","HOT","HOTELS","HOTMAIL","HOUSE","HOW","HR","HSBC","HT","HU","HUGHES","HYATT","HYUNDAI","IBM","ICBC","ICE","ICU","ID","IE","IEEE","IFM","IKANO","IL","IM","IMAMAT","IMDB","IMMO","IMMOBILIEN","IN","INC","INDUSTRIES","INFINITI","INFO","ING","INK","INSTITUTE","INSURANCE","INSURE","INT","INTERNATIONAL","INTUIT","INVESTMENTS","IO","IPIRANGA","IQ","IR","IRISH","IS","ISMAILI","IST","ISTANBUL","IT","ITAU","ITV","JAGUAR","JAVA","JCB","JE","JEEP","JETZT","JEWELRY","JIO","JLL","JM","JMP","JNJ","JO","JOBS","JOBURG","JOT","JOY","JP","JPMORGAN","JPRS","JUEGOS","JUNIPER","KAUFEN","KDDI","KE","KERRYHOTELS","KERRYLOGISTICS","KERRYPROPERTIES","KFH","KG","KH","KI","KIA","KIDS","KIM","KINDLE","KITCHEN","KIWI","KM","KN","KOELN","KOMATSU","KOSHER","KP","KPMG","KPN","KR","KRD","KRED","KUOKGROUP","KW","KY","KYOTO","KZ","LA","LACAIXA","LAMBORGHINI","LAMER","LANCASTER","LAND","LANDROVER","LANXESS","LASALLE","LAT","LATINO","LATROBE","LAW","LAWYER","LB","LC","LDS","LEASE","LECLERC","LEFRAK","LEGAL","LEGO","LEXUS","LGBT","LI","LIDL","LIFE","LIFEINSURANCE","LIFESTYLE","LIGHTING","LIKE","LILLY","LIMITED","LIMO","LINCOLN","LINK","LIPSY","LIVE","LIVING","LK","LLC","LLP","LOAN","LOANS","LOCKER","LOCUS","LOL","LONDON","LOTTE","LOTTO","LOVE","LPL","LPLFINANCIAL","LR","LS","LT","LTD","LTDA","LU","LUNDBECK","LUXE","LUXURY","LV","LY","MA","MADRID","MAIF","MAISON","MAKEUP","MAN","MANAGEMENT","MANGO","MAP","MARKET","MARKETING","MARKETS","MARRIOTT","MARSHALLS","MATTEL","MBA","MC","MCKINSEY","MD","ME","MED","MEDIA","MEET","MELBOURNE","MEME","MEMORIAL","MEN","MENU","MERCKMSD","MG","MH","MIAMI","MICROSOFT","MIL","MINI","MINT","MIT","MITSUBISHI","MK","ML","MLB","MLS","MM","MMA","MN","MO","MOBI","MOBILE","MODA","MOE","MOI","MOM","MONASH","MONEY","MONSTER","MORMON","MORTGAGE","MOSCOW","MOTO","MOTORCYCLES","MOV","MOVIE","MP","MQ","MR","MS","MSD","MT","MTN","MTR","MU","MUSEUM","MUSIC","MV","MW","MX","MY","MZ","NA","NAB","NAGOYA","NAME","NATURA","NAVY","NBA","NC","NE","NEC","NET","NETBANK","NETFLIX","NETWORK","NEUSTAR","NEW","NEWS","NEXT","NEXTDIRECT","NEXUS","NF","NFL","NG","NGO","NHK","NI","NICO","NIKE","NIKON","NINJA","NISSAN","NISSAY","NL","NO","NOKIA","NORTON","NOW","NOWRUZ","NOWTV","NP","NR","NRA","NRW","NTT","NU","NYC","NZ","OBI","OBSERVER","OFFICE","OKINAWA","OLAYAN","OLAYANGROUP","OLLO","OM","OMEGA","ONE","ONG","ONL","ONLINE","OOO","OPEN","ORACLE","ORANGE","ORG","ORGANIC","ORIGINS","OSAKA","OTSUKA","OTT","OVH","PA","PAGE","PANASONIC","PARIS","PARS","PARTNERS","PARTS","PARTY","PAY","PCCW","PE","PET","PF","PFIZER","PG","PH","PHARMACY","PHD","PHILIPS","PHONE","PHOTO","PHOTOGRAPHY","PHOTOS","PHYSIO","PICS","PICTET","PICTURES","PID","PIN","PING","PINK","PIONEER","PIZZA","PK","PL","PLACE","PLAY","PLAYSTATION","PLUMBING","PLUS","PM","PN","PNC","POHL","POKER","POLITIE","PORN","POST","PR","PRAMERICA","PRAXI","PRESS","PRIME","PRO","PROD","PRODUCTIONS","PROF","PROGRESSIVE","PROMO","PROPERTIES","PROPERTY","PROTECTION","PRU","PRUDENTIAL","PS","PT","PUB","PW","PWC","PY","QA","QPON","QUEBEC","QUEST","RACING","RADIO","RE","READ","REALESTATE","REALTOR","REALTY","RECIPES","RED","REDSTONE","REDUMBRELLA","REHAB","REISE","REISEN","REIT","RELIANCE","REN","RENT","RENTALS","REPAIR","REPORT","REPUBLICAN","REST","RESTAURANT","REVIEW","REVIEWS","REXROTH","RICH","RICHARDLI","RICOH","RIL","RIO","RIP","RO","ROCKS","RODEO","ROGERS","ROOM","RS","RSVP","RU","RUGBY","RUHR","RUN","RW","RWE","RYUKYU","SA","SAARLAND","SAFE","SAFETY","SAKURA","SALE","SALON","SAMSCLUB","SAMSUNG","SANDVIK","SANDVIKCOROMANT","SANOFI","SAP","SARL","SAS","SAVE","SAXO","SB","SBI","SBS","SC","SCB","SCHAEFFLER","SCHMIDT","SCHOLARSHIPS","SCHOOL","SCHULE","SCHWARZ","SCIENCE","SCOT","SD","SE","SEARCH","SEAT","SECURE","SECURITY","SEEK","SELECT","SENER","SERVICES","SEVEN","SEW","SEX","SEXY","SFR","SG","SH","SHANGRILA","SHARP","SHAW","SHELL","SHIA","SHIKSHA","SHOES","SHOP","SHOPPING","SHOUJI","SHOW","SI","SILK","SINA","SINGLES","SITE","SJ","SK","SKI","SKIN","SKY","SKYPE","SL","SLING","SM","SMART","SMILE","SN","SNCF","SO","SOCCER","SOCIAL","SOFTBANK","SOFTWARE","SOHU","SOLAR","SOLUTIONS","SONG","SONY","SOY","SPA","SPACE","SPORT","SPOT","SR","SRL","SS","ST","STADA","STAPLES","STAR","STATEBANK","STATEFARM","STC","STCGROUP","STOCKHOLM","STORAGE","STORE","STREAM","STUDIO","STUDY","STYLE","SU","SUCKS","SUPPLIES","SUPPLY","SUPPORT","SURF","SURGERY","SUZUKI","SV","SWATCH","SWISS","SX","SY","SYDNEY","SYSTEMS","SZ","TAB","TAIPEI","TALK","TAOBAO","TARGET","TATAMOTORS","TATAR","TATTOO","TAX","TAXI","TC","TCI","TD","TDK","TEAM","TECH","TECHNOLOGY","TEL","TEMASEK","TENNIS","TEVA","TF","TG","TH","THD","THEATER","THEATRE","TIAA","TICKETS","TIENDA","TIPS","TIRES","TIROL","TJ","TJMAXX","TJX","TK","TKMAXX","TL","TM","TMALL","TN","TO","TODAY","TOKYO","TOOLS","TOP","TORAY","TOSHIBA","TOTAL","TOURS","TOWN","TOYOTA","TOYS","TR","TRADE","TRADING","TRAINING","TRAVEL","TRAVELERS","TRAVELERSINSURANCE","TRUST","TRV","TT","TUBE","TUI","TUNES","TUSHU","TV","TVS","TW","TZ","UA","UBANK","UBS","UG","UK","UNICOM","UNIVERSITY","UNO","UOL","UPS","US","UY","UZ","VA","VACATIONS","VANA","VANGUARD","VC","VE","VEGAS","VENTURES","VERISIGN","VERSICHERUNG","VET","VG","VI","VIAJES","VIDEO","VIG","VIKING","VILLAS","VIN","VIP","VIRGIN","VISA","VISION","VIVA","VIVO","VLAANDEREN","VN","VODKA","VOLVO","VOTE","VOTING","VOTO","VOYAGE","VU","WALES","WALMART","WALTER","WANG","WANGGOU","WATCH","WATCHES","WEATHER","WEATHERCHANNEL","WEBCAM","WEBER","WEBSITE","WED","WEDDING","WEIBO","WEIR","WF","WHOSWHO","WIEN","WIKI","WILLIAMHILL","WIN","WINDOWS","WINE","WINNERS","WME","WOLTERSKLUWER","WOODSIDE","WORK","WORKS","WORLD","WOW","WS","WTC","WTF","XBOX","XEROX","XFINITY","XIHUAN","XIN","XN--11B4C3D","XN--1CK2E1B","XN--1QQW23A","XN--2SCRJ9C","XN--30RR7Y","XN--3BST00M","XN--3DS443G","XN--3E0B707E","XN--3HCRJ9C","XN--3PXU8K","XN--42C2D9A","XN--45BR5CYL","XN--45BRJ9C","XN--45Q11C","XN--4DBRK0CE","XN--4GBRIM","XN--54B7FTA0CC","XN--55QW42G","XN--55QX5D","XN--5SU34J936BGSG","XN--5TZM5G","XN--6FRZ82G","XN--6QQ986B3XL","XN--80ADXHKS","XN--80AO21A","XN--80AQECDR1A","XN--80ASEHDB","XN--80ASWG","XN--8Y0A063A","XN--90A3AC","XN--90AE","XN--90AIS","XN--9DBQ2A","XN--9ET52U","XN--9KRT00A","XN--B4W605FERD","XN--BCK1B9A5DRE4C","XN--C1AVG","XN--C2BR7G","XN--CCK2B3B","XN--CCKWCXETD","XN--CG4BKI","XN--CLCHC0EA0B2G2A9GCD","XN--CZR694B","XN--CZRS0T","XN--CZRU2D","XN--D1ACJ3B","XN--D1ALF","XN--E1A4C","XN--ECKVDTC9D","XN--EFVY88H","XN--FCT429K","XN--FHBEI","XN--FIQ228C5HS","XN--FIQ64B","XN--FIQS8S","XN--FIQZ9S","XN--FJQ720A","XN--FLW351E","XN--FPCRJ9C3D","XN--FZC2C9E2C","XN--FZYS8D69UVGM","XN--G2XX48C","XN--GCKR3F0F","XN--GECRJ9C","XN--GK3AT1E","XN--H2BREG3EVE","XN--H2BRJ9C","XN--H2BRJ9C8C","XN--HXT814E","XN--I1B6B1A6A2E","XN--IMR513N","XN--IO0A7I","XN--J1AEF","XN--J1AMH","XN--J6W193G","XN--JLQ480N2RG","XN--JVR189M","XN--KCRX77D1X4A","XN--KPRW13D","XN--KPRY57D","XN--KPUT3I","XN--L1ACC","XN--LGBBAT1AD8J","XN--MGB9AWBF","XN--MGBA3A3EJT","XN--MGBA3A4F16A","XN--MGBA7C0BBN0A","XN--MGBAAM7A8H","XN--MGBAB2BD","XN--MGBAH1A3HJKRD","XN--MGBAI9AZGQP6J","XN--MGBAYH7GPA","XN--MGBBH1A","XN--MGBBH1A71E","XN--MGBC0A9AZCG","XN--MGBCA7DZDO","XN--MGBCPQ6GPA1A","XN--MGBERP4A5D4AR","XN--MGBGU82A","XN--MGBI4ECEXP","XN--MGBPL2FH","XN--MGBT3DHD","XN--MGBTX2B","XN--MGBX4CD0AB","XN--MIX891F","XN--MK1BU44C","XN--MXTQ1M","XN--NGBC5AZD","XN--NGBE9E0A","XN--NGBRX","XN--NODE","XN--NQV7F","XN--NQV7FS00EMA","XN--NYQY26A","XN--O3CW4H","XN--OGBPF8FL","XN--OTU796D","XN--P1ACF","XN--P1AI","XN--PGBS0DH","XN--PSSY2U","XN--Q7CE6A","XN--Q9JYB4C","XN--QCKA1PMC","XN--QXA6A","XN--QXAM","XN--RHQV96G","XN--ROVU88B","XN--RVC1E0AM3E","XN--S9BRJ9C","XN--SES554G","XN--T60B56A","XN--TCKWE","XN--TIQ49XQYJ","XN--UNUP4Y","XN--VERMGENSBERATER-CTB","XN--VERMGENSBERATUNG-PWB","XN--VHQUV","XN--VUQ861B","XN--W4R85EL8FHU5DNRA","XN--W4RS40L","XN--WGBH1C","XN--WGBL6A","XN--XHQ521B","XN--XKC2AL3HYE2A","XN--XKC2DL3A5EE0H","XN--Y9A3AQ","XN--YFRO4I67O","XN--YGBI2AMMX","XN--ZFR164B","XXX","XYZ","YACHTS","YAHOO","YAMAXUN","YANDEX","YE","YODOBASHI","YOGA","YOKOHAMA","YOU","YOUTUBE","YT","YUN","ZA","ZAPPOS","ZARA","ZERO","ZIP","ZM","ZONE","ZUERICH","ZW"];ir.exports=new Set(sr.tlds.map((ir=>ir.toLowerCase())))},63377:(ir,sr,lr)=>{"use strict";const hr=lr(99583);const yr=lr(43935);const kr={};kr.generate=function(){const ir={};const sr="\\dA-Fa-f";const lr="["+sr+"]";const hr="\\w-\\.~";const yr="!\\$&'\\(\\)\\*\\+,;=";const kr="%"+sr;const Fr=hr+kr+yr+":@";const Br="["+Fr+"]";const Ur="(?:0{0,2}\\d|0?[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])";ir.ipv4address="(?:"+Ur+"\\.){3}"+Ur;const Wr=lr+"{1,4}";const zr="(?:"+Wr+":"+Wr+"|"+ir.ipv4address+")";const Jr="(?:"+Wr+":){6}"+zr;const Hr="::(?:"+Wr+":){5}"+zr;const Gr="(?:"+Wr+")?::(?:"+Wr+":){4}"+zr;const Yr="(?:(?:"+Wr+":){0,1}"+Wr+")?::(?:"+Wr+":){3}"+zr;const Qr="(?:(?:"+Wr+":){0,2}"+Wr+")?::(?:"+Wr+":){2}"+zr;const Zr="(?:(?:"+Wr+":){0,3}"+Wr+")?::"+Wr+":"+zr;const cn="(?:(?:"+Wr+":){0,4}"+Wr+")?::"+zr;const un="(?:(?:"+Wr+":){0,5}"+Wr+")?::"+Wr;const Tn="(?:(?:"+Wr+":){0,6}"+Wr+")?::";ir.ipv4Cidr="(?:\\d|[1-2]\\d|3[0-2])";ir.ipv6Cidr="(?:0{0,2}\\d|0?[1-9]\\d|1[01]\\d|12[0-8])";ir.ipv6address="(?:"+Jr+"|"+Hr+"|"+Gr+"|"+Yr+"|"+Qr+"|"+Zr+"|"+cn+"|"+un+"|"+Tn+")";ir.ipvFuture="v"+lr+"+\\.["+hr+yr+":]+";ir.scheme="[a-zA-Z][a-zA-Z\\d+-\\.]*";ir.schemeRegex=new RegExp(ir.scheme);const jn="["+hr+kr+yr+":]*";const ni="\\[(?:"+ir.ipv6address+"|"+ir.ipvFuture+")\\]";const si="["+hr+kr+yr+"]{1,255}";const pi="(?:"+ni+"|"+ir.ipv4address+"|"+si+")";const di="\\d*";const gi="(?:"+jn+"@)?"+pi+"(?::"+di+")?";const yi="(?:"+jn+"@)?("+pi+")(?::"+di+")?";const Ti=Br+"*";const Ei=Br+"+";const Ci="["+hr+kr+yr+"@"+"]+";const Pi="";const wi="(?:\\/"+Ti+")*";const Fi="\\/(?:"+Ei+wi+")?";const Ri=Ei+wi;const Bi=Ci+wi;const ji="(?:\\/\\/\\/"+Ti+wi+")";ir.hierPart="(?:"+"(?:\\/\\/"+gi+wi+")"+"|"+Fi+"|"+Ri+"|"+ji+")";ir.hierPartCapture="(?:"+"(?:\\/\\/"+yi+wi+")"+"|"+Fi+"|"+Ri+")";ir.relativeRef="(?:"+"(?:\\/\\/"+gi+wi+")"+"|"+Fi+"|"+Bi+"|"+Pi+")";ir.relativeRefCapture="(?:"+"(?:\\/\\/"+yi+wi+")"+"|"+Fi+"|"+Bi+"|"+Pi+")";ir.query="["+Fr+"\\/\\?]*(?=#|$)";ir.queryWithSquareBrackets="["+Fr+"\\[\\]\\/\\?]*(?=#|$)";ir.fragment="["+Fr+"\\/\\?]*";return ir};kr.rfc3986=kr.generate();sr.ip={v4Cidr:kr.rfc3986.ipv4Cidr,v6Cidr:kr.rfc3986.ipv6Cidr,ipv4:kr.rfc3986.ipv4address,ipv6:kr.rfc3986.ipv6address,ipvfuture:kr.rfc3986.ipvFuture};kr.createRegex=function(ir){const sr=kr.rfc3986;const lr=ir.allowQuerySquareBrackets?sr.queryWithSquareBrackets:sr.query;const Fr="(?:\\?"+lr+")?"+"(?:#"+sr.fragment+")?";const Br=ir.domain?sr.relativeRefCapture:sr.relativeRef;if(ir.relativeOnly){return kr.wrap(Br+Fr)}let Ur="";if(ir.scheme){hr(ir.scheme instanceof RegExp||typeof ir.scheme==="string"||Array.isArray(ir.scheme),"scheme must be a RegExp, String, or Array");const lr=[].concat(ir.scheme);hr(lr.length>=1,"scheme must have at least 1 scheme specified");const kr=[];for(let ir=0;ir<lr.length;++ir){const Fr=lr[ir];hr(Fr instanceof RegExp||typeof Fr==="string","scheme at position "+ir+" must be a RegExp or String");if(Fr instanceof RegExp){kr.push(Fr.source.toString())}else{hr(sr.schemeRegex.test(Fr),"scheme at position "+ir+" must be a valid scheme");kr.push(yr(Fr))}}Ur=kr.join("|")}const Wr=Ur?"(?:"+Ur+")":sr.scheme;const zr="(?:"+Wr+":"+(ir.domain?sr.hierPartCapture:sr.hierPart)+")";const Jr=ir.allowRelative?"(?:"+zr+"|"+Br+")":zr;return kr.wrap(Jr+Fr,Ur)};kr.wrap=function(ir,sr){ir=`(?=.)(?!https?:/(?:$|[^/]))(?!https?:///)(?!https?:[^/])${ir}`;return{raw:ir,regex:new RegExp(`^${ir}$`),scheme:sr}};kr.uriRegex=kr.createRegex({});sr.regex=function(ir={}){if(ir.scheme||ir.allowRelative||ir.relativeOnly||ir.allowQuerySquareBrackets||ir.domain){return kr.createRegex(ir)}return kr.uriRegex}},25673:(ir,sr)=>{"use strict";const lr={operators:["!","^","*","/","%","+","-","<","<=",">",">=","==","!=","&&","||","??"],operatorCharacters:["!","^","*","/","%","+","-","<","=",">","&","|","?"],operatorsOrder:[["^"],["*","/","%"],["+","-"],["<","<=",">",">="],["==","!="],["&&"],["||","??"]],operatorsPrefix:["!","n"],literals:{'"':'"',"`":"`","'":"'","[":"]"},numberRx:/^(?:[0-9]*(\.[0-9]*)?){1}$/,tokenRx:/^[\w\$\#\.\@\:\{\}]+$/,symbol:Symbol("formula"),settings:Symbol("settings")};sr.Parser=class{constructor(ir,sr={}){if(!sr[lr.settings]&&sr.constants){for(const ir in sr.constants){const lr=sr.constants[ir];if(lr!==null&&!["boolean","number","string"].includes(typeof lr)){throw new Error(`Formula constant ${ir} contains invalid ${typeof lr} value type`)}}}this.settings=sr[lr.settings]?sr:Object.assign({[lr.settings]:true,constants:{},functions:{}},sr);this.single=null;this._parts=null;this._parse(ir)}_parse(ir){let hr=[];let yr="";let kr=0;let Fr=false;const flush=ir=>{if(kr){throw new Error("Formula missing closing parenthesis")}const Br=hr.length?hr[hr.length-1]:null;if(!Fr&&!yr&&!ir){return}if(Br&&Br.type==="reference"&&ir===")"){Br.type="function";Br.value=this._subFormula(yr,Br.value);yr="";return}if(ir===")"){const ir=new sr.Parser(yr,this.settings);hr.push({type:"segment",value:ir})}else if(Fr){if(Fr==="]"){hr.push({type:"reference",value:yr});yr="";return}hr.push({type:"literal",value:yr})}else if(lr.operatorCharacters.includes(yr)){if(Br&&Br.type==="operator"&&lr.operators.includes(Br.value+yr)){Br.value+=yr}else{hr.push({type:"operator",value:yr})}}else if(yr.match(lr.numberRx)){hr.push({type:"constant",value:parseFloat(yr)})}else if(this.settings.constants[yr]!==undefined){hr.push({type:"constant",value:this.settings.constants[yr]})}else{if(!yr.match(lr.tokenRx)){throw new Error(`Formula contains invalid token: ${yr}`)}hr.push({type:"reference",value:yr})}yr=""};for(const sr of ir){if(Fr){if(sr===Fr){flush();Fr=false}else{yr+=sr}}else if(kr){if(sr==="("){yr+=sr;++kr}else if(sr===")"){--kr;if(!kr){flush(sr)}else{yr+=sr}}else{yr+=sr}}else if(sr in lr.literals){Fr=lr.literals[sr]}else if(sr==="("){flush();++kr}else if(lr.operatorCharacters.includes(sr)){flush();yr=sr;flush()}else if(sr!==" "){yr+=sr}else{flush()}}flush();hr=hr.map(((ir,sr)=>{if(ir.type!=="operator"||ir.value!=="-"||sr&&hr[sr-1].type!=="operator"){return ir}return{type:"operator",value:"n"}}));let Br=false;for(const ir of hr){if(ir.type==="operator"){if(lr.operatorsPrefix.includes(ir.value)){continue}if(!Br){throw new Error("Formula contains an operator in invalid position")}if(!lr.operators.includes(ir.value)){throw new Error(`Formula contains an unknown operator ${ir.value}`)}}else if(Br){throw new Error("Formula missing expected operator")}Br=!Br}if(!Br){throw new Error("Formula contains invalid trailing operator")}if(hr.length===1&&["reference","literal","constant"].includes(hr[0].type)){this.single={type:hr[0].type==="reference"?"reference":"value",value:hr[0].value}}this._parts=hr.map((ir=>{if(ir.type==="operator"){return lr.operatorsPrefix.includes(ir.value)?ir:ir.value}if(ir.type!=="reference"){return ir.value}if(this.settings.tokenRx&&!this.settings.tokenRx.test(ir.value)){throw new Error(`Formula contains invalid reference ${ir.value}`)}if(this.settings.reference){return this.settings.reference(ir.value)}return lr.reference(ir.value)}))}_subFormula(ir,hr){const yr=this.settings.functions[hr];if(typeof yr!=="function"){throw new Error(`Formula contains unknown function ${hr}`)}let kr=[];if(ir){let sr="";let yr=0;let Fr=false;const flush=()=>{if(!sr){throw new Error(`Formula contains function ${hr} with invalid arguments ${ir}`)}kr.push(sr);sr=""};for(let hr=0;hr<ir.length;++hr){const kr=ir[hr];if(Fr){sr+=kr;if(kr===Fr){Fr=false}}else if(kr in lr.literals&&!yr){sr+=kr;Fr=lr.literals[kr]}else if(kr===","&&!yr){flush()}else{sr+=kr;if(kr==="("){++yr}else if(kr===")"){--yr}}}flush()}kr=kr.map((ir=>new sr.Parser(ir,this.settings)));return function(ir){const sr=[];for(const lr of kr){sr.push(lr.evaluate(ir))}return yr.call(ir,...sr)}}evaluate(ir){const sr=this._parts.slice();for(let hr=sr.length-2;hr>=0;--hr){const yr=sr[hr];if(yr&&yr.type==="operator"){const kr=sr[hr+1];sr.splice(hr+1,1);const Fr=lr.evaluate(kr,ir);sr[hr]=lr.single(yr.value,Fr)}}lr.operatorsOrder.forEach((hr=>{for(let yr=1;yr<sr.length-1;){if(hr.includes(sr[yr])){const hr=sr[yr];const kr=lr.evaluate(sr[yr-1],ir);const Fr=lr.evaluate(sr[yr+1],ir);sr.splice(yr,2);const Br=lr.calculate(hr,kr,Fr);sr[yr-1]=Br===0?0:Br}else{yr+=2}}}));return lr.evaluate(sr[0],ir)}};sr.Parser.prototype[lr.symbol]=true;lr.reference=function(ir){return function(sr){return sr&&sr[ir]!==undefined?sr[ir]:null}};lr.evaluate=function(ir,sr){if(ir===null){return null}if(typeof ir==="function"){return ir(sr)}if(ir[lr.symbol]){return ir.evaluate(sr)}return ir};lr.single=function(ir,sr){if(ir==="!"){return sr?false:true}const lr=-sr;if(lr===0){return 0}return lr};lr.calculate=function(ir,sr,hr){if(ir==="??"){return lr.exists(sr)?sr:hr}if(typeof sr==="string"||typeof hr==="string"){if(ir==="+"){sr=lr.exists(sr)?sr:"";hr=lr.exists(hr)?hr:"";return sr+hr}}else{switch(ir){case"^":return Math.pow(sr,hr);case"*":return sr*hr;case"/":return sr/hr;case"%":return sr%hr;case"+":return sr+hr;case"-":return sr-hr}}switch(ir){case"<":return sr<hr;case"<=":return sr<=hr;case">":return sr>hr;case">=":return sr>=hr;case"==":return sr===hr;case"!=":return sr!==hr;case"&&":return sr&&hr;case"||":return sr||hr}return null};lr.exists=function(ir){return ir!==null&&ir!==undefined}},533:(ir,sr)=>{"use strict";const lr={};sr.location=function(ir=0){const sr=Error.prepareStackTrace;Error.prepareStackTrace=(ir,sr)=>sr;const lr={};Error.captureStackTrace(lr,this);const hr=lr.stack[ir+1];Error.prepareStackTrace=sr;return{filename:hr.getFileName(),line:hr.getLineNumber()}}},90167:(ir,sr,lr)=>{"use strict";
3
3
  /*!
4
4
  * accepts