export const PAIRING_STATUS = {
ASKED: "asked",
NEW: "new",
COMPLETED: "completed",
CANCELLED: "cancelled",
}
export const createAskedPairing = ({ seedId: e, messageId: s }) => ({
seedId: e,
roomId: "",
messageId: s,
expires: 0,
status: PAIRING_STATUS.ASKED,
})
export const parsePendingRoomResponse = (e) => ({
deviceId: e?.deviceId ?? "",
discoveryId: e?.discoveryId ?? "",
seedId: e?.seedId ?? "",
roomId: e?.roomId ?? "",
expires: e?.expires || 0,
status: e?.status ?? "",
})
export const getRoomPairingItems = (e, s, d) => {
const t = new Set(s.map((e) => e.seedId)),
o = new Set(d),
I = { pairing: [], completed: [], cancelled: [] }
for (const e of s) o.has(e.discoveryId) || I.pairing.push({ ...e, status: PAIRING_STATUS.NEW })
for (const s of e.filter((e) => !t.has(e.seedId)))
s.status === PAIRING_STATUS.CANCELLED
? I.cancelled.push({ ...s, status: PAIRING_STATUS.CANCELLED })
: I.completed.push({ ...s, status: PAIRING_STATUS.COMPLETED })
return I
}