A social knowledge tool for researchers built on ATProto
1import {
2 NodeSavedSession,
3 NodeSavedSessionStore,
4} from '@atproto/oauth-client-node';
5
6/**
7 * In-memory implementation of NodeSavedSessionStore for testing
8 */
9export class InMemorySessionStore implements NodeSavedSessionStore {
10 private sessions: Map<string, NodeSavedSession> = new Map();
11
12 async get(key: string): Promise<NodeSavedSession | undefined> {
13 return this.sessions.get(key);
14 }
15
16 async set(key: string, val: NodeSavedSession): Promise<void> {
17 this.sessions.set(key, val);
18 }
19
20 async del(key: string): Promise<void> {
21 this.sessions.delete(key);
22 }
23
24 // Helper method for testing
25 clear(): void {
26 this.sessions.clear();
27 }
28}