UNPKG

@ctrl/video-filename-parser

Version:
26 lines (25 loc) 870 B
export var Channels; (function (Channels) { Channels["SEVEN"] = "7.1"; Channels["SIX"] = "5.1"; Channels["STEREO"] = "stereo"; Channels["MONO"] = "mono"; })(Channels || (Channels = {})); const channelPatterns = [ { channels: Channels.SEVEN, regex: /(?<!\d)7[\W_][01]\b/i }, { channels: Channels.SIX, regex: /(?<!\d)((6[\W]0(?:ch)?)(?=[^\d]|$)|(5[\W][01](?:ch)?)(?=[^\d]|$)|5ch|6ch)\b/i, }, { channels: Channels.STEREO, regex: /(?<!\d)(2[\W]0(?:ch)?)(?=[^\d]|$)|\bstereo\b/i }, { channels: Channels.MONO, regex: /(?<!\d)(1[\W]0(?:ch)?)(?=[^\d]|$)|\b(?:mono|1ch)\b/i }, ]; export function parseAudioChannels(title) { for (const { channels, regex } of channelPatterns) { const match = regex.exec(title); if (match) { return { channels, source: match[0] }; } } return {}; }