2023-11-17 07:50:53 +00:00
|
|
|
import { Datebase_View, EventMark, EventMarker, EventsAdapter, Indices, RelayRecorder } from "../database.ts";
|
2023-09-07 13:11:59 +00:00
|
|
|
import { EventBus } from "../event-bus.ts";
|
2023-09-10 17:56:37 +00:00
|
|
|
import { NostrEvent } from "../lib/nostr-ts/nostr.ts";
|
|
|
|
import { UI_Interaction_Event } from "./app_update.tsx";
|
2023-09-07 13:11:59 +00:00
|
|
|
|
2023-09-10 17:56:37 +00:00
|
|
|
export const testEventBus = new EventBus<UI_Interaction_Event>();
|
2023-11-17 07:06:11 +00:00
|
|
|
|
2023-11-17 07:50:53 +00:00
|
|
|
export async function test_db_view() {
|
|
|
|
const data = new Map();
|
|
|
|
const testEventsAdapter: EventsAdapter = {
|
|
|
|
filter: async (f) => {
|
|
|
|
const events = [];
|
|
|
|
for (const [k, v] of data) {
|
|
|
|
events.push(v);
|
|
|
|
}
|
|
|
|
return events;
|
|
|
|
},
|
|
|
|
get: async (keys: Indices) => {
|
|
|
|
return data.get(keys.id);
|
|
|
|
},
|
|
|
|
put: async (e: NostrEvent) => {
|
|
|
|
data.set(e.id, e);
|
|
|
|
},
|
|
|
|
};
|
2023-11-16 13:22:18 +00:00
|
|
|
|
2023-11-20 03:59:59 +00:00
|
|
|
const relays = new Map<string, Set<string>>();
|
2023-11-17 07:50:53 +00:00
|
|
|
const testRelayRecorder: RelayRecorder = {
|
|
|
|
setRelayRecord: async (eventID: string, url: string) => {
|
2023-11-20 03:59:59 +00:00
|
|
|
const records = relays.get(eventID);
|
|
|
|
if (records) {
|
|
|
|
records.add(url);
|
2023-11-17 07:50:53 +00:00
|
|
|
} else {
|
2023-11-20 03:59:59 +00:00
|
|
|
relays.set(eventID, new Set([url]));
|
2023-11-17 07:50:53 +00:00
|
|
|
}
|
|
|
|
},
|
2023-11-20 03:59:59 +00:00
|
|
|
getAllRelayRecords: async () => {
|
|
|
|
return relays;
|
2023-11-17 07:50:53 +00:00
|
|
|
},
|
|
|
|
};
|
2023-11-17 07:06:11 +00:00
|
|
|
|
2023-11-17 07:50:53 +00:00
|
|
|
const marks = new Map<string, EventMark>();
|
|
|
|
const testEventMarker: EventMarker = {
|
|
|
|
getMark: async (eventID: string) => {
|
|
|
|
return marks.get(eventID);
|
|
|
|
},
|
|
|
|
async markEvent(eventID: string, reason: "removed") {
|
|
|
|
marks.set(eventID, {
|
|
|
|
event_id: eventID,
|
|
|
|
reason: reason,
|
|
|
|
});
|
|
|
|
},
|
|
|
|
async getAllMarks() {
|
|
|
|
return Array.from(marks.values());
|
|
|
|
},
|
|
|
|
};
|
|
|
|
return await Datebase_View.New(testEventsAdapter, testRelayRecorder, testEventMarker);
|
|
|
|
}
|