First upload version 0.0.1
This commit is contained in:
45
node_modules/lowdb/lib/adapters/node/DataFile.js
generated
vendored
Normal file
45
node_modules/lowdb/lib/adapters/node/DataFile.js
generated
vendored
Normal file
@@ -0,0 +1,45 @@
|
||||
import { TextFile, TextFileSync } from './TextFile.js';
|
||||
export class DataFile {
|
||||
#adapter;
|
||||
#parse;
|
||||
#stringify;
|
||||
constructor(filename, { parse, stringify, }) {
|
||||
this.#adapter = new TextFile(filename);
|
||||
this.#parse = parse;
|
||||
this.#stringify = stringify;
|
||||
}
|
||||
async read() {
|
||||
const data = await this.#adapter.read();
|
||||
if (data === null) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return this.#parse(data);
|
||||
}
|
||||
}
|
||||
write(obj) {
|
||||
return this.#adapter.write(this.#stringify(obj));
|
||||
}
|
||||
}
|
||||
export class DataFileSync {
|
||||
#adapter;
|
||||
#parse;
|
||||
#stringify;
|
||||
constructor(filename, { parse, stringify, }) {
|
||||
this.#adapter = new TextFileSync(filename);
|
||||
this.#parse = parse;
|
||||
this.#stringify = stringify;
|
||||
}
|
||||
read() {
|
||||
const data = this.#adapter.read();
|
||||
if (data === null) {
|
||||
return null;
|
||||
}
|
||||
else {
|
||||
return this.#parse(data);
|
||||
}
|
||||
}
|
||||
write(obj) {
|
||||
this.#adapter.write(this.#stringify(obj));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user