added doga
This commit is contained in:
11
25_02_24/node_modules/lowdb/lib/adapters/Memory.d.ts
generated
vendored
Normal file
11
25_02_24/node_modules/lowdb/lib/adapters/Memory.d.ts
generated
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
import { Adapter, SyncAdapter } from '../core/Low.js';
|
||||
export declare class Memory<T> implements Adapter<T> {
|
||||
#private;
|
||||
read(): Promise<T | null>;
|
||||
write(obj: T): Promise<void>;
|
||||
}
|
||||
export declare class MemorySync<T> implements SyncAdapter<T> {
|
||||
#private;
|
||||
read(): T | null;
|
||||
write(obj: T): void;
|
||||
}
|
||||
19
25_02_24/node_modules/lowdb/lib/adapters/Memory.js
generated
vendored
Normal file
19
25_02_24/node_modules/lowdb/lib/adapters/Memory.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
export class Memory {
|
||||
#data = null;
|
||||
read() {
|
||||
return Promise.resolve(this.#data);
|
||||
}
|
||||
write(obj) {
|
||||
this.#data = obj;
|
||||
return Promise.resolve();
|
||||
}
|
||||
}
|
||||
export class MemorySync {
|
||||
#data = null;
|
||||
read() {
|
||||
return this.#data || null;
|
||||
}
|
||||
write(obj) {
|
||||
this.#data = obj;
|
||||
}
|
||||
}
|
||||
4
25_02_24/node_modules/lowdb/lib/adapters/browser/LocalStorage.d.ts
generated
vendored
Normal file
4
25_02_24/node_modules/lowdb/lib/adapters/browser/LocalStorage.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { WebStorage } from './WebStorage.js';
|
||||
export declare class LocalStorage<T> extends WebStorage<T> {
|
||||
constructor(key: string);
|
||||
}
|
||||
6
25_02_24/node_modules/lowdb/lib/adapters/browser/LocalStorage.js
generated
vendored
Normal file
6
25_02_24/node_modules/lowdb/lib/adapters/browser/LocalStorage.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { WebStorage } from './WebStorage.js';
|
||||
export class LocalStorage extends WebStorage {
|
||||
constructor(key) {
|
||||
super(key, localStorage);
|
||||
}
|
||||
}
|
||||
4
25_02_24/node_modules/lowdb/lib/adapters/browser/SessionStorage.d.ts
generated
vendored
Normal file
4
25_02_24/node_modules/lowdb/lib/adapters/browser/SessionStorage.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
import { WebStorage } from './WebStorage.js';
|
||||
export declare class SessionStorage<T> extends WebStorage<T> {
|
||||
constructor(key: string);
|
||||
}
|
||||
6
25_02_24/node_modules/lowdb/lib/adapters/browser/SessionStorage.js
generated
vendored
Normal file
6
25_02_24/node_modules/lowdb/lib/adapters/browser/SessionStorage.js
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { WebStorage } from './WebStorage.js';
|
||||
export class SessionStorage extends WebStorage {
|
||||
constructor(key) {
|
||||
super(key, sessionStorage);
|
||||
}
|
||||
}
|
||||
7
25_02_24/node_modules/lowdb/lib/adapters/browser/WebStorage.d.ts
generated
vendored
Normal file
7
25_02_24/node_modules/lowdb/lib/adapters/browser/WebStorage.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
import { SyncAdapter } from '../../core/Low.js';
|
||||
export declare class WebStorage<T> implements SyncAdapter<T> {
|
||||
#private;
|
||||
constructor(key: string, storage: Storage);
|
||||
read(): T | null;
|
||||
write(obj: T): void;
|
||||
}
|
||||
18
25_02_24/node_modules/lowdb/lib/adapters/browser/WebStorage.js
generated
vendored
Normal file
18
25_02_24/node_modules/lowdb/lib/adapters/browser/WebStorage.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
export class WebStorage {
|
||||
#key;
|
||||
#storage;
|
||||
constructor(key, storage) {
|
||||
this.#key = key;
|
||||
this.#storage = storage;
|
||||
}
|
||||
read() {
|
||||
const value = this.#storage.getItem(this.#key);
|
||||
if (value === null) {
|
||||
return null;
|
||||
}
|
||||
return JSON.parse(value);
|
||||
}
|
||||
write(obj) {
|
||||
this.#storage.setItem(this.#key, JSON.stringify(obj));
|
||||
}
|
||||
}
|
||||
21
25_02_24/node_modules/lowdb/lib/adapters/node/DataFile.d.ts
generated
vendored
Normal file
21
25_02_24/node_modules/lowdb/lib/adapters/node/DataFile.d.ts
generated
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
/// <reference types="node" resolution-mode="require"/>
|
||||
import { PathLike } from 'fs';
|
||||
import { Adapter, SyncAdapter } from '../../core/Low.js';
|
||||
export declare class DataFile<T> implements Adapter<T> {
|
||||
#private;
|
||||
constructor(filename: PathLike, { parse, stringify, }: {
|
||||
parse: (str: string) => T;
|
||||
stringify: (data: T) => string;
|
||||
});
|
||||
read(): Promise<T | null>;
|
||||
write(obj: T): Promise<void>;
|
||||
}
|
||||
export declare class DataFileSync<T> implements SyncAdapter<T> {
|
||||
#private;
|
||||
constructor(filename: PathLike, { parse, stringify, }: {
|
||||
parse: (str: string) => T;
|
||||
stringify: (data: T) => string;
|
||||
});
|
||||
read(): T | null;
|
||||
write(obj: T): void;
|
||||
}
|
||||
45
25_02_24/node_modules/lowdb/lib/adapters/node/DataFile.js
generated
vendored
Normal file
45
25_02_24/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));
|
||||
}
|
||||
}
|
||||
9
25_02_24/node_modules/lowdb/lib/adapters/node/JSONFile.d.ts
generated
vendored
Normal file
9
25_02_24/node_modules/lowdb/lib/adapters/node/JSONFile.d.ts
generated
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/// <reference types="node" resolution-mode="require"/>
|
||||
import { PathLike } from 'fs';
|
||||
import { DataFile, DataFileSync } from './DataFile.js';
|
||||
export declare class JSONFile<T> extends DataFile<T> {
|
||||
constructor(filename: PathLike);
|
||||
}
|
||||
export declare class JSONFileSync<T> extends DataFileSync<T> {
|
||||
constructor(filename: PathLike);
|
||||
}
|
||||
17
25_02_24/node_modules/lowdb/lib/adapters/node/JSONFile.js
generated
vendored
Normal file
17
25_02_24/node_modules/lowdb/lib/adapters/node/JSONFile.js
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import { DataFile, DataFileSync } from './DataFile.js';
|
||||
export class JSONFile extends DataFile {
|
||||
constructor(filename) {
|
||||
super(filename, {
|
||||
parse: JSON.parse,
|
||||
stringify: (data) => JSON.stringify(data, null, 2),
|
||||
});
|
||||
}
|
||||
}
|
||||
export class JSONFileSync extends DataFileSync {
|
||||
constructor(filename) {
|
||||
super(filename, {
|
||||
parse: JSON.parse,
|
||||
stringify: (data) => JSON.stringify(data, null, 2),
|
||||
});
|
||||
}
|
||||
}
|
||||
15
25_02_24/node_modules/lowdb/lib/adapters/node/TextFile.d.ts
generated
vendored
Normal file
15
25_02_24/node_modules/lowdb/lib/adapters/node/TextFile.d.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
/// <reference types="node" resolution-mode="require"/>
|
||||
import { PathLike } from 'node:fs';
|
||||
import { Adapter, SyncAdapter } from '../../core/Low.js';
|
||||
export declare class TextFile implements Adapter<string> {
|
||||
#private;
|
||||
constructor(filename: PathLike);
|
||||
read(): Promise<string | null>;
|
||||
write(str: string): Promise<void>;
|
||||
}
|
||||
export declare class TextFileSync implements SyncAdapter<string> {
|
||||
#private;
|
||||
constructor(filename: PathLike);
|
||||
read(): string | null;
|
||||
write(str: string): void;
|
||||
}
|
||||
54
25_02_24/node_modules/lowdb/lib/adapters/node/TextFile.js
generated
vendored
Normal file
54
25_02_24/node_modules/lowdb/lib/adapters/node/TextFile.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
import { readFileSync, renameSync, writeFileSync } from 'node:fs';
|
||||
import { readFile } from 'node:fs/promises';
|
||||
import path from 'node:path';
|
||||
import { Writer } from 'steno';
|
||||
export class TextFile {
|
||||
#filename;
|
||||
#writer;
|
||||
constructor(filename) {
|
||||
this.#filename = filename;
|
||||
this.#writer = new Writer(filename);
|
||||
}
|
||||
async read() {
|
||||
let data;
|
||||
try {
|
||||
data = await readFile(this.#filename, 'utf-8');
|
||||
}
|
||||
catch (e) {
|
||||
if (e.code === 'ENOENT') {
|
||||
return null;
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
write(str) {
|
||||
return this.#writer.write(str);
|
||||
}
|
||||
}
|
||||
export class TextFileSync {
|
||||
#tempFilename;
|
||||
#filename;
|
||||
constructor(filename) {
|
||||
this.#filename = filename;
|
||||
const f = filename.toString();
|
||||
this.#tempFilename = path.join(path.dirname(f), `.${path.basename(f)}.tmp`);
|
||||
}
|
||||
read() {
|
||||
let data;
|
||||
try {
|
||||
data = readFileSync(this.#filename, 'utf-8');
|
||||
}
|
||||
catch (e) {
|
||||
if (e.code === 'ENOENT') {
|
||||
return null;
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
write(str) {
|
||||
writeFileSync(this.#tempFilename, str);
|
||||
renameSync(this.#tempFilename, this.#filename);
|
||||
}
|
||||
}
|
||||
3
25_02_24/node_modules/lowdb/lib/browser.d.ts
generated
vendored
Normal file
3
25_02_24/node_modules/lowdb/lib/browser.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './adapters/browser/LocalStorage.js';
|
||||
export * from './adapters/browser/SessionStorage.js';
|
||||
export * from './presets/browser.js';
|
||||
3
25_02_24/node_modules/lowdb/lib/browser.js
generated
vendored
Normal file
3
25_02_24/node_modules/lowdb/lib/browser.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from './adapters/browser/LocalStorage.js';
|
||||
export * from './adapters/browser/SessionStorage.js';
|
||||
export * from './presets/browser.js';
|
||||
24
25_02_24/node_modules/lowdb/lib/core/Low.d.ts
generated
vendored
Normal file
24
25_02_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
25_02_24/node_modules/lowdb/lib/core/Low.js
generated
vendored
Normal file
50
25_02_24/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();
|
||||
}
|
||||
}
|
||||
2
25_02_24/node_modules/lowdb/lib/index.d.ts
generated
vendored
Normal file
2
25_02_24/node_modules/lowdb/lib/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './adapters/Memory.js';
|
||||
export * from './core/Low.js';
|
||||
2
25_02_24/node_modules/lowdb/lib/index.js
generated
vendored
Normal file
2
25_02_24/node_modules/lowdb/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from './adapters/Memory.js';
|
||||
export * from './core/Low.js';
|
||||
4
25_02_24/node_modules/lowdb/lib/node.d.ts
generated
vendored
Normal file
4
25_02_24/node_modules/lowdb/lib/node.d.ts
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './adapters/node/DataFile.js';
|
||||
export * from './adapters/node/JSONFile.js';
|
||||
export * from './adapters/node/TextFile.js';
|
||||
export * from './presets/node.js';
|
||||
4
25_02_24/node_modules/lowdb/lib/node.js
generated
vendored
Normal file
4
25_02_24/node_modules/lowdb/lib/node.js
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export * from './adapters/node/DataFile.js';
|
||||
export * from './adapters/node/JSONFile.js';
|
||||
export * from './adapters/node/TextFile.js';
|
||||
export * from './presets/node.js';
|
||||
3
25_02_24/node_modules/lowdb/lib/presets/browser.d.ts
generated
vendored
Normal file
3
25_02_24/node_modules/lowdb/lib/presets/browser.d.ts
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
import { LowSync } from '../index.js';
|
||||
export declare function LocalStoragePreset<Data>(key: string, defaultData: Data): LowSync<Data>;
|
||||
export declare function SessionStoragePreset<Data>(key: string, defaultData: Data): LowSync<Data>;
|
||||
15
25_02_24/node_modules/lowdb/lib/presets/browser.js
generated
vendored
Normal file
15
25_02_24/node_modules/lowdb/lib/presets/browser.js
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import { LocalStorage } from '../adapters/browser/LocalStorage.js';
|
||||
import { SessionStorage } from '../adapters/browser/SessionStorage.js';
|
||||
import { LowSync } from '../index.js';
|
||||
export function LocalStoragePreset(key, defaultData) {
|
||||
const adapter = new LocalStorage(key);
|
||||
const db = new LowSync(adapter, defaultData);
|
||||
db.read();
|
||||
return db;
|
||||
}
|
||||
export function SessionStoragePreset(key, defaultData) {
|
||||
const adapter = new SessionStorage(key);
|
||||
const db = new LowSync(adapter, defaultData);
|
||||
db.read();
|
||||
return db;
|
||||
}
|
||||
5
25_02_24/node_modules/lowdb/lib/presets/node.d.ts
generated
vendored
Normal file
5
25_02_24/node_modules/lowdb/lib/presets/node.d.ts
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
/// <reference types="node" resolution-mode="require"/>
|
||||
import { PathLike } from 'node:fs';
|
||||
import { Low, LowSync } from '../core/Low.js';
|
||||
export declare function JSONFilePreset<Data>(filename: PathLike, defaultData: Data): Promise<Low<Data>>;
|
||||
export declare function JSONFileSyncPreset<Data>(filename: PathLike, defaultData: Data): LowSync<Data>;
|
||||
19
25_02_24/node_modules/lowdb/lib/presets/node.js
generated
vendored
Normal file
19
25_02_24/node_modules/lowdb/lib/presets/node.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { Memory, MemorySync } from '../adapters/Memory.js';
|
||||
import { JSONFile, JSONFileSync } from '../adapters/node/JSONFile.js';
|
||||
import { Low, LowSync } from '../core/Low.js';
|
||||
export async function JSONFilePreset(filename, defaultData) {
|
||||
const adapter = process.env.NODE_ENV === 'test'
|
||||
? new Memory()
|
||||
: new JSONFile(filename);
|
||||
const db = new Low(adapter, defaultData);
|
||||
await db.read();
|
||||
return db;
|
||||
}
|
||||
export function JSONFileSyncPreset(filename, defaultData) {
|
||||
const adapter = process.env.NODE_ENV === 'test'
|
||||
? new MemorySync()
|
||||
: new JSONFileSync(filename);
|
||||
const db = new LowSync(adapter, defaultData);
|
||||
db.read();
|
||||
return db;
|
||||
}
|
||||
Reference in New Issue
Block a user