Create scripts/core

This commit is contained in:
Aleksandr Statciuk 2021-12-12 07:10:18 +03:00
parent 213da67762
commit c6c3154522
11 changed files with 517 additions and 0 deletions

31
scripts/core/parser.js Normal file
View file

@ -0,0 +1,31 @@
const ipp = require('iptv-playlist-parser')
const logger = require('./logger')
const file = require('./file')
const parser = {}
parser.parsePlaylist = async function (filepath) {
const content = await file.read(filepath)
const playlist = ipp.parse(content)
return playlist.items
}
parser.parseLogs = async function (filepath) {
const content = await file.read(filepath)
if (!content) return []
const lines = content.split('\n')
return lines.map(line => (line ? JSON.parse(line) : null)).filter(l => l)
}
parser.parseNumber = function (string) {
const parsed = parseInt(string)
if (isNaN(parsed)) {
logger.error('Not a number')
}
return parsed
}
module.exports = parser