const api = require('../core/api') const _ = require('lodash') module.exports = async function (streams = []) { streams = _.filter(streams, s => !s.channel || s.channel.is_nsfw === false) await api.languages.load() let languages = await api.languages.all() languages = _.uniqBy(languages, 'code') const output = [] for (const language of languages) { let items = _.filter(streams, { channel: { languages: [language.code] } }) if (items.length) { output.push({ filepath: `languages/${language.code}.m3u`, items }) } } let items = _.filter(streams, stream => !stream.channel || !stream.channel.languages.length) output.push({ filepath: 'languages/undefined.m3u', items }) return output }