UNPKG

@nostr-dev-kit/ndk

Version:

NDK - Nostr Development Kit. Includes AI Guardrails to catch common mistakes during development.

45 lines (35 loc) 1.38 kB
import type { NDKSubscriptionOptions } from "../subscription"; import { getReplyTag, getRootTag } from "../thread"; import type { NDKEvent } from "."; export async function fetchTaggedEvent( this: NDKEvent, tag: string, marker?: string, ): Promise<NDKEvent | null | undefined> { if (!this.ndk) throw new Error("NDK instance not found"); const t = this.getMatchingTags(tag, marker); if (t.length === 0) return undefined; const [_, id, hint] = t[0]; const relay = hint !== "" ? this.ndk.pool.getRelay(hint) : undefined; // if we have a relay, attempt to use that first const event = await this.ndk.fetchEvent(id, {}, relay); return event; } export async function fetchRootEvent( this: NDKEvent, subOpts?: NDKSubscriptionOptions, ): Promise<NDKEvent | null | undefined> { if (!this.ndk) throw new Error("NDK instance not found"); const rootTag = getRootTag(this); if (!rootTag) return undefined; return this.ndk.fetchEventFromTag(rootTag, this, subOpts); } export async function fetchReplyEvent( this: NDKEvent, subOpts?: NDKSubscriptionOptions, ): Promise<NDKEvent | null | undefined> { if (!this.ndk) throw new Error("NDK instance not found"); const replyTag = getReplyTag(this); if (!replyTag) return undefined; return this.ndk.fetchEventFromTag(replyTag, this, subOpts); }