ditto/src/gossip.ts
2023-04-10 19:34:00 -05:00

21 lines
518 B
TypeScript

import { type Event } from '@/nostr/event.ts';
import { parseRelay } from './schema.ts';
/** Gets relays which pertain to the author from the event. */
function getAuthorRelays(event: Event): URL[] {
const relays: string[] = [];
switch (event.kind) {
case 10002:
event.tags.forEach((tag) => tag[0] === 'r' && relays.push(tag[1]));
break;
case 2:
relays.push(event.content);
break;
}
return relays.map(parseRelay).filter((r): r is URL => !!r);
}
export { getAuthorRelays };