Files
epg/scripts/core/configLoader.ts
2025-07-16 12:37:34 +02:00

34 lines
887 B
TypeScript

import { SiteConfig } from 'epg-grabber'
import { deepMerge } from '../functions/functions'
import { pathToFileURL } from 'url'
export class ConfigLoader {
async load(filepath: string): Promise<SiteConfig> {
const fileUrl = pathToFileURL(filepath).toString()
const config = (await import(fileUrl)).default
const defaultConfig = {
days: 1,
delay: 0,
output: 'guide.xml',
request: {
method: 'GET',
maxContentLength: 5242880,
timeout: 30000,
withCredentials: true,
jar: null,
responseType: 'arraybuffer',
cache: false,
headers: null,
data: null
},
maxConnections: 1,
site: undefined,
url: undefined,
parser: undefined,
channels: undefined
}
return deepMerge(defaultConfig, config) as SiteConfig
}
}