@samchon/openapi
Version:
OpenAPI definitions and converters for 'typia' and 'nestia'.
1 lines • 3.23 kB
Source Map (JSON)
{"version":3,"file":"HttpMigrateApplicationComposer.mjs","sources":["../../../src/composers/migrate/HttpMigrateApplicationComposer.ts"],"sourcesContent":["import { OpenApi } from \"../../OpenApi\";\nimport { IHttpMigrateApplication } from \"../../structures/IHttpMigrateApplication\";\nimport { IHttpMigrateRoute } from \"../../structures/IHttpMigrateRoute\";\nimport { EndpointUtil } from \"../../utils/EndpointUtil\";\nimport { HttpMigrateRouteAccessor } from \"./HttpMigrateRouteAccessor\";\nimport { HttpMigrateRouteComposer } from \"./HttpMigrateRouteComposer\";\n\nexport namespace HttpMigrateApplicationComposer {\n export const compose = (\n document: OpenApi.IDocument,\n ): IHttpMigrateApplication => {\n const errors: IHttpMigrateApplication.IError[] = [];\n const entire: Array<IHttpMigrateRoute | null> = Object.entries({\n ...(document.paths ?? {}),\n ...(document.webhooks ?? {}),\n })\n .map(([path, collection]) =>\n ([\"head\", \"get\", \"post\", \"put\", \"patch\", \"delete\"] as const)\n .filter((method) => collection[method] !== undefined)\n .map((method) => {\n const operation: OpenApi.IOperation = collection[method]!;\n const migrated: IHttpMigrateRoute | string[] =\n HttpMigrateRouteComposer.compose({\n document,\n method,\n path,\n emendedPath: EndpointUtil.reJoinWithDecimalParameters(path),\n operation,\n });\n if (Array.isArray(migrated)) {\n errors.push({\n method,\n path,\n operation: () => operation,\n messages: migrated,\n });\n return null;\n }\n return migrated;\n }),\n )\n .flat();\n const operations: IHttpMigrateRoute[] = entire.filter(\n (o): o is IHttpMigrateRoute => !!o,\n );\n HttpMigrateRouteAccessor.overwrite(operations);\n return {\n document: () => document,\n routes: operations,\n errors,\n } satisfies IHttpMigrateApplication as IHttpMigrateApplication;\n };\n}\n"],"names":["HttpMigrateApplicationComposer","compose","document","errors","entire","Object","entries","paths","webhooks","map","path","collection","filter","method","undefined","operation","migrated","HttpMigrateRouteComposer","emendedPath","EndpointUtil","reJoinWithDecimalParameters","Array","isArray","push","messages","flat","operations","o","HttpMigrateRouteAccessor","overwrite","routes"],"mappings":";;;;;;AAOM,IAAWA;;CAAjB,SAAiBA;IACFA,+BAAAC,UACXC;QAEA,MAAMC,SAA2C;QACjD,MAAMC,SAA0CC,OAAOC,QAAQ;eACzDJ,SAASK,SAAS;eAClBL,SAASM,YAAY;WAExBC,KAAI,EAAEC,MAAMC,gBACV,EAAC,QAAQ,OAAO,QAAQ,OAAO,SAAS,WACtCC,QAAQC,UAAWF,WAAWE,YAAYC,YAC1CL,KAAKI;YACJ,MAAME,YAAgCJ,WAAWE;YACjD,MAAMG,WACJC,yBAAyBhB,QAAQ;gBAC/BC;gBACAW;gBACAH;gBACAQ,aAAaC,aAAaC,4BAA4BV;gBACtDK;;YAEJ,IAAIM,MAAMC,QAAQN,WAAW;gBAC3Bb,OAAOoB,KAAK;oBACVV;oBACAH;oBACAK,WAAW,MAAMA;oBACjBS,UAAUR;;gBAEZ,OAAO;;YAET,OAAOA;AAAQ,cAGpBS;QACH,MAAMC,aAAkCtB,OAAOQ,QAC5Ce,OAAgCA;QAEnCC,yBAAyBC,UAAUH;QACnC,OAAO;YACLxB,UAAU,MAAMA;YAChB4B,QAAQJ;YACRvB;;AAC4D;AAEjE,EA7CD,CAAiBH,mCAAAA,iCA6ChB,CAAA;;"}