UNPKG

@tanstack/solid-router

Version:

Modern and scalable routing for Solid applications

54 lines (53 loc) 1.91 kB
const require_runtime = require("./_virtual/_rolldown/runtime.cjs"); const require_useRouter = require("./useRouter.cjs"); const require_Asset = require("./Asset.cjs"); let _tanstack_router_core = require("@tanstack/router-core"); let solid_js_web = require("solid-js/web"); let solid_js = require("solid-js"); solid_js = require_runtime.__toESM(solid_js, 1); let _tanstack_router_core_isServer = require("@tanstack/router-core/isServer"); //#region src/Scripts.tsx var Scripts = () => { const router = require_useRouter.useRouter(); const nonce = router.options.ssr?.nonce; const scripts = solid_js.createMemo((previous) => { const matches = (0, _tanstack_router_core._getAssetMatches)(router.stores.matches.get()); const next = []; const assets = []; const manifest = router.ssr?.manifest; for (const match of matches) { for (const script of match.scripts ?? []) { if (!script) continue; const { children, ...attrs } = script; next.push({ tag: "script", attrs: { ...attrs, nonce }, children }); } for (const asset of manifest?.routes[match.routeId]?.scripts ?? []) assets.push({ tag: "script", attrs: { ...asset.attrs, nonce }, children: asset.children }); } next.push(...assets); return previous ? (0, _tanstack_router_core.replaceEqualDeep)(previous, next) : next; }); const serverBufferedScript = (_tanstack_router_core_isServer.isServer ?? router.isServer) && router.serverSsr ? router.serverSsr.takeBufferedScripts() : void 0; return [serverBufferedScript && (0, solid_js_web.createComponent)(require_Asset.Asset, serverBufferedScript), (0, solid_js_web.createComponent)(solid_js.For, { get each() { return scripts(); }, children: (asset) => (0, solid_js_web.createComponent)(require_Asset.Asset, asset) })]; }; //#endregion exports.Scripts = Scripts; //# sourceMappingURL=Scripts.cjs.map