35 lines
		
	
	
		
			663 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			663 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const m3u = {}
 | |
| 
 | |
| m3u.create = function (links = [], header = {}) {
 | |
| 	let output = `#EXTM3U`
 | |
| 	for (const attr in header) {
 | |
| 		const value = header[attr]
 | |
| 		output += ` ${attr}="${value}"`
 | |
| 	}
 | |
| 	output += `\n`
 | |
| 
 | |
| 	for (const link of links) {
 | |
| 		output += `#EXTINF:-1`
 | |
| 		for (const name in link.attrs) {
 | |
| 			const value = link.attrs[name]
 | |
| 			if (value !== undefined) {
 | |
| 				output += ` ${name}="${value}"`
 | |
| 			}
 | |
| 		}
 | |
| 		output += `,${link.title}\n`
 | |
| 
 | |
| 		for (const name in link.vlcOpts) {
 | |
| 			const value = link.vlcOpts[name]
 | |
| 			if (value !== undefined) {
 | |
| 				output += `#EXTVLCOPT:${name}=${value}\n`
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		output += `${link.url}\n`
 | |
| 	}
 | |
| 
 | |
| 	return output
 | |
| }
 | |
| 
 | |
| module.exports = m3u
 |