/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/utils/src/content-api-router.ts
37 строк
975 B
Jamie Howard
Fix plugin content-api route extensions (#24147)
18 авг 2025, 14:28
Не верифицирован
18 авг 2025, 14:28
e5d4b41
Код
Авторство
О чём код?
/** * Creates a content-api route factory that exposes `routes` on the factory function for backward compatibility. * * This allows legacy extensions to mutate `plugin.routes["content-api"].routes` directly. */ export const createContentApiRoutesFactory = <TRoutes>(buildRoutes: () => TRoutes) => { let sharedRoutes: TRoutes | undefined; const ensureSharedRoutes = (): TRoutes => { if (!sharedRoutes) { sharedRoutes = buildRoutes(); } return sharedRoutes; }; const createContentApiRoutes = () => { return { type: 'content-api' as const, routes: ensureSharedRoutes(), }; }; Object.defineProperty(createContentApiRoutes, 'routes', { get: ensureSharedRoutes, set(next: TRoutes) { sharedRoutes = next; }, enumerable: true, }); return createContentApiRoutes; }; export type ContentApiRoutesFactory<TRoutes> = ReturnType< typeof createContentApiRoutesFactory<TRoutes> > & { routes: TRoutes };