parse.ts (746B)
1 import { KIND_FOLLOW, type RadrootsFollow } from "@radroots/events-bindings"; 2 import type { NostrEvent } from "../../types/nostr.js"; 3 import { parse_nostr_event_basis } from "../lib.js"; 4 import type { NostrEventBasis } from "../subscription.js"; 5 6 export type RadrootsFollowNostrEvent = NostrEventBasis<typeof KIND_FOLLOW> & { follow: RadrootsFollow }; 7 8 export const parse_nostr_follow_event = ( 9 event: NostrEvent, 10 ): RadrootsFollowNostrEvent | undefined => { 11 const ev = parse_nostr_event_basis(event, KIND_FOLLOW); 12 if (!ev) return undefined; 13 try { 14 const parsed = JSON.parse(event.content); 15 const follow = parsed as RadrootsFollow; 16 return { ...ev, follow }; 17 } catch { 18 return undefined; 19 } 20 };