import type { RelayMessage, ShimRequest, ShimResponse } from "./types"; export function parseRelayMsg(message: RelayMessage): ShimResponse["msg"] { switch (message[0]) { case "EVENT": { const [, subscription_id, event] = message; return { event: { subscription_id, event } }; } case "OK": { const [, event_id, accepted, msg] = message; return { ok: { event_id, accepted, message: msg } }; } case "EOSE": { const [, subscriptionId] = message; return { eose: subscriptionId }; } case "CLOSED": { const [, subscription_id, msg] = message; return { closed: { subscription_id, message: msg } }; } case "NOTICE": { const [, messag] = message; return { notice: messag }; } case "AUTH": { const [, challenge] = message; return { auth: challenge }; } } } export function wait(ms: number) { return new Promise((resolve) => setTimeout(resolve, ms)); }