{"version":3,"file":"installRouter.cjs","names":["ROUTER_CONTEXT_KEY","ROUTE_DEPTH_CONTEXT_KEY"],"sources":["../../../src/router/installRouter/installRouter.ts"],"sourcesContent":["import { ROUTER_CONTEXT_KEY, ROUTE_DEPTH_CONTEXT_KEY } from '@pastweb/tools';\nimport type { Installer } from '../../GlobalContext';\nimport type { RouterOptions } from './types';\n\n/**\n * Creates a {@link GlobalContext} installer for a tools `ViewRouter`.\n *\n * The installer exposes the router under the tools router context key and\n * initializes route depth to `-1`, so the first `RouterView` renders depth `0`.\n *\n * @param options - Router instance and optional base path.\n * @returns An installer accepted by `GlobalContext` through its `use` prop.\n *\n * @example\n * ```tsx\n * const installRouterContext = installRouter({ router });\n *\n * <GlobalContext use={installRouterContext}>\n *   <RouterView />\n * </GlobalContext>\n * ```\n */\nexport function installRouter(options: RouterOptions): Installer {\n  const { router, base } = options;\n\n  if (base) router.setBase(base);\n\n  return () => ({\n    [ROUTER_CONTEXT_KEY]: router,\n    [ROUTE_DEPTH_CONTEXT_KEY]: -1,\n  });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsBA,SAAgB,cAAc,SAAmC;CAC/D,MAAM,EAAE,QAAQ,SAAS;CAEzB,IAAI,MAAM,OAAO,QAAQ,IAAI;CAE7B,cAAc;GACXA,eAAAA,qBAAqB;GACrBC,eAAAA,0BAA0B;CAC7B;AACF"}