{"version":3,"file":"HttpMigrateApplicationComposer.mjs","sources":["../../src/composers/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,IAAI,EAAEC,MAAMC,gBACV,EAAC,QAAQ,OAAO,QAAQ,OAAO,SAAS,WACtCC,OAAQC,UAAWF,WAAWE,YAAYC,WAC1CL,IAAKI;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;AACT;YACA,OAAOA;YAGZS;QACH,MAAMC,aAAkCtB,OAAOQ,OAC5Ce,OAAgCA;QAEnCC,yBAAyBC,UAAUH;QACnC,OAAO;YACLxB,UAAU,MAAMA;YAChB4B,QAAQJ;YACRvB;;;AAGL,EA7CD,CAAiBH,mCAAAA,iCAA8B,CAAA;;"}