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