'use strict'; const rfr = require("rfr"); const inExtensions = rfr("lib/path/in-extensions"); const findMatchingBasenames = rfr("lib/filesets/find-matching-basenames"); module.exports = function(item, allItems) { let matchExtensions = [ ".mp4", ".mkv", ".flv" ] let subtitleSetExtensions = [ ".[a-z]{2}.vtt", ".[a-z]{2}.srt" ] let setExtensions = [ ".annotations.xml", ".info.json", ".description", ".jpg" ].concat(subtitleSetExtensions); let match = inExtensions(item.name, matchExtensions); if (match) { let setFiles = findMatchingBasenames(item.name, match, Object.keys(allItems), setExtensions); let nonSubtitles = setFiles.filter((setItem) => { return !(inExtensions(setItem, subtitleSetExtensions)); }); if (nonSubtitles.length > 0) { return setFiles; } else { // If we have either nothing or only subtitles, let the generic video file plugin handle it. return []; } } else { return []; } }