UNPKG

keyv-anyredis

Version:

Storage adapter for Keyv that works with multiple Redis clients, including cluster clients

31 lines (30 loc) 1.5 kB
/// <reference types="node" /> import EventEmitter from 'events'; import { CompatibleCallbackRedisClient, CompatibleNodeRedisV4Client, CompatiblePromiseRedisClient, CompatibleRedisClient } from './compatible-redis-client'; /** * Converts a Redis callback interface to match a Redis Promise interface. Implements only * a minimal subset of Redis functionality as defined in * {@link CompatiblePromiseRedisClient}. */ export declare class RedisPromiseAdapter<T extends CompatibleCallbackRedisClient> extends EventEmitter implements CompatiblePromiseRedisClient { #private; constructor(client: T); /** * Factory method returns a Promise-based Redis client. * * If the provided client is a callback client, it’s wrapped in the Promise adapter. If * the provided client is a Promise client, it’s passed through and returned. * * @param client a Redis Promise or callback client * * @returns a Redis Promise client */ static create(client: CompatibleRedisClient | CompatibleNodeRedisV4Client): CompatiblePromiseRedisClient; get(key: string): PromiseLike<string | null>; set(key: string, value: string, expiryMode?: 'PX', time?: number): PromiseLike<unknown>; del(key: string): PromiseLike<number>; sadd(key: string, member: string): PromiseLike<unknown>; srem(key: string, member: string): PromiseLike<unknown>; smembers(key: string): PromiseLike<string[]>; sismember(key: string, member: string): PromiseLike<number | boolean>; }