UNPKG

mediasfu-reactnative-expo

Version:

mediasfu-reactnative-expo – Expo-managed React Native WebRTC SDK for video conferencing, webinars, live streaming, broadcast, screen sharing, whiteboard, chat, recording, live subtitles, translation, and AI agent rooms on iOS, Android, and web. Prebuilt r

27 lines 1.29 kB
export const generateRandomRequestList = ({ participants, hostName, coHostName, numberOfRequests, }) => { const filteredParticipants = participants.filter((participant) => participant.name !== hostName && participant.name !== coHostName); const requestIcons = ['fa-video', 'fa-desktop', 'fa-microphone']; for (let i = requestIcons.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [requestIcons[i], requestIcons[j]] = [requestIcons[j], requestIcons[i]]; } return filteredParticipants.flatMap((participant) => { const uniqueIcons = new Set(); const requests = []; for (let i = 0; i < numberOfRequests; i++) { let randomIcon; do { randomIcon = requestIcons[Math.floor(Math.random() * requestIcons.length)]; } while (uniqueIcons.has(randomIcon)); uniqueIcons.add(randomIcon); requests.push({ id: participant.id || '', name: participant.name.toLowerCase().replace(/\s/g, '_'), icon: randomIcon, username: participant.name.toLowerCase().replace(/\s/g, '_'), }); } return requests; }); }; //# sourceMappingURL=generateRandomRequestList.js.map