Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MR414N-ID
GitHub Repository: MR414N-ID/botku2
Path: blob/master/lib/lowdb/adapters/TextFileSync.js
1126 views
1
const fs = require('fs');
2
const path = require('path');
3
class TextFileSync {
4
constructor(filename) {
5
this.filename = filename;
6
this.tempFilename = path.join(path.dirname(filename), `.${path.basename(filename)}.tmp`);
7
}
8
read() {
9
let data;
10
try {
11
data = fs.readFileSync(this.filename, 'utf-8');
12
}
13
catch (e) {
14
if (e.code === 'ENOENT') {
15
return null;
16
}
17
throw e;
18
}
19
return data;
20
}
21
write(str) {
22
fs.writeFileSync(this.tempFilename, str);
23
fs.renameSync(this.tempFilename, this.filename);
24
}
25
}
26
module.exports = { TextFileSync };
27
28