sqlitekv
Version:
SQLiteKV is a key-value store built on top of SQLite3. This project allows you to perform basic key-value operations with the additional power of SQLite3, making it suitable for applications requiring persistent, lightweight, and reliable storage.
35 lines (34 loc) • 1.38 kB
TypeScript
import { ValueType, IKVStore, JournalMode, SQLiteMode } from "./types";
export declare class SQLiteKV implements IKVStore {
private db;
private initPromise;
constructor(dbFilename?: string, configOrTableName?: string | {
tableName?: string;
autoCommit?: boolean;
journalMode?: JournalMode;
sqliteMode?: SQLiteMode;
logQueries?: boolean;
});
getAll(): Promise<{
[key: string]: ValueType;
}>;
convertToJson(jsonFilePath?: string): Promise<boolean>;
init(): Promise<void>;
private ensureInitialized;
set(key: string, value: ValueType, oneTime?: boolean): Promise<boolean>;
setex(key: string, seconds: number, value: ValueType, oneTime?: boolean): Promise<boolean>;
get(key: string): Promise<ValueType | null>;
delete(key: string): Promise<boolean>;
exists(key: string): Promise<boolean>;
keys(pattern?: string): Promise<string[]>;
close(): Promise<Uint8Array>;
clear(): Promise<boolean>;
size(): Promise<number>;
increment(key: string, amount?: number): Promise<number | null>;
mget(...keys: string[]): Promise<ValueType[]>;
beginTransaction(): Promise<void>;
commitTransaction(): Promise<void>;
ttl(key: string): Promise<number | null>;
setJournalMode(mode: JournalMode): Promise<void>;
getJournalMode(): Promise<JournalMode>;
}