Use asynchronus writes
This commit is contained in:
parent
7720ae7792
commit
e58239362c
|
@ -21,10 +21,12 @@ import crypto from "crypto";
|
||||||
import { Confession, ConfessionBan, GuildData, GuildSettings } from "./types";
|
import { Confession, ConfessionBan, GuildData, GuildSettings } from "./types";
|
||||||
import { DATA_DIR } from "./config";
|
import { DATA_DIR } from "./config";
|
||||||
import { CommandInteraction, Message } from "discord.js";
|
import { CommandInteraction, Message } from "discord.js";
|
||||||
|
import Logger from "../utils/Logger";
|
||||||
|
|
||||||
export class StoreMan {
|
export class StoreMan {
|
||||||
public static readonly fullPath: string =
|
public static readonly fullPath: string =
|
||||||
(DATA_DIR ?? "./persist/") + "data.json";
|
(DATA_DIR ?? "./persist/") + "data.json";
|
||||||
|
private static logger = new Logger("StoreMan");
|
||||||
private data: GuildData[];
|
private data: GuildData[];
|
||||||
|
|
||||||
constructor(existingData: GuildData[] = []) {
|
constructor(existingData: GuildData[] = []) {
|
||||||
|
@ -70,11 +72,12 @@ export class StoreMan {
|
||||||
return final;
|
return final;
|
||||||
}
|
}
|
||||||
|
|
||||||
private saveFile(): void {
|
public async saveFile(): Promise<void> {
|
||||||
fs.writeFileSync(
|
fs.writeFile(
|
||||||
StoreMan.fullPath,
|
StoreMan.fullPath,
|
||||||
JSON.stringify(this.data, null, 2),
|
JSON.stringify(this.data, null, 2),
|
||||||
"utf8"
|
"utf8",
|
||||||
|
err => err && StoreMan.logger.error("A write error occured:", err)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue