31 lines
648 B
JavaScript
31 lines
648 B
JavaScript
// Lowdb adapter to observe read/write events
|
|
export class Observer {
|
|
#adapter;
|
|
onReadStart = function () {
|
|
return;
|
|
};
|
|
onReadEnd = function () {
|
|
return;
|
|
};
|
|
onWriteStart = function () {
|
|
return;
|
|
};
|
|
onWriteEnd = function () {
|
|
return;
|
|
};
|
|
constructor(adapter) {
|
|
this.#adapter = adapter;
|
|
}
|
|
async read() {
|
|
this.onReadStart();
|
|
const data = await this.#adapter.read();
|
|
this.onReadEnd(data);
|
|
return data;
|
|
}
|
|
async write(arg) {
|
|
this.onWriteStart();
|
|
await this.#adapter.write(arg);
|
|
this.onWriteEnd();
|
|
}
|
|
}
|