sendou.ink/app/features/session-id/session-id-context.server.ts

19 lines
448 B
TypeScript

import { AsyncLocalStorage } from "node:async_hooks";
interface SessionIdContext {
sessionId: string | undefined;
}
export const sessionIdAsyncLocalStorage =
new AsyncLocalStorage<SessionIdContext>();
function getSessionId(): string | undefined {
return sessionIdAsyncLocalStorage.getStore()?.sessionId;
}
declare global {
var __getServerSessionId: (() => string | undefined) | undefined;
}
globalThis.__getServerSessionId = getSessionId;