mirror of https://github.com/iptv-org/iptv
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
469 B
TypeScript
23 lines
469 B
TypeScript
1 year ago
|
import Datastore from '@seald-io/nedb'
|
||
|
import * as path from 'path'
|
||
|
|
||
|
export class Database {
|
||
|
rootDir: string
|
||
|
|
||
|
constructor(rootDir: string) {
|
||
|
this.rootDir = rootDir
|
||
|
}
|
||
|
|
||
|
async load(filepath: string) {
|
||
|
const absFilepath = path.join(this.rootDir, filepath)
|
||
|
|
||
|
return new Datastore({
|
||
|
filename: path.resolve(absFilepath),
|
||
|
autoload: true,
|
||
|
onload: (error: Error): any => {
|
||
|
if (error) console.error(error.message)
|
||
|
}
|
||
|
})
|
||
|
}
|
||
|
}
|