Files
epg/scripts/file.js

46 lines
913 B
JavaScript
Raw Normal View History

2021-10-07 20:11:04 +03:00
const glob = require('glob')
2021-10-07 22:59:25 +03:00
const fs = require('fs')
2021-10-12 00:34:58 +03:00
const path = require('path')
2021-10-07 20:11:04 +03:00
2021-10-07 22:59:25 +03:00
function list(pattern, include = [], exclude = []) {
2021-10-07 20:11:04 +03:00
return new Promise(resolve => {
2021-10-07 22:59:25 +03:00
glob(pattern, function (err, files) {
2021-10-07 20:11:04 +03:00
if (include.length) {
files = files.filter(filename => include.includes(filename))
}
if (exclude.length) {
files = files.filter(filename => !exclude.includes(filename))
}
resolve(files)
})
})
}
2021-10-12 00:34:58 +03:00
function load(filename) {
const filePath = path.resolve(filename)
return require(filePath)
}
2021-10-07 22:59:25 +03:00
function read(filename) {
return fs.readFileSync(filename, { encoding: 'utf8' })
}
2021-10-12 00:34:58 +03:00
function write(filename, data) {
const dir = path.resolve(path.dirname(filename))
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, { recursive: true })
}
fs.writeFileSync(path.resolve(filename), data)
}
2021-10-07 20:11:04 +03:00
module.exports = {
2021-10-07 22:59:25 +03:00
list,
2021-10-12 00:34:58 +03:00
read,
write,
load
2021-10-07 20:11:04 +03:00
}