UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

1 lines 3.15 kB
{"version":3,"file":"RouterProvider.cjs","names":["<OptionalWrapper>\n <RouterContext value={router as AnyRouter}>{children()}</RouterContext>\n </OptionalWrapper>","<RouterContext value={router as AnyRouter}>{children()}</RouterContext>","value={router as AnyRouter}","<RouterContextProvider router={router} {...rest}>\n {() => <Matches />}\n </RouterContextProvider>","<Matches />"],"sources":["../../src/RouterProvider.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { routerContext } from './routerContext'\nimport { SafeFragment } from './SafeFragment'\nimport { Matches } from './Matches'\nimport type {\n AnyRouter,\n RegisteredRouter,\n RouterOptions,\n} from '@tanstack/router-core'\nimport type { JSX } from '@solidjs/web'\n\nconst RouterContext = routerContext as unknown as Solid.Component<{\n value: any\n children: any\n}>\n\nexport function RouterContextProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({\n router,\n children,\n ...rest\n}: RouterProps<TRouter, TDehydrated> & {\n children: () => JSX.Element\n}) {\n if (Object.keys(rest).length > 0) {\n Solid.runWithOwner(null, () => {\n router.update({\n ...router.options,\n ...rest,\n context: {\n ...router.options.context,\n ...rest.context,\n },\n } as any)\n })\n }\n\n const OptionalWrapper = router.options.Wrap || SafeFragment\n\n return (\n <OptionalWrapper>\n <RouterContext value={router as AnyRouter}>{children()}</RouterContext>\n </OptionalWrapper>\n )\n}\n\nexport function RouterProvider<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n>({ router, ...rest }: RouterProps<TRouter, TDehydrated>) {\n return (\n <RouterContextProvider router={router} {...rest}>\n {() => <Matches />}\n </RouterContextProvider>\n )\n}\n\nexport type RouterProps<\n TRouter extends AnyRouter = RegisteredRouter,\n TDehydrated extends Record<string, any> = Record<string, any>,\n> = Omit<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >,\n 'context'\n> & {\n router: TRouter\n context?: Partial<\n RouterOptions<\n TRouter['routeTree'],\n NonNullable<TRouter['options']['trailingSlash']>,\n false,\n TRouter['history'],\n TDehydrated\n >['context']\n >\n}\n"],"mappings":";;;;;;;;AAWA,IAAM,gBAAgB,sBAAA;AAKtB,SAAgB,sBAGd,EACA,QACA,UACA,GAAG,QAGF;CACD,IAAI,OAAO,KAAK,IAAI,EAAE,SAAS,GAC7B,SAAM,aAAa,YAAY;EAC7B,OAAO,OAAO;GACZ,GAAG,OAAO;GACV,GAAG;GACH,SAAS;IACP,GAAG,OAAO,QAAQ;IAClB,GAAG,KAAK;GACV;EACF,CAAQ;CACV,CAAC;CAKH,QAAA,GAAA,aAAA,iBAFwB,OAAO,QAAQ,QAAQ,qBAAA,cAG7CA,EAAAA,IAAAA,WAAAA;2CACEC,eAAAA;GAAeC,OAAO;GAAtB,IAAA,WAAA;WAA4C,SAAS;GAAiB;;CACvD,EAAA,CAAA;AAErB;AAEA,SAAgB,eAGd,EAAE,QAAQ,GAAG,QAA2C;CACxD,QAAA,GAAA,aAAA,iBACEC,wBAAAA,GAAAA,aAAAA,YAAAA,EAA+B,OAER,GAFoB,MAA3C,EAAA,iBAAA,GAAA,aAAA,iBACSC,gBAAAA,SAAAA,CAAU,CAAA,EACI,CAAA,CAAA;AAE3B"}