{"version":3,"file":"plugin.mjs","sources":["../../../src/routes/providers/plugin.ts"],"sourcesContent":["import { type Core } from '@strapi/types';\nimport { createDebugger } from '../../utils';\n\nimport { AbstractRoutesProvider } from './abstract';\n\nconst debug = createDebugger('routes:provider:plugins');\n\n/**\n * Class providing routes from Strapi plugins.\n *\n * This class extracts and consolidates routes registered by Strapi plugins,\n * accommodating different ways plugins may define their routes.\n *\n * @extends {@link AbstractRoutesProvider}\n */\nexport class PluginRoutesProvider extends AbstractRoutesProvider {\n /**\n * Retrieves all routes registered in the Strapi plugins.\n *\n * It handles two cases:\n * - The plugin's routes are directly provided as a {@link Core.Route}[].\n * - The plugin's routes are defined as a record of routers which contain their own list of routes.\n *\n * @returns An array of {@link Core.Route} objects.\n */\n public get routes(): Core.Route[] {\n const { plugins } = this._strapi;\n\n const routes = Object.values(plugins).flatMap((plugin) => {\n const { routes } = plugin;\n\n return Array.isArray(routes)\n ? // If it is a simple Route[], return as is\n routes\n : // Else, extract and flatten every route from each router\n Object.values(routes).flatMap((router) => router.routes);\n });\n\n debug('found %o routes in Strapi plugins', routes.length);\n\n return routes;\n }\n}\n"],"names":["debug","createDebugger","PluginRoutesProvider","AbstractRoutesProvider","routes","plugins","_strapi","Object","values","flatMap","plugin","Array","isArray","router","length"],"mappings":";;;;;AAKA,MAAMA,QAAQC,cAAe,CAAA,yBAAA,CAAA;AAE7B;;;;;;;IAQO,MAAMC,oBAA6BC,SAAAA,sBAAAA,CAAAA;AACxC;;;;;;;;AAQC,MACD,IAAWC,MAAuB,GAAA;AAChC,QAAA,MAAM,EAAEC,OAAO,EAAE,GAAG,IAAI,CAACC,OAAO;AAEhC,QAAA,MAAMF,SAASG,MAAOC,CAAAA,MAAM,CAACH,OAASI,CAAAA,CAAAA,OAAO,CAAC,CAACC,MAAAA,GAAAA;YAC7C,MAAM,EAAEN,MAAM,EAAE,GAAGM,MAAAA;AAEnB,YAAA,OAAOC,KAAMC,CAAAA,OAAO,CAACR,MAAAA,CAAAA,GAEjBA,SAEAG,MAAOC,CAAAA,MAAM,CAACJ,MAAAA,CAAAA,CAAQK,OAAO,CAAC,CAACI,MAAAA,GAAWA,OAAOT,MAAM,CAAA;AAC7D,SAAA,CAAA;QAEAJ,KAAM,CAAA,mCAAA,EAAqCI,OAAOU,MAAM,CAAA;QAExD,OAAOV,MAAAA;AACT;AACF;;;;"}