@digicroz/node-backend-utils
Version:
Backend utilities for Node.js applications - Redis client wrappers and more utilities for TypeScript/JavaScript projects
30 lines (27 loc) • 826 B
TypeScript
import { RedisClientType } from 'redis';
interface RedisConfig {
url: string;
}
declare class RedisDatabase {
private static instance;
private client;
private isConnecting;
private isConnected;
private initializationAttempted;
private redisUrl;
private constructor();
static getInstance(): RedisDatabase;
initialize(config: RedisConfig): Promise<void>;
getClient(): RedisClientType | null;
private connect;
disconnect(): Promise<void>;
isClientConnected(): boolean;
safeExecute<T>(operation: (client: RedisClientType) => Promise<T>): Promise<T | null>;
getStatus(): {
isConnected: boolean;
isConnecting: boolean;
initializationAttempted: boolean;
};
}
declare const redisBase: RedisDatabase;
export { type RedisConfig, redisBase };