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.
37 lines (36 loc) • 1.41 kB
TypeScript
import { ValueType, JournalMode, SQLiteMode } from "./types";
export declare class SQLiteDatabase {
private dbFilename;
private db;
private tableName;
private autoCommit;
private inTransaction;
private dbPath;
private journalMode;
private sqliteMode;
private logQueries?;
constructor(dbFilename?: string, tableName?: string, autoCommit?: boolean, journalMode?: JournalMode, sqliteMode?: SQLiteMode, logQueries?: boolean);
private getDbPathByMode;
private logQuery;
init(): Promise<void>;
private createTable;
setJournalMode(mode: JournalMode): Promise<void>;
getDbPath(): string;
getDbFilename(): string;
getTableName(): string;
getJournalMode(): Promise<JournalMode>;
set(key: string, value: ValueType, oneTime?: boolean): Promise<boolean>;
setex(key: string, seconds: number, value: ValueType, oneTime?: boolean): Promise<boolean>;
private setWithExpiry;
get(key: string): Promise<ValueType | null>;
delete(key: string): Promise<boolean>;
exists(key: string): Promise<boolean>;
keys(pattern?: string): Promise<string[]>;
convertToJson(jsonFilePath?: string): Promise<boolean>;
close(): Promise<void>;
private ensureDirectoryExists;
beginTransaction(): Promise<void>;
commitTransaction(): Promise<void>;
ttl(key: string): Promise<number | null>;
clear(): Promise<void>;
}