{"version":3,"file":"content-api-router.mjs","sources":["../src/content-api-router.ts"],"sourcesContent":["/**\n * Creates a content-api route factory that exposes `routes` on the factory function for backward compatibility.\n *\n * This allows legacy extensions to mutate `plugin.routes[\"content-api\"].routes` directly.\n */\nexport const createContentApiRoutesFactory = <TRoutes>(buildRoutes: () => TRoutes) => {\n  let sharedRoutes: TRoutes | undefined;\n\n  const ensureSharedRoutes = (): TRoutes => {\n    if (!sharedRoutes) {\n      sharedRoutes = buildRoutes();\n    }\n\n    return sharedRoutes;\n  };\n\n  const createContentApiRoutes = () => {\n    return {\n      type: 'content-api' as const,\n      routes: ensureSharedRoutes(),\n    };\n  };\n\n  Object.defineProperty(createContentApiRoutes, 'routes', {\n    get: ensureSharedRoutes,\n    set(next: TRoutes) {\n      sharedRoutes = next;\n    },\n    enumerable: true,\n  });\n\n  return createContentApiRoutes;\n};\n\nexport type ContentApiRoutesFactory<TRoutes> = ReturnType<\n  typeof createContentApiRoutesFactory<TRoutes>\n> & { routes: TRoutes };\n"],"names":["createContentApiRoutesFactory","buildRoutes","sharedRoutes","ensureSharedRoutes","createContentApiRoutes","type","routes","Object","defineProperty","get","set","next","enumerable"],"mappings":"AAAA;;;;IAKO,MAAMA,6BAAAA,GAAgC,CAAUC,WAAAA,GAAAA;IACrD,IAAIC,YAAAA;AAEJ,IAAA,MAAMC,kBAAAA,GAAqB,IAAA;AACzB,QAAA,IAAI,CAACD,YAAAA,EAAc;YACjBA,YAAAA,GAAeD,WAAAA,EAAAA;AACjB,QAAA;QAEA,OAAOC,YAAAA;AACT,IAAA,CAAA;AAEA,IAAA,MAAME,sBAAAA,GAAyB,IAAA;QAC7B,OAAO;YACLC,IAAAA,EAAM,aAAA;YACNC,MAAAA,EAAQH,kBAAAA;AACV,SAAA;AACF,IAAA,CAAA;IAEAI,MAAAA,CAAOC,cAAc,CAACJ,sBAAAA,EAAwB,QAAA,EAAU;QACtDK,GAAAA,EAAKN,kBAAAA;AACLO,QAAAA,GAAAA,CAAAA,CAAIC,IAAa,EAAA;YACfT,YAAAA,GAAeS,IAAAA;AACjB,QAAA,CAAA;QACAC,UAAAA,EAAY;AACd,KAAA,CAAA;IAEA,OAAOR,sBAAAA;AACT;;;;"}