/// import { ServerArg, useServerRouter } from "./server-route"; type ServerSession = { handle: (arg: ServerArg) => Promise; }; export const sessionServer = (arg: { encrypt?: boolean; router?: ReturnType; on: { login: (arg: { mode: "user-pass"; username: string; password: string; }) => Promise; }; }): ServerSession => { const internal = { has_router: false, router: null as null | ReturnType, }; if (typeof arg.router === "object" && arg.router instanceof Promise) { internal.has_router = true; arg.router.then((e) => { internal.router = e; }); } const s: ServerSession = { async handle(server_arg) { const { req, handle } = server_arg; if (internal.has_router && internal.router) { return await internal.router.handle(server_arg); } return handle(req); }, }; return s; };