parse.ts (758B)
1 import { KIND_COMMENT, type RadrootsComment } 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 RadrootsCommentNostrEvent = NostrEventBasis<typeof KIND_COMMENT> & { comment: RadrootsComment }; 7 8 export const parse_nostr_comment_event = ( 9 event: NostrEvent, 10 ): RadrootsCommentNostrEvent | undefined => { 11 const ev = parse_nostr_event_basis(event, KIND_COMMENT); 12 if (!ev) return undefined; 13 try { 14 const parsed = JSON.parse(event.content); 15 const comment = parsed as RadrootsComment; 16 return { ...ev, comment }; 17 } catch { 18 return undefined; 19 } 20 };