mwoffliner
Version:
MediaWiki ZIM scraper
27 lines (26 loc) • 1.06 kB
TypeScript
import type { RedisClientType } from 'redis';
export default class RedisKvs<T> implements RKVS<T> {
private redisClient;
private readonly dbName;
private readonly dehydratedKeys?;
private readonly hydratedKeys?;
constructor(redisClient: RedisClientType, dbName: string, keyMapping?: KVS<string>);
get(prop: string): Promise<T>;
getMany(prop: string[]): Promise<KVS<T>>;
exists(prop: string): Promise<boolean>;
existsMany(prop: string[], blocking?: boolean): Promise<KVS<boolean>>;
set(prop: string, val: T): Promise<number>;
setMany(val: KVS<T>): Promise<number>;
delete(prop: string): Promise<number>;
deleteMany(prop: string[]): Promise<number>;
keys(): Promise<string[]>;
len(): Promise<number>;
iterateItems(numWorkers: number, func: (items: KVS<T>, runningWorkers: number) => Promise<void>): Promise<void>;
scan(scanCursor: number): Promise<{
cursor: number;
items: KVS<T>;
}>;
flush(): Promise<number>;
private hydrateObject;
private dehydrateObject;
}