function parseChannelInfos(channelInfos) { let result = []; let rootChannels = channelInfos.rootChannels; let subChannels = channelInfos.subChannels; rootChannels.forEach((rc) => { result.push(new Channel(rc.id, rc.properties.name)); if (rc.id in subChannels) { subChannels[rc.id].forEach((sc) => { result.push(new Channel(sc.id, sc.properties.name)); }); } }); return result; } function parseClientInfos(clientInfos) { let result = []; clientInfos.forEach((e) => { result.push( new Client( e.id, channels.filter((obj) => { return obj.id === e.channelId; })[0], e.properties.nickname, e.properties.inputMuted, e.properties.outputMuted ) ); }); return result; }