mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-14 08:41:15 +10:00
25 lines
688 B
TypeScript
25 lines
688 B
TypeScript
import { Session, SessionProvider } from "./types";
|
|
|
|
export default function createMemorySessionHandler() {
|
|
const sessions: { [key: string]: Session } = {};
|
|
|
|
const memoryProvider: SessionProvider = {
|
|
async setSession(token, data) {
|
|
sessions[token] = data;
|
|
return true;
|
|
},
|
|
async updateSession(token, key, data) {
|
|
sessions[token] = Object.assign({}, sessions[token], { [key]: data });
|
|
return true;
|
|
},
|
|
async getSession(token) {
|
|
return sessions[token] as any; // Wild type cast because we let the user specify types if they want
|
|
},
|
|
async clearSession(token) {
|
|
delete sessions[token];
|
|
},
|
|
};
|
|
|
|
return memoryProvider;
|
|
}
|