@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
1 lines • 3.37 kB
Source Map (JSON)
{"version":3,"file":"Scripts.cjs","names":["<NoHydration>\n {serverBufferedScript && <Asset {...serverBufferedScript} />}\n <Solid.For each={scripts()}>{(asset) => <Asset {...asset} />}</Solid.For>\n </NoHydration>","serverBufferedScript && <Asset {...serverBufferedScript} />","<Asset {...serverBufferedScript} />","<Solid.For each={scripts()}>{(asset) => <Asset {...asset} />}</Solid.For>","Solid.For","<Asset {...asset} />"],"sources":["../../src/Scripts.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\nimport { NoHydration } from '@solidjs/web'\nimport { _getAssetMatches, replaceEqualDeep } from '@tanstack/router-core'\nimport { isServer } from '@tanstack/router-core/isServer'\nimport { Asset } from './Asset'\nimport { useRouter } from './useRouter'\nimport type { RouterManagedTag } from '@tanstack/router-core'\n\nexport const Scripts = () => {\n const router = useRouter()\n const nonce = router.options.ssr?.nonce\n\n const scripts = Solid.createMemo(\n (previous: Array<RouterManagedTag> | undefined) => {\n const matches = _getAssetMatches(router.stores.matches.get())\n const next: Array<RouterManagedTag> = []\n const assets: Array<RouterManagedTag> = []\n const manifest = router.ssr?.manifest\n for (const match of matches) {\n for (const script of match.scripts ?? []) {\n if (!script) {\n continue\n }\n const { children, ...attrs } = script\n next.push({\n tag: 'script',\n attrs: { ...attrs, nonce },\n children: children as string | undefined,\n })\n }\n for (const asset of manifest?.routes[match.routeId]?.scripts ?? []) {\n assets.push({\n tag: 'script',\n attrs: { ...asset.attrs, nonce },\n children: asset.children,\n })\n }\n }\n next.push(...assets)\n return previous ? replaceEqualDeep(previous, next) : next\n },\n )\n const serverBufferedScript =\n (isServer ?? router.isServer) && router.serverSsr\n ? router.serverSsr.takeBufferedScripts()\n : undefined\n\n return (\n <NoHydration>\n {serverBufferedScript && <Asset {...serverBufferedScript} />}\n <Solid.For each={scripts()}>{(asset) => <Asset {...asset} />}</Solid.For>\n </NoHydration>\n )\n}\n"],"mappings":";;;;;;;;;AAQA,IAAa,gBAAgB;CAC3B,MAAM,SAAS,kBAAA,UAAU;CACzB,MAAM,QAAQ,OAAO,QAAQ,KAAK;CAElC,MAAM,UAAU,SAAM,YACnB,aAAkD;EACjD,MAAM,WAAA,GAAA,sBAAA,kBAA2B,OAAO,OAAO,QAAQ,IAAI,CAAC;EAC5D,MAAM,OAAgC,CAAC;EACvC,MAAM,SAAkC,CAAC;EACzC,MAAM,WAAW,OAAO,KAAK;EAC7B,KAAK,MAAM,SAAS,SAAS;GAC3B,KAAK,MAAM,UAAU,MAAM,WAAW,CAAC,GAAG;IACxC,IAAI,CAAC,QACH;IAEF,MAAM,EAAE,UAAU,GAAG,UAAU;IAC/B,KAAK,KAAK;KACR,KAAK;KACL,OAAO;MAAE,GAAG;MAAO;KAAM;KACf;IACZ,CAAC;GACH;GACA,KAAK,MAAM,SAAS,UAAU,OAAO,MAAM,UAAU,WAAW,CAAC,GAC/D,OAAO,KAAK;IACV,KAAK;IACL,OAAO;KAAE,GAAG,MAAM;KAAO;IAAM;IAC/B,UAAU,MAAM;GAClB,CAAC;EAEL;EACA,KAAK,KAAK,GAAG,MAAM;EACnB,OAAO,YAAA,GAAA,sBAAA,kBAA4B,UAAU,IAAI,IAAI;CACvD,CACF;CACA,MAAM,wBACH,+BAAA,YAAY,OAAO,aAAa,OAAO,YACpC,OAAO,UAAU,oBAAoB,IACrC,KAAA;CAEN,QAAA,GAAA,aAAA,iBACEA,aAAAA,aAAAA,EAAAA,IAAAA,WAAAA;SAAa,EAAA,GAAA,aAAA,YACVC;oEAAwBC,cAAAA,OAAW,oBAAuB;wCAC3DC,SAACC,KAAD;GAAW,IAAA,OAAA;WAAM,QAAQ;GAAC;GAA1BD,WAA8B,WAAA,GAAA,aAAA,iBAAUE,cAAAA,OAAW,KAAQ;EAAa,CAAA,CADzE;CAEY,EAAA,CAAA;AAEjB"}