@tanstack/solid-router
Version:
Modern and scalable routing for Solid applications
1 lines • 1.5 kB
Source Map (JSON)
{"version":3,"file":"renderOptions.cjs","names":[],"sources":["../../../src/ssr/renderOptions.ts"],"sourcesContent":["import { makeSsrSerovalPlugin } from '@tanstack/router-core/ssr/server'\nimport type { renderToStream } from 'solid-js/web'\nimport type { AnyRouter, AnySerializationAdapter } from '@tanstack/router-core'\n\n// Adapters are module-level singletons, so their SSR plugins are cached per\n// adapter rather than rebuilt for every request.\nconst pluginCache = new WeakMap<\n AnySerializationAdapter,\n ReturnType<typeof makeSsrSerovalPlugin>\n>()\n\nfunction getPlugin(adapter: AnySerializationAdapter) {\n let plugin = pluginCache.get(adapter)\n if (!plugin) {\n plugin = makeSsrSerovalPlugin(adapter)\n pluginCache.set(adapter, plugin)\n }\n return plugin\n}\n\n/** Solid renderer options shared by the stream and string paths. */\nexport function getSolidRenderOptions(router: AnyRouter) {\n return {\n nonce: router.options.ssr?.nonce,\n // `plugins` is honoured by Solid's server runtime but absent from its\n // public option type.\n plugins: router.options.serializationAdapters?.map(getPlugin),\n } as Parameters<typeof renderToStream>[1]\n}\n"],"mappings":";;AAMA,IAAM,8BAAc,IAAI,QAGtB;AAEF,SAAS,UAAU,SAAkC;CACnD,IAAI,SAAS,YAAY,IAAI,OAAO;CACpC,IAAI,CAAC,QAAQ;EACX,UAAA,GAAA,iCAAA,sBAA8B,OAAO;EACrC,YAAY,IAAI,SAAS,MAAM;CACjC;CACA,OAAO;AACT;;AAGA,SAAgB,sBAAsB,QAAmB;CACvD,OAAO;EACL,OAAO,OAAO,QAAQ,KAAK;EAG3B,SAAS,OAAO,QAAQ,uBAAuB,IAAI,SAAS;CAC9D;AACF"}