{"version":3,"file":"api.mjs","sources":["../../../src/routes/providers/api.ts"],"sourcesContent":["import type { Core } from '@strapi/types';\nimport { createDebugger } from '../../utils';\n\nimport { AbstractRoutesProvider } from './abstract';\n\nconst debug = createDebugger('routes:provider:api');\n\n/**\n * Class representing a provider for API routes.\n *\n * This class retrieves and provides access to routes registered in the Strapi\n * APIs.\n *\n * @extends {@link AbstractRoutesProvider}\n */\nexport class ApiRoutesProvider extends AbstractRoutesProvider {\n /**\n * Retrieves all routes registered in the Strapi APIs.\n *\n * It extracts routes from the Strapi APIs by flattening their\n * structure and consolidating them into a single array of {@link Core.Route}.\n *\n * @returns An array of {@link Core.Route} objects\n */\n public get routes(): Core.Route[] {\n const { apis } = this._strapi;\n\n const routes = Object.values(apis)\n // Extract and flatten each router from every API\n .flatMap((api) => Object.values(api.routes))\n // Extract and flatten the routes from each router\n .flatMap((router) => router.routes);\n\n debug('found %o routes in Strapi APIs', routes.length);\n\n return routes;\n }\n}\n"],"names":["debug","createDebugger","ApiRoutesProvider","AbstractRoutesProvider","routes","apis","_strapi","Object","values","flatMap","api","router","length"],"mappings":";;;;;AAKA,MAAMA,QAAQC,cAAe,CAAA,qBAAA,CAAA;AAE7B;;;;;;;IAQO,MAAMC,iBAA0BC,SAAAA,sBAAAA,CAAAA;AACrC;;;;;;;AAOC,MACD,IAAWC,MAAuB,GAAA;AAChC,QAAA,MAAM,EAAEC,IAAI,EAAE,GAAG,IAAI,CAACC,OAAO;AAE7B,QAAA,MAAMF,MAASG,GAAAA,MAAAA,CAAOC,MAAM,CAACH,KAC3B;SACCI,OAAO,CAAC,CAACC,GAAQH,GAAAA,MAAAA,CAAOC,MAAM,CAACE,GAAAA,CAAIN,MAAM,CAAA,CAC1C;AACCK,SAAAA,OAAO,CAAC,CAACE,MAAWA,GAAAA,MAAAA,CAAOP,MAAM,CAAA;QAEpCJ,KAAM,CAAA,gCAAA,EAAkCI,OAAOQ,MAAM,CAAA;QAErD,OAAOR,MAAAA;AACT;AACF;;;;"}