UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

1 lines 2.37 kB
{"version":3,"file":"RouterClient.cjs","names":["hydrate","Await","HeadContent","RouterProvider","AnyRouter","JSXElement","hydrationPromise","Promise","Array","Dummy","props","children","_$memo","RouterClient","router","state","matches","length","resolve","_$createComponent","promise","InnerWrap"],"sources":["../../../src/ssr/RouterClient.tsx"],"sourcesContent":["import { hydrate } from '@tanstack/router-core/ssr/client'\nimport { Await } from '../awaited'\nimport { HeadContent } from '../HeadContent'\nimport { RouterProvider } from '../RouterProvider'\nimport type { AnyRouter } from '@tanstack/router-core'\nimport type { JSXElement } from 'solid-js'\n\nlet hydrationPromise: Promise<void | Array<Array<void>>> | undefined\n\nconst Dummy = (props: { children?: JSXElement }) => <>{props.children}</>\n\nexport function RouterClient(props: { router: AnyRouter }) {\n if (!hydrationPromise) {\n if (!props.router.state.matches.length) {\n hydrationPromise = hydrate(props.router)\n } else {\n hydrationPromise = Promise.resolve()\n }\n }\n return (\n <Await\n promise={hydrationPromise}\n children={() => (\n <Dummy>\n <Dummy>\n <RouterProvider\n router={props.router}\n InnerWrap={(props) => (\n <Dummy>\n <Dummy>\n <HeadContent />\n {props.children}\n </Dummy>\n <Dummy />\n </Dummy>\n )}\n />\n </Dummy>\n </Dummy>\n )}\n />\n )\n}\n"],"mappings":";;;;;;;AAOA,IAAIM;AAEJ,IAAMG,SAASC,WAAAA,GAAAA,aAAAA,YAAwCA,MAAMC,SAAY;AAEzE,SAAgBE,aAAaH,OAA8B;AACzD,KAAI,CAACJ,iBACH,KAAI,CAACI,MAAMI,OAAOC,MAAMC,QAAQC,OAC9BX,qBAAAA,GAAAA,iCAAAA,SAA2BI,MAAMI,OAAO;KAExCR,oBAAmBC,QAAQW,SAAS;AAGxC,SAAA,GAAA,aAAA,iBACGjB,gBAAAA,OAAK;EACJmB,SAASd;EACTK,iBAAAA,GAAAA,aAAAA,iBACGF,OAAK,EAAA,IAAAE,WAAA;AAAA,WAAA,GAAA,aAAA,iBACHF,OAAK,EAAA,IAAAE,WAAA;AAAA,YAAA,GAAA,aAAA,iBACHR,uBAAAA,gBAAc;KAAA,IACbW,SAAM;AAAA,aAAEJ,MAAMI;;KACdO,YAAYX,WAAAA,GAAAA,aAAAA,iBACTD,OAAK,EAAA,IAAAE,WAAA;AAAA,aAAA,EAAA,GAAA,aAAA,iBACHF,OAAK,EAAA,IAAAE,WAAA;AAAA,cAAA,EAAA,GAAA,aAAA,iBACHT,oBAAAA,aAAW,EAAA,CAAA,GAAA,GAAA,aAAA,YACXQ,MAAMC,SAAQ,CAAA;SAAA,CAAA,GAAA,GAAA,aAAA,iBAEhBF,OAAK,EAAA,CAAA,CAAA;QAAA,CAAA;KAET,CAAA;MAAA,CAAA;KAAA,CAAA;EAIR,CAAA"}