@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":["Solid","_getAssetMatches","replaceEqualDeep","isServer","Asset","useRouter","RouterManagedTag","Scripts","router","nonce","options","ssr","scripts","createMemo","previous","Array","matches","stores","get","next","assets","manifest","match","script","children","attrs","push","tag","asset","routes","routeId","serverBufferedScript","serverSsr","takeBufferedScripts","undefined","_$createComponent","For","each"],"sources":["../../src/Scripts.tsx"],"sourcesContent":["import * as Solid from 'solid-js'\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 <>\n {serverBufferedScript && <Asset {...serverBufferedScript} />}\n <Solid.For each={scripts()}>{(asset) => <Asset {...asset} />}</Solid.For>\n </>\n )\n}\n"],"mappings":";;;;;;;;;AAOA,IAAaO,gBAAgB;CAC3B,MAAMC,SAASH,kBAAAA,UAAU;CACzB,MAAMI,QAAQD,OAAOE,QAAQC,KAAKF;CAElC,MAAMG,UAAUZ,SAAMa,YACnBC,aAAkD;EACjD,MAAME,WAAAA,GAAAA,sBAAAA,kBAA2BR,OAAOS,OAAOD,QAAQE,IAAI,CAAC;EAC5D,MAAMC,OAAgC,CAAA;EACtC,MAAMC,SAAkC,CAAA;EACxC,MAAMC,WAAWb,OAAOG,KAAKU;EAC7B,KAAK,MAAMC,SAASN,SAAS;GAC3B,KAAK,MAAMO,UAAUD,MAAMV,WAAW,CAAA,GAAI;IACxC,IAAI,CAACW,QACH;IAEF,MAAM,EAAEC,UAAU,GAAGC,UAAUF;IAC/BJ,KAAKO,KAAK;KACRC,KAAK;KACLF,OAAO;MAAE,GAAGA;MAAOhB;KAAM;KACfe;IACZ,CAAC;GACH;GACA,KAAK,MAAMI,SAASP,UAAUQ,OAAOP,MAAMQ,UAAUlB,WAAW,CAAA,GAC9DQ,OAAOM,KAAK;IACVC,KAAK;IACLF,OAAO;KAAE,GAAGG,MAAMH;KAAOhB;IAAM;IAC/Be,UAAUI,MAAMJ;GAClB,CAAC;EAEL;EACAL,KAAKO,KAAK,GAAGN,MAAM;EACnB,OAAON,YAAAA,GAAAA,sBAAAA,kBAA4BA,UAAUK,IAAI,IAAIA;CACvD,CACF;CACA,MAAMY,wBACH5B,+BAAAA,YAAYK,OAAOL,aAAaK,OAAOwB,YACpCxB,OAAOwB,UAAUC,oBAAoB,IACrCC,KAAAA;CAEN,OAAA,CAEKH,yBAAAA,GAAAA,aAAAA,iBAAyB3B,cAAAA,OAAU2B,oBAAoB,IAAA,GAAA,aAAA,iBACvD/B,SAAMoC,KAAG;EAAA,IAACC,OAAI;GAAA,OAAEzB,QAAQ;EAAC;EAAAY,WAAII,WAAAA,GAAAA,aAAAA,iBAAWxB,cAAAA,OAAUwB,KAAK;CAAI,CAAA,CAAA;AAGlE"}