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

50 lines 1.76 kB
export const generateRandomMessages = ({ participants, member, coHost = '', host, forChatBroadcast = false, }) => { const messages = []; const getRandomReceiver = (sender) => { const potentialReceivers = participants.filter((participant) => participant.name !== sender); const randomReceiver = potentialReceivers[Math.floor(Math.random() * potentialReceivers.length)]; return randomReceiver?.name || ''; }; let refNames = []; if (forChatBroadcast) { refNames = [member, host]; } else if (coHost) { refNames = [ member, coHost, host, ...participants.map((participant) => participant.name).filter((name) => !!name), ]; } else { refNames = [ member, host, ...participants.map((participant) => participant.name).filter((name) => !!name), ]; } refNames = [...new Set(refNames)]; let timeIncrement = 0; refNames.forEach((sender) => { messages.push({ sender, receivers: [getRandomReceiver(sender)], message: `Direct message from ${sender}`, timestamp: new Date(Date.now() + timeIncrement).toLocaleTimeString(), group: false, }); messages.push({ sender, receivers: participants .map((participant) => participant.name) .filter((name) => !!name), message: `Group message from ${sender}`, timestamp: new Date(Date.now() + timeIncrement).toLocaleTimeString(), group: true, }); timeIncrement += 15000; }); return messages; }; //# sourceMappingURL=generateRandomMessages.js.map