@caidrive/shared
Version:
caidrive.shared.components
46 lines (45 loc) • 896 B
TypeScript
/**
* What it does.
*
* @param name - Parameter description.
* @returns Type and description of the returned object.
*
* @example
* ```
* Write me later.
* ```
*/
import { createClient } from "redis";
import { Result } from "../../../core";
type RedisClientType = ReturnType<typeof createClient>;
/**
*
*/
declare abstract class RedisClient {
protected readonly client: RedisClientType;
/**
*
*/
constructor(client: RedisClientType);
/**
*
*/
connect(): Promise<Result<void>>;
/**
*
*/
getOne<T extends string>(key: string): Promise<Result<T>>;
/**
*
*/
set(key: string, value: any): Promise<Result<void>>;
/**
*
*/
getAllKeys(criteria: string): Promise<Result<string[]>>;
/**
*
*/
deleteOne(key: string): Promise<Result<void>>;
}
export { RedisClient, RedisClientType };