First upload version 0.0.1
This commit is contained in:
24
node_modules/lowdb/lib/core/Low.d.ts
generated
vendored
Normal file
24
node_modules/lowdb/lib/core/Low.d.ts
generated
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
export interface Adapter<T> {
|
||||
read: () => Promise<T | null>;
|
||||
write: (data: T) => Promise<void>;
|
||||
}
|
||||
export interface SyncAdapter<T> {
|
||||
read: () => T | null;
|
||||
write: (data: T) => void;
|
||||
}
|
||||
export declare class Low<T = unknown> {
|
||||
adapter: Adapter<T>;
|
||||
data: T;
|
||||
constructor(adapter: Adapter<T>, defaultData: T);
|
||||
read(): Promise<void>;
|
||||
write(): Promise<void>;
|
||||
update(fn: (data: T) => unknown): Promise<void>;
|
||||
}
|
||||
export declare class LowSync<T = unknown> {
|
||||
adapter: SyncAdapter<T>;
|
||||
data: T;
|
||||
constructor(adapter: SyncAdapter<T>, defaultData: T);
|
||||
read(): void;
|
||||
write(): void;
|
||||
update(fn: (data: T) => unknown): void;
|
||||
}
|
||||
50
node_modules/lowdb/lib/core/Low.js
generated
vendored
Normal file
50
node_modules/lowdb/lib/core/Low.js
generated
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
function checkArgs(adapter, defaultData) {
|
||||
if (adapter === undefined)
|
||||
throw new Error('lowdb: missing adapter');
|
||||
if (defaultData === undefined)
|
||||
throw new Error('lowdb: missing default data');
|
||||
}
|
||||
export class Low {
|
||||
adapter;
|
||||
data;
|
||||
constructor(adapter, defaultData) {
|
||||
checkArgs(adapter, defaultData);
|
||||
this.adapter = adapter;
|
||||
this.data = defaultData;
|
||||
}
|
||||
async read() {
|
||||
const data = await this.adapter.read();
|
||||
if (data)
|
||||
this.data = data;
|
||||
}
|
||||
async write() {
|
||||
if (this.data)
|
||||
await this.adapter.write(this.data);
|
||||
}
|
||||
async update(fn) {
|
||||
fn(this.data);
|
||||
await this.write();
|
||||
}
|
||||
}
|
||||
export class LowSync {
|
||||
adapter;
|
||||
data;
|
||||
constructor(adapter, defaultData) {
|
||||
checkArgs(adapter, defaultData);
|
||||
this.adapter = adapter;
|
||||
this.data = defaultData;
|
||||
}
|
||||
read() {
|
||||
const data = this.adapter.read();
|
||||
if (data)
|
||||
this.data = data;
|
||||
}
|
||||
write() {
|
||||
if (this.data)
|
||||
this.adapter.write(this.data);
|
||||
}
|
||||
update(fn) {
|
||||
fn(this.data);
|
||||
this.write();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user