Files
snort/packages/app/src/Element/Event/Create/util.ts
2023-12-26 19:20:12 +02:00

29 lines
756 B
TypeScript

import { NostrEvent, OkResponse, SystemInterface } from "@snort/system";
import { removeUndefined } from "@snort/shared";
export async function sendEventToRelays(
system: SystemInterface,
ev: NostrEvent,
customRelays?: Array<string>,
setResults?: (x: Array<OkResponse>) => void,
) {
if (customRelays) {
system.HandleEvent({ ...ev, relays: [] });
return removeUndefined(
await Promise.all(
customRelays.map(async r => {
try {
return await system.WriteOnceToRelay(r, ev);
} catch (e) {
console.error(e);
}
}),
),
);
} else {
const responses: OkResponse[] = await system.BroadcastEvent(ev);
setResults?.(responses);
return responses;
}
}