@keyv/sqlite
Version:
SQLite storage adapter for Keyv
40 lines (36 loc) • 1.35 kB
TypeScript
import EventEmitter from 'events';
import Keyv, { KeyvStoreAdapter, StoredData } from 'keyv';
type DbQuery = (sqlString: string, ...parameter: unknown[]) => Promise<any>;
type DbClose = () => Promise<void>;
type KeyvSqliteOptions = {
dialect?: string;
uri?: string;
busyTimeout?: number;
table?: string;
keySize?: number;
db?: string;
iterationLimit?: number | string;
connect?: () => Promise<{
query: DbQuery;
close: DbClose;
}>;
};
declare class KeyvSqlite extends EventEmitter implements KeyvStoreAdapter {
ttlSupport: boolean;
opts: KeyvSqliteOptions;
namespace?: string;
close: DbClose;
query: DbQuery;
constructor(keyvOptions?: KeyvSqliteOptions | string);
get<Value>(key: string): Promise<Value | undefined>;
getMany<Value>(keys: string[]): Promise<StoredData<Value | undefined>[]>;
set(key: string, value: any): Promise<any>;
delete(key: string): Promise<boolean>;
deleteMany(keys: string[]): Promise<boolean>;
clear(): Promise<void>;
iterator(namespace?: string): AsyncGenerator<any, void, any>;
has(key: string): Promise<boolean>;
disconnect(): Promise<void>;
}
declare const createKeyv: (keyvOptions?: KeyvSqliteOptions | string) => Keyv<any>;
export { KeyvSqlite, type KeyvSqliteOptions, createKeyv, KeyvSqlite as default };