This commit is contained in:
Ren Amamiya
2023-06-09 18:26:24 +07:00
parent 0ba9877785
commit 61ab719a2f
7 changed files with 75 additions and 163 deletions

View File

@@ -1,4 +1,10 @@
import NDK, { NDKConstructorParams } from "@nostr-dev-kit/ndk";
import NDK, {
NDKConstructorParams,
NDKEvent,
NDKFilter,
NDKFilterOptions,
NDKRelaySet,
} from "@nostr-dev-kit/ndk";
import { FULL_RELAYS } from "@stores/constants";
export async function initNDK(
@@ -13,3 +19,25 @@ export async function initNDK(
return ndk;
}
export async function prefetchEvents(
ndk: NDK,
filter: NDKFilter,
): Promise<Set<NDKEvent>> {
return new Promise((resolve) => {
const events: Map<string, NDKEvent> = new Map();
const relaySetSubscription = ndk.subscribe(filter, {
closeOnEose: true,
});
relaySetSubscription.on("event", (event: NDKEvent) => {
event.ndk = ndk;
events.set(event.tagId(), event);
});
relaySetSubscription.on("eose", () => {
setTimeout(() => resolve(new Set(events.values())), 2000);
});
});
}