one
Version:
One is a React framework for web, iOS, and Android apps.
1 lines • 7 kB
Source Map (JSON)
{"version":3,"file":"one-server-only.js","names":[],"sources":["esm/vite/one-server-only.js"],"sourcesContent":["import { SERVER_CONTEXT_KEY } from \"../constants\";\nimport { AsyncLocalStorage } from \"node:async_hooks\";\nconst _ctxKey = /* @__PURE__ */ Symbol.for(\"__oneCtx\");\nconst key = \"__vxrnrequestAsyncLocalStore\";\nconst read = () => globalThis[key];\nconst ASYNC_LOCAL_STORE = {\n get current() {\n if (read()) return read();\n const _ = new AsyncLocalStorage();\n globalThis[key] = _;\n return _;\n }\n};\nconst requestAsyncLocalStore = process.env.VITE_ENVIRONMENT === \"ssr\" ? ASYNC_LOCAL_STORE.current : null;\nconst newCache = /* @__PURE__ */ new WeakMap();\nconst asyncHeadersCache = globalThis[\"__vxrnasyncHeadersCache\"] ?? newCache;\nglobalThis[\"__vxrnasyncHeadersCache\"] ||= asyncHeadersCache;\nasync function runWithAsyncLocalContext(cb) {\n const id = { _id: Math.random() };\n const store = ASYNC_LOCAL_STORE.current;\n if (!store) {\n return cb(id);\n }\n let out = null;\n await store.run(id, async () => {\n out = await cb(id);\n });\n return out;\n}\nasync function setResponseHeaders(cb) {\n const id = ensureAsyncLocalID();\n const cache = globalThis[\"__vxrnasyncHeadersCache\"] ?? asyncHeadersCache;\n const headers = cache.get(id) ?? new Headers();\n cache.set(id, headers);\n cb(headers);\n}\nfunction mergeHeaders(onto, from) {\n const setCookies = from.getSetCookie?.();\n if (setCookies?.length) {\n for (const cookie of setCookies) {\n onto.append(\"set-cookie\", cookie);\n }\n }\n from.forEach((value, key2) => {\n if (key2 === \"set-cookie\") return;\n if (value === void 0 || value === \"undefined\") {\n onto.delete(key2);\n } else {\n onto.set(key2, value);\n }\n });\n}\nconst globalId = { _id: Math.random() };\nconst GLOBAL_ID_KEY = \"__oneGlobalContextId\";\nif (!globalThis[GLOBAL_ID_KEY]) {\n globalThis[GLOBAL_ID_KEY] = globalId;\n}\nfunction ensureAsyncLocalID() {\n const globalIdKey = GLOBAL_ID_KEY || \"__oneGlobalContextId\";\n const store = requestAsyncLocalStore ?? globalThis[\"__vxrnrequestAsyncLocalStore\"];\n const id = process.env.VERCEL ? globalThis[globalIdKey] : store?.getStore();\n if (!id) {\n throw new Error(`Internal One error, no AsyncLocalStorage id!`);\n }\n return id;\n}\nconst SERVER_CONTEXTS_KEY = \"__oneServerContexts\";\nif (!globalThis[SERVER_CONTEXTS_KEY]) {\n globalThis[SERVER_CONTEXTS_KEY] = /* @__PURE__ */ new WeakMap();\n}\nconst serverContexts = globalThis[SERVER_CONTEXTS_KEY];\nfunction setServerContext(data) {\n if (process.env.VITE_ENVIRONMENT === \"ssr\") {\n const id = ensureAsyncLocalID();\n let context = id[_ctxKey];\n if (!context) {\n context = {};\n id[_ctxKey] = context;\n serverContexts.set(id, context);\n }\n Object.assign(context, data);\n } else {\n throw new Error(`Don't call setServerContext on client`);\n }\n}\nfunction getServerContext() {\n const out = (() => {\n if (process.env.VITE_ENVIRONMENT === \"ssr\") {\n const id = ensureAsyncLocalID();\n return id[_ctxKey] || serverContexts.get(id);\n }\n return globalThis[SERVER_CONTEXT_KEY];\n })();\n return out;\n}\nfunction useServerContext() {\n if (process.env.VITE_ENVIRONMENT === \"ssr\") {\n try {\n const useContext = globalThis[\"__vxrnGetContextFromReactContext\"];\n if (useContext) {\n const id = useContext();\n if (id) return id[_ctxKey] || serverContexts.get(id);\n }\n } catch {\n }\n }\n return getServerContext();\n}\nfunction setServerData(key2, value) {\n if (process.env.VITE_ENVIRONMENT === \"ssr\") {\n const context = getServerContext();\n setServerContext({\n postRenderData: {\n ...context?.postRenderData,\n [key2]: value\n }\n });\n } else {\n throw new Error(\n `Cannot setServerData in ${process.env.VITE_ENVIRONMENT} environment!`\n );\n }\n}\nfunction getServerData(key2) {\n if (process.env.VITE_ENVIRONMENT === \"ssr\") {\n throw new Error(`Cannot getServerData on the server`);\n }\n if (process.env.VITE_ENVIRONMENT !== \"ssr\") {\n return getServerContext()?.postRenderData?.[key2];\n }\n}\nexport {\n asyncHeadersCache,\n ensureAsyncLocalID,\n getServerContext,\n getServerData,\n mergeHeaders,\n requestAsyncLocalStore,\n runWithAsyncLocalContext,\n setResponseHeaders,\n setServerContext,\n setServerData,\n useServerContext\n};\n//# sourceMappingURL=one-server-only.js.map\n"],"mappings":"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"}