import fs, { readFileSync } from "fs"; import { MongoClient } from "mongodb"; import util from "util"; const write = util.promisify(fs.writeFile); const read = util.promisify(fs.readFile); class Store { filename: string; record: Record; constructor(filename: string) { this.filename = filename; try { this.record = JSON.parse(readFileSync(filename, "utf8")); } catch { this.record = {}; } } public get() { return this.record; } public set(key: string, val: string) { this.record[key] = val; } public delete(key: string) { delete this.record[key]; } public async update(record: Record) { this.record = record; await this.save(); } public async save() { await write(this.filename, JSON.stringify(this.record), "utf8"); } } class HTML { html: string; filename: string; constructor(filename: string) { this.filename = filename; // load from file try { this.html = fs.readFileSync(this.filename, "utf8"); } catch { this.html = ""; } } public get() { return this.html; } public async set(html: string) { this.html = html; // store into file await write(this.filename, html, "utf8"); } } export const html = new HTML("./data/html.html"); export const htmlRegular = new HTML("./data/html-regular.html"); export const store = new Store("./data/store.json"); export const regular = new Store("./data/regular.json");